Skip to content

Commit 2f4c8f5

Browse files
committed
feat(@angular/cli): support additional application lazy modules
1 parent 4b507fd commit 2f4c8f5

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-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 NgModules that will be lazy loaded. (lazy router modules with be discovered automatically)",
269+
"type": "array",
270+
"items": {
271+
"type": "object",
272+
"additionalProperties": { "type": "string" }
273+
}
266274
}
267275
},
268276
"additionalProperties": false

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

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

8383
if (AngularCompilerPlugin.isSupported()) {
84+
const additionalLazyModules = { ...appConfig.lazyModules };
85+
for (const lazyModule in additionalLazyModules) {
86+
additionalLazyModules[lazyModule] = path.resolve(
87+
projectRoot,
88+
appConfig.root,
89+
additionalLazyModules[lazyModule],
90+
);
91+
}
8492
const pluginOptions: AngularCompilerPluginOptions = Object.assign({}, {
8593
mainPath: useMain ? path.join(projectRoot, appConfig.root, appConfig.main) : undefined,
8694
i18nInFile: buildOptions.i18nFile,
@@ -92,6 +100,7 @@ function _createAotPlugin(wco: WebpackConfigOptions, options: any, useMain = tru
92100
missingTranslation: buildOptions.missingTranslation,
93101
hostReplacementPaths,
94102
sourceMap: buildOptions.sourcemaps,
103+
additionalLazyModules,
95104
}, options);
96105
return new AngularCompilerPlugin(pluginOptions);
97106
} else {

0 commit comments

Comments
 (0)