mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit adds support for extracting initializer API functions. Initialixer API functions are functions conceptually that can are intended to be used as class member initializers. Angular started introducing a few of these for the new signal APIs, like `input`, `model` or signal-based queries. These APIs are currently confusingly represented in the API docs because the API extraction: - does not properly account for call signatures of interfaces - does not expose information about sub-property objects and call signatures (e.g. `input.required`) - the docs rendering syntax highlighting is too bloated and confusing with all types being included. This commit adds support for initializer API functions, namely two variants: - interface-based initializer APIs. e.g. `export const input: InputFunction`- which is a pattern for `input` and `input.required`. - function-based simpler initializer APIs with overloads. e.g. `contentChildren` has many signatures but doesn't need to be an interface as there are no sub-property call signatures. PR Close #54925
47 lines
1.9 KiB
TypeScript
47 lines
1.9 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
|
|
*/
|
|
import {NodeJSFileSystem, setFileSystem} from './src/ngtsc/file_system';
|
|
|
|
export {VERSION} from './src/version';
|
|
|
|
export * from './src/transformers/jit_transforms';
|
|
export * from './src/transformers/api';
|
|
export * from './src/transformers/entry_points';
|
|
|
|
export * from './src/perform_compile';
|
|
|
|
// TODO(tbosch): remove this once usages in G3 are changed to `CompilerOptions`
|
|
export {CompilerOptions as AngularCompilerOptions} from './src/transformers/api';
|
|
|
|
// Internal exports needed for packages relying on the compiler-cli.
|
|
// TODO: Remove this when the CLI has switched to the private entry-point.
|
|
export * from './private/tooling';
|
|
|
|
// Exposed as they are needed for relying on the `linker`.
|
|
export * from './src/ngtsc/logging';
|
|
export * from './src/ngtsc/file_system';
|
|
|
|
// Exports for dealing with the `ngtsc` program.
|
|
export {NgTscPlugin, PluginCompilerHost} from './src/ngtsc/tsc_plugin';
|
|
export {NgtscProgram} from './src/ngtsc/program';
|
|
export {OptimizeFor} from './src/ngtsc/typecheck/api';
|
|
|
|
// **Note**: Explicit named exports to make this file work with CJS/ESM interop without
|
|
// needing to use a default import. NodeJS will expose named CJS exports as named ESM exports.
|
|
// TODO(devversion): Remove these duplicate exports once devmode&prodmode is combined/ESM.
|
|
export {ConsoleLogger, Logger, LogLevel} from './src/ngtsc/logging';
|
|
export {NodeJSFileSystem, absoluteFrom} from './src/ngtsc/file_system';
|
|
|
|
// Export documentation entities for Angular-internal API doc generation.
|
|
export * from './src/ngtsc/docs/src/entities';
|
|
export * from './src/ngtsc/docs';
|
|
|
|
// Exposed for usage in 1P Angular plugin.
|
|
export {isLocalCompilationDiagnostics} from './src/ngtsc/diagnostics';
|
|
|
|
setFileSystem(new NodeJSFileSystem());
|