-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
Update/add new version of devtools-frontend in user tests #39568
Comments
To me the answer is just "why not both?" Freeze one in time, track the latest as well, remove the older one if and when we feel like it's a burden. I guess the only issue is losing a bit of parallelization. |
We discussed this amongst the team last week and we thought that there was value in 3 points in time:
@TimvdLippe I saw that you recently started the conversion to Typescript. Is there a good commit for to use for (2) that is just prior to that? |
https://crbug.com/1011811 is our canonical bug. I did some digging and https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1960456 appears to be our very first integration of TypeScript (typechecking So I guess if you take the parent of For an overview of CLs that typecheck a specific existing JavaScript file with TypeScript, https://docs.google.com/spreadsheets/d/1QebRQuI0oTwMb2A6VddiuYD7WeUWd0QUkUMf5eMFQUg/edit?usp=sharing is our canonical spreadsheet. |
Oh and in terms of configuration options, it is a combination of https://chromium.googlesource.com/devtools/devtools-frontend/+/refs/heads/master/tsconfig.base.json and https://chromium.googlesource.com/devtools/devtools-frontend/+/refs/heads/master/third_party/typescript/ts_library.py#101 |
Oh, right. Unless the newer commits build with a single |
We are using Ninja, as we desugar We have two options:
Depending on the performance of your machine, a full build is expected to take about 2 minutes. We are still looking into |
If you can write a short dockerfile describing the build, it shouldn't be hard to add. The challenges are usually passing enough build options to make the build mostly-silent-except-TS-errors, since the builds are pass/failed by diffing the build logs (so reduced noise is beneficial), and figuring out where/how to inject the built package drop. |
Note that I was not able to verify it fully works, as it throws an authentication error on typescript/typescript on the Docker Hub. This is part of microsoft#39568 CC @weswigham
I created the DockerFile in #39624. I locally verified that removing the Presumably, when the build would fail, the process would exit with code 1. If I am not mistaken, we could do |
* Add DockerFile for ChromeDevTools Note that I was not able to verify it fully works, as it throws an authentication error on typescript/typescript on the Docker Hub. This is part of #39568 CC @weswigham * Fix run command * Update run command
@weswigham The DockerFile landed a while ago. Are there any other actions we need to perform or can we consider this issue closed? |
Yeah, we can consider this closed. |
This issue is extracted from #38551 (comment)
by @sandersn
The background is that the current version of devtools-frontend predates our migration to ES modules. For reference, the currently used version is 530099:
TypeScript/tests/cases/user/chrome-devtools-frontend/package.json
Line 12 in 87fd182
That version was published on 2018-01-18. Since then, we have migrated to ES modules. Our NPM package hasn't fully been updated yet with that (CC @paulirish), but I recommend depending on a specific commit of our GitHub clone instead: https://github.com/chromedevtools/devtools-frontend
Why add a new version?
The usage of ES modules makes DevTools "easier" to typecheck. E.g. we are writing more idiomatic code that TypeScript expects. As such, it is better at understanding code and finding potential issues. However, it also uncovers issues in particularly the JSDoc parsing. Examples include #38551, #38550 and #38553
By adding a new version of devtools-frontend, it hopefully prevents such declaration issues from emerging before a new version of TypeScript is released.
Why keep the old version?
As @sandersn commented, there is value in keeping the older 2018 version around. The benefit would be the performance/usage of TypeScript on non-idomatic global-scope-sharing application code. I will leave that up to the TypeScript team to decide whether that is worth keeping around (with the increased maintenance, but potentially better at spotting regressions)
The text was updated successfully, but these errors were encountered: