Skip to content

Commit db6554e

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

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-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

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

8383
if (AngularCompilerPlugin.isSupported()) {
84+
const additionalLazyModules: { [module: string]: string } = {};
85+
if (appConfig.lazyModules) {
86+
for (const lazyModule of appConfig.lazyModules) {
87+
additionalLazyModules[path.basename(lazyModule)] = path.resolve(
88+
projectRoot,
89+
appConfig.root,
90+
lazyModule,
91+
);
92+
}
93+
}
94+
8495
const pluginOptions: AngularCompilerPluginOptions = Object.assign({}, {
8596
mainPath: useMain ? path.join(projectRoot, appConfig.root, appConfig.main) : undefined,
8697
i18nInFile: buildOptions.i18nFile,
@@ -92,6 +103,7 @@ function _createAotPlugin(wco: WebpackConfigOptions, options: any, useMain = tru
92103
missingTranslation: buildOptions.missingTranslation,
93104
hostReplacementPaths,
94105
sourceMap: buildOptions.sourcemaps,
106+
additionalLazyModules,
95107
}, options);
96108
return new AngularCompilerPlugin(pluginOptions);
97109
} else {

0 commit comments

Comments
 (0)