mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
build: bundle spec files for saucelabs legacy job (#44281)
Bundle spec files similar to how it is done within the Angular Components repo. This should simplify the setup and also speed up the Saucelab job as only a single spec bundle would need to be downloaded, compared to having to load hundreds of files through the Saucelabs tunnel. Also makes a couple of tests more robust with the emulators/and accounts for ES2015 test runner changes. The tests should be less reluctant to such build process changes. Note for reviewers: Some imports have been simplified here. This work came from Joey's original WIP for this. It's unclear to me whether this is still needed, but it sounded like this was necessary for the ESBuild bundling to work. I have robusted the module resolution plugin though, so I doubt it's still needed. At the same time though: Not worth reverting/trying as these changes are nice to have anyway! Co-Authored-By: Joey Perrott <josephperrott@gmail.com> Co-Authored-By: Paul Gschwendtner <paulgschwendtner@gmail.com> PR Close #44281
This commit is contained in:
committed by
Dylan Hunn
parent
61e023488e
commit
b23ce150d0
@@ -1,13 +1,37 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"target": "ES5",
|
||||
"module": "commonjs",
|
||||
"outDir": "../dist/legacy-test-out",
|
||||
"target": "ES2015",
|
||||
"module": "ES2020",
|
||||
"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
|
||||
}
|
||||
"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/**",
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user