@angular-architects/native-federation 16.2.0 → 16.3.0

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/collection.json CHANGED
@@ -1,17 +1,22 @@
1
1
  {
2
2
  "$schema": "../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
- "name": "module-federation",
3
+ "name": "native-federation",
4
4
  "version": "0.0.1",
5
5
  "schematics": {
6
6
  "ng-add": {
7
7
  "factory": "./src/schematics/init/schematic",
8
8
  "schema": "./src/schematics/init/schema.json",
9
- "description": "Initialize an angular project for webpack module federation"
9
+ "description": "Initialize an angular project for native federation"
10
10
  },
11
11
  "init": {
12
12
  "factory": "./src/schematics/init/schematic",
13
13
  "schema": "./src/schematics/init/schema.json",
14
- "description": "Initialize an angular project for webpack module federation"
14
+ "description": "Initialize an angular project for native federation"
15
+ },
16
+ "remove": {
17
+ "factory": "./src/schematics/remove/schematic",
18
+ "schema": "./src/schematics/remove/schema.json",
19
+ "description": "Removes native federation"
15
20
  }
16
21
  }
17
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular-architects/native-federation",
3
- "version": "16.2.0",
3
+ "version": "16.3.0",
4
4
  "main": "src/index.js",
5
5
  "generators": "./collection.json",
6
6
  "builders": "./builders.json",
@@ -16,8 +16,8 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@babel/core": "^7.19.0",
19
- "@softarc/native-federation": "1.1.2",
20
- "@softarc/native-federation-runtime": "1.1.2",
19
+ "@softarc/native-federation": "2.0.0",
20
+ "@softarc/native-federation-runtime": "2.0.0",
21
21
  "@types/browser-sync": "^2.26.3",
22
22
  "browser-sync": "^2.29.3",
23
23
  "esbuild": "^0.18.12",
@@ -1,5 +1,5 @@
1
1
  import { BuilderContext, BuilderOutput } from '@angular-devkit/architect';
2
2
  import { NfBuilderSchema } from './schema';
3
- export declare function runBuilder(nfOptions: NfBuilderSchema, context: BuilderContext): Promise<BuilderOutput>;
3
+ export declare function runBuilder(nfOptions: NfBuilderSchema, context: BuilderContext): AsyncIterable<BuilderOutput>;
4
4
  declare const _default: any;
5
5
  export default _default;
@@ -4,6 +4,7 @@ exports.runBuilder = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /* eslint-disable @nx/enforce-module-boundaries */
6
6
  const architect_1 = require("@angular-devkit/architect");
7
+ const browser_esbuild_1 = require("@angular-devkit/build-angular/src/builders/browser-esbuild");
7
8
  const path = tslib_1.__importStar(require("path"));
8
9
  const build_1 = require("@softarc/native-federation/build");
9
10
  const build_2 = require("@softarc/native-federation/build");
@@ -12,19 +13,26 @@ const build_3 = require("@softarc/native-federation/build");
12
13
  const build_4 = require("@softarc/native-federation/build");
13
14
  const build_5 = require("@softarc/native-federation/build");
14
15
  const architect_2 = require("@angular-devkit/architect");
15
- const rxjs_1 = require("rxjs");
16
16
  const dev_server_1 = require("../../utils/dev-server");
17
17
  const rebuild_events_1 = require("../../utils/rebuild-events");
18
18
  const updateIndexHtml_1 = require("../../utils/updateIndexHtml");
19
+ const fs_1 = require("fs");
20
+ const mem_resuts_1 = require("../../utils/mem-resuts");
19
21
  function runBuilder(nfOptions, context) {
20
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ return tslib_1.__asyncGenerator(this, arguments, function* runBuilder_1() {
23
+ var _a, e_1, _b, _c;
21
24
  const target = (0, architect_2.targetFromTargetString)(nfOptions.target);
22
- const options = (yield context.getTargetOptions(target));
25
+ const _options = (yield tslib_1.__await(context.getTargetOptions(target)));
26
+ const builder = yield tslib_1.__await(context.getBuilderNameForTarget(target));
27
+ const options = (yield tslib_1.__await(context.validateOptions(_options, builder)));
28
+ const runServer = !!nfOptions.port;
29
+ const write = !runServer;
30
+ const watch = !!runServer || nfOptions.watch;
31
+ options.watch = watch;
23
32
  const rebuildEvents = new rebuild_events_1.RebuildHubs();
24
33
  const adapter = (0, angular_esbuild_adapter_1.createAngularBuildAdapter)(options, context, rebuildEvents);
25
34
  (0, build_2.setBuildAdapter)(adapter);
26
35
  (0, build_1.setLogLevel)(options.verbose ? 'verbose' : 'info');
27
- options.watch = !!nfOptions.dev;
28
36
  const fedOptions = {
29
37
  workspaceRoot: context.workspaceRoot,
30
38
  outputPath: options.outputPath,
@@ -34,41 +42,94 @@ function runBuilder(nfOptions, context) {
34
42
  watch: options.watch,
35
43
  dev: !!nfOptions.dev,
36
44
  };
37
- const config = yield (0, build_4.loadFederationConfig)(fedOptions);
45
+ const config = yield tslib_1.__await((0, build_4.loadFederationConfig)(fedOptions));
38
46
  const externals = (0, build_3.getExternals)(config);
39
47
  options.externalDependencies = externals.filter((e) => e !== 'tslib');
40
- const builderRun = yield context.scheduleBuilder('@angular-devkit/build-angular:browser-esbuild', options, { target });
41
- // TODO: Allow more flexibility?
42
- // const builderRun = await context.scheduleTarget(target, options as any);
48
+ // for await (const r of buildEsbuildBrowser(options, context as any, { write: false })) {
49
+ // const output = r.outputFiles ||[];
50
+ // for (const o of output) {
51
+ // console.log('got', o.path);
52
+ // }
53
+ // }
54
+ // eslint-disable-next-line no-constant-condition
55
+ // if (1===1) return;
56
+ // const builderRun = await context.scheduleBuilder(
57
+ // '@angular-devkit/build-angular:browser-esbuild',
58
+ // options as any,
59
+ // { target }
60
+ // );
61
+ const memResults = new mem_resuts_1.MemResults();
43
62
  let first = true;
44
- builderRun.output.subscribe((output) => tslib_1.__awaiter(this, void 0, void 0, function* () {
45
- if (!output.success) {
46
- return;
63
+ let lastResult;
64
+ if (!(0, fs_1.existsSync)(options.outputPath)) {
65
+ (0, fs_1.mkdirSync)(options.outputPath, { recursive: true });
66
+ }
67
+ if (!write) {
68
+ (0, angular_esbuild_adapter_1.setMemResultHandler)((outFiles) => {
69
+ memResults.add(outFiles.map((f) => new mem_resuts_1.EsBuildResult(f)));
70
+ });
71
+ }
72
+ try {
73
+ // builderRun.output.subscribe(async (output) => {
74
+ for (var _d = true, _e = tslib_1.__asyncValues((0, browser_esbuild_1.buildEsbuildBrowser)(options, context, {
75
+ write,
76
+ })), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
77
+ _c = _f.value;
78
+ _d = false;
79
+ const output = _c;
80
+ lastResult = output;
81
+ if (!output.success) {
82
+ (0, dev_server_1.setError)('Compilation Error');
83
+ (0, dev_server_1.reloadBrowser)();
84
+ continue;
85
+ }
86
+ else {
87
+ (0, dev_server_1.setError)(null);
88
+ }
89
+ if (!write && output.outputFiles) {
90
+ memResults.add(output.outputFiles.map((file) => new mem_resuts_1.EsBuildResult(file)));
91
+ }
92
+ if (!write && output.assetFiles) {
93
+ memResults.add(output.assetFiles.map((file) => new mem_resuts_1.NgCliAssetResult(file)));
94
+ }
95
+ if (write) {
96
+ (0, updateIndexHtml_1.updateIndexHtml)(fedOptions);
97
+ }
98
+ if (first) {
99
+ yield tslib_1.__await((0, build_5.buildForFederation)(config, fedOptions, externals));
100
+ }
101
+ if (first && runServer) {
102
+ (0, dev_server_1.startServer)(nfOptions, options.outputPath, memResults);
103
+ }
104
+ if (!first && runServer) {
105
+ (0, dev_server_1.reloadBrowser)();
106
+ }
107
+ if (!runServer) {
108
+ yield yield tslib_1.__await(output);
109
+ }
110
+ if (!first && watch) {
111
+ setTimeout(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
112
+ build_1.logger.info('Rebuilding federation artefacts ...');
113
+ yield Promise.all([rebuildEvents.rebuild.emit()]);
114
+ build_1.logger.info('Done!');
115
+ if (runServer) {
116
+ setTimeout(() => (0, dev_server_1.reloadShell)(nfOptions.shell), 0);
117
+ }
118
+ }), nfOptions.rebuildDelay);
119
+ }
120
+ first = false;
47
121
  }
48
- (0, updateIndexHtml_1.updateIndexHtml)(fedOptions);
49
- if (first) {
50
- yield (0, build_5.buildForFederation)(config, fedOptions, externals);
122
+ }
123
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
124
+ finally {
125
+ try {
126
+ if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
51
127
  }
52
- if (first && nfOptions.dev) {
53
- (0, dev_server_1.startServer)(nfOptions, options.outputPath);
54
- }
55
- else if (!first && nfOptions.dev) {
56
- (0, dev_server_1.reloadBrowser)();
57
- setTimeout(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
58
- build_1.logger.info('Rebuilding federation artefacts ...');
59
- yield Promise.all([
60
- rebuildEvents.rebuildMappings.emit(),
61
- rebuildEvents.rebuildExposed.emit(),
62
- ]);
63
- build_1.logger.info('Done!');
64
- setTimeout(() => (0, dev_server_1.reloadShell)(nfOptions.shell), 0);
65
- }), nfOptions.rebuildDelay);
66
- }
67
- first = false;
68
- }));
128
+ finally { if (e_1) throw e_1.error; }
129
+ }
69
130
  // updateIndexHtml(fedOptions);
70
- const output = yield (0, rxjs_1.lastValueFrom)(builderRun.output);
71
- return output;
131
+ // const output = await lastValueFrom(builderRun.output as any);
132
+ yield yield tslib_1.__await(lastResult || { success: false });
72
133
  });
73
134
  }
74
135
  exports.runBuilder = runBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../../libs/native-federation/src/builders/build/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../../libs/native-federation/src/builders/build/builder.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { JsonObject } from '@angular-devkit/core';
2
-
3
- export interface NfBuilderSchema extends JsonObject {
4
- target: string;
5
- dev: boolean;
6
- port: number;
7
- open: boolean;
8
- rebuildDelay: number;
9
- shell: string;
10
- } // eslint-disable-line
1
+ import { JsonObject } from '@angular-devkit/core';
2
+
3
+ export interface NfBuilderSchema extends JsonObject {
4
+ target: string;
5
+ dev: boolean;
6
+ port: number;
7
+ open: boolean;
8
+ rebuildDelay: number;
9
+ shell: string;
10
+ watch: boolean;
11
+ } // eslint-disable-line
@@ -1,39 +1,43 @@
1
- {
2
- "version": 2,
3
- "outputCapture": "direct-nodejs",
4
- "$schema": "http://json-schema.org/draft-07/schema",
5
- "title": "native federation browser builder",
6
- "description": "builder for native federation browser apps",
7
- "type": "object",
8
- "properties": {
9
- "target": {
10
- "type": "string",
11
- "description": "target configured for the esbuild builder"
12
- },
13
- "dev": {
14
- "type": "boolean",
15
- "description": "Set this to true to start the builder in dev mode",
16
- "default": false
17
- },
18
- "port": {
19
- "type": "number",
20
- "default": 4200
21
- },
22
- "open": {
23
- "type": "boolean",
24
- "default": true,
25
- "description": "Open browser?",
26
- "alias": "o"
27
- },
28
- "rebuildDelay": {
29
- "type": "number",
30
- "default": 2000,
31
- "description": "The delay for rebuilding federation artefacts. This allows to have more resources for refreshing your micro frontend in the browser."
32
- },
33
- "shell": {
34
- "type": "string",
35
- "description": "Experimental",
36
- "default": ""
37
- }
38
- }
39
- }
1
+ {
2
+ "version": 2,
3
+ "outputCapture": "direct-nodejs",
4
+ "$schema": "http://json-schema.org/draft-07/schema",
5
+ "title": "native federation browser builder",
6
+ "description": "builder for native federation browser apps",
7
+ "type": "object",
8
+ "properties": {
9
+ "target": {
10
+ "type": "string",
11
+ "description": "target configured for the esbuild builder"
12
+ },
13
+ "dev": {
14
+ "type": "boolean",
15
+ "description": "Set this to true to start the builder in dev mode",
16
+ "default": false
17
+ },
18
+ "watch": {
19
+ "type": "boolean",
20
+ "default": false
21
+ },
22
+ "port": {
23
+ "type": "number",
24
+ "default": 0
25
+ },
26
+ "open": {
27
+ "type": "boolean",
28
+ "default": true,
29
+ "description": "Open browser?",
30
+ "alias": "o"
31
+ },
32
+ "rebuildDelay": {
33
+ "type": "number",
34
+ "default": 2000,
35
+ "description": "The delay for rebuilding federation artefacts. This allows to have more resources for refreshing your micro frontend in the browser."
36
+ },
37
+ "shell": {
38
+ "type": "string",
39
+ "description": "Experimental",
40
+ "default": ""
41
+ }
42
+ }
43
+ }
@@ -22,11 +22,7 @@
22
22
  }
23
23
  },
24
24
  "type": {
25
- "enum": [
26
- "host",
27
- "dynamic-host",
28
- "remote"
29
- ],
25
+ "enum": ["host", "dynamic-host", "remote"],
30
26
  "type": "string",
31
27
  "default": "remote"
32
28
  },
@@ -16,10 +16,14 @@ function config(options) {
16
16
  const { polyfills, projectName, projectRoot, projectSourceRoot, manifestPath, main, } = normalized;
17
17
  updatePolyfills(tree, polyfills);
18
18
  const remoteMap = yield generateRemoteMap(workspace, projectName);
19
- if (options.type === 'dynamic-host') {
19
+ if (options.type === 'dynamic-host' && !tree.exists(manifestPath)) {
20
20
  tree.create(manifestPath, JSON.stringify(remoteMap, null, '\t'));
21
21
  }
22
- const generateRule = yield generateFederationConfig(remoteMap, projectRoot, projectSourceRoot, options);
22
+ const federationConfigPath = path.join(projectRoot, 'federation.config.js');
23
+ const exists = tree.exists(federationConfigPath);
24
+ const generateRule = !exists
25
+ ? yield generateFederationConfig(remoteMap, projectRoot, projectSourceRoot, options)
26
+ : schematics_1.noop;
23
27
  updateWorkspaceConfig(tree, normalized, workspace, workspaceFileName);
24
28
  (0, dependencies_1.addPackageJsonDependency)(tree, {
25
29
  name: 'es-module-shims',
@@ -47,9 +51,17 @@ function updateWorkspaceConfig(tree, options, workspace, workspaceFileName) {
47
51
  projectConfig.architect.esbuild = originalBuild;
48
52
  projectConfig.architect.build = {
49
53
  builder: '@angular-architects/native-federation:build',
50
- options: {
51
- target: `${projectName}:esbuild:production`,
54
+ options: {},
55
+ configurations: {
56
+ production: {
57
+ target: `${projectName}:esbuild:production`,
58
+ },
59
+ development: {
60
+ target: `${projectName}:esbuild:development`,
61
+ dev: true,
62
+ },
52
63
  },
64
+ defaultConfiguration: 'production',
53
65
  };
54
66
  projectConfig.architect['serve-original'] = projectConfig.architect.serve;
55
67
  projectConfig.architect.serve = {
@@ -61,6 +73,13 @@ function updateWorkspaceConfig(tree, options, workspace, workspaceFileName) {
61
73
  port: port,
62
74
  },
63
75
  };
76
+ const serveSsr = projectConfig.architect['serve-ssr'];
77
+ if (serveSsr && !serveSsr.options) {
78
+ serveSsr.options = {};
79
+ }
80
+ if (serveSsr) {
81
+ serveSsr.options.port = port;
82
+ }
64
83
  // projectConfig.architect.serve.builder = serveBuilder;
65
84
  // TODO: Register further builders when ready
66
85
  tree.overwrite(workspaceFileName, JSON.stringify(workspace, null, '\t'));
@@ -1 +1 @@
1
- {"version":3,"file":"schematic.js","sourceRoot":"","sources":["../../../../../../libs/native-federation/src/schematics/init/schematic.ts"],"names":[],"mappings":";;;;AAAA,2DASoC;AAEpC,4DAA0E;AAC1E,+CAA+C;AAG/C,2EAGkD;AAElD,mDAA6B;AAa7B,SAAwB,MAAM,CAAC,OAA0B;IACvD,OAAO,UAAgB,IAAI,EAAE,OAAO;;YAClC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAE5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAExD,MAAM,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,IAAI,GACL,GAAG,UAAU,CAAC;YAEf,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAEjC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAElE,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aAClE;YAED,MAAM,YAAY,GAAG,MAAM,wBAAwB,CACjD,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,OAAO,CACR,CAAC;YAEF,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;YAEtE,IAAA,uCAAwB,EAAC,IAAI,EAAE;gBAC7B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iCAAkB,CAAC,OAAO;gBAChC,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;YAE9C,OAAO,IAAA,kBAAK,EAAC,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;KAAA,CAAC;AACJ,CAAC;AA5CD,yBA4CC;AAED,SAAS,qBAAqB,CAC5B,IAAU,EACV,OAA0B,EAC1B,SAAc,EACd,iBAAyB;;IAEzB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAErD,IAAI,CAAC,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,0CAAE,KAAK,CAAA,IAAI,CAAC,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,0CAAE,KAAK,CAAA,EAAE;QACxE,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;KACH;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;IAEpD,IACE,aAAa,CAAC,OAAO,KAAK,+CAA+C,EACzE;QACA,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,aAAa,CAAC,OAAO,GAAG,+CAA+C,CAAC;KACzE;IAED,aAAa,CAAC,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC;IAEhD,aAAa,CAAC,SAAS,CAAC,KAAK,GAAG;QAC9B,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG,WAAW,qBAAqB;SAC5C;KACF,CAAC;IAEF,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;IAE1E,aAAa,CAAC,SAAS,CAAC,KAAK,GAAG;QAC9B,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG,WAAW,sBAAsB;YAC5C,YAAY,EAAE,CAAC;YACf,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,wDAAwD;IACxD,6CAA6C;IAC7C,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA0B,EAC1B,SAAc;;IAEd,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC;KAC5C;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,GAAG,CACT,qDAAqD,GAAG,QAAQ,CAAC,CAAC,CAAC,CACpE,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;KAC/B;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEtD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,aAAa,CAAC,CAAC;KACtD;IAED,MAAM,WAAW,GAAW,MAAA,aAAa,CAAC,IAAI,0CAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAW,MAAA,aAAa,CAAC,UAAU,0CAAE,OAAO,CACjE,KAAK,EACL,GAAG,CACJ,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI;SACtB,IAAI,CAAC,WAAW,EAAE,qCAAqC,CAAC;SACxD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvB,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAExD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE;QACpD,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;KACtD;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;IAClE,OAAO;QACL,SAAS;QACT,WAAW;QACX,WAAW;QACX,iBAAiB;QACjB,YAAY;QACZ,aAAa;QACb,IAAI;QACJ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAI,EAAE,SAAc;IAC3C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACtC;SAAM;QACL,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACvC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAI,EAAE,SAAc;IAC/C,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACjD,gBAAgB,IAAI,+BAA+B,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAI,EAAE,SAAc;IAChD,MAAM,eAAe,GAAG,SAAqB,CAAC;IAE9C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAChD,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACzC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAc,EAAE,WAAmB;;IAC5D,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE;QAClC,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,aAAa,CAAC;QAEzD,IACE,CAAC,KAAK,WAAW;YACjB,WAAW,KAAK,aAAa;aAC7B,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,KAAK,CAAA;aACzB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,KAAK,CAAA,EACzB;YACA,MAAM,KAAK,GAAG,MAAA,MAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,mCAAI,IAAI,CAAC;YAC5D,MAAM,CACJ,cAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,GAAG,oBAAoB,KAAK,mBAAmB,CAAC;SAClD;KACF;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,MAAM,CAAC,MAAM,CAAC,GAAG,wCAAwC,CAAC;KAC3D;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,OAA0B,EAC1B,SAAkB;IAElB,OAAO,UAAgB,IAAI,EAAE,OAAO;;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE1D,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,kBAAkB,CAAC,CAAC;gBACjD,OAAO;aACR;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAExC,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;gBACnC,cAAc,GAAG;;;;;;CAMtB,CAAC;aACG;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvE,cAAc,GAAG;;iBAEN,QAAQ;;;;CAIxB,CAAC;aACG;iBAAM;gBACL,cAAc,GAAG;;;;;;CAMtB,CAAC;aACG;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACvC,CAAC;KAAA,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAU;IAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAC/B,OAAO,cAAc,CAAC;KACvB;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QACjC,OAAO,gBAAgB,CAAC;KACzB;IACD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;AACJ,CAAC;AAVD,oDAUC;AAED,SAAe,wBAAwB,CACrC,SAAiC,EACjC,WAAmB,EACnB,iBAAyB,EACzB,OAA0B;;QAE1B,MAAM,IAAI,GAAG,IAAA,gBAAG,EAAC,SAAS,CAAC,CAAC;QAE5B,MAAM,OAAO,GAAG,IAAA,kBAAK,EAAC,IAAI,EAAE;YAC1B,IAAA,qBAAQ,gCACN,WAAW;gBACX,iBAAiB;gBACjB,SAAS,IACN,OAAO,KACV,IAAI,EAAE,EAAE,IACR;YACF,IAAA,iBAAI,EAAC,WAAW,CAAC;SAClB,CAAC,CAAC;QAEH,OAAO,IAAA,sBAAS,EAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;CAAA"}
1
+ {"version":3,"file":"schematic.js","sourceRoot":"","sources":["../../../../../../libs/native-federation/src/schematics/init/schematic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export interface MfSchematicSchema {
2
+ project: string;
3
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "mf",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "The project to add module federation",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "Project name (press enter for default project)"
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,4 @@
1
+ import { Rule, Tree } from '@angular-devkit/schematics';
2
+ import { MfSchematicSchema } from './schema';
3
+ export default function remove(options: MfSchematicSchema): Rule;
4
+ export declare function getWorkspaceFileName(tree: Tree): string;
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWorkspaceFileName = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path = tslib_1.__importStar(require("path"));
6
+ function remove(options) {
7
+ return function (tree /*, context*/) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ const workspaceFileName = getWorkspaceFileName(tree);
10
+ const workspace = JSON.parse(tree.read(workspaceFileName).toString('utf8'));
11
+ const normalized = normalizeOptions(options, workspace);
12
+ const { polyfills, projectRoot } = normalized;
13
+ const bootstrapPath = path.join(projectRoot, 'src/bootstrap.ts');
14
+ const mainPath = path.join(projectRoot, 'src/main.ts');
15
+ makeMainSync(tree, bootstrapPath, mainPath);
16
+ updatePolyfills(tree, polyfills);
17
+ updateWorkspaceConfig(tree, normalized, workspace, workspaceFileName);
18
+ });
19
+ };
20
+ }
21
+ exports.default = remove;
22
+ function makeMainSync(tree, bootstrapPath, mainPath) {
23
+ if (tree.exists(bootstrapPath) && tree.exists(mainPath)) {
24
+ tree.delete(mainPath);
25
+ tree.rename(bootstrapPath, mainPath);
26
+ }
27
+ }
28
+ function updateWorkspaceConfig(tree, options, workspace, workspaceFileName) {
29
+ var _a, _b;
30
+ const { projectConfig } = options;
31
+ if (!((_a = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.architect) === null || _a === void 0 ? void 0 : _a.build) || !((_b = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.architect) === null || _b === void 0 ? void 0 : _b.serve)) {
32
+ throw new Error(`The project doen't have a build or serve target in angular.json!`);
33
+ }
34
+ if (projectConfig.architect.esbuild) {
35
+ projectConfig.architect.build = projectConfig.architect.esbuild;
36
+ delete projectConfig.architect.esbuild;
37
+ }
38
+ if (projectConfig.architect['serve-original']) {
39
+ projectConfig.architect.serve = projectConfig.architect['serve-original'];
40
+ delete projectConfig.architect['serve-original'];
41
+ }
42
+ if (projectConfig.architect.serve) {
43
+ const conf = projectConfig.architect.serve.configurations;
44
+ conf.production.browserTarget = conf.production.browserTarget.replace(':esbuild:', ':build:');
45
+ conf.development.browserTarget = conf.development.browserTarget.replace(':esbuild:', ':build:');
46
+ }
47
+ tree.overwrite(workspaceFileName, JSON.stringify(workspace, null, '\t'));
48
+ }
49
+ function normalizeOptions(options, workspace) {
50
+ var _a, _b;
51
+ if (!options.project) {
52
+ options.project = workspace.defaultProject;
53
+ }
54
+ const projects = Object.keys(workspace.projects);
55
+ if (!options.project && projects.length === 0) {
56
+ throw new Error(`No default project found. Please specifiy a project name!`);
57
+ }
58
+ if (!options.project) {
59
+ console.log('Using first configured project as default project: ' + projects[0]);
60
+ options.project = projects[0];
61
+ }
62
+ const projectName = options.project;
63
+ const projectConfig = workspace.projects[projectName];
64
+ if (!projectConfig) {
65
+ throw new Error(`Project ${projectName} not found!`);
66
+ }
67
+ const projectRoot = (_a = projectConfig.root) === null || _a === void 0 ? void 0 : _a.replace(/\\/g, '/');
68
+ const projectSourceRoot = (_b = projectConfig.sourceRoot) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '/');
69
+ const manifestPath = path
70
+ .join(projectRoot, 'src/assets/federation.manifest.json')
71
+ .replace(/\\/g, '/');
72
+ const main = projectConfig.architect.build.options.main;
73
+ if (!projectConfig.architect.build.options.polyfills) {
74
+ projectConfig.architect.build.options.polyfills = [];
75
+ }
76
+ const polyfills = projectConfig.architect.build.options.polyfills;
77
+ return {
78
+ polyfills,
79
+ projectName,
80
+ projectRoot,
81
+ projectSourceRoot,
82
+ manifestPath,
83
+ projectConfig,
84
+ main,
85
+ };
86
+ }
87
+ function updatePolyfills(tree, polyfills) {
88
+ if (typeof polyfills === 'string') {
89
+ updatePolyfillsFile(tree, polyfills);
90
+ }
91
+ else {
92
+ updatePolyfillsArray(tree, polyfills);
93
+ }
94
+ }
95
+ function updatePolyfillsFile(tree, polyfills) {
96
+ let polyfillsContent = tree.readText(polyfills);
97
+ if (polyfillsContent.includes('es-module-shims')) {
98
+ polyfillsContent = polyfillsContent.replace(`import 'es-module-shims';`, '');
99
+ tree.overwrite(polyfills, polyfillsContent);
100
+ }
101
+ }
102
+ function updatePolyfillsArray(tree, polyfills) {
103
+ const polyfillsConfig = polyfills;
104
+ const index = polyfillsConfig.findIndex(p => p === 'es-module-shims');
105
+ if (index === -1) {
106
+ return;
107
+ }
108
+ polyfillsConfig.splice(index, 1);
109
+ }
110
+ function getWorkspaceFileName(tree) {
111
+ if (tree.exists('angular.json')) {
112
+ return 'angular.json';
113
+ }
114
+ if (tree.exists('workspace.json')) {
115
+ return 'workspace.json';
116
+ }
117
+ throw new Error("angular.json or workspace.json expected! Did you call this in your project's root?");
118
+ }
119
+ exports.getWorkspaceFileName = getWorkspaceFileName;
120
+ //# sourceMappingURL=schematic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic.js","sourceRoot":"","sources":["../../../../../../libs/native-federation/src/schematics/remove/schematic.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { BuildAdapter } from '@softarc/native-federation/build';
2
+ import * as esbuild from 'esbuild';
2
3
  import { BuilderContext } from '@angular-devkit/architect';
3
4
  import { Schema as EsBuildBuilderOptions } from '@angular-devkit/build-angular/src/builders/browser-esbuild/schema';
4
5
  import { RebuildEvents } from './rebuild-events';
6
+ export type MemResultHandler = (outfiles: esbuild.OutputFile[]) => void;
7
+ export declare function setMemResultHandler(handler: MemResultHandler): void;
5
8
  export declare function createAngularBuildAdapter(builderOptions: EsBuildBuilderOptions, context: BuilderContext, rebuildRequested?: RebuildEvents): BuildAdapter;
6
9
  export declare function loadEsmModule<T>(modulePath: string | URL): Promise<T>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadEsmModule = exports.createAngularBuildAdapter = void 0;
3
+ exports.loadEsmModule = exports.createAngularBuildAdapter = exports.setMemResultHandler = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const build_1 = require("@softarc/native-federation/build");
6
6
  const esbuild = tslib_1.__importStar(require("esbuild"));
@@ -20,25 +20,51 @@ const fs = tslib_1.__importStar(require("fs"));
20
20
  const path = tslib_1.__importStar(require("path"));
21
21
  const core_1 = require("@babel/core");
22
22
  const rebuild_events_1 = require("./rebuild-events");
23
- const fesmFolderRegExp = /[/\\]fesm\d+[/\\]/;
23
+ let _memResultHandler;
24
+ function setMemResultHandler(handler) {
25
+ _memResultHandler = handler;
26
+ }
27
+ exports.setMemResultHandler = setMemResultHandler;
24
28
  function createAngularBuildAdapter(builderOptions, context, rebuildRequested = new rebuild_events_1.RebuildHubs()) {
25
29
  return (options) => tslib_1.__awaiter(this, void 0, void 0, function* () {
26
- const { entryPoint, tsConfigPath, external, outfile, mappedPaths, kind, watch, dev, } = options;
30
+ const { entryPoints, tsConfigPath, external, outdir, mappedPaths, kind, watch, dev, hash, } = options;
31
+ const files = yield runEsbuild(builderOptions, context, entryPoints, external, outdir, tsConfigPath, mappedPaths, watch, rebuildRequested, dev, kind, hash);
32
+ if (kind === 'shared-package') {
33
+ const scriptFiles = files.filter((f) => f.endsWith('.js') || f.endsWith('.mjs'));
34
+ for (const file of scriptFiles) {
35
+ link(file, dev);
36
+ }
37
+ }
38
+ return files.map((fileName) => ({ fileName }));
27
39
  // TODO: Do we still need rollup as esbuilt evolved?
28
40
  // if (kind === 'shared-package') {
29
41
  // await runRollup(entryPoint, external, outfile);
30
42
  // } else {
31
- if (dev &&
32
- kind === 'shared-package' &&
33
- entryPoint.match(fesmFolderRegExp)) {
34
- fs.copyFileSync(entryPoint, outfile);
35
- }
36
- else {
37
- yield runEsbuild(builderOptions, context, entryPoint, external, outfile, tsConfigPath, mappedPaths, watch, rebuildRequested, dev, kind);
38
- }
39
- if (kind === 'shared-package' && fs.existsSync(outfile)) {
40
- yield link(outfile, dev);
41
- }
43
+ // if (
44
+ // dev &&
45
+ // kind === 'shared-package' &&
46
+ // entryPoint.match(fesmFolderRegExp)
47
+ // ) {
48
+ // fs.copyFileSync(entryPoint, outfile);
49
+ // } else {
50
+ // await runEsbuild(
51
+ // builderOptions,
52
+ // context,
53
+ // entryPoint,
54
+ // external,
55
+ // outfile,
56
+ // tsConfigPath,
57
+ // mappedPaths,
58
+ // watch,
59
+ // rebuildRequested,
60
+ // dev,
61
+ // kind
62
+ // );
63
+ // }
64
+ // if (kind === 'shared-package' && fs.existsSync(outfile)) {
65
+ // await link(outfile, dev);
66
+ // }
67
+ // }
42
68
  });
43
69
  function link(outfile, dev) {
44
70
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -71,7 +97,7 @@ function createAngularBuildAdapter(builderOptions, context, rebuildRequested = n
71
97
  }
72
98
  }
73
99
  exports.createAngularBuildAdapter = createAngularBuildAdapter;
74
- function runEsbuild(builderOptions, context, entryPoint, external, outfile, tsConfigPath, mappedPaths, watch, rebuildRequested = new rebuild_events_1.RebuildHubs(), dev, kind, plugins = null, absWorkingDir = undefined, logLevel = 'warning') {
100
+ function runEsbuild(builderOptions, context, entryPoints, external, outdir, tsConfigPath, mappedPaths, watch, rebuildRequested = new rebuild_events_1.RebuildHubs(), dev, kind, hash = false, plugins = null, absWorkingDir = undefined, logLevel = 'warning') {
75
101
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
102
  const projectRoot = path.dirname(tsConfigPath);
77
103
  const browsers = (0, supported_browsers_1.getSupportedBrowsers)(projectRoot, context.logger);
@@ -82,19 +108,22 @@ function runEsbuild(builderOptions, context, entryPoint, external, outfile, tsCo
82
108
  const tailwindConfigurationPath = yield (0, tailwind_1.findTailwindConfigurationFile)(workspaceRoot, projectRoot);
83
109
  const fullProjectRoot = path.join(workspaceRoot, projectRoot);
84
110
  const resolver = (0, node_module_1.createRequire)(fullProjectRoot + '/');
85
- const tailwindConfiguration = tailwindConfigurationPath ? {
86
- file: tailwindConfigurationPath,
87
- package: resolver.resolve('tailwindcss'),
88
- } : undefined;
111
+ const tailwindConfiguration = tailwindConfigurationPath
112
+ ? {
113
+ file: tailwindConfigurationPath,
114
+ package: resolver.resolve('tailwindcss'),
115
+ }
116
+ : undefined;
89
117
  const outputNames = {
90
118
  bundles: '[name]',
91
- media: 'media/[name]'
119
+ media: 'media/[name]',
92
120
  };
93
121
  let fileReplacements;
94
122
  if (builderOptions.fileReplacements) {
95
123
  for (const replacement of builderOptions.fileReplacements) {
96
124
  fileReplacements !== null && fileReplacements !== void 0 ? fileReplacements : (fileReplacements = {});
97
- fileReplacements[path.join(workspaceRoot, replacement.replace)] = path.join(workspaceRoot, replacement.with);
125
+ fileReplacements[path.join(workspaceRoot, replacement.replace)] =
126
+ path.join(workspaceRoot, replacement.with);
98
127
  }
99
128
  }
100
129
  const pluginOptions = (0, compiler_plugin_options_1.createCompilerPluginOptions)({
@@ -110,17 +139,26 @@ function runEsbuild(builderOptions, context, entryPoint, external, outfile, tsCo
110
139
  advancedOptimizations: !dev,
111
140
  inlineStyleLanguage: builderOptions.inlineStyleLanguage,
112
141
  jit: false,
113
- tailwindConfiguration
142
+ tailwindConfiguration,
114
143
  }, target, undefined);
115
144
  const config = {
116
- entryPoints: [entryPoint],
145
+ entryPoints: entryPoints.map((ep) => ({
146
+ in: ep.fileName,
147
+ out: path.parse(ep.outName).name,
148
+ })),
149
+ outdir,
150
+ entryNames: hash ? '[name]-[hash]' : '[name]',
151
+ write: false,
117
152
  absWorkingDir,
118
153
  external,
119
- outfile,
120
154
  logLevel,
121
155
  bundle: true,
122
156
  sourcemap: dev,
123
157
  minify: !dev,
158
+ supported: {
159
+ 'async-await': false,
160
+ 'object-rest-spread': false,
161
+ },
124
162
  platform: 'browser',
125
163
  format: 'esm',
126
164
  target: ['esnext'],
@@ -149,30 +187,44 @@ function runEsbuild(builderOptions, context, entryPoint, external, outfile, tsCo
149
187
  ? [(0, shared_mappings_plugin_1.createSharedMappingsPlugin)(mappedPaths)]
150
188
  : []),
151
189
  ],
152
- define: {
153
- ngDevMode: dev ? 'true' : 'false',
154
- ngJitMode: 'false',
155
- },
190
+ define: Object.assign(Object.assign({}, (!dev ? { ngDevMode: 'false' } : {})), { ngJitMode: 'false' }),
156
191
  };
192
+ const ctx = yield esbuild.context(config);
193
+ const result = yield ctx.rebuild();
194
+ const memOnly = dev && kind === 'mapping-or-exposed' && !!_memResultHandler;
195
+ const writtenFiles = writeResult(result, outdir, memOnly);
157
196
  if (watch) {
158
- const ctx = yield esbuild.context(config);
159
- yield ctx.rebuild();
160
- registerForRebuilds(kind, rebuildRequested, ctx);
197
+ registerForRebuilds(kind, rebuildRequested, ctx, entryPoints, outdir, hash, memOnly);
161
198
  }
162
199
  else {
163
- yield esbuild.build(config);
200
+ ctx.dispose();
164
201
  }
202
+ return writtenFiles;
165
203
  });
166
204
  }
167
- function registerForRebuilds(kind, rebuildRequested, ctx) {
168
- if (kind === 'exposed') {
169
- rebuildRequested.rebuildExposed.register(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
170
- yield ctx.rebuild();
171
- }));
205
+ function writeResult(result, outdir, memOnly) {
206
+ const writtenFiles = [];
207
+ if (memOnly) {
208
+ _memResultHandler(result.outputFiles);
172
209
  }
173
- else if (kind === 'shared-mapping') {
174
- rebuildRequested.rebuildMappings.register(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
175
- yield ctx.rebuild();
210
+ for (const outFile of result.outputFiles) {
211
+ const fileName = path.basename(outFile.path);
212
+ const filePath = path.join(outdir, fileName);
213
+ if (!memOnly) {
214
+ fs.writeFileSync(filePath, outFile.text);
215
+ }
216
+ writtenFiles.push(filePath);
217
+ }
218
+ if (!memOnly) {
219
+ // for (const asset of result.outputFiles)
220
+ }
221
+ return writtenFiles;
222
+ }
223
+ function registerForRebuilds(kind, rebuildRequested, ctx, entryPoints, outdir, hash, memOnly) {
224
+ if (kind !== 'shared-package') {
225
+ rebuildRequested.rebuild.register(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
226
+ const result = yield ctx.rebuild();
227
+ writeResult(result, outdir, memOnly);
176
228
  }));
177
229
  }
178
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"angular-esbuild-adapter.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/angular-esbuild-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-esbuild-adapter.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/angular-esbuild-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { NfBuilderSchema } from '../builders/build/schema';
2
- export declare function startServer(options: NfBuilderSchema, path: string): void;
2
+ import { MemResults } from './mem-resuts';
3
+ export declare function startServer(options: NfBuilderSchema, path: string, memResults: MemResults): void;
4
+ export declare function setError(error: string): void;
5
+ export declare function notifyServer(message: string): void;
3
6
  export declare function reloadBrowser(): void;
4
7
  export declare function reloadShell(shellProjectName: string): void;
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reloadShell = exports.reloadBrowser = exports.startServer = void 0;
3
+ exports.reloadShell = exports.reloadBrowser = exports.notifyServer = exports.setError = exports.startServer = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const browserSync = tslib_1.__importStar(require("browser-sync"));
6
+ const path_1 = require("path");
7
+ const mrmime_1 = require("mrmime");
8
+ const updateIndexHtml_1 = require("./updateIndexHtml");
6
9
  let server;
7
- function startServer(options, path) {
10
+ function startServer(options, path, memResults) {
8
11
  const projectName = options.target.split(':')[0];
9
12
  server = browserSync.create(projectName);
10
13
  server.init({
@@ -15,9 +18,35 @@ function startServer(options, path) {
15
18
  single: true,
16
19
  ui: false,
17
20
  open: options.open,
21
+ middleware: [
22
+ function (req, res, next) {
23
+ const key = req.url.startsWith('/') ? req.url.substring(1) : req.url;
24
+ const result = memResults.get(key);
25
+ if (result) {
26
+ const mimeType = (0, mrmime_1.lookup)((0, path_1.extname)(key)) || 'text/javascript';
27
+ const body = getBody(result, memResults);
28
+ res.writeHead(200, {
29
+ 'Content-Type': mimeType,
30
+ });
31
+ res.end(body);
32
+ }
33
+ else {
34
+ next();
35
+ }
36
+ },
37
+ ],
18
38
  });
19
39
  }
20
40
  exports.startServer = startServer;
41
+ let buildError = '';
42
+ function setError(error) {
43
+ buildError = error;
44
+ }
45
+ exports.setError = setError;
46
+ function notifyServer(message) {
47
+ server.notify(message);
48
+ }
49
+ exports.notifyServer = notifyServer;
21
50
  function reloadBrowser() {
22
51
  if (!server) {
23
52
  throw new Error('server is not started');
@@ -38,4 +67,28 @@ function reloadShell(shellProjectName) {
38
67
  }
39
68
  }
40
69
  exports.reloadShell = reloadShell;
70
+ function modifyIndexHtml(content, fileNames) {
71
+ if (buildError) {
72
+ const errorHtml = `
73
+ <div style="position: absolute; filter: opacity(80%); top:0; bottom:0; left:0; right:0; padding:20px; background-color:black; color:white; ">
74
+ <h2>${buildError}</h2>
75
+ </div>
76
+ `;
77
+ content = errorHtml + content;
78
+ }
79
+ const mainName = fileNames.find((f) => f.startsWith('main.') && f.endsWith('.js'));
80
+ const polyfillsName = fileNames.find((f) => f.startsWith('polyfills.') && f.endsWith('.js'));
81
+ const index = (0, updateIndexHtml_1.updateScriptTags)(content, mainName, polyfillsName);
82
+ return index;
83
+ }
84
+ function getBody(result, memResults) {
85
+ const body = result.get();
86
+ if (result.fileName === 'index.html') {
87
+ const content = new TextDecoder().decode(body);
88
+ return modifyIndexHtml(content, memResults.getFileNames());
89
+ }
90
+ else {
91
+ return body;
92
+ }
93
+ }
41
94
  //# sourceMappingURL=dev-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/dev-server.ts"],"names":[],"mappings":";;;;AAAA,kEAA4C;AAG5C,IAAI,MAAuC,CAAC;AAE5C,SAAgB,WAAW,CAAC,OAAwB,EAAE,IAAY;IAChE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEzC,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;QACZ,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAdD,kCAcC;AAED,SAAgB,aAAa;IAC3B,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC1C;IACD,MAAM,CAAC,MAAM,EAAE,CAAC;AAClB,CAAC;AALD,sCAKC;AAED,SAAgB,WAAW,CAAC,gBAAwB;IAClD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC1C;IACD,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QACrC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACtD,WAAW,CAAC,MAAM,EAAE,CAAC;KACtB;AACH,CAAC;AAXD,kCAWC"}
1
+ {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/dev-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { OutputFile } from 'esbuild';
3
+ export interface BuildResult {
4
+ fileName: string;
5
+ get(): Uint8Array | Buffer;
6
+ }
7
+ export declare class EsBuildResult implements BuildResult {
8
+ private outputFile;
9
+ get fileName(): string;
10
+ constructor(outputFile: OutputFile);
11
+ get(): Uint8Array;
12
+ }
13
+ export interface NgCliAssetFile {
14
+ source: string;
15
+ destination: string;
16
+ }
17
+ export declare class NgCliAssetResult implements BuildResult {
18
+ private assetFile;
19
+ get fileName(): string;
20
+ private file;
21
+ constructor(assetFile: NgCliAssetFile);
22
+ get(): Buffer;
23
+ }
24
+ export declare class MemResults {
25
+ private map;
26
+ add(result: BuildResult[]): void;
27
+ get(fileName: string): BuildResult | undefined;
28
+ getFileNames(): string[];
29
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemResults = exports.NgCliAssetResult = exports.EsBuildResult = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = require("path");
6
+ const fs = tslib_1.__importStar(require("fs"));
7
+ class EsBuildResult {
8
+ get fileName() {
9
+ return (0, path_1.basename)(this.outputFile.path);
10
+ }
11
+ constructor(outputFile) {
12
+ this.outputFile = outputFile;
13
+ }
14
+ get() {
15
+ return this.outputFile.contents;
16
+ }
17
+ }
18
+ exports.EsBuildResult = EsBuildResult;
19
+ class NgCliAssetResult {
20
+ get fileName() {
21
+ return unify(this.file.destination);
22
+ }
23
+ constructor(assetFile) {
24
+ this.assetFile = assetFile;
25
+ this.file = assetFile;
26
+ }
27
+ get() {
28
+ return fs.readFileSync(this.file.source);
29
+ }
30
+ }
31
+ exports.NgCliAssetResult = NgCliAssetResult;
32
+ class MemResults {
33
+ constructor() {
34
+ this.map = new Map();
35
+ }
36
+ add(result) {
37
+ for (const file of result) {
38
+ this.map.set(file.fileName, file);
39
+ }
40
+ }
41
+ get(fileName) {
42
+ return this.map.get(fileName);
43
+ }
44
+ getFileNames() {
45
+ return [...this.map.keys()];
46
+ }
47
+ }
48
+ exports.MemResults = MemResults;
49
+ function unify(path) {
50
+ return path === null || path === void 0 ? void 0 : path.replace(/\\/g, '/');
51
+ }
52
+ //# sourceMappingURL=mem-resuts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mem-resuts.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/mem-resuts.ts"],"names":[],"mappings":";;;;AACA,+BAAgC;AAChC,+CAAyB;AAOzB,MAAa,aAAa;IACxB,IAAI,QAAQ;QACV,OAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C,GAAG;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,CAAC;CACF;AAVD,sCAUC;AAOD,MAAa,gBAAgB;IAC3B,IAAW,QAAQ;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAID,YAAoB,SAAyB;QAAzB,cAAS,GAAT,SAAS,CAAgB;QAC3C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,GAAG;QACD,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAdD,4CAcC;AAED,MAAa,UAAU;IAAvB;QACU,QAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAe/C,CAAC;IAbQ,GAAG,CAAC,MAAqB;QAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnC;IACH,CAAC;IAEM,GAAG,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAEM,YAAY;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AAhBD,gCAgBC;AAED,SAAS,KAAK,CAAC,IAAI;IACjB,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC"}
@@ -1,9 +1,7 @@
1
1
  import { EventHub, EventSource } from './event-sorce';
2
2
  export interface RebuildEvents {
3
- readonly rebuildMappings: EventSource;
4
- readonly rebuildExposed: EventSource;
3
+ readonly rebuild: EventSource;
5
4
  }
6
5
  export declare class RebuildHubs implements RebuildEvents {
7
- readonly rebuildMappings: EventHub;
8
- readonly rebuildExposed: EventHub;
6
+ readonly rebuild: EventHub;
9
7
  }
@@ -4,8 +4,7 @@ exports.RebuildHubs = void 0;
4
4
  const event_sorce_1 = require("./event-sorce");
5
5
  class RebuildHubs {
6
6
  constructor() {
7
- this.rebuildMappings = new event_sorce_1.EventHub();
8
- this.rebuildExposed = new event_sorce_1.EventHub();
7
+ this.rebuild = new event_sorce_1.EventHub();
9
8
  }
10
9
  }
11
10
  exports.RebuildHubs = RebuildHubs;
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild-events.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/rebuild-events.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AAOtD,MAAa,WAAW;IAAxB;QACW,oBAAe,GAAG,IAAI,sBAAQ,EAAE,CAAC;QACjC,mBAAc,GAAG,IAAI,sBAAQ,EAAE,CAAC;IAC3C,CAAC;CAAA;AAHD,kCAGC"}
1
+ {"version":3,"file":"rebuild-events.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/rebuild-events.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AAMtD,MAAa,WAAW;IAAxB;QACW,YAAO,GAAG,IAAI,sBAAQ,EAAE,CAAC;IACpC,CAAC;CAAA;AAFD,kCAEC"}
@@ -1,2 +1,3 @@
1
1
  import { FederationOptions } from '@softarc/native-federation/build';
2
2
  export declare function updateIndexHtml(fedOptions: FederationOptions): void;
3
+ export declare function updateScriptTags(indexContent: string, mainName: string, polyfillsName: string): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateIndexHtml = void 0;
3
+ exports.updateScriptTags = exports.updateIndexHtml = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const path = tslib_1.__importStar(require("path"));
6
6
  const fs = tslib_1.__importStar(require("fs"));
@@ -13,21 +13,26 @@ function updateIndexHtml(fedOptions) {
13
13
  const polyfillsName = fs
14
14
  .readdirSync(outputPath)
15
15
  .find((f) => f.startsWith('polyfills.') && f.endsWith('.js'));
16
- const htmlFragment = `
17
- <script type="esms-options">
18
- {
19
- "shimMode": true
16
+ let indexContent = fs.readFileSync(indexPath, 'utf-8');
17
+ indexContent = updateScriptTags(indexContent, mainName, polyfillsName);
18
+ fs.writeFileSync(indexPath, indexContent, 'utf-8');
20
19
  }
21
- </script>
22
-
23
- <script type="module" src="${polyfillsName}"></script>
24
- <script type="module-shim" src="${mainName}"></script>
20
+ exports.updateIndexHtml = updateIndexHtml;
21
+ function updateScriptTags(indexContent, mainName, polyfillsName) {
22
+ const htmlFragment = `
23
+ <script type="esms-options">
24
+ {
25
+ "shimMode": true
26
+ }
27
+ </script>
28
+
29
+ <script type="module" src="${polyfillsName}"></script>
30
+ <script type="module-shim" src="${mainName}"></script>
25
31
  `;
26
- let indexContent = fs.readFileSync(indexPath, 'utf-8');
27
32
  indexContent = indexContent.replace(/<script src="polyfills.*?>/, '');
28
33
  indexContent = indexContent.replace(/<script src="main.*?>/, '');
29
34
  indexContent = indexContent.replace('</body>', `${htmlFragment}</body>`);
30
- fs.writeFileSync(indexPath, indexContent, 'utf-8');
35
+ return indexContent;
31
36
  }
32
- exports.updateIndexHtml = updateIndexHtml;
37
+ exports.updateScriptTags = updateScriptTags;
33
38
  //# sourceMappingURL=updateIndexHtml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateIndexHtml.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/updateIndexHtml.ts"],"names":[],"mappings":";;;;AAAA,mDAA6B;AAC7B,+CAAyB;AAGzB,SAAgB,eAAe,CAAC,UAA6B;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,EAAE;SAChB,WAAW,CAAC,UAAU,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,EAAE;SACrB,WAAW,CAAC,UAAU,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG;;;;;;;6BAOM,aAAa;kCACR,QAAQ;CACzC,CAAC;IAEA,IAAI,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvD,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;IACtE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACjE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,YAAY,SAAS,CAAC,CAAC;IACzE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AA1BD,0CA0BC"}
1
+ {"version":3,"file":"updateIndexHtml.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/updateIndexHtml.ts"],"names":[],"mappings":";;;;AAAA,mDAA6B;AAC7B,+CAAyB;AAGzB,SAAgB,eAAe,CAAC,UAA6B;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,EAAE;SAChB,WAAW,CAAC,UAAU,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,EAAE;SACrB,WAAW,CAAC,UAAU,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhE,IAAI,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEvD,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAdD,0CAcC;AAED,SAAgB,gBAAgB,CAC9B,YAAoB,EACpB,QAAgB,EAChB,aAAqB;IAErB,MAAM,YAAY,GAAG;;;;;;;6BAOM,aAAa;kCACR,QAAQ;CACzC,CAAC;IAEA,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;IACtE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACjE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,YAAY,SAAS,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC;AACtB,CAAC;AApBD,4CAoBC"}