Revision 8e13c351acb8087f5a101d70bd7f9f9aebbdc1bc authored by JoostK on 21 September 2021, 21:39:11 UTC, committed by Jessica Janiuk on 26 October 2021, 18:22:33 UTC
The `ErrorCode` enum in the `error_code.ts` file is governed by public api guards but the other top-level exports from that file are exempt from public api documentation and are therefore marked as `@internal`. However, TypeScript is configured with the `stripInternal` compiler option such that declarations with `@internal` markers are not emitted into the `.d.ts` files, but this means that the reexports in the barrel file end up referring to missing declarations. The `stripInternal` option is considered internal and its documentation states to use at your own risk (as per https://github.com/microsoft/TypeScript/issues/45307). Having the option enabled is desirable for us as it works well for hiding class fields that are marked `@internal`, which is an effective way to hide members from the .d.ts file. As a workaround for the issue with top-level symbols, the declarations with `@internal` markers are moved to dedicated files for which no public api guard is setup, therefore allowing their `@internal` markers to be dropped. Fixes #43097 PR Close #43527
1 parent 59e56e7
system.d.ts
/**
* @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
*/
/** Dummy typings for systemjs. */
declare var System: any;
Computing file changes ...