@angular-architects/native-federation 20.0.6 → 20.1.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/README.md CHANGED
@@ -34,7 +34,8 @@ We will at least provide a new version of this package per Angular major. If nec
34
34
  - Use version 18.1.x for Angular 18.1.x
35
35
  - Use version 18.2.x for Angular 18.2.x
36
36
  - Use version 19.x for Angular 19.x
37
- - Use version 20.x for Angular 20.x
37
+ - Use version 20.0.x for Angular 20.0.x
38
+ - Use version 20.1.x for Angular 20.1.x
38
39
 
39
40
  ## Demo Repo
40
41
 
@@ -351,7 +352,7 @@ We support combining Native Federation with Module Federation. Please find [more
351
352
  Since version 19.0.13, Native Federation for Angular supports Angular I18N. Here are some things to keep in mind:
352
353
 
353
354
  - Make sure, you also add I18N support to your shell (e.g., `ng add @angular/localize --project shell`)
354
- - Configure I18N in your `angular.json`. Dont use command line parameters (as the Native Federation Builder does not forward them to the ApplicationBuilder by design)
355
+ - Configure I18N in your `angular.json`. Don't use command line parameters (as the Native Federation Builder does not forward them to the ApplicationBuilder by design)
355
356
  - In production, make sure your `federation.manifest.json` points to the right language versions of your remotes
356
357
 
357
358
  ### Angular Localization
@@ -362,7 +363,7 @@ Since version 20.0.6, loading locales works out of the box, when the feature `ig
362
363
 
363
364
  ```js
364
365
  features: {
365
- ignoreUnusedDeps: true
366
+ ignoreUnusedDeps: true;
366
367
  }
367
368
  ```
368
369
 
@@ -384,6 +385,106 @@ module.exports = withNativeFederation({
384
385
 
385
386
  This option was introduced with version 19.0.14.
386
387
 
388
+ #### Shell reloading when MFE finishes building for local development
389
+
390
+ During development, you might want your shell application to automatically reload when a remote Micro Frontend finishes rebuilding. This is especially useful when you're developing multiple applications simultaneously and want to see changes immediately without manual refresh.
391
+
392
+ Native Federation provides a **build notifications system** that enables automatic page reloads when federation artifacts are rebuilt.
393
+
394
+ ##### Configuration
395
+
396
+ **1. Enable build notifications in the remote MFE**
397
+
398
+ In your remote's `angular.json`, add the `buildNotifications` configuration:
399
+
400
+ ```json
401
+ {
402
+ "projects": {
403
+ "mfe1": {
404
+ "architect": {
405
+ "build": {
406
+ "builder": "@angular-architects/native-federation:build",
407
+ "options": {
408
+ "target": "mfe1:esbuild:development",
409
+ "rebuildDelay": 0,
410
+ "dev": true,
411
+ "buildNotifications": {
412
+ "enable": true
413
+ }
414
+ }
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+ ```
421
+
422
+ **2. Add the watcher to your shell application**
423
+
424
+ Import and call `watchFederationBuildCompletion` in your shell's `main.ts`:
425
+
426
+ ```typescript
427
+ import {
428
+ watchFederationBuildCompletion,
429
+ BUILD_NOTIFICATIONS_ENDPOINT,
430
+ } from '@angular-architects/native-federation';
431
+
432
+ // Shell watching MFE1 (running on port 4201)
433
+ if (!environment.production) {
434
+ watchFederationBuildCompletion(
435
+ `http://localhost:4201${BUILD_NOTIFICATIONS_ENDPOINT}`
436
+ );
437
+ }
438
+
439
+ bootstrapApplication(AppComponent, appConfig);
440
+ ```
441
+
442
+ ##### Multiple MFEs
443
+
444
+ If your shell watches multiple MFEs, you can call the function multiple times:
445
+
446
+ ```typescript
447
+ if (!environment.production) {
448
+ // Watch MFE1 on port 4201
449
+ watchFederationBuildCompletion(
450
+ `http://localhost:4201${BUILD_NOTIFICATIONS_ENDPOINT}`
451
+ );
452
+
453
+ // Watch MFE2 on port 4202
454
+ watchFederationBuildCompletion(
455
+ `http://localhost:4202${BUILD_NOTIFICATIONS_ENDPOINT}`
456
+ );
457
+ }
458
+ ```
459
+
460
+ ##### Requirements
461
+
462
+ - Only works in development mode (`dev: true`)
463
+ - Requires `buildNotifications.enable: true` in the target MFE's configuration
464
+ - MFEs must be running with the native-federation dev server
465
+ - Should never be enabled in production builds
466
+
467
+ ##### Custom Endpoints
468
+
469
+ You can customize the notification endpoint if needed:
470
+
471
+ ```json
472
+ {
473
+ "buildNotifications": {
474
+ "enable": true,
475
+ "endpoint": "/my-custom-build-events"
476
+ }
477
+ }
478
+ ```
479
+
480
+ Then use it in your shell's watcher:
481
+
482
+ ```typescript
483
+ watchFederationBuildCompletion('http://localhost:4201/my-custom-build-events');
484
+ ```
485
+
486
+ This feature significantly improves the development experience by eliminating manual page refreshes and ensuring your shell always reflects the latest changes from your remote micro frontends.
487
+
387
488
  ## FAQ
388
489
 
389
490
  ### When to use this package?
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular-architects/native-federation",
3
- "version": "20.0.6",
3
+ "version": "20.1.0",
4
4
  "main": "src/index.js",
5
5
  "generators": "./collection.json",
6
6
  "builders": "./builders.json",
@@ -20,8 +20,8 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@babel/core": "^7.19.0",
23
- "@softarc/native-federation": "3.2.0",
24
- "@softarc/native-federation-runtime": "3.2.0",
23
+ "@softarc/native-federation": "3.3.1",
24
+ "@softarc/native-federation-runtime": "3.3.1",
25
25
  "@chialab/esbuild-plugin-commonjs": "^0.18.0",
26
26
  "esbuild": "^0.25.1",
27
27
  "mrmime": "^1.0.1",
@@ -2,27 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runBuilder = runBuilder;
4
4
  const tslib_1 = require("tslib");
5
- const path = tslib_1.__importStar(require("path"));
6
5
  const fs = tslib_1.__importStar(require("fs"));
7
6
  const mrmime = tslib_1.__importStar(require("mrmime"));
7
+ const path = tslib_1.__importStar(require("path"));
8
8
  const build_1 = require("@angular/build");
9
9
  const private_1 = require("@angular/build/private");
10
10
  const architect_1 = require("@angular-devkit/architect");
11
11
  const options_1 = require("@angular-devkit/build-angular/src/builders/dev-server/options");
12
12
  const build_2 = require("@softarc/native-federation/build");
13
- const build_3 = require("@softarc/native-federation/build");
14
13
  const angular_esbuild_adapter_1 = require("../../utils/angular-esbuild-adapter");
15
- const build_4 = require("@softarc/native-federation/build");
16
- const build_5 = require("@softarc/native-federation/build");
17
- const build_6 = require("@softarc/native-federation/build");
18
- const architect_2 = require("@angular-devkit/architect");
19
- const rebuild_events_1 = require("../../utils/rebuild-events");
20
- const updateIndexHtml_1 = require("../../utils/updateIndexHtml");
21
14
  const fs_1 = require("fs");
15
+ const fstart_as_data_url_1 = require("../../tools/fstart-as-data-url");
22
16
  const mem_resuts_1 = require("../../utils/mem-resuts");
23
- const shared_mappings_plugin_1 = require("../../utils/shared-mappings-plugin");
24
17
  const i18n_1 = require("../../utils/i18n");
25
- const fstart_as_data_url_1 = require("../../tools/fstart-as-data-url");
18
+ const rebuild_events_1 = require("../../utils/rebuild-events");
19
+ const shared_mappings_plugin_1 = require("../../utils/shared-mappings-plugin");
20
+ const updateIndexHtml_1 = require("../../utils/updateIndexHtml");
21
+ const federation_build_notifier_1 = require("./federation-build-notifier");
26
22
  function _buildApplication(options, context, pluginsOrExtensions) {
27
23
  let extensions;
28
24
  if (pluginsOrExtensions && Array.isArray(pluginsOrExtensions)) {
@@ -38,7 +34,8 @@ function _buildApplication(options, context, pluginsOrExtensions) {
38
34
  function runBuilder(nfOptions, context) {
39
35
  return tslib_1.__asyncGenerator(this, arguments, function* runBuilder_1() {
40
36
  var _a, e_1, _b, _c;
41
- let target = (0, architect_2.targetFromTargetString)(nfOptions.target);
37
+ var _d, _e, _f;
38
+ let target = (0, architect_1.targetFromTargetString)(nfOptions.target);
42
39
  let _options = (yield tslib_1.__await(context.getTargetOptions(target)));
43
40
  let builder = yield tslib_1.__await(context.getBuilderNameForTarget(target));
44
41
  if (builder === '@angular-devkit/build-angular:browser-esbuild') {
@@ -70,7 +67,7 @@ function runBuilder(nfOptions, context) {
70
67
  const write = true;
71
68
  const watch = nfOptions.watch;
72
69
  if (runServer) {
73
- target = (0, architect_2.targetFromTargetString)(outerOptions.buildTarget);
70
+ target = (0, architect_1.targetFromTargetString)(outerOptions.buildTarget);
74
71
  _options = (yield tslib_1.__await(context.getTargetOptions(target)));
75
72
  builder = yield tslib_1.__await(context.getBuilderNameForTarget(target));
76
73
  options = (yield tslib_1.__await(context.validateOptions(_options, builder)));
@@ -84,7 +81,7 @@ function runBuilder(nfOptions, context) {
84
81
  }
85
82
  const rebuildEvents = new rebuild_events_1.RebuildHubs();
86
83
  const adapter = (0, angular_esbuild_adapter_1.createAngularBuildAdapter)(options, context, rebuildEvents);
87
- (0, build_3.setBuildAdapter)(adapter);
84
+ (0, build_2.setBuildAdapter)(adapter);
88
85
  (0, build_2.setLogLevel)(options.verbose ? 'verbose' : 'info');
89
86
  if (!options.outputPath) {
90
87
  options.outputPath = `dist/${context.target.project}`;
@@ -93,7 +90,10 @@ function runBuilder(nfOptions, context) {
93
90
  const outputOptions = Object.assign(Object.assign({ browser: 'browser', server: 'server', media: 'media' }, (typeof outputPath === 'string' ? undefined : outputPath)), { base: typeof outputPath === 'string' ? outputPath : outputPath.base });
94
91
  const i18n = yield tslib_1.__await((0, i18n_1.getI18nConfig)(context));
95
92
  const localeFilter = getLocaleFilter(options, runServer);
96
- const browserOutputPath = path.join(outputOptions.base, outputOptions.browser, options.localize ? (i18n === null || i18n === void 0 ? void 0 : i18n.sourceLocale) || '' : '');
93
+ const sourceLocaleSegment = typeof (i18n === null || i18n === void 0 ? void 0 : i18n.sourceLocale) === 'string'
94
+ ? i18n.sourceLocale
95
+ : ((_d = i18n === null || i18n === void 0 ? void 0 : i18n.sourceLocale) === null || _d === void 0 ? void 0 : _d.subPath) || ((_e = i18n === null || i18n === void 0 ? void 0 : i18n.sourceLocale) === null || _e === void 0 ? void 0 : _e.code) || '';
96
+ const browserOutputPath = path.join(outputOptions.base, outputOptions.browser, options.localize ? sourceLocaleSegment : '');
97
97
  const differentDevServerOutputPath = Array.isArray(localeFilter) && localeFilter.length === 1;
98
98
  const devServerOutputPath = !differentDevServerOutputPath
99
99
  ? browserOutputPath
@@ -108,10 +108,11 @@ function runBuilder(nfOptions, context) {
108
108
  watch: false, // options.watch,
109
109
  dev: !!nfOptions.dev,
110
110
  entryPoint,
111
+ buildNotifications: nfOptions.buildNotifications,
111
112
  };
112
113
  const activateSsr = nfOptions.ssr && !nfOptions.dev;
113
- const config = yield tslib_1.__await((0, build_5.loadFederationConfig)(fedOptions));
114
- const externals = (0, build_4.getExternals)(config);
114
+ const config = yield tslib_1.__await((0, build_2.loadFederationConfig)(fedOptions));
115
+ const externals = (0, build_2.getExternals)(config);
115
116
  const plugins = [
116
117
  (0, shared_mappings_plugin_1.createSharedMappingsPlugin)(config.sharedMappings),
117
118
  {
@@ -127,7 +128,17 @@ function runBuilder(nfOptions, context) {
127
128
  if (activateSsr) {
128
129
  options.externalDependencies = externals;
129
130
  }
131
+ const isLocalDevelopment = runServer && nfOptions.dev;
132
+ // Initialize SSE reloader only for local development
133
+ if (isLocalDevelopment && ((_f = nfOptions.buildNotifications) === null || _f === void 0 ? void 0 : _f.enable)) {
134
+ federation_build_notifier_1.federationBuildNotifier.initialize(nfOptions.buildNotifications.endpoint);
135
+ }
130
136
  const middleware = [
137
+ ...(isLocalDevelopment
138
+ ? [
139
+ federation_build_notifier_1.federationBuildNotifier.createEventMiddleware((req) => removeBaseHref(req, options.baseHref)),
140
+ ]
141
+ : []),
131
142
  (req, res, next) => {
132
143
  const url = removeBaseHref(req, options.baseHref);
133
144
  const fileName = path.join(fedOptions.workspaceRoot, devServerOutputPath, url);
@@ -171,13 +182,10 @@ function runBuilder(nfOptions, context) {
171
182
  }
172
183
  let federationResult;
173
184
  try {
174
- federationResult = yield tslib_1.__await((0, build_6.buildForFederation)(config, fedOptions, externals));
185
+ federationResult = yield tslib_1.__await((0, build_2.buildForFederation)(config, fedOptions, externals));
175
186
  }
176
187
  catch (e) {
177
- console.error(e);
178
- if (!watch) {
179
- process.exit(1);
180
- }
188
+ process.exit(1);
181
189
  }
182
190
  if (activateSsr) {
183
191
  writeFstartScript(fedOptions);
@@ -187,7 +195,7 @@ function runBuilder(nfOptions, context) {
187
195
  (0, i18n_1.translateFederationArtefacts)(i18n, localeFilter, outputOptions.base, federationResult);
188
196
  }
189
197
  options.deleteOutputPath = false;
190
- const appBuilderName = '@angular-devkit/build-angular:application';
198
+ const appBuilderName = '@angular/build:application';
191
199
  const builderRun = runServer
192
200
  ? (0, private_1.serveWithVite)(normOuterOptions, appBuilderName, _buildApplication, context, nfOptions.skipHtmlTransform
193
201
  ? {}
@@ -200,56 +208,76 @@ function runBuilder(nfOptions, context) {
200
208
  indexHtmlTransformer: transformIndexHtml(nfOptions),
201
209
  });
202
210
  try {
203
- // builderRun.output.subscribe(async (output) => {
204
- for (var _d = true, builderRun_1 = tslib_1.__asyncValues(builderRun), builderRun_1_1; builderRun_1_1 = yield tslib_1.__await(builderRun_1.next()), _a = builderRun_1_1.done, !_a; _d = true) {
205
- _c = builderRun_1_1.value;
206
- _d = false;
207
- const output = _c;
208
- lastResult = output;
209
- if (!write && output['outputFiles']) {
210
- memResults.add(output['outputFiles'].map((file) => new mem_resuts_1.EsBuildResult(file)));
211
- }
212
- if (!write && output['assetFiles']) {
213
- memResults.add(output['assetFiles'].map((file) => new mem_resuts_1.NgCliAssetResult(file)));
214
- }
215
- // if (write && !runServer && !nfOptions.skipHtmlTransform) {
216
- // updateIndexHtml(fedOptions, nfOptions);
217
- // }
218
- // if (!runServer) {
219
- // yield output;
220
- // }
221
- if (!first && (nfOptions.dev || watch)) {
222
- setTimeout(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
223
- try {
224
- federationResult = yield (0, build_6.buildForFederation)(config, fedOptions, externals);
225
- if (hasLocales && localeFilter) {
226
- (0, i18n_1.translateFederationArtefacts)(i18n, localeFilter, outputOptions.base, federationResult);
211
+ try {
212
+ // builderRun.output.subscribe(async (output) => {
213
+ for (var _g = true, builderRun_1 = tslib_1.__asyncValues(builderRun), builderRun_1_1; builderRun_1_1 = yield tslib_1.__await(builderRun_1.next()), _a = builderRun_1_1.done, !_a; _g = true) {
214
+ _c = builderRun_1_1.value;
215
+ _g = false;
216
+ const output = _c;
217
+ lastResult = output;
218
+ if (!write && output['outputFiles']) {
219
+ memResults.add(output['outputFiles'].map((file) => new mem_resuts_1.EsBuildResult(file)));
220
+ }
221
+ if (!write && output['assetFiles']) {
222
+ memResults.add(output['assetFiles'].map((file) => new mem_resuts_1.NgCliAssetResult(file)));
223
+ }
224
+ // if (write && !runServer && !nfOptions.skipHtmlTransform) {
225
+ // updateIndexHtml(fedOptions, nfOptions);
226
+ // }
227
+ // if (!runServer) {
228
+ // yield output;
229
+ // }
230
+ if (!first && (nfOptions.dev || watch)) {
231
+ setTimeout(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
232
+ try {
233
+ federationResult = yield (0, build_2.buildForFederation)(config, fedOptions, externals, {
234
+ skipMappingsAndExposed: false,
235
+ skipShared: true,
236
+ });
237
+ if (hasLocales && localeFilter) {
238
+ (0, i18n_1.translateFederationArtefacts)(i18n, localeFilter, outputOptions.base, federationResult);
239
+ }
240
+ build_2.logger.info('Done!');
241
+ // Notifies about build completion
242
+ if (isLocalDevelopment) {
243
+ federation_build_notifier_1.federationBuildNotifier.broadcastBuildCompletion();
244
+ }
245
+ }
246
+ catch (error) {
247
+ build_2.logger.error('Federation rebuild failed!');
248
+ // Notifies about build failure
249
+ if (isLocalDevelopment) {
250
+ federation_build_notifier_1.federationBuildNotifier.broadcastBuildError(error);
251
+ }
227
252
  }
228
- build_2.logger.info('Done!');
229
- }
230
- catch (_a) {
231
- build_2.logger.error('Not successful!');
232
- }
233
- // if (runServer) {
234
- // setTimeout(() => reloadShell(nfOptions.shell), 0);
235
- // }
236
- }), nfOptions.rebuildDelay);
253
+ }), nfOptions.rebuildDelay);
254
+ }
255
+ first = false;
256
+ }
257
+ }
258
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
259
+ finally {
260
+ try {
261
+ if (!_g && !_a && (_b = builderRun_1.return)) yield tslib_1.__await(_b.call(builderRun_1));
237
262
  }
238
- first = false;
263
+ finally { if (e_1) throw e_1.error; }
239
264
  }
240
265
  }
241
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
242
266
  finally {
243
- try {
244
- if (!_d && !_a && (_b = builderRun_1.return)) yield tslib_1.__await(_b.call(builderRun_1));
267
+ if (isLocalDevelopment) {
268
+ federation_build_notifier_1.federationBuildNotifier.stopEventServer();
245
269
  }
246
- finally { if (e_1) throw e_1.error; }
247
270
  }
248
271
  yield yield tslib_1.__await(lastResult || { success: false });
249
272
  });
250
273
  }
251
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
252
- exports.default = (0, architect_1.createBuilder)(runBuilder);
274
+ function removeBaseHref(req, baseHref) {
275
+ let url = req.url;
276
+ if (baseHref && url.startsWith(baseHref)) {
277
+ url = url.substr(baseHref.length);
278
+ }
279
+ return url;
280
+ }
253
281
  function writeFstartScript(fedOptions) {
254
282
  const serverOutpath = path.join(fedOptions.outputPath, '../server');
255
283
  const fstartPath = path.join(serverOutpath, 'fstart.mjs');
@@ -267,13 +295,6 @@ function getLocaleFilter(options, runServer) {
267
295
  }
268
296
  return localize;
269
297
  }
270
- function removeBaseHref(req, baseHref) {
271
- let url = req.url;
272
- if (baseHref && url.startsWith(baseHref)) {
273
- url = url.substr(baseHref.length);
274
- }
275
- return url;
276
- }
277
298
  function infereConfigPath(tsConfig) {
278
299
  const relProjectPath = path.dirname(tsConfig);
279
300
  const relConfigPath = path.join(relProjectPath, 'federation.config.js');
@@ -295,4 +316,6 @@ function addDebugInformation(fileName, rawBody) {
295
316
  remoteEntry.shared = [...shared, ...sharedForVite];
296
317
  return JSON.stringify(remoteEntry, null, 2);
297
318
  }
319
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
320
+ exports.default = (0, architect_1.createBuilder)(runBuilder);
298
321
  //# sourceMappingURL=builder.js.map
@@ -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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"}
@@ -0,0 +1,65 @@
1
+ import { IncomingMessage, ServerResponse } from 'http';
2
+ type NextFunction = (error?: Error) => void;
3
+ type MiddlewareFunction = (req: IncomingMessage, res: ServerResponse, next: NextFunction) => void;
4
+ /**
5
+ * Manages Server-Sent Events for federation hot reload in local development
6
+ * Only active when running in development mode with dev server
7
+ */
8
+ export declare class FederationBuildNotifier {
9
+ private connections;
10
+ private cleanupInterval;
11
+ private isActive;
12
+ private endpoint;
13
+ /**
14
+ * Initializes the SSE reloader for local development
15
+ */
16
+ initialize(endpoint: string): void;
17
+ /**
18
+ * Creates SSE middleware for federation events
19
+ */
20
+ createEventMiddleware(removeBaseHref: (req: IncomingMessage) => string): MiddlewareFunction;
21
+ /**
22
+ * Sets up a new SSE connection
23
+ */
24
+ private _setupSSEConnection;
25
+ /**
26
+ * Removes a connection from the pool
27
+ */
28
+ private _removeConnection;
29
+ /**
30
+ * Broadcasts an event to all connected clients
31
+ * Only works in local development mode
32
+ */
33
+ private _broadcastEvent;
34
+ /**
35
+ * Sends an event to a specific response stream
36
+ */
37
+ private _sendEvent;
38
+ /**
39
+ * Starts periodic cleanup of dead connections
40
+ */
41
+ private startCleanup;
42
+ /**
43
+ * Notifies about successful federation rebuild
44
+ */
45
+ broadcastBuildCompletion(): void;
46
+ /**
47
+ * Notifies about failed federation rebuild
48
+ */
49
+ broadcastBuildError(error: unknown): void;
50
+ /**
51
+ * Stops cleanup and closes all connections
52
+ * Should be called when development server stops
53
+ */
54
+ stopEventServer(): void;
55
+ /**
56
+ * Returns the number of active connections
57
+ */
58
+ get activeConnections(): number;
59
+ /**
60
+ * Returns whether the reloader is active
61
+ */
62
+ get isRunning(): boolean;
63
+ }
64
+ export declare const federationBuildNotifier: FederationBuildNotifier;
65
+ export {};