Skip to content

Commit c93fd65

Browse files
authored
Merge pull request #189 from CodinGame/vscode-1.82.0-monaco-0.43.0
Update to vscode v1.82.0 monaco-editor v0.43.0
2 parents cd2f5b4 + af57cb2 commit c93fd65

15 files changed

+756
-591
lines changed

demo/package-lock.json

Lines changed: 77 additions & 76 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"@types/wicg-file-system-access": "^2020.9.6",
2020
"@types/ws": "^8.5.5",
2121
"ts-node": "^10.9.1",
22-
"typescript": "~5.1.6",
22+
"typescript": "~5.2.2",
2323
"vite": "~4.4.9"
2424
},
2525
"enabledApiProposals": [
@@ -30,20 +30,20 @@
3030
"ansi-colors": "^4.1.3",
3131
"dockerode": "^3.3.5",
3232
"express": "^4.18.2",
33-
"monaco-editor": "^0.41.0",
33+
"monaco-editor": "^0.43.0",
3434
"vscode": "file:../",
35-
"vscode-oniguruma": "~1.7.0",
36-
"ws": "^8.13.0",
37-
"xterm": "5.2.1",
38-
"xterm-addon-canvas": "0.4.0",
39-
"xterm-addon-image": "0.4.2",
40-
"xterm-addon-search": "0.12.0",
41-
"xterm-addon-serialize": "0.10.0",
42-
"xterm-addon-unicode11": "0.5.0",
43-
"xterm-addon-webgl": "0.15.0"
35+
"vscode-oniguruma": "~2.0.0",
36+
"ws": "^8.14.1",
37+
"xterm": "5.3.0",
38+
"xterm-addon-canvas": "0.5.0",
39+
"xterm-addon-image": "0.5.0",
40+
"xterm-addon-search": "0.13.0",
41+
"xterm-addon-serialize": "0.11.0",
42+
"xterm-addon-unicode11": "0.6.0",
43+
"xterm-addon-webgl": "0.16.0"
4444
},
4545
"volta": {
46-
"node": "18.14.2",
47-
"npm": "9.5.1"
46+
"node": "18.18.0",
47+
"npm": "9.8.1"
4848
}
4949
}

demo/vite.config.ts

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,6 @@ export default defineConfig({
2121
next()
2222
})
2323
}
24-
},
25-
{
26-
// prevent vite from trying to inject code into an extension file du to an `import()` in that file
27-
name: 'hack-prevent-transform-javascript',
28-
apply: 'serve',
29-
load (source) {
30-
if (source.includes('tsserver.web.js')) {
31-
return `eval(${JSON.stringify(fs.readFileSync(source).toString('utf-8'))})`
32-
}
33-
}
3424
}
3525
],
3626
optimizeDeps: {
@@ -50,10 +40,9 @@ export default defineConfig({
5040
'vscode/default-extensions/objective-c', 'vscode/default-extensions/perl', 'vscode/default-extensions/php', 'vscode/default-extensions/powershell',
5141
'vscode/default-extensions/python', 'vscode/default-extensions/r', 'vscode/default-extensions/ruby', 'vscode/default-extensions/rust',
5242
'vscode/default-extensions/scss', 'vscode/default-extensions/shellscript', 'vscode/default-extensions/sql', 'vscode/default-extensions/swift',
53-
'vscode/default-extensions/typescript-basics', 'vscode/default-extensions/vb', 'vscode/default-extensions/xml', 'vscode/default-extensions/yaml',
54-
'vscode/default-extensions/theme-defaults', 'vscode/default-extensions/theme-seti',
55-
'vscode/default-extensions/references-view', 'vscode/default-extensions/typescript-basics', 'vscode/default-extensions/search-result',
56-
'vscode/default-extensions/typescript-language-features', 'vscode/default-extensions/markdown-language-features',
43+
'vscode/default-extensions/typescript-basics', 'vscode/default-extensions/typescript-language-features', 'vscode/default-extensions/vb',
44+
'vscode/default-extensions/xml', 'vscode/default-extensions/yaml', 'vscode/default-extensions/theme-defaults', 'vscode/default-extensions/theme-seti',
45+
'vscode/default-extensions/references-view', 'vscode/default-extensions/search-result', 'vscode/default-extensions/markdown-language-features',
5746
'vscode/default-extensions/json-language-features', 'vscode/default-extensions/css-language-features',
5847
'vscode/default-extensions/npm', 'vscode/default-extensions/css', 'vscode/default-extensions/markdown-basics', 'vscode/default-extensions/html',
5948
'vscode/default-extensions/html-language-features', 'vscode/default-extensions/configuration-editing', 'vscode/default-extensions/media-preview', 'vscode/default-extensions/markdown-math',

docs/vscode_monaco_upgrade.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# How to upgrade to next vscode and monaco-editor versions
2+
3+
## Preparation
4+
5+
- It is assumed `monaco-vscode-api`, `vscode` and `monaco-editor` repos are cloned locally on the same directory level. `monaco-editor` is not required, but helpful
6+
7+
## vscode repository
8+
9+
- Get the new vscode commit from the new monaco-editor release version (in the package.json there is a `vscodeRef` field)
10+
- Go to the vscode repo directory, reset to the previous vscodeRef commit
11+
- Apply the current patch: `patch -p1 < ../monaco-vscode-api/scripts/vscode.patch`
12+
- `git stash`
13+
- Checkout new vscodeRef commit
14+
- `git stash pop`
15+
- Resolve conflicts / update code (e.g. broken imports)
16+
- Generate new patch: `git diff --staged > ../monaco-vscode-api/scripts/vscode.patch`
17+
18+
## monaco-vscode-api repository
19+
20+
- Update `monaco-editor` and other dependencies and update to the new `vscodeRef` from above
21+
- Run `npx @vscode/dts dev` afterwards to update the `vscode.proposed.xxx.d.ts` files. It fixes potential errors in `api.ts`
22+
- Wait for the new vscode version to be downloaded and built
23+
- Fix errors, adapt code, build, include the `vscode.patch` into this commit
24+
- Do not hesitate to run the eslint autofix, it gets rid of the majority of your errors
25+
- Implement missing services. This is easily observable seem when running the demo (see next point)
26+
- Update demo
27+
- Update dependencies
28+
- Implement improvements dependening on the new features available from vscode (optional)
29+
30+
## Hints
31+
32+
Use repo log viewers and check the last update branch when in doubt

0 commit comments

Comments
 (0)