@nrwl/angular 13.3.0-beta.3 → 13.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generators.d.ts +1 -0
- package/generators.js +1 -0
- package/generators.js.map +1 -1
- package/generators.json +11 -1
- package/migrations.json +12 -0
- package/ng-package.json +4 -2
- package/package.json +9 -10
- package/src/builders/utilities/webpack.d.ts +1 -0
- package/src/builders/utilities/webpack.js +36 -0
- package/src/builders/utilities/webpack.js.map +1 -0
- package/src/builders/webpack-browser/webpack-browser.impl.js +6 -5
- package/src/builders/webpack-browser/webpack-browser.impl.js.map +1 -1
- package/src/builders/webpack-server/webpack-server.impl.js +3 -2
- package/src/builders/webpack-server/webpack-server.impl.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.d.ts +9 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js +13 -4
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.d.ts +5 -4
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +4 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.di.d.ts +1 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.di.js +3 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.di.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js +2 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/options.di.d.ts +14 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/options.di.js +32 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/options.di.js.map +1 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/package.di.d.ts +2 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/package.di.js +5 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/package.di.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +47 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.di.d.ts +10 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.di.js +18 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.di.js.map +1 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.js +263 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.js.map +1 -0
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +5 -0
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js.map +1 -1
- package/src/executors/ng-packagr-lite/schema.json +4 -0
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js +2 -2
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js.map +1 -1
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.d.ts +1 -1
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +1 -1
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js.map +1 -1
- package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.d.ts +14 -0
- package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +32 -0
- package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js.map +1 -0
- package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.d.ts +2 -0
- package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.js +5 -3
- package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.js.map +1 -1
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +4 -2
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +17 -21
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js.map +1 -1
- package/src/executors/package/package.impl.js +8 -4
- package/src/executors/package/package.impl.js.map +1 -1
- package/src/executors/package/schema.d.ts +2 -1
- package/src/executors/package/schema.json +4 -0
- package/src/executors/{package/ng-packagr-adjustments/utilities → utilities}/tailwindcss.d.ts +1 -1
- package/src/executors/{package/ng-packagr-adjustments/utilities → utilities}/tailwindcss.js +11 -9
- package/src/executors/utilities/tailwindcss.js.map +1 -0
- package/src/generators/application/application.js +23 -7
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/lib/index.d.ts +2 -2
- package/src/generators/application/lib/index.js +2 -2
- package/src/generators/application/lib/index.js.map +1 -1
- package/src/generators/application/lib/normalize-options.js +3 -1
- package/src/generators/application/lib/normalize-options.js.map +1 -1
- package/src/generators/application/lib/nrwl-home-tpl.d.ts +2 -3
- package/src/generators/application/lib/nrwl-home-tpl.js +790 -314
- package/src/generators/application/lib/nrwl-home-tpl.js.map +1 -1
- package/src/generators/application/lib/{update-component-styles.d.ts → update-app-component-template.d.ts} +1 -1
- package/src/generators/application/lib/{update-component-template.js → update-app-component-template.js} +7 -7
- package/src/generators/application/lib/update-app-component-template.js.map +1 -0
- package/src/generators/application/lib/update-component-spec.js +8 -1
- package/src/generators/application/lib/update-component-spec.js.map +1 -1
- package/src/generators/application/lib/update-config-files.js +1 -7
- package/src/generators/application/lib/update-config-files.js.map +1 -1
- package/src/generators/application/lib/update-e2e-project.js +1 -1
- package/src/generators/application/lib/update-e2e-project.js.map +1 -1
- package/src/generators/application/lib/{update-component-template.d.ts → update-nx-component-template.d.ts} +1 -1
- package/src/generators/application/lib/update-nx-component-template.js +31 -0
- package/src/generators/application/lib/update-nx-component-template.js.map +1 -0
- package/src/generators/library/files/lib/{README.md → README.md__tpl__} +0 -0
- package/src/generators/library/lib/normalize-options.js +3 -1
- package/src/generators/library/lib/normalize-options.js.map +1 -1
- package/src/generators/library/lib/update-ng-package.js +1 -1
- package/src/generators/library/lib/update-ng-package.js.map +1 -1
- package/src/generators/library/lib/update-project.js +1 -1
- package/src/generators/library/lib/update-project.js.map +1 -1
- package/src/generators/library/lib/update-tsconfig.js +1 -1
- package/src/generators/library/lib/update-tsconfig.js.map +1 -1
- package/src/generators/scam/lib/create-module.d.ts +3 -0
- package/src/generators/scam/lib/create-module.js +49 -0
- package/src/generators/scam/lib/create-module.js.map +1 -0
- package/src/generators/scam/lib/index.d.ts +0 -0
- package/src/generators/scam/lib/index.js +1 -0
- package/src/generators/scam/lib/index.js.map +1 -0
- package/src/generators/scam/scam.compat.d.ts +2 -0
- package/src/generators/scam/scam.compat.js +6 -0
- package/src/generators/scam/scam.compat.js.map +1 -0
- package/src/generators/scam/scam.d.ts +4 -0
- package/src/generators/scam/scam.js +19 -0
- package/src/generators/scam/scam.js.map +1 -0
- package/src/generators/scam/schema.d.ts +18 -0
- package/src/generators/scam/schema.json +115 -0
- package/src/generators/setup-mfe/files/webpack/webpack.config.js__tmpl__ +7 -1
- package/src/generators/setup-mfe/lib/add-remote-to-host.js +1 -1
- package/src/generators/setup-mfe/lib/add-remote-to-host.js.map +1 -1
- package/src/generators/setup-mfe/lib/setup-serve-target.js +4 -2
- package/src/generators/setup-mfe/lib/setup-serve-target.js.map +1 -1
- package/src/generators/storybook-configuration/storybook-configuration.js +0 -10
- package/src/generators/storybook-configuration/storybook-configuration.js.map +1 -1
- package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.d.ts +1 -2
- package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.js +1 -2
- package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.js.map +1 -1
- package/src/migrations/update-13-2-0/opt-out-testbed-teardown.d.ts +2 -0
- package/src/migrations/update-13-2-0/opt-out-testbed-teardown.js +231 -0
- package/src/migrations/update-13-2-0/opt-out-testbed-teardown.js.map +1 -0
- package/src/migrations/update-13-2-0/update-testing-imports.js +14 -1
- package/src/migrations/update-13-2-0/update-testing-imports.js.map +1 -1
- package/src/migrations/update-13-3-0/update-mfe-webpack-config.d.ts +6 -0
- package/src/migrations/update-13-3-0/update-mfe-webpack-config.js +120 -0
- package/src/migrations/update-13-3-0/update-mfe-webpack-config.js.map +1 -0
- package/src/runtime/nx/data-persistence.d.ts +3 -0
- package/src/runtime/nx/nx.module.d.ts +4 -0
- package/src/utils/nx-devkit/ast-utils.d.ts +2 -0
- package/src/utils/nx-devkit/ast-utils.js +35 -1
- package/src/utils/nx-devkit/ast-utils.js.map +1 -1
- package/src/utils/versions.d.ts +0 -1
- package/src/utils/versions.js +2 -3
- package/src/utils/versions.js.map +1 -1
- package/testing/ng-package.json +6 -0
- package/testing/package.json +3 -5
- package/src/executors/package/ng-packagr-adjustments/utilities/tailwindcss.js.map +0 -1
- package/src/generators/application/lib/update-component-styles.js +0 -26
- package/src/generators/application/lib/update-component-styles.js.map +0 -1
- package/src/generators/application/lib/update-component-template.js.map +0 -1
|
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setupServeTarget = void 0;
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
function setupServeTarget(host, options) {
|
|
6
|
-
var _a;
|
|
6
|
+
var _a, _b;
|
|
7
7
|
const appConfig = (0, devkit_1.readProjectConfiguration)(host, options.appName);
|
|
8
|
-
appConfig.targets['serve'] = Object.assign(Object.assign({}, appConfig.targets['serve']), { executor: '@nrwl/angular:webpack-server', options: Object.assign(Object.assign({}, appConfig.targets['serve'].options), { port: (_a = options.port) !== null && _a !== void 0 ? _a : undefined
|
|
8
|
+
appConfig.targets['serve'] = Object.assign(Object.assign({}, appConfig.targets['serve']), { executor: '@nrwl/angular:webpack-server', options: Object.assign(Object.assign({}, appConfig.targets['serve'].options), { port: (_a = options.port) !== null && _a !== void 0 ? _a : undefined, publicHost: options.host
|
|
9
|
+
? undefined
|
|
10
|
+
: `http://localhost:${(_b = options.port) !== null && _b !== void 0 ? _b : 4200}` }) });
|
|
9
11
|
if (options.mfeType === 'host') {
|
|
10
12
|
const remoteServeCommands = options.remotes
|
|
11
13
|
? options.remotes.map((r) => `nx serve ${r}`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-serve-target.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mfe/lib/setup-serve-target.ts"],"names":[],"mappings":";;;AAGA,yCAGsB;AAEtB,SAAgB,gBAAgB,CAAC,IAAU,EAAE,OAAe;;IAC1D,MAAM,SAAS,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,mCACrB,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAC7B,QAAQ,EAAE,8BAA8B,EACxC,OAAO,kCACF,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,KACrC,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"setup-serve-target.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mfe/lib/setup-serve-target.ts"],"names":[],"mappings":";;;AAGA,yCAGsB;AAEtB,SAAgB,gBAAgB,CAAC,IAAU,EAAE,OAAe;;IAC1D,MAAM,SAAS,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,mCACrB,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAC7B,QAAQ,EAAE,8BAA8B,EACxC,OAAO,kCACF,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,KACrC,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,SAAS,EAC/B,UAAU,EAAE,OAAO,CAAC,IAAI;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,oBAAoB,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,EAAE,MAEjD,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE;QAC9B,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO;YACzC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,mBAAmB;YAClC,CAAC,CAAC,CAAC,GAAG,mBAAmB,EAAE,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC;YACzD,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;YAC/B,QAAQ,EAAE,8BAA8B;YACxC,OAAO,EAAE;gBACP,QAAQ;aACT;SACF,CAAC;KACH;IACD,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;QAChD,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,mCAC7B,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,KACrC,OAAO,kCACF,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,KAC7C,QAAQ,EAAE;oBACR,YAAY,OAAO,CAAC,OAAO,EAAE;oBAC7B,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ;iBACvD,MAEJ,CAAC;QAEF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC/D;AACH,CAAC;AAhDD,4CAgDC"}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.storybookConfigurationGenerator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
-
const versions_1 = require("../../utils/versions");
|
|
7
5
|
const assert_compatible_storybook_version_1 = require("./lib/assert-compatible-storybook-version");
|
|
8
6
|
const generate_stories_1 = require("./lib/generate-stories");
|
|
9
7
|
const generate_storybook_configuration_1 = require("./lib/generate-storybook-configuration");
|
|
@@ -12,19 +10,11 @@ function storybookConfigurationGenerator(tree, options) {
|
|
|
12
10
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
13
11
|
(0, assert_compatible_storybook_version_1.assertCompatibleStorybookVersion)();
|
|
14
12
|
(0, validate_options_1.validateOptions)(options);
|
|
15
|
-
// TODO(coly010/juristr): remove when @nrwl/storybook has been updated
|
|
16
|
-
const angularStorybookInstallTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
|
|
17
|
-
'@storybook/angular': versions_1.storybookVersion,
|
|
18
|
-
'@storybook/manager-webpack5': versions_1.storybookVersion,
|
|
19
|
-
'@storybook/builder-webpack5': versions_1.storybookVersion,
|
|
20
|
-
'@storybook/addon-essentials': versions_1.storybookVersion,
|
|
21
|
-
});
|
|
22
13
|
const storybookGeneratorInstallTask = yield (0, generate_storybook_configuration_1.generateStorybookConfiguration)(tree, options);
|
|
23
14
|
if (options.generateStories) {
|
|
24
15
|
(0, generate_stories_1.generateStories)(tree, options);
|
|
25
16
|
}
|
|
26
17
|
return () => {
|
|
27
|
-
angularStorybookInstallTask();
|
|
28
18
|
storybookGeneratorInstallTask();
|
|
29
19
|
};
|
|
30
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storybook-configuration.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/storybook-configuration/storybook-configuration.ts"],"names":[],"mappings":";;;;AACA,
|
|
1
|
+
{"version":3,"file":"storybook-configuration.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/storybook-configuration/storybook-configuration.ts"],"names":[],"mappings":";;;;AACA,mGAA6F;AAC7F,6DAAyD;AACzD,6FAAwF;AACxF,6DAAyD;AAGzD,SAAsB,+BAA+B,CACnD,IAAU,EACV,OAAsC;;QAEtC,IAAA,sEAAgC,GAAE,CAAC;QACnC,IAAA,kCAAe,EAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,6BAA6B,GAAG,MAAM,IAAA,iEAA8B,EACxE,IAAI,EACJ,OAAO,CACR,CAAC;QAEF,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,IAAA,kCAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAChC;QAED,OAAO,GAAG,EAAE;YACV,6BAA6B,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;CAAA;AAnBD,0EAmBC;AAED,kBAAe,+BAA+B,CAAC"}
|
package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { GeneratorCallback, Tree } from '@nrwl/devkit';
|
|
2
|
-
import storybookConfigurationGenerator from '../storybook-configuration/storybook-configuration';
|
|
3
2
|
import type { StorybookMigrateDefault5to6Schema } from './schema';
|
|
4
3
|
export declare function storybookMigrateDefaults5To6Generator(tree: Tree, options: StorybookMigrateDefault5to6Schema): GeneratorCallback;
|
|
5
|
-
export default
|
|
4
|
+
export default storybookMigrateDefaults5To6Generator;
|
package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.storybookMigrateDefaults5To6Generator = void 0;
|
|
4
4
|
const storybook_1 = require("@nrwl/storybook");
|
|
5
|
-
const storybook_configuration_1 = require("../storybook-configuration/storybook-configuration");
|
|
6
5
|
function storybookMigrateDefaults5To6Generator(tree, options) {
|
|
7
6
|
return (0, storybook_1.migrateDefaultsGenerator)(tree, {
|
|
8
7
|
name: options.name,
|
|
@@ -11,5 +10,5 @@ function storybookMigrateDefaults5To6Generator(tree, options) {
|
|
|
11
10
|
});
|
|
12
11
|
}
|
|
13
12
|
exports.storybookMigrateDefaults5To6Generator = storybookMigrateDefaults5To6Generator;
|
|
14
|
-
exports.default =
|
|
13
|
+
exports.default = storybookMigrateDefaults5To6Generator;
|
|
15
14
|
//# sourceMappingURL=storybook-migrate-defaults-5-to-6.js.map
|
package/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storybook-migrate-defaults-5-to-6.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.ts"],"names":[],"mappings":";;;AACA,+CAA2D;
|
|
1
|
+
{"version":3,"file":"storybook-migrate-defaults-5-to-6.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/storybook-migrate-defaults-5-to-6/storybook-migrate-defaults-5-to-6.ts"],"names":[],"mappings":";;;AACA,+CAA2D;AAG3D,SAAgB,qCAAqC,CACnD,IAAU,EACV,OAA0C;IAE1C,OAAO,IAAA,oCAAwB,EAAC,IAAI,EAAE;QACpC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;AACL,CAAC;AATD,sFASC;AAED,kBAAe,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
const tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const ts = require("typescript");
|
|
8
|
+
function default_1(tree) {
|
|
9
|
+
var _a, _b, _c;
|
|
10
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
11
|
+
const projects = (0, devkit_1.getProjects)(tree);
|
|
12
|
+
for (const [projectName, project] of projects.entries()) {
|
|
13
|
+
// only interested in projects with @nrwl/jest:jest executor
|
|
14
|
+
if (((_b = (_a = project.targets) === null || _a === void 0 ? void 0 : _a.test) === null || _b === void 0 ? void 0 : _b.executor) !== '@nrwl/jest:jest') {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const jestConfigPath = (_c = project.targets.test.options) === null || _c === void 0 ? void 0 : _c.jestConfig;
|
|
18
|
+
// if there's not jestConfigPath, we don't process it
|
|
19
|
+
if (!jestConfigPath) {
|
|
20
|
+
devkit_1.logger.warn(`The "jestConfig" property is not configured for the test target of the project "${projectName}". Skipping it.`);
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
if (!tree.exists(jestConfigPath)) {
|
|
24
|
+
devkit_1.logger.warn(`The specified "jestConfig" path "${jestConfigPath}" for the project "${projectName}" can not be found. Skipping it.`);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
let jestConfigContents = tree.read(jestConfigPath, 'utf-8');
|
|
28
|
+
// check if it's an angular project by looking for jest-preset-angular
|
|
29
|
+
if (!jestConfigContents.includes('jest-preset-angular')) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const { shouldUpdate, testSetupFilePath } = shouldUpdateTeardownConfig(tree, projectName, jestConfigPath, jestConfigContents);
|
|
33
|
+
if (!shouldUpdate) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const printer = ts.createPrinter();
|
|
37
|
+
if (shouldUpdate === 'testSetup') {
|
|
38
|
+
optOutTestTeardownFromTestSetupFile(tree, testSetupFilePath, printer);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
optOutTestTeardownFromTestFiles(tree, projectName, printer);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
exports.default = default_1;
|
|
48
|
+
function shouldUpdateTeardownConfig(tree, projectName, jestConfigPath, jestConfigContents) {
|
|
49
|
+
const jestConfigAst = tsquery_1.tsquery.ast(jestConfigContents);
|
|
50
|
+
const setupFilesAfterEnvSelector = 'PropertyAssignment:has(Identifier[name=setupFilesAfterEnv])';
|
|
51
|
+
const setupFilesAfterEnvProperty = (0, tsquery_1.tsquery)(jestConfigAst, setupFilesAfterEnvSelector, {
|
|
52
|
+
visitAllChildren: true,
|
|
53
|
+
})[0];
|
|
54
|
+
// no property specified, we try to migrate test files
|
|
55
|
+
if (!setupFilesAfterEnvProperty) {
|
|
56
|
+
return { shouldUpdate: 'testFiles' };
|
|
57
|
+
}
|
|
58
|
+
const setupFilesValueSelector = 'ArrayLiteralExpression StringLiteral';
|
|
59
|
+
const setupFilesValue = (0, tsquery_1.tsquery)(setupFilesAfterEnvProperty, setupFilesValueSelector, {
|
|
60
|
+
visitAllChildren: true,
|
|
61
|
+
})[0];
|
|
62
|
+
// not setup file specified, we try to migrate test files
|
|
63
|
+
if (!setupFilesValue) {
|
|
64
|
+
return { shouldUpdate: 'testFiles' };
|
|
65
|
+
}
|
|
66
|
+
const testSetupFilePath = setupFilesValue
|
|
67
|
+
.getText()
|
|
68
|
+
.replace('<rootDir>', (0, path_1.dirname)(jestConfigPath))
|
|
69
|
+
.replace(/['"]/g, '');
|
|
70
|
+
// the specified file is invalid, we migrate test files
|
|
71
|
+
if (!tree.exists(testSetupFilePath)) {
|
|
72
|
+
return { shouldUpdate: 'testFiles' };
|
|
73
|
+
}
|
|
74
|
+
let testSetupFileContents = tree.read(testSetupFilePath, 'utf-8');
|
|
75
|
+
const testSetupFileAst = tsquery_1.tsquery.ast(testSetupFileContents);
|
|
76
|
+
const initTestEnvironmentSelector = 'CallExpression:has(PropertyAccessExpression:has(Identifier[name=initTestEnvironment]))';
|
|
77
|
+
const initTestEnvironmentCall = (0, tsquery_1.tsquery)(testSetupFileAst, initTestEnvironmentSelector, {
|
|
78
|
+
visitAllChildren: true,
|
|
79
|
+
})[0];
|
|
80
|
+
// no initTestEnvironment call, we migrate the test setup file
|
|
81
|
+
if (!initTestEnvironmentCall) {
|
|
82
|
+
return { shouldUpdate: 'testSetup', testSetupFilePath };
|
|
83
|
+
}
|
|
84
|
+
// no third arg, we migrate the test setup file
|
|
85
|
+
if (initTestEnvironmentCall.arguments.length === 2) {
|
|
86
|
+
return { shouldUpdate: 'testSetup', testSetupFilePath };
|
|
87
|
+
}
|
|
88
|
+
// this would be a type error, we migrate test files
|
|
89
|
+
if (initTestEnvironmentCall.arguments.length < 2) {
|
|
90
|
+
return { shouldUpdate: 'testFiles' };
|
|
91
|
+
}
|
|
92
|
+
const optionsArg = initTestEnvironmentCall.arguments[2];
|
|
93
|
+
// the options arg is an object that has a teardown property, no migration is needed
|
|
94
|
+
if (isObjectLiteralWithTeardown(optionsArg)) {
|
|
95
|
+
return { shouldUpdate: false };
|
|
96
|
+
}
|
|
97
|
+
// the options arg is an object that doesn't have a teardown property, we migrate the test setup file
|
|
98
|
+
if (isObjectLiteralWithoutTeardown(optionsArg)) {
|
|
99
|
+
return { shouldUpdate: 'testSetup', testSetupFilePath };
|
|
100
|
+
}
|
|
101
|
+
// the options arg is an `aotSummaries` function, we migrate the test setup file
|
|
102
|
+
if (isFunction(optionsArg)) {
|
|
103
|
+
return { shouldUpdate: 'testSetup', testSetupFilePath };
|
|
104
|
+
}
|
|
105
|
+
// we fallback to migrate the test files
|
|
106
|
+
return { shouldUpdate: 'testFiles' };
|
|
107
|
+
}
|
|
108
|
+
function optOutTestTeardownFromTestFiles(tree, projectName, printer) {
|
|
109
|
+
const { sourceRoot, root } = (0, devkit_1.readProjectConfiguration)(tree, projectName);
|
|
110
|
+
(0, devkit_1.visitNotIgnoredFiles)(tree, sourceRoot !== null && sourceRoot !== void 0 ? sourceRoot : root, (path) => {
|
|
111
|
+
if (!['.ts', '.js'].includes((0, path_1.extname)(path))) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
let fileContents = tree.read(path, 'utf-8');
|
|
115
|
+
const ast = tsquery_1.tsquery.ast(fileContents);
|
|
116
|
+
const configureTestingModulePropertyAccessExpressionSelector = 'CallExpression > PropertyAccessExpression:has(Identifier[name=configureTestingModule])';
|
|
117
|
+
const configureTestingModulePropertyAccessExpressions = (0, tsquery_1.tsquery)(ast, configureTestingModulePropertyAccessExpressionSelector, {
|
|
118
|
+
visitAllChildren: true,
|
|
119
|
+
});
|
|
120
|
+
// no calls to configureTestingModule, we skip it
|
|
121
|
+
if (!configureTestingModulePropertyAccessExpressions.length) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// reverse the order to not mess with positions as we update the AST
|
|
125
|
+
const reversedConfigureTestingModulePropertyAccessExpressions = sortInReverseSourceOrder(configureTestingModulePropertyAccessExpressions);
|
|
126
|
+
reversedConfigureTestingModulePropertyAccessExpressions.forEach((propertyAccessExpression) => {
|
|
127
|
+
const configureTestingModuleCall = propertyAccessExpression.parent;
|
|
128
|
+
if (configureTestingModuleCall.arguments.length === 0 ||
|
|
129
|
+
!isObjectLiteralWithoutTeardown(configureTestingModuleCall.arguments[0])) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const testModuleMetadata = configureTestingModuleCall.arguments[0];
|
|
133
|
+
const replacement = getTestModuleMetadataLiteralReplacement(testModuleMetadata, printer);
|
|
134
|
+
fileContents = `${fileContents.slice(0, testModuleMetadata.getStart())}${replacement}${fileContents.slice(testModuleMetadata.getEnd())}`;
|
|
135
|
+
tree.write(path, fileContents);
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
function optOutTestTeardownFromTestSetupFile(tree, testSetupFilePath, printer) {
|
|
140
|
+
let testSetupFileContents = tree.read(testSetupFilePath, 'utf-8');
|
|
141
|
+
const testSetupFileAst = tsquery_1.tsquery.ast(testSetupFileContents);
|
|
142
|
+
const initTestEnvironmentSelector = 'CallExpression:has(PropertyAccessExpression:has(Identifier[name=initTestEnvironment]))';
|
|
143
|
+
const initTestEnvironmentCall = (0, tsquery_1.tsquery)(testSetupFileAst, initTestEnvironmentSelector, {
|
|
144
|
+
visitAllChildren: true,
|
|
145
|
+
})[0];
|
|
146
|
+
if (!initTestEnvironmentCall) {
|
|
147
|
+
testSetupFileContents += `
|
|
148
|
+
import { getTestBed } from '@angular/core/testing';
|
|
149
|
+
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
|
|
150
|
+
|
|
151
|
+
getTestBed().resetTestEnvironment();
|
|
152
|
+
getTestBed().initTestEnvironment(
|
|
153
|
+
BrowserDynamicTestingModule,
|
|
154
|
+
platformBrowserDynamicTesting(),
|
|
155
|
+
{ teardown: { destroyAfterEach: false } },
|
|
156
|
+
);
|
|
157
|
+
`;
|
|
158
|
+
tree.write(testSetupFilePath, testSetupFileContents);
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const { span, text } = getInitTestEnvironmentLiteralReplacement(initTestEnvironmentCall, printer);
|
|
162
|
+
testSetupFileContents = `${testSetupFileContents.slice(0, span.start)}${text}${testSetupFileContents.slice(span.end)}`;
|
|
163
|
+
tree.write(testSetupFilePath, testSetupFileContents);
|
|
164
|
+
}
|
|
165
|
+
function getInitTestEnvironmentLiteralReplacement(initTestEnvironmentCall, printer) {
|
|
166
|
+
const literalProperties = [];
|
|
167
|
+
const options = initTestEnvironmentCall.arguments[initTestEnvironmentCall.arguments.length - 1];
|
|
168
|
+
let span;
|
|
169
|
+
let prefix;
|
|
170
|
+
// update the last argument of the initTestEnvironment call
|
|
171
|
+
if (initTestEnvironmentCall.arguments.length === 3) {
|
|
172
|
+
if (isFunction(options)) {
|
|
173
|
+
// If the last argument is a function, add the function as the `aotSummaries` property.
|
|
174
|
+
literalProperties.push(ts.factory.createPropertyAssignment('aotSummaries', options));
|
|
175
|
+
}
|
|
176
|
+
else if (ts.isObjectLiteralExpression(options)) {
|
|
177
|
+
// If the property is an object literal, copy over all the properties.
|
|
178
|
+
literalProperties.push(...options.properties);
|
|
179
|
+
}
|
|
180
|
+
prefix = '';
|
|
181
|
+
span = {
|
|
182
|
+
start: options.getStart(),
|
|
183
|
+
end: options.getEnd(),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
const start = options.getEnd();
|
|
188
|
+
prefix = ', ';
|
|
189
|
+
span = { start, end: start };
|
|
190
|
+
}
|
|
191
|
+
// finally push the teardown object so that it appears last
|
|
192
|
+
literalProperties.push(createTeardownAssignment());
|
|
193
|
+
return {
|
|
194
|
+
span,
|
|
195
|
+
text: `${prefix}${printer.printNode(ts.EmitHint.Unspecified, ts.factory.createObjectLiteralExpression(literalProperties), initTestEnvironmentCall.getSourceFile())}`,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
function getTestModuleMetadataLiteralReplacement(testModuleMetadataObjectLiteral, printer) {
|
|
199
|
+
return printer.printNode(ts.EmitHint.Unspecified, ts.factory.createObjectLiteralExpression([
|
|
200
|
+
...testModuleMetadataObjectLiteral.properties,
|
|
201
|
+
createTeardownAssignment(),
|
|
202
|
+
], testModuleMetadataObjectLiteral.properties.length > 0), testModuleMetadataObjectLiteral.getSourceFile());
|
|
203
|
+
}
|
|
204
|
+
function isObjectLiteralWithTeardown(node) {
|
|
205
|
+
return (ts.isObjectLiteralExpression(node) &&
|
|
206
|
+
node.properties.some((prop) => {
|
|
207
|
+
var _a;
|
|
208
|
+
return ((_a = prop.name) === null || _a === void 0 ? void 0 : _a.getText()) === 'teardown';
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
211
|
+
function isObjectLiteralWithoutTeardown(node) {
|
|
212
|
+
return (ts.isObjectLiteralExpression(node) &&
|
|
213
|
+
!node.properties.find((prop) => {
|
|
214
|
+
var _a;
|
|
215
|
+
return ((_a = prop.name) === null || _a === void 0 ? void 0 : _a.getText()) === 'teardown';
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
218
|
+
function isFunction(node) {
|
|
219
|
+
return (ts.isArrowFunction(node) ||
|
|
220
|
+
ts.isFunctionExpression(node) ||
|
|
221
|
+
ts.isFunctionDeclaration(node));
|
|
222
|
+
}
|
|
223
|
+
function createTeardownAssignment() {
|
|
224
|
+
return ts.factory.createPropertyAssignment('teardown', ts.factory.createObjectLiteralExpression([
|
|
225
|
+
ts.factory.createPropertyAssignment('destroyAfterEach', ts.factory.createFalse()),
|
|
226
|
+
]));
|
|
227
|
+
}
|
|
228
|
+
function sortInReverseSourceOrder(nodes) {
|
|
229
|
+
return nodes.sort((a, b) => b.getEnd() - a.getEnd());
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=opt-out-testbed-teardown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opt-out-testbed-teardown.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-13-2-0/opt-out-testbed-teardown.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
const typescript_1 = require("typescript");
|
|
6
6
|
const path_1 = require("path");
|
|
7
|
+
const workspace_1 = require("@nrwl/workspace");
|
|
8
|
+
const semver_1 = require("semver");
|
|
9
|
+
const versions_1 = require("../../utils/versions");
|
|
7
10
|
function default_1(tree) {
|
|
8
11
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
9
12
|
const identifiers = ['hot', 'cold', 'getTestScheduler', 'time'];
|
|
@@ -16,8 +19,18 @@ function default_1(tree) {
|
|
|
16
19
|
shouldAddJasmineMarbles = shouldAddJasmineMarbles || updated;
|
|
17
20
|
});
|
|
18
21
|
if (shouldAddJasmineMarbles) {
|
|
22
|
+
let rxjsVersion;
|
|
23
|
+
try {
|
|
24
|
+
rxjsVersion = (0, workspace_1.checkAndCleanWithSemver)('rxjs', (0, devkit_1.readJson)(tree, 'package.json').dependencies['rxjs']);
|
|
25
|
+
}
|
|
26
|
+
catch (_a) {
|
|
27
|
+
rxjsVersion = (0, workspace_1.checkAndCleanWithSemver)('rxjs', versions_1.rxjsVersion);
|
|
28
|
+
}
|
|
29
|
+
const jasmineMarblesVersion = (0, semver_1.gte)(rxjsVersion, '7.0.0')
|
|
30
|
+
? '~0.9.1'
|
|
31
|
+
: '~0.8.3';
|
|
19
32
|
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
|
|
20
|
-
'jasmine-marbles':
|
|
33
|
+
'jasmine-marbles': jasmineMarblesVersion,
|
|
21
34
|
});
|
|
22
35
|
}
|
|
23
36
|
yield (0, devkit_1.formatFiles)(tree);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-testing-imports.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-13-2-0/update-testing-imports.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"update-testing-imports.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-13-2-0/update-testing-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Tree } from '@nrwl/devkit';
|
|
2
|
+
export default function (tree: Tree): Promise<void>;
|
|
3
|
+
export declare function addExperimentsObject(webpackConfig: string): string;
|
|
4
|
+
export declare function addLibraryModuleType(webpackConfig: string): string;
|
|
5
|
+
export declare function removeRemoteName(webpackConfig: string): string;
|
|
6
|
+
export declare function addPublicHost(tree: Tree, projects: string[]): void;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addPublicHost = exports.removeRemoteName = exports.addLibraryModuleType = exports.addExperimentsObject = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
+
const tsquery_1 = require("@phenomnomnominal/tsquery");
|
|
7
|
+
const executor_options_utils_1 = require("@nrwl/workspace/src/utilities/executor-options-utils");
|
|
8
|
+
function default_1(tree) {
|
|
9
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
10
|
+
const NRWL_WEBPACK_BROWSER_BUILDER = '@nrwl/angular:webpack-browser';
|
|
11
|
+
const CUSTOM_WEBPACK_OPTION = 'customWebpackConfig';
|
|
12
|
+
const projects = [];
|
|
13
|
+
(0, executor_options_utils_1.forEachExecutorOptions)(tree, NRWL_WEBPACK_BROWSER_BUILDER, (opts, projectName) => {
|
|
14
|
+
var _a;
|
|
15
|
+
// Update the webpack config
|
|
16
|
+
const webpackPath = (_a = opts[CUSTOM_WEBPACK_OPTION]) === null || _a === void 0 ? void 0 : _a.path;
|
|
17
|
+
if (!tree.exists(webpackPath)) {
|
|
18
|
+
devkit_1.logger.warn(`Webpack config file for project: ${projectName} does not exist. Skipping project.`);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const webpackConfig = tree.read(webpackPath, 'utf-8');
|
|
22
|
+
const ast = tsquery_1.tsquery.ast(webpackConfig);
|
|
23
|
+
const moduleFederationWebpackConfig = (0, tsquery_1.tsquery)(ast, 'Identifier[name=ModuleFederationPlugin]', {
|
|
24
|
+
visitAllChildren: true,
|
|
25
|
+
});
|
|
26
|
+
if (!moduleFederationWebpackConfig ||
|
|
27
|
+
moduleFederationWebpackConfig.length === 0) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
projects.push(projectName);
|
|
31
|
+
let updatedWebpackFile = addExperimentsObject(webpackConfig);
|
|
32
|
+
updatedWebpackFile = addLibraryModuleType(updatedWebpackFile);
|
|
33
|
+
updatedWebpackFile = removeRemoteName(updatedWebpackFile);
|
|
34
|
+
tree.write(webpackPath, updatedWebpackFile);
|
|
35
|
+
});
|
|
36
|
+
addPublicHost(tree, projects);
|
|
37
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
exports.default = default_1;
|
|
41
|
+
function addExperimentsObject(webpackConfig) {
|
|
42
|
+
const WEBPACK_EXPERIMENTS_QUERY = 'PropertyAssignment > Identifier[name=experiments] ~ ObjectLiteralExpression';
|
|
43
|
+
const ast = tsquery_1.tsquery.ast(webpackConfig);
|
|
44
|
+
const webpackExperimentsNode = (0, tsquery_1.tsquery)(ast, WEBPACK_EXPERIMENTS_QUERY, {
|
|
45
|
+
visitAllChildren: true,
|
|
46
|
+
});
|
|
47
|
+
if (webpackExperimentsNode && webpackExperimentsNode.length > 0) {
|
|
48
|
+
if (webpackExperimentsNode[0].getText().includes('outputModule')) {
|
|
49
|
+
return webpackConfig;
|
|
50
|
+
}
|
|
51
|
+
return `${webpackConfig.slice(0, webpackExperimentsNode[0].getStart() + 1)}\noutputModule: true,${webpackConfig.slice(webpackExperimentsNode[0].getStart() + 1)}`;
|
|
52
|
+
}
|
|
53
|
+
const WEBPACK_EXPORT = 'module.exports = {';
|
|
54
|
+
const openingBracePos = webpackConfig.indexOf(WEBPACK_EXPORT) + WEBPACK_EXPORT.length;
|
|
55
|
+
return `${webpackConfig.slice(0, openingBracePos)}
|
|
56
|
+
experiments: {
|
|
57
|
+
outputModule: true
|
|
58
|
+
},${webpackConfig.slice(openingBracePos)}`;
|
|
59
|
+
}
|
|
60
|
+
exports.addExperimentsObject = addExperimentsObject;
|
|
61
|
+
function addLibraryModuleType(webpackConfig) {
|
|
62
|
+
const LIBRARY_NODE_QUERY = 'PropertyAssignment > Identifier[name=library] ~ ObjectLiteralExpression';
|
|
63
|
+
const ast = tsquery_1.tsquery.ast(webpackConfig);
|
|
64
|
+
const libraryModuleNode = (0, tsquery_1.tsquery)(ast, LIBRARY_NODE_QUERY);
|
|
65
|
+
if (libraryModuleNode && libraryModuleNode.length > 0) {
|
|
66
|
+
return webpackConfig;
|
|
67
|
+
}
|
|
68
|
+
const MODULE_FEDERATION_PLUGIN_INSTANTIATION = 'new ModuleFederationPlugin({';
|
|
69
|
+
const openingBracePos = webpackConfig.indexOf(MODULE_FEDERATION_PLUGIN_INSTANTIATION) +
|
|
70
|
+
+MODULE_FEDERATION_PLUGIN_INSTANTIATION.length;
|
|
71
|
+
return `${webpackConfig.slice(0, openingBracePos)}
|
|
72
|
+
library: {
|
|
73
|
+
type: 'module'
|
|
74
|
+
},${webpackConfig.slice(openingBracePos)}`;
|
|
75
|
+
}
|
|
76
|
+
exports.addLibraryModuleType = addLibraryModuleType;
|
|
77
|
+
function removeRemoteName(webpackConfig) {
|
|
78
|
+
const REMOTES_QUERY = 'Identifier[name=remotes] ~ ObjectLiteralExpression';
|
|
79
|
+
const ast = tsquery_1.tsquery.ast(webpackConfig);
|
|
80
|
+
const remotesObjectNode = (0, tsquery_1.tsquery)(ast, REMOTES_QUERY, {
|
|
81
|
+
visitAllChildren: true,
|
|
82
|
+
})[0];
|
|
83
|
+
if (!remotesObjectNode) {
|
|
84
|
+
return webpackConfig;
|
|
85
|
+
}
|
|
86
|
+
const remoteProps = (0, tsquery_1.tsquery)(remotesObjectNode, 'PropertyAssignment', {
|
|
87
|
+
visitAllChildren: true,
|
|
88
|
+
});
|
|
89
|
+
const updatedRemoteProps = [];
|
|
90
|
+
for (const prop of remoteProps) {
|
|
91
|
+
const stringValue = (0, tsquery_1.tsquery)(prop, 'StringLiteral', {
|
|
92
|
+
visitAllChildren: true,
|
|
93
|
+
})[0];
|
|
94
|
+
if (!stringValue.getText().match(/\w*@*http/)) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const identifier = (0, tsquery_1.tsquery)(prop, 'Identifier', {
|
|
98
|
+
visitAllChildren: true,
|
|
99
|
+
})[0];
|
|
100
|
+
const updatedRemoteStringValue = stringValue
|
|
101
|
+
.getText()
|
|
102
|
+
.slice(stringValue.getText().indexOf('@') + 1, -1);
|
|
103
|
+
updatedRemoteProps.push(`${identifier.getText()}: '${updatedRemoteStringValue}'`);
|
|
104
|
+
}
|
|
105
|
+
const updatedRemotesObject = `{
|
|
106
|
+
${updatedRemoteProps.join(',\n')}
|
|
107
|
+
}`;
|
|
108
|
+
return `${webpackConfig.slice(0, remotesObjectNode.getStart())}${updatedRemotesObject}${webpackConfig.slice(remotesObjectNode.getEnd())}`;
|
|
109
|
+
}
|
|
110
|
+
exports.removeRemoteName = removeRemoteName;
|
|
111
|
+
function addPublicHost(tree, projects) {
|
|
112
|
+
var _a, _b;
|
|
113
|
+
for (const projectName of projects) {
|
|
114
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, projectName);
|
|
115
|
+
const updatedProject = Object.assign(Object.assign({}, project), { targets: Object.assign(Object.assign({}, project.targets), { serve: Object.assign(Object.assign({}, project.targets.serve), { options: Object.assign(Object.assign({}, project.targets.serve.options), { publicHost: `http://localhost:${(_b = (_a = project.targets.serve.options) === null || _a === void 0 ? void 0 : _a.port) !== null && _b !== void 0 ? _b : 4200}` }) }) }) });
|
|
116
|
+
(0, devkit_1.updateProjectConfiguration)(tree, projectName, updatedProject);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.addPublicHost = addPublicHost;
|
|
120
|
+
//# sourceMappingURL=update-mfe-webpack-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-mfe-webpack-config.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-13-3-0/update-mfe-webpack-config.ts"],"names":[],"mappings":";;;;AACA,yCAKsB;AACtB,uDAAoD;AACpD,iGAA8F;AAG9F,mBAA+B,IAAU;;QACvC,MAAM,4BAA4B,GAAG,+BAA+B,CAAC;QACrE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;QAEpD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAA,+CAAsB,EACpB,IAAI,EACJ,4BAA4B,EAC5B,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;;YACpB,4BAA4B;YAC5B,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,qBAAqB,CAAC,0CAAE,IAAI,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;gBAC7B,eAAM,CAAC,IAAI,CACT,oCAAoC,WAAW,oCAAoC,CACpF,CAAC;gBACF,OAAO;aACR;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,6BAA6B,GAAG,IAAA,iBAAO,EAC3C,GAAG,EACH,yCAAyC,EACzC;gBACE,gBAAgB,EAAE,IAAI;aACvB,CACF,CAAC;YACF,IACE,CAAC,6BAA6B;gBAC9B,6BAA6B,CAAC,MAAM,KAAK,CAAC,EAC1C;gBACA,OAAO;aACR;YAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE3B,IAAI,kBAAkB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC7D,kBAAkB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAC9D,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC9C,CAAC,CACF,CAAC;QACF,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE9B,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AA5CD,4BA4CC;AAED,SAAgB,oBAAoB,CAAC,aAAqB;IACxD,MAAM,yBAAyB,GAC7B,6EAA6E,CAAC;IAChF,MAAM,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,sBAAsB,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,yBAAyB,EAAE;QACrE,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/D,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAChE,OAAO,aAAa,CAAC;SACtB;QAED,OAAO,GAAG,aAAa,CAAC,KAAK,CAC3B,CAAC,EACD,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CACzC,wBAAwB,aAAa,CAAC,KAAK,CAC1C,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CACzC,EAAE,CAAC;KACL;IAED,MAAM,cAAc,GAAG,oBAAoB,CAAC;IAC5C,MAAM,eAAe,GACnB,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;IAEhE,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;;;MAG7C,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;AAC7C,CAAC;AA7BD,oDA6BC;AAED,SAAgB,oBAAoB,CAAC,aAAqB;IACxD,MAAM,kBAAkB,GACtB,yEAAyE,CAAC;IAC5E,MAAM,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,iBAAiB,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE3D,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;QACrD,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,sCAAsC,GAAG,8BAA8B,CAAC;IAC9E,MAAM,eAAe,GACnB,aAAa,CAAC,OAAO,CAAC,sCAAsC,CAAC;QAC7D,CAAC,sCAAsC,CAAC,MAAM,CAAC;IACjD,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;;;MAG7C,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;AAC7C,CAAC;AAlBD,oDAkBC;AAED,SAAgB,gBAAgB,CAAC,aAAqB;IACpD,MAAM,aAAa,GAAG,oDAAoD,CAAC;IAE3E,MAAM,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,iBAAiB,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,aAAa,EAAE;QACpD,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC,CAAC,CAAS,CAAC;IAEd,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,WAAW,GAAG,IAAA,iBAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAE;QACnE,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC9B,MAAM,WAAW,GAAG,IAAA,iBAAO,EAAC,IAAI,EAAE,eAAe,EAAE;YACjD,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC,CAAC,CAAkB,CAAC;QAEvB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC7C,SAAS;SACV;QAED,MAAM,UAAU,GAAG,IAAA,iBAAO,EAAC,IAAI,EAAE,YAAY,EAAE;YAC7C,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC,CAAC,CAAe,CAAC;QAEpB,MAAM,wBAAwB,GAAG,WAAW;aACzC,OAAO,EAAE;aACT,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErD,kBAAkB,CAAC,IAAI,CACrB,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,wBAAwB,GAAG,CACzD,CAAC;KACH;IAED,MAAM,oBAAoB,GAAG;MACzB,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC,CAAC;IAEH,OAAO,GAAG,aAAa,CAAC,KAAK,CAC3B,CAAC,EACD,iBAAiB,CAAC,QAAQ,EAAE,CAC7B,GAAG,oBAAoB,GAAG,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAC/E,CAAC;AA/CD,4CA+CC;AAED,SAAgB,aAAa,CAAC,IAAU,EAAE,QAAkB;;IAC1D,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE;QAClC,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,cAAc,mCACf,OAAO,KACV,OAAO,kCACF,OAAO,CAAC,OAAO,KAClB,KAAK,kCACA,OAAO,CAAC,OAAO,CAAC,KAAK,KACxB,OAAO,kCACF,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,KAChC,UAAU,EAAE,oBACV,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,mCAAI,IACzC,EAAE,YAIT,CAAC;QACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC/D;AACH,CAAC;AApBD,sCAoBC"}
|
|
@@ -3,6 +3,7 @@ import { ActivatedRouteSnapshot } from '@angular/router';
|
|
|
3
3
|
import { Actions } from '@ngrx/effects';
|
|
4
4
|
import { Action, Store, ActionCreator } from '@ngrx/store';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* See {@link DataPersistence.pessimisticUpdate} for more information.
|
|
8
9
|
*/
|
|
@@ -241,4 +242,6 @@ export declare class DataPersistence<T> {
|
|
|
241
242
|
* ```
|
|
242
243
|
*/
|
|
243
244
|
navigation(component: Type<any>, opts: HandleNavigationOpts<T>): Observable<any>;
|
|
245
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataPersistence<any>, never>;
|
|
246
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DataPersistence<any>>;
|
|
244
247
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
2
3
|
/**
|
|
3
4
|
* @whatItDoes Provides services for enterprise Angular applications.
|
|
4
5
|
*
|
|
@@ -6,4 +7,7 @@ import { ModuleWithProviders } from '@angular/core';
|
|
|
6
7
|
*/
|
|
7
8
|
export declare class NxModule {
|
|
8
9
|
static forRoot(): ModuleWithProviders<NxModule>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NxModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NxModule, never, never, never>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NxModule>;
|
|
9
13
|
}
|
|
@@ -4,6 +4,8 @@ export declare function getDecoratorMetadata(source: ts.SourceFile, identifier:
|
|
|
4
4
|
export declare function removeFromNgModule(host: Tree, source: ts.SourceFile, modulePath: string, property: string): ts.SourceFile;
|
|
5
5
|
export declare function addImportToModule(host: Tree, source: ts.SourceFile, modulePath: string, symbolName: string): ts.SourceFile;
|
|
6
6
|
export declare function addImportToTestBed(host: Tree, source: ts.SourceFile, specPath: string, symbolName: string): ts.SourceFile;
|
|
7
|
+
export declare function addDeclarationsToTestBed(host: Tree, source: ts.SourceFile, specPath: string, symbolName: string[]): ts.SourceFile;
|
|
8
|
+
export declare function replaceIntoToTestBed(host: Tree, source: ts.SourceFile, specPath: string, newSymbol: string, previousSymbol: string): ts.SourceFile;
|
|
7
9
|
export declare function getBootstrapComponent(source: ts.SourceFile, moduleClassName: string): string;
|
|
8
10
|
export declare function addRoute(host: Tree, ngModulePath: string, source: ts.SourceFile, route: string): ts.SourceFile;
|
|
9
11
|
export declare function addProviderToModule(host: Tree, source: ts.SourceFile, modulePath: string, symbolName: string): ts.SourceFile;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTsSourceFile = exports.getDecoratorPropertyValueNode = exports.readBootstrapInfo = exports.addEntryComponents = exports.addDeclarationToModule = exports.addProviderToModule = exports.addRoute = exports.getBootstrapComponent = exports.addImportToTestBed = exports.addImportToModule = exports.removeFromNgModule = exports.getDecoratorMetadata = void 0;
|
|
3
|
+
exports.getTsSourceFile = exports.getDecoratorPropertyValueNode = exports.readBootstrapInfo = exports.addEntryComponents = exports.addDeclarationToModule = exports.addProviderToModule = exports.addRoute = exports.getBootstrapComponent = exports.replaceIntoToTestBed = exports.addDeclarationsToTestBed = exports.addImportToTestBed = exports.addImportToModule = exports.removeFromNgModule = exports.getDecoratorMetadata = void 0;
|
|
4
4
|
const ts = require("typescript");
|
|
5
5
|
const find_nodes_1 = require("@nrwl/workspace/src/utilities/typescript/find-nodes");
|
|
6
6
|
const get_source_nodes_1 = require("@nrwl/workspace/src/utilities/typescript/get-source-nodes");
|
|
@@ -240,6 +240,40 @@ function addImportToTestBed(host, source, specPath, symbolName) {
|
|
|
240
240
|
return source;
|
|
241
241
|
}
|
|
242
242
|
exports.addImportToTestBed = addImportToTestBed;
|
|
243
|
+
function addDeclarationsToTestBed(host, source, specPath, symbolName) {
|
|
244
|
+
const allCalls = ((0, find_nodes_1.findNodes)(source, ts.SyntaxKind.CallExpression));
|
|
245
|
+
const configureTestingModuleObjectLiterals = allCalls
|
|
246
|
+
.filter((c) => c.expression.kind === ts.SyntaxKind.PropertyAccessExpression)
|
|
247
|
+
.filter((c) => c.expression.name.getText(source) === 'configureTestingModule')
|
|
248
|
+
.map((c) => c.arguments[0].kind === ts.SyntaxKind.ObjectLiteralExpression
|
|
249
|
+
? c.arguments[0]
|
|
250
|
+
: null);
|
|
251
|
+
if (configureTestingModuleObjectLiterals.length > 0) {
|
|
252
|
+
const startPosition = configureTestingModuleObjectLiterals[0]
|
|
253
|
+
.getFirstToken(source)
|
|
254
|
+
.getEnd();
|
|
255
|
+
return (0, ast_utils_1.insertChange)(host, source, specPath, startPosition, `declarations: [${symbolName.join(',')}], `);
|
|
256
|
+
}
|
|
257
|
+
return source;
|
|
258
|
+
}
|
|
259
|
+
exports.addDeclarationsToTestBed = addDeclarationsToTestBed;
|
|
260
|
+
function replaceIntoToTestBed(host, source, specPath, newSymbol, previousSymbol) {
|
|
261
|
+
const allCalls = ((0, find_nodes_1.findNodes)(source, ts.SyntaxKind.CallExpression));
|
|
262
|
+
const configureTestingModuleObjectLiterals = allCalls
|
|
263
|
+
.filter((c) => c.expression.kind === ts.SyntaxKind.PropertyAccessExpression)
|
|
264
|
+
.filter((c) => c.expression.name.getText(source) === 'configureTestingModule')
|
|
265
|
+
.map((c) => c.arguments[0].kind === ts.SyntaxKind.ObjectLiteralExpression
|
|
266
|
+
? c.arguments[0]
|
|
267
|
+
: null);
|
|
268
|
+
if (configureTestingModuleObjectLiterals.length > 0) {
|
|
269
|
+
const startPosition = configureTestingModuleObjectLiterals[0]
|
|
270
|
+
.getFirstToken(source)
|
|
271
|
+
.getEnd();
|
|
272
|
+
return (0, ast_utils_1.replaceChange)(host, source, specPath, startPosition, newSymbol, previousSymbol);
|
|
273
|
+
}
|
|
274
|
+
return source;
|
|
275
|
+
}
|
|
276
|
+
exports.replaceIntoToTestBed = replaceIntoToTestBed;
|
|
243
277
|
function getBootstrapComponent(source, moduleClassName) {
|
|
244
278
|
const bootstrap = getMatchingProperty(source, 'bootstrap', 'NgModule', '@angular/core');
|
|
245
279
|
if (!bootstrap) {
|