@samitouri / QOS-React-2 / commits / a181ba8707

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 +});