-
Notifications
You must be signed in to change notification settings - Fork 6.8k
build: ensure build uses typescript 3.9 #19336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: ensure build uses typescript 3.9 #19336
Conversation
b60623a
to
0433554
Compare
@@ -4,7 +4,7 @@ | |||
{ | |||
"extends": "./bazel-tsconfig-build.json", | |||
"compilerOptions": { | |||
"importHelpers": false, | |||
"importHelpers": true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be set to true because the inline emitted helpers by TypeScript are currently broken in TS 3.9.2. A fix has landed, but will be available in the next patch..
microsoft/TypeScript#38501. We can leave this enabled anyway, or turn it back to false
. Both have pros and cons.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW: The CLI has importHelpers: true
for tests too.
module_name = "@angular/cdk/schematics", | ||
prodmode_module = "commonjs", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The schematic code does not rely on importHelpers
/ tslib
, so it currently breaks due to the aforementioned TS bug. We can fix this by building schematics always in commonjs
. This might generally make sense to keep since schematics do not run in the browser.
Is this also blocked on angular/angular#36989? |
@jelbourn Not necessarily as we:
I guess it's up to preference whether we want to merge this or not. We can certainly wait until framework lands their PR so that we don't need (1) an (2), but we can also land this and remove (1) and (2) in a follow-up. |
'components-repo-unit-tests' CI job has been temporary disabled until the Components team support building and testing their repo with TypeScript 3.9. The TS 3.9 update is being done in angular/components#19336. Once this gets merged we should re-enable this CI job. More context on why this had to be disabled can be found: #37129 (comment) PR Close #37129
0433554
to
f96e178
Compare
We recently updated TS 3.9 in the `package.json` with angular#19286, but the build did not pick up the new version. This is because peer dependency ranges did not accept TS 3.9, so yarn hoisted sufficient TS versions.
f96e178
to
772d6e9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Updates the commit the `components-repo-unit-tests` job runs against. The goal is that we run against a revision that at least contains: angular/components#19336. The new commit contains fixes for a flaky test in the datepicker that we saw failing in the components-repo-unit-tests job too: https://app.circleci.com/pipelines/github/angular/angular/15359/workflows/27ffae7c-a7b8-46a3-9c9e-6dd22ca4734d/jobs/712643. Additionally, with this commit, the components repo unit tests job will use TypeScript 3.9.2, so we can re-enable the job in another commit.
Updates the commit the `components-repo-unit-tests` job runs against. The goal is that we run against a revision that at least contains: angular/components#19336. The new commit contains fixes for a flaky test in the datepicker that we saw failing in the components-repo-unit-tests job too: https://app.circleci.com/pipelines/github/angular/angular/15359/workflows/27ffae7c-a7b8-46a3-9c9e-6dd22ca4734d/jobs/712643. Additionally, with this commit, the components repo unit tests job will use TypeScript 3.9.2, so we can re-enable the job in another commit. PR Close #37176
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
We recently updated TS 3.9 in the
package.json
with #19286, but the build didnot pick up the new version. This is because peer dependency ranges
did not accept TS 3.9, so yarn hoisted satisfying TS versions.