Files
angular__angular/packages/tsconfig-legacy-saucelabs.json
T
Paul Gschwendtner 5c670b8f77 refactor: adjust packages/core/test to work with ESM (#48521)
The `packages/core/test` test code was relying on non-ESM
compatible features like untyped `require` calls.

We switch these to ESM `import` statements/expressions and
make it strongly typed. It's a trade-off between type-safety
and the dependency graph- but it feels more reasonable typing
this properly to actually benefit from the type system provided
by using TypeScript.

Additionally, we align the IDE tsconfigs to use `esnext` as module
because that is what we use in Bazel and it allows us to use
top-level await.

PR Close #48521
2022-12-19 19:50:42 +00:00

38 lines
1.5 KiB
JSON

{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../dist/legacy-test-out",
"target": "ES2015",
"module": "esnext",
"importHelpers": true,
// The project uses Bazel for TypeScript compilation. Unlike with Bazel, we build all
// sources as part of a single TypeScript compilation. This results in `@internal`
// declarations not being omitted between the logical as defined per the Bazel targets.
// This can cause issues where the `override` keyword is needed for the legacy TS
// compilation, but not within Bazel where the overridden member has `@internal`.
"noImplicitOverride": false,
// We run the decorator downlevel transform when compiling the sources and tests.
// Given that is the case, we do not need additional `design` metadata being emitted.
// The default TS decorator metadata would also not work with ES2015 JIT.
// https://github.com/angular/angular/issues/30106.
"emitDecoratorMetadata": false
},
"exclude": [
// Exclusions from the parent `tsconfig` need to be merged manually here.
"bazel",
"common/locales",
"compiler-cli/integrationtest",
"compiler-cli/test/compliance",
"core/schematics",
"elements/schematics",
"examples/**",
"http/**",
"platform-server/integrationtest",
"router/test/aot_ngsummary_test",
// Additional exclusion since tests for the language-service never run within the
// Saucelabs job and the package is not compatible with ESM TS compilation anyway.
"language-service/**"
]
}