angular/packages/compiler-cli/private/tooling.ts
Paul Gschwendtner 7f550ea0c8 refactor(compiler-cli): move JIT transforms into ngtsc (#56892)
This commit moves the JIT transforms into the ngtsc folder. They existed
outside of ngtsc mostly as an historic artifact— and now with compiler
relying on them even more deeply, it makes sense to move them into
`ngtsc/transform`.

PR Close #56892
2024-07-10 17:29:20 +02:00

45 lines
1.2 KiB
TypeScript

/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @fileoverview
* This file is used as a private API channel to shared Angular FW APIs with @angular/cli.
*
* Any changes to this file should be discussed with the Angular CLI team.
*/
import ts from 'typescript';
import {angularJitApplicationTransform} from '../src/ngtsc/transform/jit/index';
/**
* Known values for global variables in `@angular/core` that Terser should set using
* https://github.com/terser-js/terser#conditional-compilation
*/
export const GLOBAL_DEFS_FOR_TERSER = {
ngDevMode: false,
ngI18nClosureMode: false,
};
export const GLOBAL_DEFS_FOR_TERSER_WITH_AOT = {
...GLOBAL_DEFS_FOR_TERSER,
ngJitMode: false,
};
/**
* JIT transform used by the Angular CLI.
*
* NOTE: Signature is explicitly captured here to highlight the
* contract various Angular CLI versions are relying on.
*/
export const constructorParametersDownlevelTransform = (
program: ts.Program,
isCore = false,
): ts.TransformerFactory<ts.SourceFile> => {
return angularJitApplicationTransform(program, isCore);
};