Skip to content

Commit 722bc62

Browse files
committed
Status file tweaks
1 parent 6cefe2f commit 722bc62

File tree

5 files changed

+38
-25
lines changed

5 files changed

+38
-25
lines changed

packages/react-scripts/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"jest-resolve": "23.6.0",
4949
"lodash": "^4.17.11",
5050
"mini-css-extract-plugin": "0.4.3",
51+
"mkdirp": "^1.0.3",
5152
"node-sass": "4.12.0",
5253
"optimize-css-assets-webpack-plugin": "5.0.1",
5354
"pnp-webpack-plugin": "1.1.0",

packages/react-scripts/scripts/start-ssr.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,14 @@ const webpack = require('webpack');
3838
const configFactory = require('../config/webpack.config.ssr');
3939
const paths = require('../config/paths');
4040

41-
const registerStatusFileHooks = require('./utils/registerStatusFileHooks');
41+
const statusFile = require('./utils/statusFile');
4242

4343
const config = configFactory('development');
4444
const appName = require(paths.appPackageJson).name;
4545
const useYarn = fs.existsSync(paths.yarnLockFile);
4646

4747
const compiler = createCompiler(webpack, config, appName, undefined, useYarn);
48-
49-
registerStatusFileHooks(compiler);
48+
statusFile.init(compiler, paths.appBuildSsr);
5049

5150
compiler.watch(
5251
{
@@ -57,5 +56,7 @@ compiler.watch(
5756
console.log(err.message || err);
5857
process.exit(1);
5958
}
59+
60+
statusFile.done(paths.appBuildSsr);
6061
}
6162
);

packages/react-scripts/scripts/start.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ const verifyTypeScriptSetup = require('./utils/verifyTypeScriptSetup');
3131
verifyTypeScriptSetup();
3232
// @remove-on-eject-end
3333

34-
const path = require('path');
3534
const fs = require('fs');
3635
const chalk = require('chalk');
3736
const webpack = require('webpack');
@@ -49,7 +48,7 @@ const paths = require('../config/paths');
4948
const configFactory = require('../config/webpack.config');
5049
const createDevServerConfig = require('../config/webpackDevServer.config');
5150

52-
const registerStatusFileHooks = require('./utils/registerStatusFileHooks');
51+
const statusFile = require('./utils/statusFile');
5352

5453
const useYarn = fs.existsSync(paths.yarnLockFile);
5554
const isInteractive = process.stdout.isTTY;
@@ -100,8 +99,7 @@ checkBrowsers(paths.appPath, isInteractive)
10099
const urls = prepareUrls(protocol, HOST, port);
101100
// Create a webpack compiler that is configured with custom messages.
102101
const compiler = createCompiler(webpack, config, appName, urls, useYarn);
103-
104-
registerStatusFileHooks(compiler);
102+
statusFile.init(compiler, paths.appBuildWeb);
105103

106104
// Load proxy config
107105
const proxySetting = require(paths.appPackageJson).proxy;

packages/react-scripts/scripts/utils/registerStatusFileHooks.js

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
'use strict';
2+
3+
const fs = require('fs');
4+
const path = require('path');
5+
const mkdirp = require('mkdirp');
6+
7+
function statusFilePath(buildPath) {
8+
return path.join(buildPath, '.build-status');
9+
}
10+
11+
function done(buildPath) {
12+
fs.writeFileSync(statusFilePath(buildPath), 'DONE');
13+
}
14+
15+
function inProgress(buildPath) {
16+
fs.writeFileSync(statusFilePath(buildPath), 'IN_PROGRESS');
17+
}
18+
19+
exports.init = function(compiler, buildPath) {
20+
mkdirp.sync(buildPath);
21+
inProgress(buildPath);
22+
23+
compiler.hooks.invalid.tap('invalid', () => {
24+
inProgress(buildPath);
25+
});
26+
compiler.hooks.done.tap('done', () => {
27+
done(buildPath);
28+
});
29+
};
30+
31+
exports.done = done;

0 commit comments

Comments
 (0)