Auto-install (or update) release script Yarn deps before running (#11434)
Brian Vaughn committed
Nov 2, 2017 at 15:21 UTC
a181ba87072c2f072b83545bc1a450a55818ed6c
1 file changed
+29
-18
scripts/release/build.js
+29
-18
@@ -2,26 +2,28 @@
2
3
'use strict';
4
5
-const chalk = require('chalk');
6
-const logUpdate = require('log-update');
7
-
8
-const buildArtifacts = require('./build-commands/build-artifacts');
9
-const checkCircleCiStatus = require('./build-commands/check-circle-ci-status');
10
-const checkEnvironmentVariables = require('./build-commands/check-environment-variables');
11
-const checkNpmPermissions = require('./build-commands/check-npm-permissions');
12
-const checkPackageDependencies = require('./build-commands/check-package-dependencies');
13
-const checkUncommittedChanges = require('./build-commands/check-uncommitted-changes');
14
-const installYarnDependencies = require('./build-commands/install-yarn-dependencies');
15
-const parseBuildParameters = require('./build-commands/parse-build-parameters');
16
-const printPostBuildSummary = require('./build-commands/print-post-build-summary');
17
-const runAutomatedTests = require('./build-commands/run-automated-tests');
18
-const updateGit = require('./build-commands/update-git');
19
-const updatePackageVersions = require('./build-commands/update-package-versions');
20
-const updateYarnDependencies = require('./build-commands/update-yarn-dependencies');
21
-const validateVersion = require('./build-commands/validate-version');
5
+const {exec} = require('child_process');
6
7
// Follows the steps outlined in github.com/facebook/react/issues/10620
8
const run = async () => {
9
+ const chalk = require('chalk');
10
+ const logUpdate = require('log-update');
11
+
12
+ const buildArtifacts = require('./build-commands/build-artifacts');
13
+ const checkCircleCiStatus = require('./build-commands/check-circle-ci-status');
14
+ const checkEnvironmentVariables = require('./build-commands/check-environment-variables');
15
+ const checkNpmPermissions = require('./build-commands/check-npm-permissions');
16
+ const checkPackageDependencies = require('./build-commands/check-package-dependencies');
17
+ const checkUncommittedChanges = require('./build-commands/check-uncommitted-changes');
18
+ const installYarnDependencies = require('./build-commands/install-yarn-dependencies');
19
+ const parseBuildParameters = require('./build-commands/parse-build-parameters');
20
+ const printPostBuildSummary = require('./build-commands/print-post-build-summary');
21
+ const runAutomatedTests = require('./build-commands/run-automated-tests');
22
+ const updateGit = require('./build-commands/update-git');
23
+ const updatePackageVersions = require('./build-commands/update-package-versions');
24
+ const updateYarnDependencies = require('./build-commands/update-yarn-dependencies');
25
+ const validateVersion = require('./build-commands/validate-version');
26
+
27
try {
28
const params = parseBuildParameters();
29
@@ -52,4 +54,13 @@ const run = async () => {
54
}
55
};
56
55
-run();
57
+// Install (or update) release script dependencies before proceeding.
58
+// This needs to be done before we require() the first NPM module.
59
+exec('yarn install', {cwd: __dirname}, (error, stdout, stderr) => {
60
+ if (error) {
61
+ console.error(error);
62
+ process.exit(1);
63
+ } else {
64
+ run();
65
+ }
66
+});