diff --git a/e2e/run-many.test.ts b/e2e/run-many.test.ts index c72ed101c6..274117a1ec 100644 --- a/e2e/run-many.test.ts +++ b/e2e/run-many.test.ts @@ -1,6 +1,4 @@ -import { ensureProject, updateFile, uniq, runCLI, forEachCli } from './utils'; - -let originalCIValue: any; +import { updateFile, uniq, runCLI, forEachCli, newProject } from './utils'; const DEBUG = false; const l = (str: string) => { @@ -12,22 +10,9 @@ const l = (str: string) => { }; forEachCli(() => { - /** - * Setting CI=true makes it simpler to configure assertions around output, as there - * won't be any colors. - */ - beforeAll(() => { - originalCIValue = process.env.CI; - process.env.CI = 'true'; - }); - - afterAll(() => { - process.env.CI = originalCIValue; - }); - describe('Run Many', () => { it('should build specific and all projects', () => { - ensureProject(); + newProject(); const libA = uniq('liba-rand'); const libB = uniq('libb-rand'); const libC = uniq('libc-rand'); @@ -54,9 +39,7 @@ forEachCli(() => { l('=======> testing run many starting'); const buildParallel = l( - runCLI( - `run-many --target=build --projects="${libC},${libB}" --parallel` - ) + runCLI(`run-many --target=build --projects="${libC},${libB}"`) ); expect(buildParallel).toContain(`Running target build for projects:`); @@ -82,9 +65,7 @@ forEachCli(() => { l('=======> testing run many --with-deps'); const buildWithDeps = l( - runCLI( - `run-many --target=build --projects="${libA}" --with-deps --parallel` - ) + runCLI(`run-many --target=build --projects="${libA}" --with-deps`) ); expect(buildWithDeps).toContain(`Running target build for projects:`); expect(buildWithDeps).toContain(`- ${libA}`); diff --git a/e2e/utils.ts b/e2e/utils.ts index eea9ebf750..7ccc553d4e 100644 --- a/e2e/utils.ts +++ b/e2e/utils.ts @@ -239,6 +239,8 @@ export function copyMissingPackages(): void { '@angular/forms', + 'fork-ts-checker-webpack-plugin', + // For web builder with inlined build-angular 'source-map', 'webpack-sources', diff --git a/package.json b/package.json index cdc456a034..dac18e9449 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "fast-levenshtein": "^2.0.6", "file-loader": "4.2.0", "find-cache-dir": "3.0.0", - "fork-ts-checker-webpack-plugin": "^0.4.9", + "fork-ts-checker-webpack-plugin": "^3.1.1", "fs-extra": "7.0.1", "glob": "7.1.4", "html-webpack-plugin": "^3.2.0", diff --git a/packages/node/package.json b/packages/node/package.json index ac7c3e7932..641bd250cc 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -40,7 +40,7 @@ "@angular-devkit/build-webpack": "0.803.14", "circular-dependency-plugin": "5.2.0", "copy-webpack-plugin": "5.0.3", - "fork-ts-checker-webpack-plugin": "0.4.15", + "fork-ts-checker-webpack-plugin": "^3.1.1", "license-webpack-plugin": "2.1.2", "source-map-support": "0.5.12", "tree-kill": "1.2.1", diff --git a/packages/node/src/utils/config.ts b/packages/node/src/utils/config.ts index 8940259425..bf4070c680 100644 --- a/packages/node/src/utils/config.ts +++ b/packages/node/src/utils/config.ts @@ -64,7 +64,8 @@ export function getBaseWebpackPartial( plugins: [ new ForkTsCheckerWebpackPlugin({ tsconfig: options.tsConfig, - workers: options.maxWorkers || ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE + workers: options.maxWorkers || ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE, + useTypescriptIncrementalApi: false }) ], watch: options.watch, diff --git a/packages/web/package.json b/packages/web/package.json index 45c97a6902..679d51c489 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -62,7 +62,7 @@ "core-js": "^3.2.1", "file-loader": "4.2.0", "find-cache-dir": "3.0.0", - "fork-ts-checker-webpack-plugin": "0.4.15", + "fork-ts-checker-webpack-plugin": "^3.1.1", "glob": "7.1.4", "identity-obj-proxy": "3.0.0", "istanbul-instrumenter-loader": "3.0.1", diff --git a/packages/web/src/utils/config.ts b/packages/web/src/utils/config.ts index 3a35cbb68a..5b5202791a 100644 --- a/packages/web/src/utils/config.ts +++ b/packages/web/src/utils/config.ts @@ -74,7 +74,8 @@ export function getBaseWebpackPartial( plugins: [ new ForkTsCheckerWebpackPlugin({ tsconfig: options.tsConfig, - workers: options.maxWorkers || ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE + workers: options.maxWorkers || ForkTsCheckerWebpackPlugin.TWO_CPUS_FREE, + useTypescriptIncrementalApi: false }) ], watch: options.watch, diff --git a/scripts/e2e-ci2.sh b/scripts/e2e-ci2.sh index bfb3645920..b35fd28679 100755 --- a/scripts/e2e-ci2.sh +++ b/scripts/e2e-ci2.sh @@ -15,7 +15,7 @@ jest --maxWorkers=1 ./build/e2e/node.test.js && jest --maxWorkers=1 ./build/e2e/print-affected.test.js && jest --maxWorkers=1 ./build/e2e/react.test.js && jest --maxWorkers=1 ./build/e2e/report.test.js && -# jest --maxWorkers=1 ./build/e2e/run-many.test.js && +jest --maxWorkers=1 ./build/e2e/run-many.test.js && jest --maxWorkers=1 ./build/e2e/storybook.test.js && jest --maxWorkers=1 ./build/e2e/upgrade-module.test.js && jest --maxWorkers=1 ./build/e2e/web.test.js diff --git a/yarn.lock b/yarn.lock index db5c5a0861..111b26e36a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3377,6 +3377,14 @@ anymatch@^3.1.0: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + app-root-dir@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118" @@ -4830,7 +4838,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1, braces@^3.0.2: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -5392,6 +5400,21 @@ chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.0.4, chokidar@^2.1.1, chokidar@^2. optionalDependencies: fsevents "^1.2.7" +chokidar@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" + integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.2.0" + optionalDependencies: + fsevents "~2.1.1" + chownr@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" @@ -8621,20 +8644,6 @@ fork-ts-checker-webpack-plugin@1.5.0: tapable "^1.0.0" worker-rpc "^0.1.0" -fork-ts-checker-webpack-plugin@^0.4.9: - version "0.4.15" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.15.tgz#7cd9f94f3dd58cd1fe8f953f876e72090eda3f6d" - integrity sha512-qNYuygh2GxXehBvQZ5rI5YlQFn+7ZV6kmkyD9Sgs33dWl73NZdUOB5aCp8v0EXJn176AhPrZP8YCMT3h01fs+g== - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^2.0.4" - lodash "^4.17.11" - micromatch "^3.1.10" - minimatch "^3.0.4" - resolve "^1.5.0" - tapable "^1.0.0" - fork-ts-checker-webpack-plugin@^1.3.4: version "1.6.0" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.6.0.tgz#a81fd1c6bf5258fa5318cf3e9a7e9bac006f7917" @@ -8649,6 +8658,20 @@ fork-ts-checker-webpack-plugin@^1.3.4: tapable "^1.0.0" worker-rpc "^0.1.0" +fork-ts-checker-webpack-plugin@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" + integrity sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ== + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^3.3.0" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -8773,6 +8796,11 @@ fsevents@^2.0.6: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ== +fsevents@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" + integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== + function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -8975,6 +9003,13 @@ glob-parent@^5.0.0: dependencies: is-glob "^4.0.1" +glob-parent@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" @@ -10070,7 +10105,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-binary-path@^2.1.0: +is-binary-path@^2.1.0, is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== @@ -10247,7 +10282,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -12882,7 +12917,7 @@ normalize-path@^2.0.1, normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -15176,6 +15211,13 @@ readdirp@^3.1.1: dependencies: picomatch "^2.0.4" +readdirp@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" + integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== + dependencies: + picomatch "^2.0.4" + realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c"