Skip to content

Commit 14513b9

Browse files
committed
Add cors to previewServier, enable cors for Release
1 parent 07078c0 commit 14513b9

File tree

3 files changed

+38
-9
lines changed

3 files changed

+38
-9
lines changed

client/utils/previewEntry.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,19 @@ window.onerror = async function onError(
7171
) {
7272
// maybe i can use error.stack sometime but i'm having a hard time triggering
7373
// this function
74-
75-
let data = `${error.name}: ${error.message}`;
76-
const resolvedFileName = window.objectUrls[source];
77-
let resolvedLineNo = lineNumber;
78-
if (window.objectUrls[source] === 'index.html') {
79-
resolvedLineNo = lineNumber - htmlOffset;
74+
let data;
75+
if (!error) {
76+
data = msg;
77+
} else {
78+
data = `${error.name}: ${error.message}`;
79+
const resolvedFileName = window.objectUrls[source];
80+
let resolvedLineNo = lineNumber;
81+
if (window.objectUrls[source] === 'index.html') {
82+
resolvedLineNo = lineNumber - htmlOffset;
83+
}
84+
const line = `\n at ${resolvedFileName}:${resolvedLineNo}:${columnNo}`;
85+
data = data.concat(line);
8086
}
81-
const line = `\n at ${resolvedFileName}:${resolvedLineNo}:${columnNo}`;
82-
data = data.concat(line);
8387
editor.postMessage(
8488
{
8589
source: 'sketch',

server/previewServer.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Express from 'express';
22
import mongoose from 'mongoose';
33
import path from 'path';
44
import webpack from 'webpack';
5+
import cors from 'cors';
56
import webpackDevMiddleware from 'webpack-dev-middleware';
67
import webpackHotMiddleware from 'webpack-hot-middleware';
78
import config from '../webpack/config.dev';
@@ -28,6 +29,26 @@ mongoose.connection.on('error', () => {
2829
process.exit(1);
2930
});
3031

32+
const allowedCorsOrigins = [
33+
/p5js\.org$/,
34+
process.env.EDITOR_URL,
35+
process.env.PREVIEW_URL
36+
];
37+
38+
// to allow client-only development
39+
if (process.env.CORS_ALLOW_LOCALHOST === 'true') {
40+
allowedCorsOrigins.push(/localhost/);
41+
}
42+
43+
// Enable Cross-Origin Resource Sharing (CORS)
44+
const corsMiddleware = cors({
45+
credentials: true,
46+
origin: allowedCorsOrigins
47+
});
48+
app.use(corsMiddleware);
49+
// Enable pre-flight OPTIONS route for all end-points
50+
app.options('*', corsMiddleware);
51+
3152
// Run Webpack dev server in development mode
3253
if (process.env.NODE_ENV === 'development') {
3354
const compiler = webpack(config);

server/server.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ const MongoStore = connectMongo(session);
3737

3838
app.get('/health', (req, res) => res.json({ success: true }));
3939

40-
const allowedCorsOrigins = [/p5js\.org$/];
40+
const allowedCorsOrigins = [
41+
/p5js\.org$/,
42+
process.env.EDITOR_URL,
43+
process.env.PREVIEW_URL
44+
];
4145

4246
// to allow client-only development
4347
if (process.env.CORS_ALLOW_LOCALHOST === 'true') {

0 commit comments

Comments
 (0)