fix(ivy): align NgModule registration timing with ViewEngine (#30244)
Currently in Ivy `NgModule` registration happens when the class is declared, however this is inconsistent with ViewEngine and requires extra generated code. These changes remove the generated code for `registerModuleFactory`, pass the id through to the `ngModuleDef` and do the module registration inside `NgModuleFactory.create`. This PR resolves FW-1285. PR Close #30244
This commit is contained in:

committed by
Alex Rickabaugh

parent
2f35dbfd3b
commit
f74373f2dd
@ -366,6 +366,9 @@ export function ɵɵdefineNgModule<T>(def: {
|
||||
|
||||
/** The set of schemas that declare elements to be allowed in the NgModule. */
|
||||
schemas?: SchemaMetadata[] | null;
|
||||
|
||||
/** Unique ID for the module that is used with `getModuleFactory`. */
|
||||
id?: string | null;
|
||||
}): never {
|
||||
const res: NgModuleDef<T> = {
|
||||
type: def.type,
|
||||
@ -375,6 +378,7 @@ export function ɵɵdefineNgModule<T>(def: {
|
||||
exports: def.exports || EMPTY_ARRAY,
|
||||
transitiveCompileScopes: null,
|
||||
schemas: def.schemas || null,
|
||||
id: def.id || null,
|
||||
};
|
||||
return res as never;
|
||||
}
|
||||
|
Reference in New Issue
Block a user