@angular-architects/native-federation 17.1.0-rc.1 โ†’ 17.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,340 +1,348 @@
1
- # Native Federation for Angular
2
-
3
- Native Federation is a "browser-native" implementation of the successful mental model behind webpack Module Federation for building Micro Frontends (Plugins, etc.).
4
-
5
- ## Features ๐Ÿ”ฅ
6
-
7
- - โœ… Mental Model of Module Federation
8
- - โœ… Future Proof: Independent of build tools like webpack
9
- - โœ… Embraces Import Maps - an emerging web standard
10
- - โœ… Easy to configure: We use the same API and Schematics as for our Module Federation plugin
11
- - โœ… Blazing Fast: The reference implementation not only uses the fast esbuild; it also caches already built shared dependencies.
12
-
13
- ## Prerequisite
14
-
15
- Angular & Angular CLI 16.1 or higher
16
-
17
- This package was successfully tested with Angular CLI projects and with Nx projects.
18
-
19
- ## Versions
20
-
21
- We will at least provide a new version of this package per Angular major. If necessary, we will also provide packages to adapt to Angular minors. To make the relationship between Angular versions and versions of this package easy for all of us, **we follow Angular's version numbers**. E. g., `@angular-architects/native-federation` 16.1 is intended for Angular 16.1 and upwards.
22
-
23
- - Use version 16.1.x for Angular 16.1.x
24
- - Use version 16.2.x for Angular 16.2.x
25
- - Use version 17.x for Angular 17.x
26
- - Use version 17.1.x-rc.x for Angular 17.1+
27
-
28
- ## Credits
29
-
30
- Big thanks to:
31
-
32
- - [Zack Jackson](https://twitter.com/ScriptedAlchemy) for initially coming up with the great idea of Module Federation and its successful mental model
33
- - [Tobias Koppers](https://twitter.com/wSokra) for helping to make Module Federation a first class citizen of webpack
34
- - [Florian Rappl](https://twitter.com/FlorianRappl) for a good discussion about these topics during a speakers dinner in Nuremberg
35
- - [The Nx Team](https://twitter.com/NxDevTools), esp. [Colum Ferry](https://twitter.com/FerryColum), who seamlessly integrated webpack Module Federation into Nx and hence helped to spread the word about it (Nx + Module Federation === โค๏ธ)
36
- - [Michael Egger-Zikes](https://twitter.com/MikeZks) for contributing to our Module Federation efforts and brining in valuable feedback
37
- - The Angular CLI-Team, esp. [Alan Agius](https://twitter.com/AlanAgius4) and Charles Lyding, for their fantastic work on the esbuild builder for Angular
38
-
39
- ## Example ๐Ÿ› ๏ธ
40
-
41
- We migrated our webpack Module Federation example to Native Federation:
42
-
43
- ![Example](https://raw.githubusercontent.com/angular-architects/module-federation-plugin/main/libs/native-federation/example.png)
44
-
45
- Please find the example [here (branch: nf-standalone-solution)](https://github.com/manfredsteyer/module-federation-plugin-example/tree/nf-standalone-solution):
46
-
47
- ```
48
- git clone https://github.com/manfredsteyer/module-federation-plugin-example.git --branch nf-standalone-solution
49
-
50
- cd module-federation-plugin-example
51
-
52
- npm i
53
- ```
54
-
55
- Start the Micro Frontend:
56
-
57
- ```
58
- ng serve mfe1 -o
59
- ```
60
-
61
- _(In the case of an error, see this [information below](#error-file-srcmaints-is-missing-from-the-typescript-compilation-plugin-angular-compiler))_
62
-
63
- Wait until the Micro Frontend is started.
64
-
65
- Open another console and start the shell:
66
-
67
- ```
68
- ng serve shell -o
69
- ```
70
-
71
- The example loads a Micro Frontends into a shell:
72
-
73
- ![Microfrontend Loaded into Shell](https://github.com/angular-architects/module-federation-plugin/raw/main/libs/mf/tutorial/result.png)
74
-
75
- ## Relationship to @angular-architects/module-federation
76
-
77
- This package, `@angular-architects/native-federation`, uses the same API as `@angular-architects/module-federation`. To switch over, just make sure you import everything from the former package. Don't mix these packages.
78
-
79
- ## About the Mental Model ๐Ÿง 
80
-
81
- The underlying mental model allows for runtime integration: Loading a part of a separately built and deployed application into yours. This is needed for Micro Frontend architectures but also for plugin-based solutions.
82
-
83
- For this, the mental model introduces several concepts:
84
-
85
- - **Remote:** The remote is a separately built and deployed application. It can **expose EcmaScript** modules that can be loaded into other applications.
86
- - **Host:** The host loads one or several remotes on demand. From your framework's perspective, this looks like traditional lazy loading. The big difference is that the host doesn't know the remotes at compilation time.
87
- - **Shared Dependencies**:\*\* If several remotes and the host use the same library, you might not want to download it several times. Instead, you might want to download it once and share it at runtime. For this use case, the mental model allows for defining such shared dependencies.
88
- - **Version Mismatch:** If two or more applications use a different version of the same shared library, we need to prevent a version mismatch. The mental model defines several strategies to deal with it, like falling back to another version that fits the application, using a different compatible one (according to semantic versioning), or throwing an error.
89
-
90
- ## Usage/ Tutorial ๐Ÿงช
91
-
92
- You can checkout the [nf-standalone-starter branch](https://github.com/manfredsteyer/module-federation-plugin-example/tree/nf-standalone-starter) to try out Native Federation:
93
-
94
- ```
95
- git clone https://github.com/manfredsteyer/module-federation-plugin-example.git --branch nf-standalone-starter
96
-
97
- cd module-federation-plugin-example
98
-
99
- npm i
100
- ```
101
-
102
- This repository consists of two Angular applications: a `shell` and a Micro Frontend called `mfe1`. During this tutorial, you will load `mfe1` into the `shell`:
103
-
104
- ![Microfrontend Loaded into Shell](https://github.com/angular-architects/module-federation-plugin/raw/main/libs/mf/tutorial/result.png)
105
-
106
- ### Adding Native Federation
107
-
108
- ```
109
- npm i @angular-architects/native-federation -D
110
- ```
111
-
112
- Making an application a remote (Micro Frontend):
113
-
114
- ```
115
- ng g @angular-architects/native-federation:init --project mfe1 --port 4201 --type remote
116
- ```
117
-
118
- Making an application a host (shell):
119
-
120
- ```
121
- ng g @angular-architects/native-federation:init --project shell --port 4200 --type dynamic-host
122
- ```
123
-
124
- A dynamic host reads the configuration data at runtime from a `.json` file.
125
-
126
- > The schematics called here automate most steps of this tutorial, esp. adding configuration files and bootstrapping Native Federation. Hence, the following sections primarily discuss these changes. You just need to add a lazy route (see below) and make sure the correct ports are configured in the federation manifest (see below too).
127
-
128
- ### Configuring the Host
129
-
130
- The host configuration (`projects/shell/federation.config.js`) looks like what you know from our Module Federation plugin:
131
-
132
- ```javascript
133
- const {
134
- withNativeFederation,
135
- shareAll,
136
- } = require('@angular-architects/native-federation/config');
137
-
138
- module.exports = withNativeFederation({
139
- shared: {
140
- ...shareAll({
141
- singleton: true,
142
- strictVersion: true,
143
- requiredVersion: 'auto',
144
- }),
145
- },
146
-
147
- skip: [
148
- 'rxjs/ajax',
149
- 'rxjs/fetch',
150
- 'rxjs/testing',
151
- 'rxjs/webSocket',
152
- // Add further packages you don't need at runtime
153
- ],
154
- });
155
- ```
156
-
157
- > Our `init` schematic shown above generates this file for you.
158
-
159
- ### Configuring the Remote
160
-
161
- Also, the remote configuration (`projects/mfe1/federation.config.js`) looks familiar:
162
-
163
- ```javascript
164
- const {
165
- withNativeFederation,
166
- shareAll,
167
- } = require('@angular-architects/native-federation/config');
168
-
169
- module.exports = withNativeFederation({
170
- name: 'mfe1',
171
-
172
- exposes: {
173
- './Component': './projects/mfe1/src/app/app.component.ts',
174
- },
175
-
176
- shared: {
177
- ...shareAll({
178
- singleton: true,
179
- strictVersion: true,
180
- requiredVersion: 'auto',
181
- }),
182
- },
183
-
184
- skip: [
185
- 'rxjs/ajax',
186
- 'rxjs/fetch',
187
- 'rxjs/testing',
188
- 'rxjs/webSocket',
189
- // Add further packages you don't need at runtime
190
- ],
191
- });
192
- ```
193
-
194
- > Our `init` schematic shown above generates this file for you.
195
-
196
- ### Initializing the Host
197
-
198
- When bootstrapping the host (shell), Native Federation (`projects\shell\src\main.ts`) is initialized:
199
-
200
- ```typescript
201
- import { initFederation } from '@angular-architects/native-federation';
202
-
203
- initFederation('/assets/federation.manifest.json')
204
- .catch((err) => console.error(err))
205
- .then((_) => import('./bootstrap'))
206
- .catch((err) => console.error(err));
207
- ```
208
-
209
- > This file is generated by the schematic described above.
210
-
211
- The function points to a federation manifest. This manifest lists the individual remotes. It can be exchanged when deploying the solution. Hence, you can adapt the build to the respective environment.
212
-
213
- **Credits:** The Nx team originally came up with the idea for the manifest.
214
-
215
- This is what the (also generated) federation manifest (`projects\shell\src\assets\federation.manifest.json`) looks like:
216
-
217
- ```json
218
- {
219
- "mfe1": "http://localhost:4201/remoteEntry.json"
220
- }
221
- ```
222
-
223
- Native Federation generates the `remoteEntry.json`. It contains metadata about the individual remote.
224
-
225
- If you follow this tutorial, **ensure** this entry points to port `4201` (!).
226
-
227
- ### Initializing the Remote
228
-
229
- When bootstrapping your remote (`projects\mfe1\src\main.ts`), Native Federation is initialized too:
230
-
231
- ```typescript
232
- import { initFederation } from '@angular-architects/native-federation';
233
-
234
- initFederation()
235
- .catch((err) => console.error(err))
236
- .then((_) => import('./bootstrap'))
237
- .catch((err) => console.error(err));
238
- ```
239
-
240
- > Our `init` schematic shown above also generates this file.
241
-
242
- After the initialization, it loads the file `bootstrap.ts` starting your Angular application.
243
-
244
- ### Loading a Remote
245
-
246
- For loading a component (or any other building block) exposed by a remote into the host, use Native Federation's `loadRemoteModule` function together with lazy loading (`projects\shell\src\app\app.routes.ts`):
247
-
248
- ```typescript
249
- import { Routes } from '@angular/router';
250
- import { HomeComponent } from './home/home.component';
251
- import { NotFoundComponent } from './not-found/not-found.component';
252
-
253
- // Add this import:
254
- import { loadRemoteModule } from '@angular-architects/native-federation';
255
-
256
- export const APP_ROUTES: Routes = [
257
- {
258
- path: '',
259
- component: HomeComponent,
260
- pathMatch: 'full',
261
- },
262
-
263
- // Add this route:
264
- {
265
- path: 'flights',
266
- loadComponent: () =>
267
- loadRemoteModule('mfe1', './Component').then((m) => m.AppComponent),
268
- },
269
-
270
- {
271
- path: '**',
272
- component: NotFoundComponent,
273
- },
274
-
275
- // DO NOT insert routes after this one.
276
- // { path:'**', ...} needs to be the LAST one.
277
- ];
278
- ```
279
-
280
- ### Starting your example
281
-
282
- Start the remote:
283
-
284
- ```
285
- ng serve mfe1 -o
286
- ```
287
-
288
- _(In the case of an error, see this [information below](#error-file-srcmaints-is-missing-from-the-typescript-compilation-plugin-angular-compiler))_
289
-
290
- Once the remote is started, start the shell:
291
-
292
- ```
293
- ng serve shell -o
294
- ```
295
-
296
- Now, by clicking at the 2nd menu item, you can load the remote directly into the host.
297
-
298
- ## FAQ
299
-
300
- ### When to use this package?
301
-
302
- If you like the idea of webpack Module Federation but want to switch over to Angular's new esbuild builder (currently in developer preview), you can use this package.
303
-
304
- ### Error: File 'src\main.ts' is missing from the TypeScript compilation. [plugin angular-compiler]
305
-
306
- It seems like the current version of Angular's esbuild builder has an issue with paths on Windows when using the traditional command prompt. For the time being, try to ng serve and ng build your application via PowerShell, the git bash, or WSL.
307
-
308
- ### I get an error when preparing shared packages. What to do?
309
-
310
- Native Federation needs to prepare all your shared packages so that it can load them on demand as EcmaScript modules. This only happens once for development and once for production builds. The result of this is cached.
311
-
312
- If the preparation of one of these packages fails, you get an error like this one:
313
-
314
- ![error when preparing shared packages](https://github.com/angular-architects/module-federation-plugin/blob/main/error.png?raw=true)
315
-
316
- For this, there are several reasons:
317
-
318
- - Perhaps you try to share a package intended for NodeJS/ a package that cannot be converted to EcmaScript modules. This happens if you use `shareAll` in the `federation.config.js` and when the package in question is part of your dependencies in `package.json`. If you don't need (to share) this package at runtime, move it to `devDependencies` or add it to the `skip` section of your `federation.config.js`.
319
-
320
- - Perhaps your shared packages contain some code esbuild cannot transfer to EcmaScript modules. This should not be the case for packages, built with the Angular CLI or Nx and the underlying package ng-packagr. If this happens, please let us know about the package causing troubles.
321
-
322
- ### How to speed up package preparation during the build process
323
-
324
- The already prepared packages are cached in `node_modules/.cache`. Make sure, this folder is reused across subsequent build process runs.
325
-
326
- ### How does Native Federation Work under the Covers?
327
-
328
- We use Import Maps at runtime. In addition to Import Maps, we use some code at build time and at runtime to provide the Mental Model of Module Federation.
329
-
330
- ## Documentation ๐Ÿ“ฐ
331
-
332
- Please have a look at this [article series](https://www.angulararchitects.io/en/aktuelles/the-microfrontend-revolution-part-2-module-federation-with-angular/).
333
-
334
- Even though these articles were written for Module Federation, thanks to the same API, they also apply to Native Federation.
335
-
336
- ## More: Angular Architecture Workshop (100% online, interactive)
337
-
338
- In our [Angular Architecture Workshop](https://www.angulararchitects.io/en/angular-workshops/advanced-angular-enterprise-architecture-incl-ivy/), we cover all these topics and far more. We provide different options and alternatives and show up their consequences.
339
-
340
- [Details: Angular Architecture Workshop](https://www.angulararchitects.io/en/angular-workshops/advanced-angular-enterprise-architecture-incl-ivy/)
1
+ # Native Federation for Angular
2
+
3
+ Native Federation is a "browser-native" implementation of the successful mental model behind webpack Module Federation for building Micro Frontends (Plugins, etc.).
4
+
5
+ ## Features ๐Ÿ”ฅ
6
+
7
+ - โœ… Mental Model of Module Federation
8
+ - โœ… Future Proof: Independent of build tools like webpack
9
+ - โœ… Embraces Import Maps - an emerging web standard
10
+ - โœ… Easy to configure: We use the same API and Schematics as for our Module Federation plugin
11
+ - โœ… Blazing Fast: The reference implementation not only uses the fast esbuild; it also caches already built shared dependencies.
12
+
13
+ ## Prerequisite
14
+
15
+ Angular & Angular CLI 16.1 or higher
16
+
17
+ This package was successfully tested with Angular CLI projects and with Nx projects.
18
+
19
+ ## Versions
20
+
21
+ We will at least provide a new version of this package per Angular major. If necessary, we will also provide packages to adapt to Angular minors. To make the relationship between Angular versions and versions of this package easy for all of us, **we follow Angular's version numbers**. E. g., `@angular-architects/native-federation` 16.1 is intended for Angular 16.1 and upwards.
22
+
23
+ - Use version 16.1.x for Angular 16.1.x
24
+ - Use version 16.2.x for Angular 16.2.x
25
+ - Use version 17.x for Angular 17.x
26
+ - Use version 17.1.x for Angular 17.1+
27
+
28
+
29
+ ## Angular Integration
30
+
31
+ Since 17.1, Native Federation for Angular uses the Angular CLI's ``esbuild``-based **Application Builder** and the CLI's **Dev Server** to keep track with all the innovations and performance-improvements in that space.
32
+
33
+ Please find some [information for upgrading to 17.1. here](https://github.com/angular-architects/module-federation-plugin/blob/main/libs/native-federation/migrate-appbuilder.md).
34
+
35
+
36
+ ## Credits
37
+
38
+ Big thanks to:
39
+
40
+ - [Zack Jackson](https://twitter.com/ScriptedAlchemy) for initially coming up with the great idea of Module Federation and its successful mental model
41
+ - [Tobias Koppers](https://twitter.com/wSokra) for helping to make Module Federation a first class citizen of webpack
42
+ - [Florian Rappl](https://twitter.com/FlorianRappl) for a good discussion about these topics during a speakers dinner in Nuremberg
43
+ - [The Nx Team](https://twitter.com/NxDevTools), esp. [Colum Ferry](https://twitter.com/FerryColum), who seamlessly integrated webpack Module Federation into Nx and hence helped to spread the word about it (Nx + Module Federation === โค๏ธ)
44
+ - [Michael Egger-Zikes](https://twitter.com/MikeZks) for contributing to our Module Federation efforts and brining in valuable feedback
45
+ - The Angular CLI-Team, esp. [Alan Agius](https://twitter.com/AlanAgius4) and Charles Lyding, for their fantastic work on the esbuild builder for Angular
46
+
47
+ ## Example ๐Ÿ› ๏ธ
48
+
49
+ We migrated our webpack Module Federation example to Native Federation:
50
+
51
+ ![Example](https://raw.githubusercontent.com/angular-architects/module-federation-plugin/main/libs/native-federation/example.png)
52
+
53
+ Please find the example [here (branch: nf-standalone-solution)](https://github.com/manfredsteyer/module-federation-plugin-example/tree/nf-standalone-solution):
54
+
55
+ ```
56
+ git clone https://github.com/manfredsteyer/module-federation-plugin-example.git --branch nf-standalone-solution
57
+
58
+ cd module-federation-plugin-example
59
+
60
+ npm i
61
+ ```
62
+
63
+ Start the Micro Frontend:
64
+
65
+ ```
66
+ ng serve mfe1 -o
67
+ ```
68
+
69
+ _(In the case of an error, see this [information below](#error-file-srcmaints-is-missing-from-the-typescript-compilation-plugin-angular-compiler))_
70
+
71
+ Wait until the Micro Frontend is started.
72
+
73
+ Open another console and start the shell:
74
+
75
+ ```
76
+ ng serve shell -o
77
+ ```
78
+
79
+ The example loads a Micro Frontends into a shell:
80
+
81
+ ![Microfrontend Loaded into Shell](https://github.com/angular-architects/module-federation-plugin/raw/main/libs/mf/tutorial/result.png)
82
+
83
+ ## Relationship to @angular-architects/module-federation
84
+
85
+ This package, `@angular-architects/native-federation`, uses the same API as `@angular-architects/module-federation`. To switch over, just make sure you import everything from the former package. Don't mix these packages.
86
+
87
+ ## About the Mental Model ๐Ÿง 
88
+
89
+ The underlying mental model allows for runtime integration: Loading a part of a separately built and deployed application into yours. This is needed for Micro Frontend architectures but also for plugin-based solutions.
90
+
91
+ For this, the mental model introduces several concepts:
92
+
93
+ - **Remote:** The remote is a separately built and deployed application. It can **expose EcmaScript** modules that can be loaded into other applications.
94
+ - **Host:** The host loads one or several remotes on demand. From your framework's perspective, this looks like traditional lazy loading. The big difference is that the host doesn't know the remotes at compilation time.
95
+ - **Shared Dependencies**:\*\* If several remotes and the host use the same library, you might not want to download it several times. Instead, you might want to download it once and share it at runtime. For this use case, the mental model allows for defining such shared dependencies.
96
+ - **Version Mismatch:** If two or more applications use a different version of the same shared library, we need to prevent a version mismatch. The mental model defines several strategies to deal with it, like falling back to another version that fits the application, using a different compatible one (according to semantic versioning), or throwing an error.
97
+
98
+ ## Usage/ Tutorial ๐Ÿงช
99
+
100
+ You can checkout the [nf-standalone-starter branch](https://github.com/manfredsteyer/module-federation-plugin-example/tree/nf-standalone-starter) to try out Native Federation:
101
+
102
+ ```
103
+ git clone https://github.com/manfredsteyer/module-federation-plugin-example.git --branch nf-standalone-starter
104
+
105
+ cd module-federation-plugin-example
106
+
107
+ npm i
108
+ ```
109
+
110
+ This repository consists of two Angular applications: a `shell` and a Micro Frontend called `mfe1`. During this tutorial, you will load `mfe1` into the `shell`:
111
+
112
+ ![Microfrontend Loaded into Shell](https://github.com/angular-architects/module-federation-plugin/raw/main/libs/mf/tutorial/result.png)
113
+
114
+ ### Adding Native Federation
115
+
116
+ ```
117
+ npm i @angular-architects/native-federation -D
118
+ ```
119
+
120
+ Making an application a remote (Micro Frontend):
121
+
122
+ ```
123
+ ng g @angular-architects/native-federation:init --project mfe1 --port 4201 --type remote
124
+ ```
125
+
126
+ Making an application a host (shell):
127
+
128
+ ```
129
+ ng g @angular-architects/native-federation:init --project shell --port 4200 --type dynamic-host
130
+ ```
131
+
132
+ A dynamic host reads the configuration data at runtime from a `.json` file.
133
+
134
+ > The schematics called here automate most steps of this tutorial, esp. adding configuration files and bootstrapping Native Federation. Hence, the following sections primarily discuss these changes. You just need to add a lazy route (see below) and make sure the correct ports are configured in the federation manifest (see below too).
135
+
136
+ ### Configuring the Host
137
+
138
+ The host configuration (`projects/shell/federation.config.js`) looks like what you know from our Module Federation plugin:
139
+
140
+ ```javascript
141
+ const {
142
+ withNativeFederation,
143
+ shareAll,
144
+ } = require('@angular-architects/native-federation/config');
145
+
146
+ module.exports = withNativeFederation({
147
+ shared: {
148
+ ...shareAll({
149
+ singleton: true,
150
+ strictVersion: true,
151
+ requiredVersion: 'auto',
152
+ }),
153
+ },
154
+
155
+ skip: [
156
+ 'rxjs/ajax',
157
+ 'rxjs/fetch',
158
+ 'rxjs/testing',
159
+ 'rxjs/webSocket',
160
+ // Add further packages you don't need at runtime
161
+ ],
162
+ });
163
+ ```
164
+
165
+ > Our `init` schematic shown above generates this file for you.
166
+
167
+ ### Configuring the Remote
168
+
169
+ Also, the remote configuration (`projects/mfe1/federation.config.js`) looks familiar:
170
+
171
+ ```javascript
172
+ const {
173
+ withNativeFederation,
174
+ shareAll,
175
+ } = require('@angular-architects/native-federation/config');
176
+
177
+ module.exports = withNativeFederation({
178
+ name: 'mfe1',
179
+
180
+ exposes: {
181
+ './Component': './projects/mfe1/src/app/app.component.ts',
182
+ },
183
+
184
+ shared: {
185
+ ...shareAll({
186
+ singleton: true,
187
+ strictVersion: true,
188
+ requiredVersion: 'auto',
189
+ }),
190
+ },
191
+
192
+ skip: [
193
+ 'rxjs/ajax',
194
+ 'rxjs/fetch',
195
+ 'rxjs/testing',
196
+ 'rxjs/webSocket',
197
+ // Add further packages you don't need at runtime
198
+ ],
199
+ });
200
+ ```
201
+
202
+ > Our `init` schematic shown above generates this file for you.
203
+
204
+ ### Initializing the Host
205
+
206
+ When bootstrapping the host (shell), Native Federation (`projects\shell\src\main.ts`) is initialized:
207
+
208
+ ```typescript
209
+ import { initFederation } from '@angular-architects/native-federation';
210
+
211
+ initFederation('/assets/federation.manifest.json')
212
+ .catch((err) => console.error(err))
213
+ .then((_) => import('./bootstrap'))
214
+ .catch((err) => console.error(err));
215
+ ```
216
+
217
+ > This file is generated by the schematic described above.
218
+
219
+ The function points to a federation manifest. This manifest lists the individual remotes. It can be exchanged when deploying the solution. Hence, you can adapt the build to the respective environment.
220
+
221
+ **Credits:** The Nx team originally came up with the idea for the manifest.
222
+
223
+ This is what the (also generated) federation manifest (`projects\shell\src\assets\federation.manifest.json`) looks like:
224
+
225
+ ```json
226
+ {
227
+ "mfe1": "http://localhost:4201/remoteEntry.json"
228
+ }
229
+ ```
230
+
231
+ Native Federation generates the `remoteEntry.json`. It contains metadata about the individual remote.
232
+
233
+ If you follow this tutorial, **ensure** this entry points to port `4201` (!).
234
+
235
+ ### Initializing the Remote
236
+
237
+ When bootstrapping your remote (`projects\mfe1\src\main.ts`), Native Federation is initialized too:
238
+
239
+ ```typescript
240
+ import { initFederation } from '@angular-architects/native-federation';
241
+
242
+ initFederation()
243
+ .catch((err) => console.error(err))
244
+ .then((_) => import('./bootstrap'))
245
+ .catch((err) => console.error(err));
246
+ ```
247
+
248
+ > Our `init` schematic shown above also generates this file.
249
+
250
+ After the initialization, it loads the file `bootstrap.ts` starting your Angular application.
251
+
252
+ ### Loading a Remote
253
+
254
+ For loading a component (or any other building block) exposed by a remote into the host, use Native Federation's `loadRemoteModule` function together with lazy loading (`projects\shell\src\app\app.routes.ts`):
255
+
256
+ ```typescript
257
+ import { Routes } from '@angular/router';
258
+ import { HomeComponent } from './home/home.component';
259
+ import { NotFoundComponent } from './not-found/not-found.component';
260
+
261
+ // Add this import:
262
+ import { loadRemoteModule } from '@angular-architects/native-federation';
263
+
264
+ export const APP_ROUTES: Routes = [
265
+ {
266
+ path: '',
267
+ component: HomeComponent,
268
+ pathMatch: 'full',
269
+ },
270
+
271
+ // Add this route:
272
+ {
273
+ path: 'flights',
274
+ loadComponent: () =>
275
+ loadRemoteModule('mfe1', './Component').then((m) => m.AppComponent),
276
+ },
277
+
278
+ {
279
+ path: '**',
280
+ component: NotFoundComponent,
281
+ },
282
+
283
+ // DO NOT insert routes after this one.
284
+ // { path:'**', ...} needs to be the LAST one.
285
+ ];
286
+ ```
287
+
288
+ ### Starting your example
289
+
290
+ Start the remote:
291
+
292
+ ```
293
+ ng serve mfe1 -o
294
+ ```
295
+
296
+ _(In the case of an error, see this [information below](#error-file-srcmaints-is-missing-from-the-typescript-compilation-plugin-angular-compiler))_
297
+
298
+ Once the remote is started, start the shell:
299
+
300
+ ```
301
+ ng serve shell -o
302
+ ```
303
+
304
+ Now, by clicking at the 2nd menu item, you can load the remote directly into the host.
305
+
306
+ ## FAQ
307
+
308
+ ### When to use this package?
309
+
310
+ If you like the idea of webpack Module Federation but want to switch over to Angular's new esbuild builder (currently in developer preview), you can use this package.
311
+
312
+ ### Error: File 'src\main.ts' is missing from the TypeScript compilation. [plugin angular-compiler]
313
+
314
+ It seems like the current version of Angular's esbuild builder has an issue with paths on Windows when using the traditional command prompt. For the time being, try to ng serve and ng build your application via PowerShell, the git bash, or WSL.
315
+
316
+ ### I get an error when preparing shared packages. What to do?
317
+
318
+ Native Federation needs to prepare all your shared packages so that it can load them on demand as EcmaScript modules. This only happens once for development and once for production builds. The result of this is cached.
319
+
320
+ If the preparation of one of these packages fails, you get an error like this one:
321
+
322
+ ![error when preparing shared packages](https://github.com/angular-architects/module-federation-plugin/blob/main/error.png?raw=true)
323
+
324
+ For this, there are several reasons:
325
+
326
+ - Perhaps you try to share a package intended for NodeJS/ a package that cannot be converted to EcmaScript modules. This happens if you use `shareAll` in the `federation.config.js` and when the package in question is part of your dependencies in `package.json`. If you don't need (to share) this package at runtime, move it to `devDependencies` or add it to the `skip` section of your `federation.config.js`.
327
+
328
+ - Perhaps your shared packages contain some code esbuild cannot transfer to EcmaScript modules. This should not be the case for packages, built with the Angular CLI or Nx and the underlying package ng-packagr. If this happens, please let us know about the package causing troubles.
329
+
330
+ ### How to speed up package preparation during the build process
331
+
332
+ The already prepared packages are cached in `node_modules/.cache`. Make sure, this folder is reused across subsequent build process runs.
333
+
334
+ ### How does Native Federation Work under the Covers?
335
+
336
+ We use Import Maps at runtime. In addition to Import Maps, we use some code at build time and at runtime to provide the Mental Model of Module Federation.
337
+
338
+ ## Documentation ๐Ÿ“ฐ
339
+
340
+ Please have a look at this [article series](https://www.angulararchitects.io/en/aktuelles/the-microfrontend-revolution-part-2-module-federation-with-angular/).
341
+
342
+ Even though these articles were written for Module Federation, thanks to the same API, they also apply to Native Federation.
343
+
344
+ ## More: Angular Architecture Workshop (100% online, interactive)
345
+
346
+ In our [Angular Architecture Workshop](https://www.angulararchitects.io/en/angular-workshops/advanced-angular-enterprise-architecture-incl-ivy/), we cover all these topics and far more. We provide different options and alternatives and show up their consequences.
347
+
348
+ [Details: Angular Architecture Workshop](https://www.angulararchitects.io/en/angular-workshops/advanced-angular-enterprise-architecture-incl-ivy/)
@@ -1,141 +1,142 @@
1
- # Migrating to Native Federation 17.1
2
-
3
- Beginning with version 17.1, Native Federation uses the CLI's Application Builder and Dev Server to keep track with the innovations and performance improvements the CLI team works on.
4
-
5
- This requires some changes in the `angular.json`. If you go with a default configuration for Native Federation, the following command takes care of them:
6
-
7
- ```
8
- ng g @angular-architects/native-federation:appbuilder
9
- ```
10
- You need to run this command for each application using Native Federation.
11
-
12
- For more advanced cases, please find a diff of the changes needed for this version:
13
-
14
- ```diff
15
- {
16
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
17
- "version": 1,
18
- "newProjectRoot": "projects",
19
- "projects": {
20
- "nf17x0a": {
21
- "projectType": "application",
22
- "schematics": {},
23
- "root": "",
24
- "sourceRoot": "src",
25
- "prefix": "app",
26
- "architect": {
27
- "build": {
28
- "builder": "@angular-architects/native-federation:build",
29
- "options": {},
30
- "configurations": {
31
- "production": {
32
- "target": "nf17x0a:esbuild:production"
33
- },
34
- "development": {
35
- "target": "nf17x0a:esbuild:development",
36
- "dev": true
37
- }
38
- },
39
- "defaultConfiguration": "production"
40
- },
41
- "serve": {
42
- "builder": "@angular-architects/native-federation:build",
43
- "options": {
44
- - "target": "nf17x0a:esbuild:development",
45
- + "target": "nf17x0a:serve-original:development",
46
- "rebuildDelay": 0,
47
- - "dev": true,
48
- - "port": 4200
49
- + "dev": true
50
- }
51
- },
52
- "extract-i18n": {
53
- "builder": "@angular-devkit/build-angular:extract-i18n",
54
- "options": {
55
- "buildTarget": "nf17x0a:build"
56
- }
57
- },
58
- "test": {
59
- "builder": "@angular-devkit/build-angular:karma",
60
- "options": {
61
- "polyfills": [
62
- "zone.js",
63
- "zone.js/testing"
64
- ],
65
- "tsConfig": "tsconfig.spec.json",
66
- "assets": [
67
- "src/favicon.ico",
68
- "src/assets"
69
- ],
70
- "styles": [
71
- "src/styles.css"
72
- ],
73
- "scripts": []
74
- }
75
- },
76
- "esbuild": {
77
- - "builder": "@angular-devkit/build-angular:browser-esbuild",
78
- + "builder": "@angular-devkit/build-angular:application",
79
- "options": {
80
- "outputPath": "dist/nf17x0a",
81
- "index": "src/index.html",
82
- "polyfills": [
83
- "zone.js",
84
- "es-module-shims"
85
- ],
86
- "tsConfig": "tsconfig.app.json",
87
- "assets": [
88
- "src/favicon.ico",
89
- "src/assets"
90
- ],
91
- "styles": [
92
- "src/styles.css"
93
- ],
94
- "scripts": [],
95
- - "main": "src/main.ts"
96
- + "browser": "src/main.ts"
97
- },
98
- "configurations": {
99
- "production": {
100
- "budgets": [
101
- {
102
- "type": "initial",
103
- "maximumWarning": "500kb",
104
- "maximumError": "1mb"
105
- },
106
- {
107
- "type": "anyComponentStyle",
108
- "maximumWarning": "2kb",
109
- "maximumError": "4kb"
110
- }
111
- ],
112
- "outputHashing": "all"
113
- },
114
- "development": {
115
- "optimization": false,
116
- "extractLicenses": false,
117
- "sourceMap": true
118
- }
119
- },
120
- "defaultConfiguration": "production"
121
- },
122
- "serve-original": {
123
- "builder": "@angular-devkit/build-angular:dev-server",
124
- "configurations": {
125
- "production": {
126
- - "buildTarget": "nf17x0a:build:production"
127
- + "buildTarget": "nf17x0a:esbuild:production"
128
- },
129
- "development": {
130
- - "buildTarget": "nf17x0a:build:development"
131
- + "buildTarget": "nf17x0a:esbuild:development"
132
- }
133
- },
134
- "defaultConfiguration": "development"
135
- }
136
- }
137
- }
138
- }
139
- }
140
-
141
- ```
1
+ # Migrating to Native Federation 17.1
2
+
3
+ Beginning with version 17.1, Native Federation uses the CLI's Application Builder and Dev Server to keep track with the innovations and performance improvements the CLI team works on.
4
+
5
+ This requires some changes in the `angular.json`. If you go with a default configuration for Native Federation, the following command takes care of them:
6
+
7
+ ```
8
+ ng g @angular-architects/native-federation:appbuilder
9
+ ```
10
+
11
+ You need to run this command for each application using Native Federation.
12
+
13
+ For more advanced cases, please find a diff of the changes needed for this version:
14
+
15
+ ```diff
16
+ {
17
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
18
+ "version": 1,
19
+ "newProjectRoot": "projects",
20
+ "projects": {
21
+ "nf17x0a": {
22
+ "projectType": "application",
23
+ "schematics": {},
24
+ "root": "",
25
+ "sourceRoot": "src",
26
+ "prefix": "app",
27
+ "architect": {
28
+ "build": {
29
+ "builder": "@angular-architects/native-federation:build",
30
+ "options": {},
31
+ "configurations": {
32
+ "production": {
33
+ "target": "nf17x0a:esbuild:production"
34
+ },
35
+ "development": {
36
+ "target": "nf17x0a:esbuild:development",
37
+ "dev": true
38
+ }
39
+ },
40
+ "defaultConfiguration": "production"
41
+ },
42
+ "serve": {
43
+ "builder": "@angular-architects/native-federation:build",
44
+ "options": {
45
+ - "target": "nf17x0a:esbuild:development",
46
+ + "target": "nf17x0a:serve-original:development",
47
+ "rebuildDelay": 0,
48
+ - "dev": true,
49
+ - "port": 4200
50
+ + "dev": true
51
+ }
52
+ },
53
+ "extract-i18n": {
54
+ "builder": "@angular-devkit/build-angular:extract-i18n",
55
+ "options": {
56
+ "buildTarget": "nf17x0a:build"
57
+ }
58
+ },
59
+ "test": {
60
+ "builder": "@angular-devkit/build-angular:karma",
61
+ "options": {
62
+ "polyfills": [
63
+ "zone.js",
64
+ "zone.js/testing"
65
+ ],
66
+ "tsConfig": "tsconfig.spec.json",
67
+ "assets": [
68
+ "src/favicon.ico",
69
+ "src/assets"
70
+ ],
71
+ "styles": [
72
+ "src/styles.css"
73
+ ],
74
+ "scripts": []
75
+ }
76
+ },
77
+ "esbuild": {
78
+ - "builder": "@angular-devkit/build-angular:browser-esbuild",
79
+ + "builder": "@angular-devkit/build-angular:application",
80
+ "options": {
81
+ "outputPath": "dist/nf17x0a",
82
+ "index": "src/index.html",
83
+ "polyfills": [
84
+ "zone.js",
85
+ "es-module-shims"
86
+ ],
87
+ "tsConfig": "tsconfig.app.json",
88
+ "assets": [
89
+ "src/favicon.ico",
90
+ "src/assets"
91
+ ],
92
+ "styles": [
93
+ "src/styles.css"
94
+ ],
95
+ "scripts": [],
96
+ - "main": "src/main.ts"
97
+ + "browser": "src/main.ts"
98
+ },
99
+ "configurations": {
100
+ "production": {
101
+ "budgets": [
102
+ {
103
+ "type": "initial",
104
+ "maximumWarning": "500kb",
105
+ "maximumError": "1mb"
106
+ },
107
+ {
108
+ "type": "anyComponentStyle",
109
+ "maximumWarning": "2kb",
110
+ "maximumError": "4kb"
111
+ }
112
+ ],
113
+ "outputHashing": "all"
114
+ },
115
+ "development": {
116
+ "optimization": false,
117
+ "extractLicenses": false,
118
+ "sourceMap": true
119
+ }
120
+ },
121
+ "defaultConfiguration": "production"
122
+ },
123
+ "serve-original": {
124
+ "builder": "@angular-devkit/build-angular:dev-server",
125
+ "configurations": {
126
+ "production": {
127
+ - "buildTarget": "nf17x0a:build:production"
128
+ + "buildTarget": "nf17x0a:esbuild:production"
129
+ },
130
+ "development": {
131
+ - "buildTarget": "nf17x0a:build:development"
132
+ + "buildTarget": "nf17x0a:esbuild:development"
133
+ }
134
+ },
135
+ "defaultConfiguration": "development"
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular-architects/native-federation",
3
- "version": "17.1.0-rc.1",
3
+ "version": "17.1.1",
4
4
  "main": "./src/index.js",
5
5
  "generators": "./collection.json",
6
6
  "builders": "./builders.json",
@@ -29,11 +29,16 @@ function runBuilder(nfOptions, context) {
29
29
  let _options = (yield tslib_1.__await(context.getTargetOptions(target)));
30
30
  let builder = yield tslib_1.__await(context.getBuilderNameForTarget(target));
31
31
  if (builder === '@angular-devkit/build-angular:browser-esbuild') {
32
- build_1.logger.info('.: UPDATE NEEDED :.');
32
+ build_1.logger.info('.: NATIVE FEDERATION - UPDATE NEEDED :.');
33
33
  build_1.logger.info('');
34
34
  build_1.logger.info("Since version 17.1, Native Federation uses Angular's");
35
35
  build_1.logger.info('Application-Builder and its Dev-Server.');
36
- build_1.logger.info('Please update your project config, e.g. in angular.json');
36
+ build_1.logger.info('');
37
+ build_1.logger.info('If you are sill on Angular 17.0.x, please update to');
38
+ build_1.logger.info('Angular 17.1.x or downgrade to Native Federation 17.0.x.');
39
+ build_1.logger.info('');
40
+ build_1.logger.info('For working with Native Federation 17.1.x (recommented), ');
41
+ build_1.logger.info('please update your project config, e.g. in angular.json');
37
42
  build_1.logger.info('');
38
43
  build_1.logger.info('This command performs the needed update for default configs:');
39
44
  build_1.logger.info('');
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../../libs/native-federation/src/builders/build/builder.ts"],"names":[],"mappings":";;;;AAAA,mDAA6B;AAC7B,+CAAyB;AACzB,uDAAiC;AAEjC,yDAImC;AAInC,wFAA0F;AAE1F,mGAAkG;AAElG,2FAAiG;AAEjG,4DAAuE;AAGvE,4DAAmE;AACnE,iFAG6C;AAC7C,4DAAgE;AAChE,4DAAwE;AACxE,4DAAsE;AACtE,yDAAmE;AAGnE,uDAKgC;AAChC,+DAAyD;AACzD,iEAAgF;AAChF,2BAAmD;AACnD,uDAIgC;AAEhC,+EAAgF;AAKhF,SAAuB,UAAU,CAC/B,SAA0B,EAC1B,OAAuB;;;QAEvB,IAAI,MAAM,GAAG,IAAA,kCAAsB,EAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,QAAQ,GAAG,CAAC,sBAAM,OAAO,CAAC,gBAAgB,CAC5C,MAAM,CACP,CAAA,CAAmC,CAAC;QAErC,IAAI,OAAO,GAAG,sBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA,CAAC;QAE5D,IAAI,OAAO,KAAK,+CAA+C,EAAE;YAC/D,cAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACnC,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACpE,cAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,cAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACvE,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC5E,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACvE,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAClE,cAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC5E,qCAAO;SACR;QAED,IAAI,OAAO,GAAG,CAAC,sBAAM,OAAO,CAAC,eAAe,CAC1C,QAAQ,EACR,OAAO,CACR,CAAA,CAAwB,CAAC;QAE1B,MAAM,YAAY,GAAG,OAAkC,CAAC;QACxD,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG;YACpC,CAAC,CAAC,sBAAM,IAAA,0BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACvE,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,SAAS,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,IAAA,kCAAsB,EAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1D,QAAQ,GAAG,CAAC,sBAAM,OAAO,CAAC,gBAAgB,CACxC,MAAM,CACP,CAAA,CAAmC,CAAC;YAErC,OAAO,GAAG,sBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA,CAAC;YACxD,OAAO,GAAG,CAAC,sBAAM,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA,CACnD,CAAC;SACV;QAED,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;QAE7C,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,MAAM,aAAa,GAAG,IAAI,4BAAW,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,mDAAyB,EAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;QAEzB,IAAA,mBAAW,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAsB;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,UAAU;YACtB,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG;SACrB,CAAC;QAEF,MAAM,MAAM,GAAG,sBAAM,IAAA,4BAAoB,EAAC,UAAU,CAAC,CAAA,CAAC;QACtD,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG;YACd,IAAA,mDAA0B,EAAC,MAAM,CAAC,cAAc,CAAC;YACjD;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,CAAC,KAAkB;oBACtB,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,KAAK,MAAM,EAAE;wBAC5C,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CACrB,CAAC;qBACH;gBACH,CAAC;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAiC;YAC/C,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,UAAU,CAAC,aAAa,EACxB,UAAU,CAAC,UAAU,EACrB,GAAG,CAAC,GAAG,CACR,CAAC;gBACF,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAEvC,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,MAAM,EAAE;oBAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,iBAAiB,CAAC;oBACrE,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACnD,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;wBACjB,cAAc,EAAE,QAAQ;wBACxB,6BAA6B,EAAE,GAAG;wBAClC,8BAA8B,EAAE,wBAAwB;wBACxD,8BAA8B,EAAE,cAAc;qBAC/C,CAAC,CAAC;oBACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,IAAI,EAAE,CAAC;iBACR;YACH,CAAC;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;QAEpC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,UAA4C,CAAC;QAEjD,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,WAAM,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;YAC3B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5C;QAED,IAAI,CAAC,KAAK,EAAE;YACV,IAAA,6CAAmB,EAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACvC,MAAM,UAAU,GAAG,MAAM;oBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC;gBACT,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,0BAAa,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;SACJ;QAED,sBAAM,IAAA,0BAAkB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA,CAAC;QAExD,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAEjC,MAAM,cAAc,GAAG,2CAA2C,CAAC;QAEnE,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG;YAC9B,CAAC,CAAC,IAAA,2BAAa,EACX,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP;gBACE,SAAS,EAAE,kBAAkB;aAC9B,EACD;gBACE,YAAY,EAAE,OAAO;gBACrB,UAAU;aACX,CACF;YACH,CAAC,CAAC,IAAA,8BAAgB,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;;YAEhD,kDAAkD;YAClD,KAA2B,eAAA,eAAA,sBAAA,UAAU,CAAA,gBAAA,yGAAE;gBAAZ,0BAAU;gBAAV,WAAU;gBAA1B,MAAM,MAAM,KAAA,CAAA;gBACrB,UAAU,GAAG,MAAM,CAAC;gBAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACnB,IAAA,qBAAQ,EAAC,mBAAmB,CAAC,CAAC;oBAC9B,IAAA,0BAAa,GAAE,CAAC;oBAChB,SAAS;iBACV;qBAAM;oBACL,IAAA,qBAAQ,EAAC,IAAI,CAAC,CAAC;iBAChB;gBAED,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE;oBAChC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,0BAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC3E;gBAED,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE;oBAC/B,UAAU,CAAC,GAAG,CACZ,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,6BAAgB,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;iBACH;gBAED,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBAC3B,IAAA,iCAAe,EAAC,UAAU,CAAC,CAAC;iBAC7B;gBAED,IAAI,KAAK,IAAI,SAAS,EAAE;oBACtB,IAAA,wBAAW,EAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;iBACxD;gBAED,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE;oBACvB,IAAA,0BAAa,GAAE,CAAC;iBACjB;gBAED,IAAI,CAAC,SAAS,EAAE;oBACd,4BAAM,MAAM,CAAA,CAAC;iBACd;gBAED,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;oBACnB,UAAU,CAAC,GAAS,EAAE;wBACpB,sDAAsD;wBACtD,qDAAqD;wBACrD,MAAM,IAAA,0BAAkB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;wBACxD,cAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAErB,IAAI,SAAS,EAAE;4BACb,UAAU,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAW,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;yBACnD;oBACH,CAAC,CAAA,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;iBAC5B;gBAED,KAAK,GAAG,KAAK,CAAC;aACf;;;;;;;;;QAED,4BAAM,UAAU,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA,CAAC;IACzC,CAAC;CAAA;AAtND,gCAsNC;AAED,8DAA8D;AAC9D,kBAAe,IAAA,yBAAa,EAAC,UAAU,CAAQ,CAAC;AAEhD,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;IAExE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,kCAAgB,EAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IAC5D,IAAI,QAAQ,KAAK,mBAAmB,EAAE;QACpC,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAElC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACnC,CAAC,KACJ,WAAW,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,IACpC,CAAC,CAAC;IAEJ,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;IAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../../libs/native-federation/src/builders/build/builder.ts"],"names":[],"mappings":";;;;AAAA,mDAA6B;AAC7B,+CAAyB;AACzB,uDAAiC;AAEjC,yDAImC;AAInC,wFAA0F;AAE1F,mGAAkG;AAElG,2FAAiG;AAEjG,4DAAuE;AAGvE,4DAAmE;AACnE,iFAG6C;AAC7C,4DAAgE;AAChE,4DAAwE;AACxE,4DAAsE;AACtE,yDAAmE;AAGnE,uDAKgC;AAChC,+DAAyD;AACzD,iEAAgF;AAChF,2BAAmD;AACnD,uDAIgC;AAEhC,+EAAgF;AAKhF,SAAuB,UAAU,CAC/B,SAA0B,EAC1B,OAAuB;;;QAEvB,IAAI,MAAM,GAAG,IAAA,kCAAsB,EAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,QAAQ,GAAG,CAAC,sBAAM,OAAO,CAAC,gBAAgB,CAC5C,MAAM,CACP,CAAA,CAAmC,CAAC;QAErC,IAAI,OAAO,GAAG,sBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA,CAAC;QAE5D,IAAI,OAAO,KAAK,+CAA+C,EAAE;YAC/D,cAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACpE,cAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACnE,cAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACxE,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzE,cAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACvE,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC5E,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACvE,cAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAClE,cAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC5E,qCAAO;SACR;QAED,IAAI,OAAO,GAAG,CAAC,sBAAM,OAAO,CAAC,eAAe,CAC1C,QAAQ,EACR,OAAO,CACR,CAAA,CAAwB,CAAC;QAE1B,MAAM,YAAY,GAAG,OAAkC,CAAC;QACxD,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG;YACpC,CAAC,CAAC,sBAAM,IAAA,0BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACvE,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,SAAS,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,IAAA,kCAAsB,EAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1D,QAAQ,GAAG,CAAC,sBAAM,OAAO,CAAC,gBAAgB,CACxC,MAAM,CACP,CAAA,CAAmC,CAAC;YAErC,OAAO,GAAG,sBAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA,CAAC;YACxD,OAAO,GAAG,CAAC,sBAAM,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA,CACnD,CAAC;SACV;QAED,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;QAE7C,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,MAAM,aAAa,GAAG,IAAI,4BAAW,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,mDAAyB,EAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;QAEzB,IAAA,mBAAW,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAsB;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,UAAU;YACtB,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG;SACrB,CAAC;QAEF,MAAM,MAAM,GAAG,sBAAM,IAAA,4BAAoB,EAAC,UAAU,CAAC,CAAA,CAAC;QACtD,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG;YACd,IAAA,mDAA0B,EAAC,MAAM,CAAC,cAAc,CAAC;YACjD;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,CAAC,KAAkB;oBACtB,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,KAAK,MAAM,EAAE;wBAC5C,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CACrB,CAAC;qBACH;gBACH,CAAC;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAiC;YAC/C,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,UAAU,CAAC,aAAa,EACxB,UAAU,CAAC,UAAU,EACrB,GAAG,CAAC,GAAG,CACR,CAAC;gBACF,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAEvC,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,MAAM,EAAE;oBAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,iBAAiB,CAAC;oBACrE,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACnD,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;wBACjB,cAAc,EAAE,QAAQ;wBACxB,6BAA6B,EAAE,GAAG;wBAClC,8BAA8B,EAAE,wBAAwB;wBACxD,8BAA8B,EAAE,cAAc;qBAC/C,CAAC,CAAC;oBACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,IAAI,EAAE,CAAC;iBACR;YACH,CAAC;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;QAEpC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,UAA4C,CAAC;QAEjD,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,WAAM,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;YAC3B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5C;QAED,IAAI,CAAC,KAAK,EAAE;YACV,IAAA,6CAAmB,EAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACvC,MAAM,UAAU,GAAG,MAAM;oBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC;gBACT,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,0BAAa,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;SACJ;QAED,sBAAM,IAAA,0BAAkB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA,CAAC;QAExD,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAEjC,MAAM,cAAc,GAAG,2CAA2C,CAAC;QAEnE,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG;YAC9B,CAAC,CAAC,IAAA,2BAAa,EACX,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP;gBACE,SAAS,EAAE,kBAAkB;aAC9B,EACD;gBACE,YAAY,EAAE,OAAO;gBACrB,UAAU;aACX,CACF;YACH,CAAC,CAAC,IAAA,8BAAgB,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;;YAEhD,kDAAkD;YAClD,KAA2B,eAAA,eAAA,sBAAA,UAAU,CAAA,gBAAA,yGAAE;gBAAZ,0BAAU;gBAAV,WAAU;gBAA1B,MAAM,MAAM,KAAA,CAAA;gBACrB,UAAU,GAAG,MAAM,CAAC;gBAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACnB,IAAA,qBAAQ,EAAC,mBAAmB,CAAC,CAAC;oBAC9B,IAAA,0BAAa,GAAE,CAAC;oBAChB,SAAS;iBACV;qBAAM;oBACL,IAAA,qBAAQ,EAAC,IAAI,CAAC,CAAC;iBAChB;gBAED,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE;oBAChC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,0BAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC3E;gBAED,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE;oBAC/B,UAAU,CAAC,GAAG,CACZ,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,6BAAgB,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;iBACH;gBAED,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBAC3B,IAAA,iCAAe,EAAC,UAAU,CAAC,CAAC;iBAC7B;gBAED,IAAI,KAAK,IAAI,SAAS,EAAE;oBACtB,IAAA,wBAAW,EAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;iBACxD;gBAED,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE;oBACvB,IAAA,0BAAa,GAAE,CAAC;iBACjB;gBAED,IAAI,CAAC,SAAS,EAAE;oBACd,4BAAM,MAAM,CAAA,CAAC;iBACd;gBAED,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;oBACnB,UAAU,CAAC,GAAS,EAAE;wBACpB,sDAAsD;wBACtD,qDAAqD;wBACrD,MAAM,IAAA,0BAAkB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;wBACxD,cAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAErB,IAAI,SAAS,EAAE;4BACb,UAAU,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAW,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;yBACnD;oBACH,CAAC,CAAA,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;iBAC5B;gBAED,KAAK,GAAG,KAAK,CAAC;aACf;;;;;;;;;QAED,4BAAM,UAAU,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA,CAAC;IACzC,CAAC;CAAA;AA3ND,gCA2NC;AAED,8DAA8D;AAC9D,kBAAe,IAAA,yBAAa,EAAC,UAAU,CAAQ,CAAC;AAEhD,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;IAExE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,kCAAgB,EAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IAC5D,IAAI,QAAQ,KAAK,mBAAmB,EAAE;QACpC,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAElC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACnC,CAAC,KACJ,WAAW,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,IACpC,CAAC,CAAC;IAEJ,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;IAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -161,6 +161,7 @@ function runEsbuild(builderOptions, context, entryPoints, external, outdir, tsCo
161
161
  'async-await': false,
162
162
  'object-rest-spread': false,
163
163
  },
164
+ splitting: (kind === 'mapping-or-exposed'),
164
165
  platform: 'browser',
165
166
  format: 'esm',
166
167
  target: ['esnext'],
@@ -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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"}