Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save arturovt/3b7c6bc834089162e69aba6480eb313d to your computer and use it in GitHub Desktop.
Save arturovt/3b7c6bc834089162e69aba6480eb313d to your computer and use it in GitHub Desktop.
// https://github.com/angular/angular-cli/blob/bd040bd4d6d2f69b49cf7e343829027e5dbfc73d/packages/ngtools/webpack/src/ivy/transformation.ts#L14-L34
export function createAotTransformers(
builder: ts.BuilderProgram,
options: { emitClassMetadata?: boolean; emitNgModuleScope?: boolean },
): ts.CustomTransformers {
const getTypeChecker = () => builder.getProgram().getTypeChecker();
const transformers: ts.CustomTransformers = {
before: [replaceBootstrap(getTypeChecker)],
after: [],
};
const removeClassMetadata = !options.emitClassMetadata;
const removeNgModuleScope = !options.emitNgModuleScope;
if (removeClassMetadata || removeNgModuleScope) {
// tslint:disable-next-line: no-non-null-assertion
transformers.before!.push(
removeIvyJitSupportCalls(removeClassMetadata, removeNgModuleScope, getTypeChecker),
);
}
return transformers;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment