Skip to content

Commit 0db61a0

Browse files
authored
Fix Flight Prod Fixture (#20382)
* Don't use async/await Babel transpilation fails for some reason in prod. * Set up production runner command Uses python because meh. Just to show it's static. * Use build folder in prod
1 parent 3a8c04e commit 0db61a0

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

fixtures/flight/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@
6868
"start": "concurrently \"npm run start:server\" \"npm run start:client\"",
6969
"start:client": "node scripts/start.js",
7070
"start:server": "NODE_ENV=development node --experimental-loader ./loader/index.js --conditions=react-server server",
71-
"start:prod": "node scripts/build.js && NODE_ENV=production node server",
71+
"start:prod": "node scripts/build.js && concurrently \"npm run start:prod-server\" \"npm run start:prod-client\"",
72+
"start:prod-client": "cd ./build && python -m SimpleHTTPServer 3000",
73+
"start:prod-server": "NODE_ENV=production node --experimental-loader ./loader/index.js --conditions=react-server server",
7274
"build": "node scripts/build.js",
7375
"test": "node scripts/test.js --env=jsdom"
7476
},
Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
'use strict';
22

33
import {pipeToNodeWritable} from 'react-transport-dom-webpack/server';
4-
import {readFileSync} from 'fs';
4+
import {readFile} from 'fs';
55
import {resolve} from 'path';
66
import * as React from 'react';
77

8-
module.exports = async function(req, res) {
9-
const m = await import('../src/App.server.js');
8+
module.exports = function(req, res) {
109
// const m = require('../src/App.server.js');
11-
const App = m.default.default || m.default;
12-
res.setHeader('Access-Control-Allow-Origin', '*');
13-
const moduleMap = JSON.parse(
14-
readFileSync(
15-
resolve(__dirname, '../dist/react-transport-manifest.json'),
16-
'utf8'
17-
)
18-
);
19-
pipeToNodeWritable(<App />, res, moduleMap);
10+
import('../src/App.server.js').then(m => {
11+
const dist = process.env.NODE_ENV === 'development' ? 'dist' : 'build';
12+
readFile(
13+
resolve(__dirname, `../${dist}/react-transport-manifest.json`),
14+
'utf8',
15+
(err, data) => {
16+
if (err) {
17+
throw err;
18+
}
19+
20+
const App = m.default.default || m.default;
21+
res.setHeader('Access-Control-Allow-Origin', '*');
22+
const moduleMap = JSON.parse(data);
23+
pipeToNodeWritable(<App />, res, moduleMap);
24+
}
25+
);
26+
});
2027
};

0 commit comments

Comments
 (0)