-
Notifications
You must be signed in to change notification settings - Fork 327
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
🏗 Target VS Code 1.63 #1119
🏗 Target VS Code 1.63 #1119
Conversation
这个模块比那些有几十 error 的都难修。我之前研究了一个月,这周又被迫看了 3 天。一头雾水,受够了。 I'm not able to resolve legacy bugs and merge conflicts. |
(Have to look at this some time later) |
Could you split this one into a few smaller ones? Then we can merge most of the changes (e.g. infra changes) soon, and I will take care of the conflicts (table formatter) later. |
I'm afraid no. As stated in #1054 (comment) (2021-12-13), the updates to the build system, which aim to no longer deceive or hinder the compiler 1, reveal hundreds of errors, which have to be solved together. Indeed, in order to avoid more rabbit holes, I have not been actively pushing to the Meanwhile, I've tried my best to minimize changes, and even resorted to Footnotes |
Alright. |
Do you need some hints for the build system? You can read it in this order:
|
Thanks. That can be helpful. Just need to find enough time to go through it (hopefully this weekend). |
Thanks for the great work! I've fixed a minor bug in the table formatter as the code is not easy to read if you don't know the history. |
Summary
Increase the runtime requirements as planned.
Refactor the TSConfig.
Refactor the webpack configuration.
Reorganize the package scripts.
Develop a new unified build pipeline (
build
). I felt no need to take comprehensive frameworks, so made it from scratch.Enable all recommended strict checks of TypeScript. (Remaining work of 8b09452)
Satisfy the compiler, with necessary refactoring and transformation, including something from 7037e0b (Replace some
registerCommand
withregisterTextEditorCommand
#1003).Fix a memory leak in the
src/tableFormatter.ts
.Update dependencies.
Performed verification
Verified at b75e001.
Warning: Accomplishing the following tasks may need about ten hours.
Run the defined VS Code background task "Dev - Compile". The Problems Panel should refresh and report errors in time.
Run the build system (
npm run build
) with all the environment variable combinations (2 * 2 * 2 = 8
cases). Debug to confirm correct flow and modification to webpack configs.Inspect bundles and source maps.
Run the
build/compilation.js
with errors (>200
TypeScript-level semantic faults in several modules) and success respectively. Capture CPU and memory profiles. Comparing withwebpack-cli
, the performance difference should be less than 1% degeneration.Try to develop a VS Code problem matcher which can parse the output of the build system.
Run
vsce ls
. Check the file list.Confirm all kinds of breakpoints can work.
Confirm proper registration of dispose-handlers.
Edit Markdown documents with headings, bullet lists, loose ordered lists, block quotes, links, images, fenced code blocks, math areas, and tables. The behavior should be the same as before.
Remaining problems
Cannot launch tests locally. But after five months of unexpected busy time, obscure documents, and mysterious code, I'm afraid now I don't have enough passion to spend another three weeks in another field of infrastructure.
Strange patterns exist. They seem incorrect coupling, but I'm not sure, as it's too hard to reason the code.