From a9fd36f2f8bdeec6e906fb4782daa5dbc9652351 Mon Sep 17 00:00:00 2001 From: George Kalpakas Date: Wed, 16 Oct 2019 23:15:40 +0300 Subject: [PATCH] build(docs-infra): ensure `setup-local` and similar scripts build local packages (#33206) The `setup-local` scripts (and others that are based on it, such as `setup-local-viewengine`), mainly does two things: Replace the Angular packages with the locally built ones for `aio/` and the docs examples (`aio/tools/examples/shared/`). It does this by calling two other npm scripts: `aio-use-local` and `example-use-local` respectively. For these scripts to work, the local Angular packages must be already built (via `scripts/build-packages-dist.sh`). In order to make it easier for people to test against local packages, the scripts support a `--build-packages` option, that (if passed) will result in building the local packages as well. Given that the same local packages are used for both `aio/` and the examples, we only need to build the packages once. Also, to speed up execution on CI, we do not need to build the packages there, because the packages would have been built already in a previous CI job. However, the various setup npm scripts were not implemented correctly to meet these requirements. Specifically, when running locally, `aio-use-local` would build the packages, while `example-use-local` would not (it was supposed to use the already built packages from `aio-use-local`). The `example-use-local` script, though, was configured to run before `aio-use-local`. As a result, the packages were not built, by the time `example-use-local` needed them, which would cause an error. This commit fixes it by ensuring that `aio-use-local` (which builds the local Angular packages) runs before `example-use-local`, so that the latter can use the same packages already built by the former. PR Close #33206 --- aio/package.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/aio/package.json b/aio/package.json index d22edd6a7b..6c4eb5ff54 100644 --- a/aio/package.json +++ b/aio/package.json @@ -17,11 +17,11 @@ "build": "yarn ~~build", "prebuild-local": "yarn setup-local", "build-local": "yarn ~~build", - "prebuild-local-ci": "yarn setup-local --no-build-packages", + "prebuild-local-ci": "yarn setup-local-ci", "build-local-ci": "yarn ~~build --progress=false", "prebuild-local-with-viewengine": "node scripts/switch-to-viewengine && yarn setup-local", "build-local-with-viewengine": "yarn ~~build", - "prebuild-local-with-viewengine-ci": "node scripts/switch-to-viewengine && yarn setup-local --no-build-packages", + "prebuild-local-with-viewengine-ci": "node scripts/switch-to-viewengine && yarn setup-local-ci", "build-local-with-viewengine-ci": "yarn ~~build --progress=false", "extract-cli-command-docs": "node tools/transforms/cli-docs-package/extract-cli-commands.js 38635d2d9", "lint": "yarn check-env && yarn docs-lint && ng lint && yarn example-lint && yarn tools-lint", @@ -32,8 +32,11 @@ "setup": "yarn example-use-npm && yarn aio-use-npm", "postsetup": "yarn boilerplate:add && yarn extract-cli-command-docs && yarn docs", "presetup-local": "yarn presetup", - "setup-local": "yarn example-use-local && yarn aio-use-local", + "setup-local": "yarn aio-use-local && yarn example-use-local", "postsetup-local": "yarn postsetup", + "presetup-local-ci": "yarn presetup-local", + "setup-local-ci": "yarn aio-use-local --no-build-packages && yarn example-use-local", + "postsetup-local-ci": "yarn postsetup-local", "set-opensearch-url": "node --eval \"const sh = require('shelljs'); sh.set('-e'); sh.sed('-i', /PLACEHOLDER_URL/g, process.argv[1], 'dist/assets/opensearch.xml');\"", "presmoke-tests": "yarn update-webdriver", "smoke-tests": "protractor tests/deployment/e2e/protractor.conf.js --suite smoke --baseUrl",