2025-07-17 17:31:38 +00:00
|
|
|
## API Report File for "compiler_options_api"
|
2021-06-28 17:54:20 +00:00
|
|
|
|
|
|
|
|
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
|
|
|
|
|
|
|
|
```ts
|
|
|
|
|
|
|
|
|
|
// @public
|
2020-03-05 21:14:03 +00:00
|
|
|
export interface BazelAndG3Options {
|
|
|
|
|
annotateForClosureCompiler?: boolean;
|
2025-05-14 22:44:16 +00:00
|
|
|
_experimentalAllowEmitDeclarationOnly?: boolean;
|
2020-03-05 21:14:03 +00:00
|
|
|
generateDeepReexports?: boolean;
|
2023-12-13 00:10:02 +00:00
|
|
|
generateExtraImportsInLocalMode?: boolean;
|
2023-12-15 19:24:26 +00:00
|
|
|
onlyExplicitDeferDependencyImports?: boolean;
|
2022-06-01 22:40:56 +00:00
|
|
|
onlyPublishPublicTypingsForNgModules?: boolean;
|
2020-03-05 21:14:03 +00:00
|
|
|
}
|
|
|
|
|
|
2021-12-07 05:41:31 +00:00
|
|
|
// @public
|
|
|
|
|
export enum DiagnosticCategoryLabel {
|
|
|
|
|
Error = "error",
|
|
|
|
|
Suppress = "suppress",
|
|
|
|
|
Warning = "warning"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// @public
|
|
|
|
|
export interface DiagnosticOptions {
|
|
|
|
|
extendedDiagnostics?: {
|
2021-11-30 02:47:55 +00:00
|
|
|
defaultCategory?: DiagnosticCategoryLabel;
|
2021-12-07 05:41:31 +00:00
|
|
|
checks?: {
|
|
|
|
|
[Name in ExtendedTemplateDiagnosticName]?: DiagnosticCategoryLabel;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-09-23 22:20:57 +00:00
|
|
|
strictStandalone?: boolean;
|
2021-12-07 05:41:31 +00:00
|
|
|
}
|
|
|
|
|
|
2021-06-28 17:54:20 +00:00
|
|
|
// @public
|
2020-03-05 21:14:03 +00:00
|
|
|
export interface I18nOptions {
|
|
|
|
|
enableI18nLegacyMessageIdFormat?: boolean;
|
|
|
|
|
i18nInLocale?: string;
|
fix(compiler): normalize line endings in ICU expansions (#36741)
The html parser already normalizes line endings (converting `\r\n` to `\n`)
for most text in templates but it was missing the expressions of ICU expansions.
In ViewEngine backticked literal strings, used to define inline templates,
were already normalized by the TypeScript parser.
In Ivy we are parsing the raw text of the source file directly so the line
endings need to be manually normalized.
This change ensures that inline templates have the line endings of ICU
expression normalized correctly, which matches the ViewEngine.
In ViewEngine external templates, defined in HTML files, the behavior was
different, since TypeScript was not normalizing the line endings.
Specifically, ICU expansion "expressions" are not being normalized.
This is a problem because it means that i18n message ids can be different on
different machines that are setup with different line ending handling,
or if the developer moves a template from inline to external or vice versa.
The goal is always to normalize line endings, whether inline or external.
But this would be a breaking change since it would change i18n message ids
that have been previously computed. Therefore this commit aligns the ivy
template parsing to have the same "buggy" behavior for external templates.
There is now a compiler option `i18nNormalizeLineEndingsInICUs`, which
if set to `true` will ensure the correct non-buggy behavior. For the time
being this option defaults to `false` to ensure backward compatibility while
allowing opt-in to the desired behavior. This option's default will be
flipped in a future breaking change release.
Further, when this option is set to `false`, any ICU expression tokens,
which have not been normalized, are added to the `ParseResult` from the
`HtmlParser.parse()` method. In the future, this collection of tokens could
be used to diagnose and encourage developers to migrate their i18n message
ids. See FW-2106.
Closes #36725
PR Close #36741
2020-04-26 17:15:43 +00:00
|
|
|
i18nNormalizeLineEndingsInICUs?: boolean;
|
2021-06-04 22:52:16 +00:00
|
|
|
i18nOutFile?: string;
|
|
|
|
|
i18nOutFormat?: string;
|
|
|
|
|
i18nOutLocale?: string;
|
2024-06-17 21:44:46 +00:00
|
|
|
i18nPreserveWhitespaceForLegacyExtraction?: boolean;
|
2020-03-05 21:14:03 +00:00
|
|
|
i18nUseExternalIds?: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-28 17:54:20 +00:00
|
|
|
// @public
|
2020-03-05 21:14:03 +00:00
|
|
|
export interface LegacyNgcOptions {
|
2023-05-20 10:00:52 +00:00
|
|
|
// @deprecated
|
2020-03-05 21:14:03 +00:00
|
|
|
allowEmptyCodegenFiles?: boolean;
|
|
|
|
|
flatModuleId?: string;
|
|
|
|
|
flatModuleOutFile?: string;
|
refactor(compiler-cli): deprecate the `fullTemplateTypeCheck` compiler option (#43224)
When compiling your application using the AOT compiler, your templates
are type-checked according to a certain strictness level. Before Angular 9
there existed only two strictness levels of template type checking as
determined by [the `fullTemplateTypeCheck` compiler option](guide/angular-compiler-options).
In version 9 the `strictTemplates` family of compiler options has been
introduced as a more fine-grained approach to configuring how strict your
templates are being type-checked.
The `fullTemplateTypeCheck` flag is being deprecated in favor of the new
`strictTemplates` option and its related compiler options. Projects that
currently have `fullTemplateTypeCheck: true` configured can migrate to
the following set of compiler options to achieve the same level of
type-checking.
```json
{
"angularCompilerOptions": {
"strictTemplates": true,
"strictInputTypes": false,
"strictNullInputTypes": false,
"strictAttributeTypes": false,
"strictOutputEventTypes": false,
"strictDomEventTypes": false,
"strictDomLocalRefTypes": false,
"strictSafeNavigationTypes": false,
"strictContextGenerics": false,
}
}
```
PR Close #43224
2021-08-22 19:33:00 +00:00
|
|
|
// @deprecated
|
2020-03-05 21:14:03 +00:00
|
|
|
fullTemplateTypeCheck?: boolean;
|
|
|
|
|
preserveWhitespaces?: boolean;
|
|
|
|
|
strictInjectionParameters?: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-28 17:54:20 +00:00
|
|
|
// @public
|
2020-03-05 21:14:03 +00:00
|
|
|
export interface MiscOptions {
|
|
|
|
|
compileNonExportedClasses?: boolean;
|
|
|
|
|
disableTypeScriptVersionCheck?: boolean;
|
2023-10-05 19:49:29 +00:00
|
|
|
forbidOrphanComponents?: boolean;
|
2020-03-05 21:14:03 +00:00
|
|
|
}
|
|
|
|
|
|
2021-06-28 17:54:20 +00:00
|
|
|
// @public
|
2025-03-17 05:50:08 +00:00
|
|
|
export interface TargetOptions {
|
|
|
|
|
compilationMode?: 'full' | 'partial' | 'experimental-local';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// @public
|
|
|
|
|
export interface TypeCheckingOptions {
|
2020-03-05 21:14:03 +00:00
|
|
|
strictAttributeTypes?: boolean;
|
|
|
|
|
strictContextGenerics?: boolean;
|
|
|
|
|
strictDomEventTypes?: boolean;
|
|
|
|
|
strictDomLocalRefTypes?: boolean;
|
2020-07-28 21:51:14 +00:00
|
|
|
strictInputAccessModifiers?: boolean;
|
2020-03-05 21:14:03 +00:00
|
|
|
strictInputTypes?: boolean;
|
|
|
|
|
strictLiteralTypes?: boolean;
|
|
|
|
|
strictNullInputTypes?: boolean;
|
|
|
|
|
strictOutputEventTypes?: boolean;
|
|
|
|
|
strictSafeNavigationTypes?: boolean;
|
|
|
|
|
strictTemplates?: boolean;
|
2025-03-17 05:50:08 +00:00
|
|
|
typeCheckHostBindings?: boolean;
|
2021-04-08 20:34:31 +00:00
|
|
|
}
|
2021-06-28 17:54:20 +00:00
|
|
|
|
|
|
|
|
// (No @packageDocumentation comment for this package)
|
|
|
|
|
|
|
|
|
|
```
|