@nrwl/angular 13.9.3 → 13.10.0-beta.2
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/esm2020/mfe/index.mjs +2 -0
- package/esm2020/mfe/mfe.mjs +45 -0
- package/esm2020/mfe/nrwl-angular-mfe.mjs +5 -0
- package/executors.json +4 -4
- package/fesm2015/nrwl-angular-mfe.mjs +57 -0
- package/fesm2015/nrwl-angular-mfe.mjs.map +1 -0
- package/fesm2020/nrwl-angular-mfe.mjs +51 -0
- package/fesm2020/nrwl-angular-mfe.mjs.map +1 -0
- package/generators.json +32 -2
- package/mfe/index.d.ts +1 -0
- package/mfe/index.js +7 -0
- package/mfe/index.js.map +1 -0
- package/mfe/mfe.d.ts +4 -0
- package/mfe/mfe.js +56 -0
- package/mfe/mfe.js.map +1 -0
- package/mfe/ng-package.json +6 -0
- package/mfe/nrwl-angular-mfe.d.ts +5 -0
- package/mfe/package.json +10 -0
- package/migrations.json +89 -0
- package/module-federation/index.d.ts +1 -0
- package/module-federation/index.js +6 -0
- package/module-federation/index.js.map +1 -0
- package/package.json +17 -8
- package/scripts/nx-cli-warning.js +1 -1
- package/src/builders/webpack-browser/schema.json +3 -2
- package/src/builders/webpack-browser/webpack-browser.impl.js +10 -10
- package/src/builders/webpack-browser/webpack-browser.impl.js.map +1 -1
- package/src/builders/webpack-server/schema.json +3 -2
- package/src/builders/webpack-server/webpack-server.impl.js +8 -9
- package/src/builders/webpack-server/webpack-server.impl.js.map +1 -1
- package/src/executors/delegate-build/delegate-build.impl.js +2 -2
- package/src/executors/delegate-build/delegate-build.impl.js.map +1 -1
- package/src/executors/package/package.impl.js +4 -4
- package/src/executors/package/package.impl.js.map +1 -1
- package/src/executors/utilities/tailwindcss.js +3 -3
- package/src/executors/utilities/tailwindcss.js.map +1 -1
- package/src/generators/component/component.compat.d.ts +2 -0
- package/src/generators/component/component.compat.js +6 -0
- package/src/generators/component/component.compat.js.map +1 -0
- package/src/generators/component/component.d.ts +4 -0
- package/src/generators/component/component.js +78 -0
- package/src/generators/component/component.js.map +1 -0
- package/src/generators/component/schema.d.ts +17 -0
- package/src/generators/component/schema.json +101 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.compat.d.ts +2 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.compat.js +6 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.compat.js.map +1 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.d.ts +3 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.js +32 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.js.map +1 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.d.ts +5 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.js +449 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.js.map +1 -0
- package/src/generators/convert-to-with-mf/lib/check-name-matches.d.ts +2 -0
- package/src/generators/convert-to-with-mf/lib/check-name-matches.js +24 -0
- package/src/generators/convert-to-with-mf/lib/check-name-matches.js.map +1 -0
- package/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.d.ts +2 -0
- package/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js +49 -0
- package/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js.map +1 -0
- package/src/generators/convert-to-with-mf/lib/get-webpack-config-path.d.ts +2 -0
- package/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js +20 -0
- package/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js.map +1 -0
- package/src/generators/convert-to-with-mf/lib/index.d.ts +6 -0
- package/src/generators/convert-to-with-mf/lib/index.js +10 -0
- package/src/generators/convert-to-with-mf/lib/index.js.map +1 -0
- package/src/generators/convert-to-with-mf/lib/is-host-remote-config.d.ts +5 -0
- package/src/generators/convert-to-with-mf/lib/is-host-remote-config.js +63 -0
- package/src/generators/convert-to-with-mf/lib/is-host-remote-config.js.map +1 -0
- package/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.d.ts +2 -0
- package/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js +13 -0
- package/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js.map +1 -0
- package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.d.ts +3 -0
- package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +48 -0
- package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js.map +1 -0
- package/src/generators/convert-to-with-mf/schema.d.ts +3 -0
- package/src/generators/convert-to-with-mf/schema.json +20 -0
- package/src/generators/init/init.d.ts +1 -1
- package/src/generators/init/init.js +15 -1
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/schema.d.ts +2 -2
- package/src/generators/init/schema.json +5 -0
- package/src/generators/mfe-host/schema.json +1 -1
- package/src/generators/mfe-remote/mfe-remote.js +14 -1
- package/src/generators/mfe-remote/mfe-remote.js.map +1 -1
- package/src/generators/mfe-remote/schema.json +1 -1
- package/src/generators/move/lib/update-ng-package.js +2 -2
- package/src/generators/move/lib/update-ng-package.js.map +1 -1
- package/src/generators/ng-add/compat.d.ts +2 -0
- package/src/generators/ng-add/compat.js +6 -0
- package/src/generators/ng-add/compat.js.map +1 -0
- package/src/generators/ng-add/files/decorate-angular-cli/decorate-angular-cli.js__tmpl__ +69 -0
- package/src/generators/ng-add/files/prettier/__dot__prettierignore +1 -0
- package/src/generators/ng-add/files/root/karma.conf.js__tmpl__ +43 -0
- package/src/generators/ng-add/files/root/libs/__dot__gitkeep +0 -0
- package/src/generators/ng-add/files/root/nx.json__tmpl__ +29 -0
- package/src/generators/ng-add/files/root/tools/schematics/__dot__gitkeep +0 -0
- package/src/generators/ng-add/files/root/tools/tsconfig.tools.json__tmpl__ +12 -0
- package/src/generators/ng-add/migrate-from-angular-cli.d.ts +3 -0
- package/src/generators/ng-add/migrate-from-angular-cli.js +627 -0
- package/src/generators/ng-add/migrate-from-angular-cli.js.map +1 -0
- package/src/generators/ng-add/ng-add.d.ts +4 -0
- package/src/generators/ng-add/ng-add.js +20 -0
- package/src/generators/ng-add/ng-add.js.map +1 -0
- package/src/generators/ng-add/schema.d.ts +19 -0
- package/src/generators/ng-add/schema.json +71 -0
- package/src/generators/scam/lib/create-module.js +1 -1
- package/src/generators/scam/lib/create-module.js.map +1 -1
- package/src/generators/scam/scam.js +2 -2
- package/src/generators/scam/scam.js.map +1 -1
- package/src/generators/scam-directive/lib/create-module.js +1 -1
- package/src/generators/scam-directive/lib/create-module.js.map +1 -1
- package/src/generators/scam-directive/scam-directive.js +2 -2
- package/src/generators/scam-directive/scam-directive.js.map +1 -1
- package/src/generators/scam-pipe/lib/create-module.js +1 -1
- package/src/generators/scam-pipe/lib/create-module.js.map +1 -1
- package/src/generators/scam-pipe/scam-pipe.js +2 -2
- package/src/generators/scam-pipe/scam-pipe.js.map +1 -1
- package/src/generators/setup-mfe/files/webpack/webpack.config.js__tmpl__ +8 -59
- package/src/generators/setup-mfe/lib/add-remote-to-host.d.ts +1 -0
- package/src/generators/setup-mfe/lib/add-remote-to-host.js +15 -6
- package/src/generators/setup-mfe/lib/add-remote-to-host.js.map +1 -1
- package/src/generators/setup-mfe/lib/generate-config.js +1 -12
- package/src/generators/setup-mfe/lib/generate-config.js.map +1 -1
- package/src/generators/setup-mfe/setup-mfe.d.ts +2 -2
- package/src/generators/setup-mfe/setup-mfe.js +0 -9
- package/src/generators/setup-mfe/setup-mfe.js.map +1 -1
- package/src/generators/utils/path.d.ts +1 -0
- package/src/generators/utils/path.js +11 -0
- package/src/generators/utils/path.js.map +1 -0
- package/src/migrations/update-10-5-0/add-template-support-and-presets-to-eslint.js +2 -2
- package/src/migrations/update-10-5-0/add-template-support-and-presets-to-eslint.js.map +1 -1
- package/src/utils/get-mfe-projects.d.ts +3 -1
- package/src/utils/get-mfe-projects.js +5 -2
- package/src/utils/get-mfe-projects.js.map +1 -1
- package/src/utils/mfe/mfe-webpack.d.ts +17 -0
- package/src/utils/{mfe-webpack.js → mfe/mfe-webpack.js} +8 -8
- package/src/utils/mfe/mfe-webpack.js.map +1 -0
- package/src/utils/mfe/with-module-federation.d.ts +9 -0
- package/src/utils/mfe/with-module-federation.js +153 -0
- package/src/utils/mfe/with-module-federation.js.map +1 -0
- package/src/utils/versions.d.ts +3 -4
- package/src/utils/versions.js +5 -6
- package/src/utils/versions.js.map +1 -1
- package/src/utils/mfe-webpack.d.ts +0 -7
- package/src/utils/mfe-webpack.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { setRemoteUrlResolver, loadRemoteModule } from './mfe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9tZmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgc2V0UmVtb3RlVXJsUmVzb2x2ZXIsIGxvYWRSZW1vdGVNb2R1bGUgfSBmcm9tICcuL21mZSc7XG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
let resolveRemoteUrl;
|
|
2
|
+
export function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
3
|
+
resolveRemoteUrl = _resolveRemoteUrl;
|
|
4
|
+
}
|
|
5
|
+
let remoteUrlDefinitions;
|
|
6
|
+
export function setRemoteDefinitions(definitions) {
|
|
7
|
+
remoteUrlDefinitions = definitions;
|
|
8
|
+
}
|
|
9
|
+
let remoteModuleMap = new Map();
|
|
10
|
+
let remoteContainerMap = new Map();
|
|
11
|
+
export async function loadRemoteModule(remoteName, moduleName) {
|
|
12
|
+
const remoteModuleKey = `${remoteName}:${moduleName}`;
|
|
13
|
+
if (remoteModuleMap.has(remoteModuleKey)) {
|
|
14
|
+
return remoteModuleMap.get(remoteModuleKey);
|
|
15
|
+
}
|
|
16
|
+
const container = remoteContainerMap.has(remoteName)
|
|
17
|
+
? remoteContainerMap.get(remoteName)
|
|
18
|
+
: await loadRemoteContainer(remoteName);
|
|
19
|
+
const factory = await container.get(moduleName);
|
|
20
|
+
const Module = factory();
|
|
21
|
+
remoteModuleMap.set(remoteModuleKey, Module);
|
|
22
|
+
return Module;
|
|
23
|
+
}
|
|
24
|
+
function loadModule(url) {
|
|
25
|
+
return import(/* webpackIgnore:true */ url);
|
|
26
|
+
}
|
|
27
|
+
let initialSharingScopeCreated = false;
|
|
28
|
+
async function loadRemoteContainer(remoteName) {
|
|
29
|
+
if (!resolveRemoteUrl && !remoteUrlDefinitions) {
|
|
30
|
+
throw new Error('Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.');
|
|
31
|
+
}
|
|
32
|
+
if (!initialSharingScopeCreated) {
|
|
33
|
+
initialSharingScopeCreated = true;
|
|
34
|
+
await __webpack_init_sharing__('default');
|
|
35
|
+
}
|
|
36
|
+
const remoteUrl = remoteUrlDefinitions
|
|
37
|
+
? remoteUrlDefinitions[remoteName]
|
|
38
|
+
: await resolveRemoteUrl(remoteName);
|
|
39
|
+
const containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.mjs`;
|
|
40
|
+
const container = await loadModule(containerUrl);
|
|
41
|
+
await container.init(__webpack_share_scopes__.default);
|
|
42
|
+
remoteContainerMap.set(remoteName, container);
|
|
43
|
+
return container;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbWZlL21mZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxJQUFJLGdCQUEwQyxDQUFDO0FBQy9DLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsaUJBQTJDO0lBRTNDLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDO0FBQ3ZDLENBQUM7QUFFRCxJQUFJLG9CQUE0QyxDQUFDO0FBQ2pELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxXQUFtQztJQUN0RSxvQkFBb0IsR0FBRyxXQUFXLENBQUM7QUFDckMsQ0FBQztBQUVELElBQUksZUFBZSxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0FBQ2pELElBQUksa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7QUFDcEQsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO0lBQzNFLE1BQU0sZUFBZSxHQUFHLEdBQUcsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ3RELElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUN4QyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDN0M7SUFFRCxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxNQUFNLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUV6QixlQUFlLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUU3QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsSUFBSSwwQkFBMEIsR0FBRyxLQUFLLENBQUM7QUFDdkMsS0FBSyxVQUFVLG1CQUFtQixDQUFDLFVBQWtCO0lBQ25ELElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1FBQzlDLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0hBQWtILENBQ25ILENBQUM7S0FDSDtJQUVELElBQUksQ0FBQywwQkFBMEIsRUFBRTtRQUMvQiwwQkFBMEIsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMzQztJQUVELE1BQU0sU0FBUyxHQUFHLG9CQUFvQjtRQUNwQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXZDLE1BQU0sWUFBWSxHQUFHLEdBQUcsU0FBUyxHQUMvQixTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQ2pDLGlCQUFpQixDQUFDO0lBRWxCLE1BQU0sU0FBUyxHQUFHLE1BQU0sVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV2RCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBSZXNvbHZlUmVtb3RlVXJsRnVuY3Rpb24gPSAoXG4gIHJlbW90ZU5hbWU6IHN0cmluZ1xuKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XG5cbmRlY2xhcmUgY29uc3QgX193ZWJwYWNrX2luaXRfc2hhcmluZ19fOiAoc2NvcGU6ICdkZWZhdWx0JykgPT4gUHJvbWlzZTx2b2lkPjtcbmRlY2xhcmUgY29uc3QgX193ZWJwYWNrX3NoYXJlX3Njb3Blc19fOiB7IGRlZmF1bHQ6IHVua25vd24gfTtcblxubGV0IHJlc29sdmVSZW1vdGVVcmw6IFJlc29sdmVSZW1vdGVVcmxGdW5jdGlvbjtcbmV4cG9ydCBmdW5jdGlvbiBzZXRSZW1vdGVVcmxSZXNvbHZlcihcbiAgX3Jlc29sdmVSZW1vdGVVcmw6IFJlc29sdmVSZW1vdGVVcmxGdW5jdGlvblxuKSB7XG4gIHJlc29sdmVSZW1vdGVVcmwgPSBfcmVzb2x2ZVJlbW90ZVVybDtcbn1cblxubGV0IHJlbW90ZVVybERlZmluaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuZXhwb3J0IGZ1bmN0aW9uIHNldFJlbW90ZURlZmluaXRpb25zKGRlZmluaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gIHJlbW90ZVVybERlZmluaXRpb25zID0gZGVmaW5pdGlvbnM7XG59XG5cbmxldCByZW1vdGVNb2R1bGVNYXAgPSBuZXcgTWFwPHN0cmluZywgdW5rbm93bj4oKTtcbmxldCByZW1vdGVDb250YWluZXJNYXAgPSBuZXcgTWFwPHN0cmluZywgdW5rbm93bj4oKTtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkUmVtb3RlTW9kdWxlKHJlbW90ZU5hbWU6IHN0cmluZywgbW9kdWxlTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHJlbW90ZU1vZHVsZUtleSA9IGAke3JlbW90ZU5hbWV9OiR7bW9kdWxlTmFtZX1gO1xuICBpZiAocmVtb3RlTW9kdWxlTWFwLmhhcyhyZW1vdGVNb2R1bGVLZXkpKSB7XG4gICAgcmV0dXJuIHJlbW90ZU1vZHVsZU1hcC5nZXQocmVtb3RlTW9kdWxlS2V5KTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IHJlbW90ZUNvbnRhaW5lck1hcC5oYXMocmVtb3RlTmFtZSlcbiAgICA/IHJlbW90ZUNvbnRhaW5lck1hcC5nZXQocmVtb3RlTmFtZSlcbiAgICA6IGF3YWl0IGxvYWRSZW1vdGVDb250YWluZXIocmVtb3RlTmFtZSk7XG5cbiAgY29uc3QgZmFjdG9yeSA9IGF3YWl0IGNvbnRhaW5lci5nZXQobW9kdWxlTmFtZSk7XG4gIGNvbnN0IE1vZHVsZSA9IGZhY3RvcnkoKTtcblxuICByZW1vdGVNb2R1bGVNYXAuc2V0KHJlbW90ZU1vZHVsZUtleSwgTW9kdWxlKTtcblxuICByZXR1cm4gTW9kdWxlO1xufVxuXG5mdW5jdGlvbiBsb2FkTW9kdWxlKHVybDogc3RyaW5nKSB7XG4gIHJldHVybiBpbXBvcnQoLyogd2VicGFja0lnbm9yZTp0cnVlICovIHVybCk7XG59XG5cbmxldCBpbml0aWFsU2hhcmluZ1Njb3BlQ3JlYXRlZCA9IGZhbHNlO1xuYXN5bmMgZnVuY3Rpb24gbG9hZFJlbW90ZUNvbnRhaW5lcihyZW1vdGVOYW1lOiBzdHJpbmcpIHtcbiAgaWYgKCFyZXNvbHZlUmVtb3RlVXJsICYmICFyZW1vdGVVcmxEZWZpbml0aW9ucykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdDYWxsIHNldFJlbW90ZURlZmluaXRpb25zIG9yIHNldFJlbW90ZVVybFJlc29sdmVyIHRvIGFsbG93IER5bmFtaWMgRmVkZXJhdGlvbiB0byBmaW5kIHRoZSByZW1vdGUgYXBwcyBjb3JyZWN0bHkuJ1xuICAgICk7XG4gIH1cblxuICBpZiAoIWluaXRpYWxTaGFyaW5nU2NvcGVDcmVhdGVkKSB7XG4gICAgaW5pdGlhbFNoYXJpbmdTY29wZUNyZWF0ZWQgPSB0cnVlO1xuICAgIGF3YWl0IF9fd2VicGFja19pbml0X3NoYXJpbmdfXygnZGVmYXVsdCcpO1xuICB9XG5cbiAgY29uc3QgcmVtb3RlVXJsID0gcmVtb3RlVXJsRGVmaW5pdGlvbnNcbiAgICA/IHJlbW90ZVVybERlZmluaXRpb25zW3JlbW90ZU5hbWVdXG4gICAgOiBhd2FpdCByZXNvbHZlUmVtb3RlVXJsKHJlbW90ZU5hbWUpO1xuXG4gIGNvbnN0IGNvbnRhaW5lclVybCA9IGAke3JlbW90ZVVybH0ke1xuICAgIHJlbW90ZVVybC5lbmRzV2l0aCgnLycpID8gJycgOiAnLydcbiAgfXJlbW90ZUVudHJ5Lm1qc2A7XG5cbiAgY29uc3QgY29udGFpbmVyID0gYXdhaXQgbG9hZE1vZHVsZShjb250YWluZXJVcmwpO1xuICBhd2FpdCBjb250YWluZXIuaW5pdChfX3dlYnBhY2tfc2hhcmVfc2NvcGVzX18uZGVmYXVsdCk7XG5cbiAgcmVtb3RlQ29udGFpbmVyTWFwLnNldChyZW1vdGVOYW1lLCBjb250YWluZXIpO1xuICByZXR1cm4gY29udGFpbmVyO1xufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnJ3bC1hbmd1bGFyLW1mZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21mZS9ucndsLWFuZ3VsYXItbWZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
package/executors.json
CHANGED
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"webpack-browser": {
|
|
19
19
|
"implementation": "./src/builders/webpack-browser/webpack-browser.impl",
|
|
20
20
|
"schema": "./src/builders/webpack-browser/schema.json",
|
|
21
|
-
"description": "
|
|
21
|
+
"description": "The webpack-browser executor is very similar to the standard browser builder provided by the Angular Devkit. It allows you to build your Angular application to a build artifact that can be hosted online. There are some key differences: \n- Supports Custom Webpack Configurations \n- Supports Incremental Building"
|
|
22
22
|
},
|
|
23
23
|
"webpack-server": {
|
|
24
24
|
"implementation": "./src/builders/webpack-server/webpack-server.impl",
|
|
25
25
|
"schema": "./src/builders/webpack-server/schema.json",
|
|
26
|
-
"description": "
|
|
26
|
+
"description": "The webpack-server executor is very similar to the standard dev server builder provided by the Angular Devkit. It is usually used in tandem with `@nrwl/angular:webpack-browser` when your Angular application uses a custom webpack configuration."
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"builders": {
|
|
@@ -45,12 +45,12 @@
|
|
|
45
45
|
"webpack-browser": {
|
|
46
46
|
"implementation": "./src/builders/webpack-browser/webpack-browser.impl",
|
|
47
47
|
"schema": "./src/builders/webpack-browser/schema.json",
|
|
48
|
-
"description": "
|
|
48
|
+
"description": "The webpack-browser executor is very similar to the standard browser builder provided by the Angular Devkit. It allows you to build your Angular application to a build artifact that can be hosted online. There are some key differences: \n- Supports Custom Webpack Configurations \n- Supports Incremental Building"
|
|
49
49
|
},
|
|
50
50
|
"webpack-server": {
|
|
51
51
|
"implementation": "./src/builders/webpack-server/webpack-server.impl",
|
|
52
52
|
"schema": "./src/builders/webpack-server/schema.json",
|
|
53
|
-
"description": "
|
|
53
|
+
"description": "The webpack-server executor is very similar to the standard dev server builder provided by the Angular Devkit. It is usually used in tandem with `@nrwl/angular:webpack-browser` when your Angular application uses a custom webpack configuration."
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
2
|
+
|
|
3
|
+
let resolveRemoteUrl;
|
|
4
|
+
function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
5
|
+
resolveRemoteUrl = _resolveRemoteUrl;
|
|
6
|
+
}
|
|
7
|
+
let remoteUrlDefinitions;
|
|
8
|
+
function setRemoteDefinitions(definitions) {
|
|
9
|
+
remoteUrlDefinitions = definitions;
|
|
10
|
+
}
|
|
11
|
+
let remoteModuleMap = new Map();
|
|
12
|
+
let remoteContainerMap = new Map();
|
|
13
|
+
function loadRemoteModule(remoteName, moduleName) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
const remoteModuleKey = `${remoteName}:${moduleName}`;
|
|
16
|
+
if (remoteModuleMap.has(remoteModuleKey)) {
|
|
17
|
+
return remoteModuleMap.get(remoteModuleKey);
|
|
18
|
+
}
|
|
19
|
+
const container = remoteContainerMap.has(remoteName)
|
|
20
|
+
? remoteContainerMap.get(remoteName)
|
|
21
|
+
: yield loadRemoteContainer(remoteName);
|
|
22
|
+
const factory = yield container.get(moduleName);
|
|
23
|
+
const Module = factory();
|
|
24
|
+
remoteModuleMap.set(remoteModuleKey, Module);
|
|
25
|
+
return Module;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function loadModule(url) {
|
|
29
|
+
return import(/* webpackIgnore:true */ url);
|
|
30
|
+
}
|
|
31
|
+
let initialSharingScopeCreated = false;
|
|
32
|
+
function loadRemoteContainer(remoteName) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
if (!resolveRemoteUrl && !remoteUrlDefinitions) {
|
|
35
|
+
throw new Error('Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.');
|
|
36
|
+
}
|
|
37
|
+
if (!initialSharingScopeCreated) {
|
|
38
|
+
initialSharingScopeCreated = true;
|
|
39
|
+
yield __webpack_init_sharing__('default');
|
|
40
|
+
}
|
|
41
|
+
const remoteUrl = remoteUrlDefinitions
|
|
42
|
+
? remoteUrlDefinitions[remoteName]
|
|
43
|
+
: yield resolveRemoteUrl(remoteName);
|
|
44
|
+
const containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.mjs`;
|
|
45
|
+
const container = yield loadModule(containerUrl);
|
|
46
|
+
yield container.init(__webpack_share_scopes__.default);
|
|
47
|
+
remoteContainerMap.set(remoteName, container);
|
|
48
|
+
return container;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Generated bundle index. Do not edit.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
export { loadRemoteModule, setRemoteUrlResolver };
|
|
57
|
+
//# sourceMappingURL=nrwl-angular-mfe.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nrwl-angular-mfe.mjs","sources":["../../mfe/mfe.ts","../../mfe/nrwl-angular-mfe.ts"],"sourcesContent":["export type ResolveRemoteUrlFunction = (\n remoteName: string\n) => string | Promise<string>;\n\ndeclare const __webpack_init_sharing__: (scope: 'default') => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: unknown };\n\nlet resolveRemoteUrl: ResolveRemoteUrlFunction;\nexport function setRemoteUrlResolver(\n _resolveRemoteUrl: ResolveRemoteUrlFunction\n) {\n resolveRemoteUrl = _resolveRemoteUrl;\n}\n\nlet remoteUrlDefinitions: Record<string, string>;\nexport function setRemoteDefinitions(definitions: Record<string, string>) {\n remoteUrlDefinitions = definitions;\n}\n\nlet remoteModuleMap = new Map<string, unknown>();\nlet remoteContainerMap = new Map<string, unknown>();\nexport async function loadRemoteModule(remoteName: string, moduleName: string) {\n const remoteModuleKey = `${remoteName}:${moduleName}`;\n if (remoteModuleMap.has(remoteModuleKey)) {\n return remoteModuleMap.get(remoteModuleKey);\n }\n\n const container = remoteContainerMap.has(remoteName)\n ? remoteContainerMap.get(remoteName)\n : await loadRemoteContainer(remoteName);\n\n const factory = await container.get(moduleName);\n const Module = factory();\n\n remoteModuleMap.set(remoteModuleKey, Module);\n\n return Module;\n}\n\nfunction loadModule(url: string) {\n return import(/* webpackIgnore:true */ url);\n}\n\nlet initialSharingScopeCreated = false;\nasync function loadRemoteContainer(remoteName: string) {\n if (!resolveRemoteUrl && !remoteUrlDefinitions) {\n throw new Error(\n 'Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.'\n );\n }\n\n if (!initialSharingScopeCreated) {\n initialSharingScopeCreated = true;\n await __webpack_init_sharing__('default');\n }\n\n const remoteUrl = remoteUrlDefinitions\n ? remoteUrlDefinitions[remoteName]\n : await resolveRemoteUrl(remoteName);\n\n const containerUrl = `${remoteUrl}${\n remoteUrl.endsWith('/') ? '' : '/'\n }remoteEntry.mjs`;\n\n const container = await loadModule(containerUrl);\n await container.init(__webpack_share_scopes__.default);\n\n remoteContainerMap.set(remoteName, container);\n return container;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOA,IAAI,gBAA0C,CAAC;SAC/B,oBAAoB,CAClC,iBAA2C;IAE3C,gBAAgB,GAAG,iBAAiB,CAAC;AACvC,CAAC;AAED,IAAI,oBAA4C,CAAC;SACjC,oBAAoB,CAAC,WAAmC;IACtE,oBAAoB,GAAG,WAAW,CAAC;AACrC,CAAC;AAED,IAAI,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AACjD,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;SAC9B,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;;QAC3E,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;QACtD,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACxC,OAAO,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SAC7C;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;cAChD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;cAClC,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;QAEzB,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC;KACf;CAAA;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,gCAAgC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,SAAe,mBAAmB,CAAC,UAAkB;;QACnD,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;YAC9C,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;SACH;QAED,IAAI,CAAC,0BAA0B,EAAE;YAC/B,0BAA0B,GAAG,IAAI,CAAC;YAClC,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;SAC3C;QAED,MAAM,SAAS,GAAG,oBAAoB;cAClC,oBAAoB,CAAC,UAAU,CAAC;cAChC,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEvC,MAAM,YAAY,GAAG,GAAG,SAAS,GAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GACjC,iBAAiB,CAAC;QAElB,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAEvD,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;KAClB;;;ACrED;;;;;;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
let resolveRemoteUrl;
|
|
2
|
+
function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
3
|
+
resolveRemoteUrl = _resolveRemoteUrl;
|
|
4
|
+
}
|
|
5
|
+
let remoteUrlDefinitions;
|
|
6
|
+
function setRemoteDefinitions(definitions) {
|
|
7
|
+
remoteUrlDefinitions = definitions;
|
|
8
|
+
}
|
|
9
|
+
let remoteModuleMap = new Map();
|
|
10
|
+
let remoteContainerMap = new Map();
|
|
11
|
+
async function loadRemoteModule(remoteName, moduleName) {
|
|
12
|
+
const remoteModuleKey = `${remoteName}:${moduleName}`;
|
|
13
|
+
if (remoteModuleMap.has(remoteModuleKey)) {
|
|
14
|
+
return remoteModuleMap.get(remoteModuleKey);
|
|
15
|
+
}
|
|
16
|
+
const container = remoteContainerMap.has(remoteName)
|
|
17
|
+
? remoteContainerMap.get(remoteName)
|
|
18
|
+
: await loadRemoteContainer(remoteName);
|
|
19
|
+
const factory = await container.get(moduleName);
|
|
20
|
+
const Module = factory();
|
|
21
|
+
remoteModuleMap.set(remoteModuleKey, Module);
|
|
22
|
+
return Module;
|
|
23
|
+
}
|
|
24
|
+
function loadModule(url) {
|
|
25
|
+
return import(/* webpackIgnore:true */ url);
|
|
26
|
+
}
|
|
27
|
+
let initialSharingScopeCreated = false;
|
|
28
|
+
async function loadRemoteContainer(remoteName) {
|
|
29
|
+
if (!resolveRemoteUrl && !remoteUrlDefinitions) {
|
|
30
|
+
throw new Error('Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.');
|
|
31
|
+
}
|
|
32
|
+
if (!initialSharingScopeCreated) {
|
|
33
|
+
initialSharingScopeCreated = true;
|
|
34
|
+
await __webpack_init_sharing__('default');
|
|
35
|
+
}
|
|
36
|
+
const remoteUrl = remoteUrlDefinitions
|
|
37
|
+
? remoteUrlDefinitions[remoteName]
|
|
38
|
+
: await resolveRemoteUrl(remoteName);
|
|
39
|
+
const containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.mjs`;
|
|
40
|
+
const container = await loadModule(containerUrl);
|
|
41
|
+
await container.init(__webpack_share_scopes__.default);
|
|
42
|
+
remoteContainerMap.set(remoteName, container);
|
|
43
|
+
return container;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Generated bundle index. Do not edit.
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
export { loadRemoteModule, setRemoteUrlResolver };
|
|
51
|
+
//# sourceMappingURL=nrwl-angular-mfe.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nrwl-angular-mfe.mjs","sources":["../../mfe/mfe.ts","../../mfe/nrwl-angular-mfe.ts"],"sourcesContent":["export type ResolveRemoteUrlFunction = (\n remoteName: string\n) => string | Promise<string>;\n\ndeclare const __webpack_init_sharing__: (scope: 'default') => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: unknown };\n\nlet resolveRemoteUrl: ResolveRemoteUrlFunction;\nexport function setRemoteUrlResolver(\n _resolveRemoteUrl: ResolveRemoteUrlFunction\n) {\n resolveRemoteUrl = _resolveRemoteUrl;\n}\n\nlet remoteUrlDefinitions: Record<string, string>;\nexport function setRemoteDefinitions(definitions: Record<string, string>) {\n remoteUrlDefinitions = definitions;\n}\n\nlet remoteModuleMap = new Map<string, unknown>();\nlet remoteContainerMap = new Map<string, unknown>();\nexport async function loadRemoteModule(remoteName: string, moduleName: string) {\n const remoteModuleKey = `${remoteName}:${moduleName}`;\n if (remoteModuleMap.has(remoteModuleKey)) {\n return remoteModuleMap.get(remoteModuleKey);\n }\n\n const container = remoteContainerMap.has(remoteName)\n ? remoteContainerMap.get(remoteName)\n : await loadRemoteContainer(remoteName);\n\n const factory = await container.get(moduleName);\n const Module = factory();\n\n remoteModuleMap.set(remoteModuleKey, Module);\n\n return Module;\n}\n\nfunction loadModule(url: string) {\n return import(/* webpackIgnore:true */ url);\n}\n\nlet initialSharingScopeCreated = false;\nasync function loadRemoteContainer(remoteName: string) {\n if (!resolveRemoteUrl && !remoteUrlDefinitions) {\n throw new Error(\n 'Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.'\n );\n }\n\n if (!initialSharingScopeCreated) {\n initialSharingScopeCreated = true;\n await __webpack_init_sharing__('default');\n }\n\n const remoteUrl = remoteUrlDefinitions\n ? remoteUrlDefinitions[remoteName]\n : await resolveRemoteUrl(remoteName);\n\n const containerUrl = `${remoteUrl}${\n remoteUrl.endsWith('/') ? '' : '/'\n }remoteEntry.mjs`;\n\n const container = await loadModule(containerUrl);\n await container.init(__webpack_share_scopes__.default);\n\n remoteContainerMap.set(remoteName, container);\n return container;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAOA,IAAI,gBAA0C,CAAC;SAC/B,oBAAoB,CAClC,iBAA2C;IAE3C,gBAAgB,GAAG,iBAAiB,CAAC;AACvC,CAAC;AAED,IAAI,oBAA4C,CAAC;SACjC,oBAAoB,CAAC,WAAmC;IACtE,oBAAoB,GAAG,WAAW,CAAC;AACrC,CAAC;AAED,IAAI,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AACjD,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAC7C,eAAe,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;IAC3E,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;IACtD,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;QACxC,OAAO,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC7C;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;UAChD,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;UAClC,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IAEzB,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,gCAAgC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,eAAe,mBAAmB,CAAC,UAAkB;IACnD,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;QAC9C,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;KACH;IAED,IAAI,CAAC,0BAA0B,EAAE;QAC/B,0BAA0B,GAAG,IAAI,CAAC;QAClC,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;KAC3C;IAED,MAAM,SAAS,GAAG,oBAAoB;UAClC,oBAAoB,CAAC,UAAU,CAAC;UAChC,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,GAAG,SAAS,GAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GACjC,iBAAiB,CAAC;IAElB,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAEvD,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO,SAAS,CAAC;AACnB;;ACrEA;;;;;;"}
|
package/generators.json
CHANGED
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
"x-type": "application",
|
|
17
17
|
"description": "Creates an Angular application."
|
|
18
18
|
},
|
|
19
|
+
"component": {
|
|
20
|
+
"factory": "./src/generators/component/component.compat",
|
|
21
|
+
"schema": "./src/generators/component/schema.json",
|
|
22
|
+
"description": "Generate an Angular Component."
|
|
23
|
+
},
|
|
19
24
|
"component-cypress-spec": {
|
|
20
25
|
"factory": "./src/generators/component-cypress-spec/compat",
|
|
21
26
|
"schema": "./src/generators/component-cypress-spec/schema.json",
|
|
@@ -42,7 +47,6 @@
|
|
|
42
47
|
"factory": "./src/generators/init/init.compat#initSchematic",
|
|
43
48
|
"schema": "./src/generators/init/schema.json",
|
|
44
49
|
"description": "Initializes the @nrwl/angular plugin.",
|
|
45
|
-
"aliases": ["ng-add"],
|
|
46
50
|
"hidden": true
|
|
47
51
|
},
|
|
48
52
|
"karma": {
|
|
@@ -80,12 +84,23 @@
|
|
|
80
84
|
"aliases": ["mv"],
|
|
81
85
|
"description": "Moves an Angular application or library to another folder within the workspace and updates the project configuration."
|
|
82
86
|
},
|
|
87
|
+
"convert-to-with-mf": {
|
|
88
|
+
"factory": "./src/generators/convert-to-with-mf/convert-to-with-mf.compat",
|
|
89
|
+
"schema": "./src/generators/convert-to-with-mf/schema.json",
|
|
90
|
+
"description": "Converts an old micro frontend configuration to use the new withModuleFederation helper. It will run successfully if the following conditions are met: \n - Is either a host or remote application \n - Shared npm package configurations have not been modified \n - Name used to identify the Micro Frontend application matches the project name \n\n _**Note:** This generator will overwrite your webpack config. If you have additional custom configuration in your config file, it will be lost!_"
|
|
91
|
+
},
|
|
83
92
|
"mfe-host": {
|
|
84
93
|
"factory": "./src/generators/mfe-host/mfe-host.compat",
|
|
85
94
|
"schema": "./src/generators/mfe-host/schema.json",
|
|
86
95
|
"aliases": ["host"],
|
|
87
96
|
"description": "Generate a Host Angular Micro Frontend Application."
|
|
88
97
|
},
|
|
98
|
+
"ng-add": {
|
|
99
|
+
"factory": "./src/generators/ng-add/compat",
|
|
100
|
+
"schema": "./src/generators/ng-add/schema.json",
|
|
101
|
+
"description": "Migrates an Angular CLI workspace to Nx or adds the Angular plugin to an Nx workspace.",
|
|
102
|
+
"hidden": true
|
|
103
|
+
},
|
|
89
104
|
"ngrx": {
|
|
90
105
|
"factory": "./src/generators/ngrx/compat",
|
|
91
106
|
"schema": "./src/generators/ngrx/schema.json",
|
|
@@ -161,6 +176,11 @@
|
|
|
161
176
|
"x-type": "application",
|
|
162
177
|
"description": "Creates an Angular application."
|
|
163
178
|
},
|
|
179
|
+
"component": {
|
|
180
|
+
"factory": "./src/generators/component/component",
|
|
181
|
+
"schema": "./src/generators/component/schema.json",
|
|
182
|
+
"description": "Generate an Angular Component."
|
|
183
|
+
},
|
|
164
184
|
"component-cypress-spec": {
|
|
165
185
|
"factory": "./src/generators/component-cypress-spec/component-cypress-spec",
|
|
166
186
|
"schema": "./src/generators/component-cypress-spec/schema.json",
|
|
@@ -187,7 +207,6 @@
|
|
|
187
207
|
"factory": "./src/generators/init/init",
|
|
188
208
|
"schema": "./src/generators/init/schema.json",
|
|
189
209
|
"description": "Initializes the @nrwl/angular plugin.",
|
|
190
|
-
"aliases": ["ng-add"],
|
|
191
210
|
"hidden": true
|
|
192
211
|
},
|
|
193
212
|
"karma": {
|
|
@@ -225,12 +244,23 @@
|
|
|
225
244
|
"aliases": ["mv"],
|
|
226
245
|
"description": "Moves an Angular application or library to another folder within the workspace and updates the project configuration."
|
|
227
246
|
},
|
|
247
|
+
"convert-to-with-mf": {
|
|
248
|
+
"factory": "./src/generators/convert-to-with-mf/convert-to-with-mf",
|
|
249
|
+
"schema": "./src/generators/convert-to-with-mf/schema.json",
|
|
250
|
+
"description": "Converts an old micro frontend configuration to use the new withModuleFederation helper. It will run successfully if the following conditions are met: \n - Is either a host or remote application \n - Shared npm package configurations have not been modified \n - Name used to identify the Micro Frontend application matches the project name \n\n _**Note:** This generator will overwrite your webpack config. If you have additional custom configuration in your config file, it will be lost!_"
|
|
251
|
+
},
|
|
228
252
|
"mfe-host": {
|
|
229
253
|
"factory": "./src/generators/mfe-host/mfe-host",
|
|
230
254
|
"schema": "./src/generators/mfe-host/schema.json",
|
|
231
255
|
"aliases": ["host"],
|
|
232
256
|
"description": "Generate a Host Angular Micro Frontend Application."
|
|
233
257
|
},
|
|
258
|
+
"ng-add": {
|
|
259
|
+
"factory": "./src/generators/ng-add/ng-add",
|
|
260
|
+
"schema": "./src/generators/ng-add/schema.json",
|
|
261
|
+
"description": "Migrates an Angular CLI workspace to Nx or adds the Angular plugin to an Nx workspace.",
|
|
262
|
+
"hidden": true
|
|
263
|
+
},
|
|
234
264
|
"ngrx": {
|
|
235
265
|
"factory": "./src/generators/ngrx/ngrx",
|
|
236
266
|
"schema": "./src/generators/ngrx/schema.json",
|
package/mfe/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { setRemoteUrlResolver, loadRemoteModule } from './mfe';
|
package/mfe/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadRemoteModule = exports.setRemoteUrlResolver = void 0;
|
|
4
|
+
var mfe_1 = require("./mfe");
|
|
5
|
+
Object.defineProperty(exports, "setRemoteUrlResolver", { enumerable: true, get: function () { return mfe_1.setRemoteUrlResolver; } });
|
|
6
|
+
Object.defineProperty(exports, "loadRemoteModule", { enumerable: true, get: function () { return mfe_1.loadRemoteModule; } });
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
package/mfe/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/angular/mfe/index.ts"],"names":[],"mappings":";;;AAAA,6BAA+D;AAAtD,2GAAA,oBAAoB,OAAA;AAAE,uGAAA,gBAAgB,OAAA"}
|
package/mfe/mfe.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare type ResolveRemoteUrlFunction = (remoteName: string) => string | Promise<string>;
|
|
2
|
+
export declare function setRemoteUrlResolver(_resolveRemoteUrl: ResolveRemoteUrlFunction): void;
|
|
3
|
+
export declare function setRemoteDefinitions(definitions: Record<string, string>): void;
|
|
4
|
+
export declare function loadRemoteModule(remoteName: string, moduleName: string): Promise<any>;
|
package/mfe/mfe.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadRemoteModule = exports.setRemoteDefinitions = exports.setRemoteUrlResolver = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
let resolveRemoteUrl;
|
|
6
|
+
function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
7
|
+
resolveRemoteUrl = _resolveRemoteUrl;
|
|
8
|
+
}
|
|
9
|
+
exports.setRemoteUrlResolver = setRemoteUrlResolver;
|
|
10
|
+
let remoteUrlDefinitions;
|
|
11
|
+
function setRemoteDefinitions(definitions) {
|
|
12
|
+
remoteUrlDefinitions = definitions;
|
|
13
|
+
}
|
|
14
|
+
exports.setRemoteDefinitions = setRemoteDefinitions;
|
|
15
|
+
let remoteModuleMap = new Map();
|
|
16
|
+
let remoteContainerMap = new Map();
|
|
17
|
+
function loadRemoteModule(remoteName, moduleName) {
|
|
18
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
19
|
+
const remoteModuleKey = `${remoteName}:${moduleName}`;
|
|
20
|
+
if (remoteModuleMap.has(remoteModuleKey)) {
|
|
21
|
+
return remoteModuleMap.get(remoteModuleKey);
|
|
22
|
+
}
|
|
23
|
+
const container = remoteContainerMap.has(remoteName)
|
|
24
|
+
? remoteContainerMap.get(remoteName)
|
|
25
|
+
: yield loadRemoteContainer(remoteName);
|
|
26
|
+
const factory = yield container.get(moduleName);
|
|
27
|
+
const Module = factory();
|
|
28
|
+
remoteModuleMap.set(remoteModuleKey, Module);
|
|
29
|
+
return Module;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.loadRemoteModule = loadRemoteModule;
|
|
33
|
+
function loadModule(url) {
|
|
34
|
+
return Promise.resolve().then(() => require(/* webpackIgnore:true */ url));
|
|
35
|
+
}
|
|
36
|
+
let initialSharingScopeCreated = false;
|
|
37
|
+
function loadRemoteContainer(remoteName) {
|
|
38
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
39
|
+
if (!resolveRemoteUrl && !remoteUrlDefinitions) {
|
|
40
|
+
throw new Error('Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.');
|
|
41
|
+
}
|
|
42
|
+
if (!initialSharingScopeCreated) {
|
|
43
|
+
initialSharingScopeCreated = true;
|
|
44
|
+
yield __webpack_init_sharing__('default');
|
|
45
|
+
}
|
|
46
|
+
const remoteUrl = remoteUrlDefinitions
|
|
47
|
+
? remoteUrlDefinitions[remoteName]
|
|
48
|
+
: yield resolveRemoteUrl(remoteName);
|
|
49
|
+
const containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.mjs`;
|
|
50
|
+
const container = yield loadModule(containerUrl);
|
|
51
|
+
yield container.init(__webpack_share_scopes__.default);
|
|
52
|
+
remoteContainerMap.set(remoteName, container);
|
|
53
|
+
return container;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=mfe.js.map
|
package/mfe/mfe.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mfe.js","sourceRoot":"","sources":["../../../../packages/angular/mfe/mfe.ts"],"names":[],"mappings":";;;;AAOA,IAAI,gBAA0C,CAAC;AAC/C,SAAgB,oBAAoB,CAClC,iBAA2C;IAE3C,gBAAgB,GAAG,iBAAiB,CAAC;AACvC,CAAC;AAJD,oDAIC;AAED,IAAI,oBAA4C,CAAC;AACjD,SAAgB,oBAAoB,CAAC,WAAmC;IACtE,oBAAoB,GAAG,WAAW,CAAC;AACrC,CAAC;AAFD,oDAEC;AAED,IAAI,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AACjD,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;AACpD,SAAsB,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;;QAC3E,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;QACtD,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACxC,OAAO,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SAC7C;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;YAClD,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,CAAC,CAAC,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;QAEzB,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAhBD,4CAgBC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,4CAAc,wBAAwB,CAAC,GAAG,GAAE;AAC9C,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,SAAe,mBAAmB,CAAC,UAAkB;;QACnD,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;YAC9C,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;SACH;QAED,IAAI,CAAC,0BAA0B,EAAE;YAC/B,0BAA0B,GAAG,IAAI,CAAC;YAClC,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;SAC3C;QAED,MAAM,SAAS,GAAG,oBAAoB;YACpC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC;YAClC,CAAC,CAAC,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEvC,MAAM,YAAY,GAAG,GAAG,SAAS,GAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACjC,iBAAiB,CAAC;QAElB,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAEvD,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;CAAA"}
|
package/mfe/package.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"module": "../fesm2015/nrwl-angular-mfe.mjs",
|
|
3
|
+
"es2020": "../fesm2020/nrwl-angular-mfe.mjs",
|
|
4
|
+
"esm2020": "../esm2020/mfe/nrwl-angular-mfe.mjs",
|
|
5
|
+
"fesm2020": "../fesm2020/nrwl-angular-mfe.mjs",
|
|
6
|
+
"fesm2015": "../fesm2015/nrwl-angular-mfe.mjs",
|
|
7
|
+
"typings": "nrwl-angular-mfe.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"name": "@nrwl/angular/mfe"
|
|
10
|
+
}
|
package/migrations.json
CHANGED
|
@@ -1381,6 +1381,95 @@
|
|
|
1381
1381
|
"alwaysAddToPackageJson": false
|
|
1382
1382
|
}
|
|
1383
1383
|
}
|
|
1384
|
+
},
|
|
1385
|
+
"13.9.3": {
|
|
1386
|
+
"version": "13.9.3-beta.0",
|
|
1387
|
+
"packages": {
|
|
1388
|
+
"@angular/cli": {
|
|
1389
|
+
"version": "~13.3.0",
|
|
1390
|
+
"alwaysAddToPackageJson": false
|
|
1391
|
+
},
|
|
1392
|
+
"@angular-devkit/build-angular": {
|
|
1393
|
+
"version": "~13.3.0",
|
|
1394
|
+
"alwaysAddToPackageJson": false
|
|
1395
|
+
},
|
|
1396
|
+
"@angular/core": {
|
|
1397
|
+
"version": "~13.3.0",
|
|
1398
|
+
"alwaysAddToPackageJson": true
|
|
1399
|
+
},
|
|
1400
|
+
"@angular/common": {
|
|
1401
|
+
"version": "~13.3.0",
|
|
1402
|
+
"alwaysAddToPackageJson": false
|
|
1403
|
+
},
|
|
1404
|
+
"@angular/forms": {
|
|
1405
|
+
"version": "~13.3.0",
|
|
1406
|
+
"alwaysAddToPackageJson": false
|
|
1407
|
+
},
|
|
1408
|
+
"@angular/elements": {
|
|
1409
|
+
"version": "~13.3.0",
|
|
1410
|
+
"alwaysAddToPackageJson": false
|
|
1411
|
+
},
|
|
1412
|
+
"@angular/compiler": {
|
|
1413
|
+
"version": "~13.3.0",
|
|
1414
|
+
"alwaysAddToPackageJson": false
|
|
1415
|
+
},
|
|
1416
|
+
"@angular/compiler-cli": {
|
|
1417
|
+
"version": "~13.3.0",
|
|
1418
|
+
"alwaysAddToPackageJson": false
|
|
1419
|
+
},
|
|
1420
|
+
"@angular/localize": {
|
|
1421
|
+
"version": "~13.3.0",
|
|
1422
|
+
"alwaysAddToPackageJson": false
|
|
1423
|
+
},
|
|
1424
|
+
"@angular/platform-browser": {
|
|
1425
|
+
"version": "~13.3.0",
|
|
1426
|
+
"alwaysAddToPackageJson": false
|
|
1427
|
+
},
|
|
1428
|
+
"@angular/platform-browser-dynamic": {
|
|
1429
|
+
"version": "~13.3.0",
|
|
1430
|
+
"alwaysAddToPackageJson": false
|
|
1431
|
+
},
|
|
1432
|
+
"@angular/platform-server": {
|
|
1433
|
+
"version": "~13.3.0",
|
|
1434
|
+
"alwaysAddToPackageJson": false
|
|
1435
|
+
},
|
|
1436
|
+
"@angular/router": {
|
|
1437
|
+
"version": "~13.3.0",
|
|
1438
|
+
"alwaysAddToPackageJson": false
|
|
1439
|
+
},
|
|
1440
|
+
"@angular/upgrade": {
|
|
1441
|
+
"version": "~13.3.0",
|
|
1442
|
+
"alwaysAddToPackageJson": false
|
|
1443
|
+
},
|
|
1444
|
+
"@angular/language-service": {
|
|
1445
|
+
"version": "~13.3.0",
|
|
1446
|
+
"alwaysAddToPackageJson": false
|
|
1447
|
+
},
|
|
1448
|
+
"@angular/animations": {
|
|
1449
|
+
"version": "~13.3.0",
|
|
1450
|
+
"alwaysAddToPackageJson": false
|
|
1451
|
+
},
|
|
1452
|
+
"@angular/service-worker": {
|
|
1453
|
+
"version": "~13.3.0",
|
|
1454
|
+
"alwaysAddToPackageJson": false
|
|
1455
|
+
},
|
|
1456
|
+
"@angular/material": {
|
|
1457
|
+
"version": "~13.3.0",
|
|
1458
|
+
"alwaysAddToPackageJson": false
|
|
1459
|
+
},
|
|
1460
|
+
"@angular/cdk": {
|
|
1461
|
+
"version": "~13.3.0",
|
|
1462
|
+
"alwaysAddToPackageJson": false
|
|
1463
|
+
},
|
|
1464
|
+
"ng-packagr": {
|
|
1465
|
+
"version": "~13.3.0",
|
|
1466
|
+
"alwaysAddToPackageJson": false
|
|
1467
|
+
},
|
|
1468
|
+
"typescript": {
|
|
1469
|
+
"version": "~4.6.2",
|
|
1470
|
+
"alwaysAddToPackageJson": false
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1384
1473
|
}
|
|
1385
1474
|
}
|
|
1386
1475
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { withModuleFederation } from '../src/utils/mfe/with-module-federation';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withModuleFederation = void 0;
|
|
4
|
+
var with_module_federation_1 = require("../src/utils/mfe/with-module-federation");
|
|
5
|
+
Object.defineProperty(exports, "withModuleFederation", { enumerable: true, get: function () { return with_module_federation_1.withModuleFederation; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/angular/module-federation/index.ts"],"names":[],"mappings":";;;AAAA,kFAA+E;AAAtE,8HAAA,oBAAoB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nrwl/angular",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.10.0-beta.2",
|
|
4
4
|
"description": "Angular Plugin for Nx",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"./executors": "./executors.js",
|
|
23
23
|
"./tailwind": "./tailwind.js",
|
|
24
24
|
"./src/generators/utils": "./src/generators/utils/index.js",
|
|
25
|
+
"./module-federation": "./module-federation/index.js",
|
|
25
26
|
"./package.json": {
|
|
26
27
|
"default": "./package.json"
|
|
27
28
|
},
|
|
@@ -33,6 +34,14 @@
|
|
|
33
34
|
"node": "./fesm2015/nrwl-angular.mjs",
|
|
34
35
|
"default": "./fesm2020/nrwl-angular.mjs"
|
|
35
36
|
},
|
|
37
|
+
"./mfe": {
|
|
38
|
+
"types": "./mfe/nrwl-angular-mfe.d.ts",
|
|
39
|
+
"esm2020": "./esm2020/mfe/nrwl-angular-mfe.mjs",
|
|
40
|
+
"es2020": "./fesm2020/nrwl-angular-mfe.mjs",
|
|
41
|
+
"es2015": "./fesm2015/nrwl-angular-mfe.mjs",
|
|
42
|
+
"node": "./fesm2015/nrwl-angular-mfe.mjs",
|
|
43
|
+
"default": "./fesm2020/nrwl-angular-mfe.mjs"
|
|
44
|
+
},
|
|
36
45
|
"./testing": {
|
|
37
46
|
"types": "./testing/nrwl-angular-testing.d.ts",
|
|
38
47
|
"esm2020": "./esm2020/testing/nrwl-angular-testing.mjs",
|
|
@@ -55,13 +64,13 @@
|
|
|
55
64
|
"migrations": "./migrations.json"
|
|
56
65
|
},
|
|
57
66
|
"dependencies": {
|
|
58
|
-
"@angular-devkit/schematics": "~13.
|
|
59
|
-
"@nrwl/cypress": "13.
|
|
60
|
-
"@nrwl/devkit": "13.
|
|
61
|
-
"@nrwl/jest": "13.
|
|
62
|
-
"@nrwl/linter": "13.
|
|
63
|
-
"@nrwl/storybook": "13.
|
|
64
|
-
"@schematics/angular": "~13.
|
|
67
|
+
"@angular-devkit/schematics": "~13.3.0",
|
|
68
|
+
"@nrwl/cypress": "13.10.0-beta.2",
|
|
69
|
+
"@nrwl/devkit": "13.10.0-beta.2",
|
|
70
|
+
"@nrwl/jest": "13.10.0-beta.2",
|
|
71
|
+
"@nrwl/linter": "13.10.0-beta.2",
|
|
72
|
+
"@nrwl/storybook": "13.10.0-beta.2",
|
|
73
|
+
"@schematics/angular": "~13.3.0",
|
|
65
74
|
"@phenomnomnominal/tsquery": "4.1.1",
|
|
66
75
|
"ignore": "^5.0.4",
|
|
67
76
|
"jasmine-marbles": "~0.8.4",
|
|
@@ -6,7 +6,7 @@ try {
|
|
|
6
6
|
if (path.basename(root) === 'workspace.json') {
|
|
7
7
|
const workspaceJson = JSON.parse(fs.readFileSync(root));
|
|
8
8
|
if (Object.keys(workspaceJson.projects).length === 0) {
|
|
9
|
-
const output = require('
|
|
9
|
+
const output = require('nx/src/utils/output').output;
|
|
10
10
|
output.warn({
|
|
11
11
|
title: '@nrwl/angular added to a Nx workspace powered by the Nx CLI.',
|
|
12
12
|
bodyLines: [
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
-
"title": "
|
|
4
|
-
"description": "
|
|
3
|
+
"title": "Schema for Webpack Browser",
|
|
4
|
+
"description": "The webpack-browser executor is very similar to the standard browser builder provided by the Angular Devkit. It allows you to build your Angular application to a build artifact that can be hosted online. There are some key differences: \n- Supports Custom Webpack Configurations \n- Supports Incremental Building",
|
|
5
|
+
"examplesFile": "../../../docs/webpack-browser-examples.md",
|
|
5
6
|
"type": "object",
|
|
6
7
|
"properties": {
|
|
7
8
|
"assets": {
|