Skip to content

Commit 2796f86

Browse files
committed
feat(@angular/cli): support additional application lazy modules
1 parent b32a59e commit 2796f86

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

packages/@angular/cli/lib/config/schema.json

+8
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,14 @@
263263
"description": "Name and corresponding file for environment config.",
264264
"type": "object",
265265
"additionalProperties": true
266+
},
267+
"lazyModules": {
268+
"description": "List of additional NgModule files that will be lazy loaded. (lazy router modules with be discovered automatically)",
269+
"type": "array",
270+
"items": {
271+
"type": "string",
272+
"minLength": 1
273+
}
266274
}
267275
},
268276
"additionalProperties": false

packages/@angular/cli/models/webpack-configs/typescript.ts

+10
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,15 @@ function _createAotPlugin(wco: WebpackConfigOptions, options: any, useMain = tru
8181
}
8282

8383
if (AngularCompilerPlugin.isSupported()) {
84+
const additionalLazyModules: { [module: string]: string } = {};
85+
for (const lazyModule of appConfig.lazyModules) {
86+
additionalLazyModules[path.basename(lazyModule)] = path.resolve(
87+
projectRoot,
88+
appConfig.root,
89+
lazyModule,
90+
);
91+
}
92+
8493
const pluginOptions: AngularCompilerPluginOptions = Object.assign({}, {
8594
mainPath: useMain ? path.join(projectRoot, appConfig.root, appConfig.main) : undefined,
8695
i18nInFile: buildOptions.i18nFile,
@@ -92,6 +101,7 @@ function _createAotPlugin(wco: WebpackConfigOptions, options: any, useMain = tru
92101
missingTranslation: buildOptions.missingTranslation,
93102
hostReplacementPaths,
94103
sourceMap: buildOptions.sourcemaps,
104+
additionalLazyModules,
95105
}, options);
96106
return new AngularCompilerPlugin(pluginOptions);
97107
} else {

0 commit comments

Comments
 (0)