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
This commit is contained in:
Sebastian Markbåge
2020-12-04 18:00:57 -08:00
committed by GitHub
parent ab487256db
commit 205cab5b65
2 changed files with 22 additions and 13 deletions
+3 -1
View File
@@ -68,7 +68,9 @@
"start": "concurrently \"npm run start:server\" \"npm run start:client\"",
"start:client": "node scripts/start.js",
"start:server": "NODE_ENV=development node --experimental-loader ./loader/index.js --conditions=react-server server",
"start:prod": "node scripts/build.js && NODE_ENV=production node server",
"start:prod": "node scripts/build.js && concurrently \"npm run start:prod-server\" \"npm run start:prod-client\"",
"start:prod-client": "cd ./build && python -m SimpleHTTPServer 3000",
"start:prod-server": "NODE_ENV=production node --experimental-loader ./loader/index.js --conditions=react-server server",
"build": "node scripts/build.js",
"test": "node scripts/test.js --env=jsdom"
},
+19 -12
View File
@@ -1,20 +1,27 @@
'use strict';
import {pipeToNodeWritable} from 'react-transport-dom-webpack/server';
import {readFileSync} from 'fs';
import {readFile} from 'fs';
import {resolve} from 'path';
import * as React from 'react';
module.exports = async function(req, res) {
const m = await import('../src/App.server.js');
module.exports = function(req, res) {
// const m = require('../src/App.server.js');
const App = m.default.default || m.default;
res.setHeader('Access-Control-Allow-Origin', '*');
const moduleMap = JSON.parse(
readFileSync(
resolve(__dirname, '../dist/react-transport-manifest.json'),
'utf8'
)
);
pipeToNodeWritable(<App />, res, moduleMap);
import('../src/App.server.js').then(m => {
const dist = process.env.NODE_ENV === 'development' ? 'dist' : 'build';
readFile(
resolve(__dirname, `../${dist}/react-transport-manifest.json`),
'utf8',
(err, data) => {
if (err) {
throw err;
}
const App = m.default.default || m.default;
res.setHeader('Access-Control-Allow-Origin', '*');
const moduleMap = JSON.parse(data);
pipeToNodeWritable(<App />, res, moduleMap);
}
);
});
};