diff --git a/index.html b/index.html index 40d110a..7ba0c5f 100644 --- a/index.html +++ b/index.html @@ -62,6 +62,14 @@ + diff --git a/package.json b/package.json index ede900c..c18e833 100644 --- a/package.json +++ b/package.json @@ -5,29 +5,35 @@ "type": "module", "scripts": { "dev": "vite", + "dev:debug": "vite --debug --force", + "watch": "tsc -w", "build": "tsc && vite build", "preview": "vite preview" }, "devDependencies": { "@types/emscripten": "^1.39.10", - "@types/node": "^20.4.0", - "@types/vscode": "~1.85.0", - "typescript": "^5.2.2", - "vite": "^5.0.8" + "@types/node": "~20.12.12", + "@types/vscode": "~1.89.0", + "typescript": "^5.4.5", + "vite": "^5.2.11" }, "dependencies": { - "@codingame/monaco-vscode-language-pack-zh-hans": "~1.85.6", - "@codingame/monaco-vscode-theme-defaults-default-extension": "~1.85.6", + "@codingame/esbuild-import-meta-url-plugin": "~1.0.2", + "@codingame/monaco-vscode-configuration-service-override": "~5.1.1", + "@codingame/monaco-vscode-cpp-default-extension": "~5.1.1", + "@codingame/monaco-vscode-textmate-service-override": "~5.1.1", + "@codingame/monaco-vscode-theme-service-override": "~5.1.1", "ansi_up": "^6.0.2", "iframe-resizer": "^4.3.9", - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.85.0 <1.86.0", - "monaco-languageclient": ">= 7.3.0 < 7.4.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.85.0 <1.86.0", + "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~5.1.1", + "monaco-editor-wrapper": "~5.1.1", + "monaco-languageclient": "~8.4.0", + "vscode": "npm:@codingame/monaco-vscode-api@~5.1.1", "vscode-languageserver": "~9.0.1" }, - "overrides": { - "monaco-editor": "$monaco-editor", - "vscode": "$vscode" - }, - "packageManager": "pnpm@9.1.0" + "packageManager": "pnpm@9.1.1", + "volta": { + "node": "20.13.1", + "pnpm": "9.1.1" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e865de8..a06b3bd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,12 +8,21 @@ importers: .: dependencies: - '@codingame/monaco-vscode-language-pack-zh-hans': - specifier: ~1.85.6 - version: 1.85.6 - '@codingame/monaco-vscode-theme-defaults-default-extension': - specifier: ~1.85.6 - version: 1.85.6 + '@codingame/esbuild-import-meta-url-plugin': + specifier: ~1.0.2 + version: 1.0.2 + '@codingame/monaco-vscode-configuration-service-override': + specifier: ~5.1.1 + version: 5.1.1 + '@codingame/monaco-vscode-cpp-default-extension': + specifier: ~5.1.1 + version: 5.1.1 + '@codingame/monaco-vscode-textmate-service-override': + specifier: ~5.1.1 + version: 5.1.1 + '@codingame/monaco-vscode-theme-service-override': + specifier: ~5.1.1 + version: 5.1.1 ansi_up: specifier: ^6.0.2 version: 6.0.2 @@ -21,14 +30,17 @@ importers: specifier: ^4.3.9 version: 4.3.9 monaco-editor: - specifier: npm:@codingame/monaco-editor-treemended@>=1.85.0 <1.86.0 - version: '@codingame/monaco-editor-treemended@1.85.6' + specifier: npm:@codingame/monaco-vscode-editor-api@~5.1.1 + version: '@codingame/monaco-vscode-editor-api@5.1.1' + monaco-editor-wrapper: + specifier: ~5.1.1 + version: 5.1.1(@codingame/monaco-vscode-api@5.1.1)(@codingame/monaco-vscode-editor-api@5.1.1)(monaco-languageclient@8.4.0(@codingame/monaco-vscode-api@5.1.1)(@codingame/monaco-vscode-editor-api@5.1.1)) monaco-languageclient: - specifier: '>= 7.3.0 < 7.4.0' - version: 7.3.0(@codingame/monaco-editor-treemended@1.85.6)(@codingame/monaco-vscode-api@1.85.6) + specifier: ~8.4.0 + version: 8.4.0(@codingame/monaco-vscode-api@5.1.1)(@codingame/monaco-vscode-editor-api@5.1.1) vscode: - specifier: npm:@codingame/monaco-vscode-api@>=1.85.0 <1.86.0 - version: '@codingame/monaco-vscode-api@1.85.6' + specifier: npm:@codingame/monaco-vscode-api@~5.1.1 + version: '@codingame/monaco-vscode-api@5.1.1' vscode-languageserver: specifier: ~9.0.1 version: 9.0.1 @@ -37,263 +49,337 @@ importers: specifier: ^1.39.10 version: 1.39.10 '@types/node': - specifier: ^20.4.0 - version: 20.11.7 + specifier: ~20.12.12 + version: 20.12.12 '@types/vscode': - specifier: ~1.85.0 - version: 1.85.0 + specifier: ~1.89.0 + version: 1.89.0 typescript: - specifier: ^5.2.2 - version: 5.3.3 + specifier: ^5.4.5 + version: 5.4.5 vite: - specifier: ^5.0.8 - version: 5.0.12(@types/node@20.11.7) + specifier: ^5.2.11 + version: 5.2.11(@types/node@20.12.12) packages: - '@codingame/monaco-editor-treemended@1.85.6': - resolution: {integrity: sha512-gA48LPVzbKDHyrKbQ6qLgV0hE6BH+px5ZCfjLPzZnl9WQZ4iLhpHB8oqPdMLRr/0y73qzSkQdQ0T/iGxiDC+hw==} + '@codingame/esbuild-import-meta-url-plugin@1.0.2': + resolution: {integrity: sha512-b1PjH6DVdTQd0WLO2R+b9oMlO7REyiAVbcx8weN1ZYiBSROuAy9MJ/j2NI4sxmFv9GK0wM9HRrBg6J2CBZ1xzQ==} - '@codingame/monaco-vscode-api@1.85.6': - resolution: {integrity: sha512-4udds/yfMRwrzRF6Yq5lI/vn4TEDT4r4nxSJXJ4KNpLoSWNV2p63NMItBGKmFBKCJQpIMtvO2O0IeX9gso2v2A==} - hasBin: true + '@codingame/monaco-vscode-api@5.1.1': + resolution: {integrity: sha512-RnmsH+ffxoahEPEP+WUDiObYsoFK4c56QbwJz7JrdRMdbik8xjMBlift9Nf9dZl8ZW8E89HKM2jvxDdI3uwa0w==} + + '@codingame/monaco-vscode-base-service-override@5.1.1': + resolution: {integrity: sha512-4bJjo2YanY7TbgwLvh7qC/vuoFSFZ2GHWd/LY/JUhQJvSSAI3DWcNcZM+mTLwez4LtYsl1lOPS2Vy1J2f27UhA==} + + '@codingame/monaco-vscode-configuration-service-override@5.1.1': + resolution: {integrity: sha512-ERvyx+pwbrIdzaR01ze0NfoDxumE/YtpeapWO93Cf+aEWY2Akc7PVIxldJc4yN+eF5GBdTUJaLhNK1fzINkizQ==} + + '@codingame/monaco-vscode-cpp-default-extension@5.1.1': + resolution: {integrity: sha512-a/7YaMNbxLqdwnJ5st/VPyWzOYqD+xOSUNwHX9rZP8Ij3pn54ILE+wnPrt0OOg6VDtc1/kgfWUiF6GkPm6U//Q==} + + '@codingame/monaco-vscode-editor-api@5.1.1': + resolution: {integrity: sha512-doJspiaj28bxZWUuDeeQmdy3quxzkgNDQeywDwUluhlef/ji7ACqhmpSRjdHwoRyWOfMMHB/IMJMUqVuVPYxjA==} + + '@codingame/monaco-vscode-editor-service-override@5.1.1': + resolution: {integrity: sha512-SnV25sVREUaJ1kwwm5Jmaf4Yx3K4C50QfD435hA+XKt6g3fyHFsj+O8D7QjYOyjEeaIdXfCGDmw+B6g7yBbIKw==} + + '@codingame/monaco-vscode-environment-service-override@5.1.1': + resolution: {integrity: sha512-D1e32fmr+jU8H2wnVs0mnEkvWQxdxfmV+2Csj3qoREBJGH4/+23EymxgisSQQwySCtoLO/CsZ/+Qg+xs9iOPuw==} + + '@codingame/monaco-vscode-extensions-service-override@5.1.1': + resolution: {integrity: sha512-VnXsyKswZyuXxyoSFGI+9P5KpGWyB5U4W6EtyIUFHzh2Ro1WUJLy7POqKTe9aXLNFhu+9ZryTBKamw08f/+Ljw==} + + '@codingame/monaco-vscode-files-service-override@5.1.1': + resolution: {integrity: sha512-xrhZzymmNIp9KIZBWHmUkkYqViocQw2TGnKBuYpZXVKP7ixPpNOK+bwT0X3RQka09N3DIY2UbQ6DnscId8QAWg==} + + '@codingame/monaco-vscode-host-service-override@5.1.1': + resolution: {integrity: sha512-XiSjh5ioVaCvzcKtaiAuxTaU27WfcAEX/QURSoXzP91Yr5LvK5wi1+ciCGInfSfNnxXWYsnulhs5jPK7TfIP4w==} + + '@codingame/monaco-vscode-language-pack-cs@5.1.1': + resolution: {integrity: sha512-pcmtqwCRdTon1zIxlDV+S5RK6OFzuHWM95v6y7yhGn8RUIsB8EqyPMj2Qn/YjMmTZCa8Mt1CH595t0wpekg2/g==} + + '@codingame/monaco-vscode-language-pack-de@5.1.1': + resolution: {integrity: sha512-Zi/dfjzJRf5ds9o7B9N4aTin3hjAo+7U46etW4/b7u1/HiO8CZ9zM2yRiFB1w11dNjJhYXy8CzS831HPixS0xg==} + + '@codingame/monaco-vscode-language-pack-es@5.1.1': + resolution: {integrity: sha512-RBTqCF7U23bI6zLb36ua4qzwK6D7BLArfE5HhrkkTNDwWt9Hm75Tjf9Hur99s+Df3Qs64cYySCw6Z4ZiAJbiaw==} - '@codingame/monaco-vscode-base-service-override@1.85.6': - resolution: {integrity: sha512-+/vkUTgmRr81sr0fs8Qa6M/swWqhqmy8S4mH5UZkhTUQdLBv7k3ogaRpPcIqvTaqiVnj3ADv77yeL3PGVyhHDA==} + '@codingame/monaco-vscode-language-pack-fr@5.1.1': + resolution: {integrity: sha512-5CS7Ijz8oj4WyJm5gYdxf26Ov+f0ybI+WPmK8lHMfUyB2IFdGmCCkn20YgokvKqE8ZJQrrhUbnN6ZZZzRjof9g==} - '@codingame/monaco-vscode-editor-service-override@1.85.6': - resolution: {integrity: sha512-oVlZrob7zvSGyk5YdBtFdSQ0o8vDrbwNs/DXunfaKVai6l5NKvi5aGUzMdyPWOs+GUIQERbWuMfFtaNE73LrtQ==} + '@codingame/monaco-vscode-language-pack-it@5.1.1': + resolution: {integrity: sha512-mwU+khpHqvIG+T1a8Uqk5+BXJcNLgD36GJdKbYQwK8WIwnmmJdvNoZ3rgKDwz6KquHEkgr7UNBAusiuUfmvO5w==} - '@codingame/monaco-vscode-environment-service-override@1.85.6': - resolution: {integrity: sha512-J/Td0YnsqEnOortn5J0fVwvZ6fB89jXhKEuDR8o0iV9Eoyirji7c+RGvL+5KJARNsguelc7//b81WW8/o4wMFg==} + '@codingame/monaco-vscode-language-pack-ja@5.1.1': + resolution: {integrity: sha512-2/74SfUS2lkgq33X+CuZSbZk3h5Y4DoOa8YwobMJKHFW4HEiEVU7j0Isk1ZYZhSYgiSReUjao1A/QKcoeO1ZXg==} - '@codingame/monaco-vscode-extensions-service-override@1.85.6': - resolution: {integrity: sha512-TmjGSd1dDMm65KNlFg58zHNAD60KlpZXN1EExabezbEBHa/gMqLT5JyF3+bBe0tbPJ4R5zmWzvfunh73sgTbLw==} + '@codingame/monaco-vscode-language-pack-ko@5.1.1': + resolution: {integrity: sha512-kny5aA8JyDrmgaB5oGOhAFD76mTr44WTaNhSG7iVrJupJNGco/vs4Pk8GZ5uDhWnFsq0Smoa6H7Gu3QQuIFAqA==} - '@codingame/monaco-vscode-files-service-override@1.85.6': - resolution: {integrity: sha512-ptNqoLBJr/+8Z5gzgeuAZt4yaPK5Lm0i5okQTcgrzHLezKCs5XZXUk6ZVeCMoQqQiK9Mo4C5mWimPQ83Wf18ig==} + '@codingame/monaco-vscode-language-pack-pl@5.1.1': + resolution: {integrity: sha512-QNzzOL+nZdr2JGokD2hb1Btq7SrvgxAYOSwVCAJEwDjtq/t5LL6PqTRkPsOamW7SRUYSR4PJ3HRSm4uu73XKBw==} - '@codingame/monaco-vscode-host-service-override@1.85.6': - resolution: {integrity: sha512-ikmJyG7ev9ERafD7J+y/JtoTPjkibOHxE2OLKxFMMaJsoGQK8dV0DR3geS1xTrEZf8ecCEqC2z4XpnAXr9V9IA==} + '@codingame/monaco-vscode-language-pack-pt-br@5.1.1': + resolution: {integrity: sha512-Onrw1fTq3oiuVEaDSdf8AMIoV34CISAivSRNiA2/aLGbGOTJ9QRTG9tR+aXzV+D6y0dcxEBKDe2n1byg/WgFlw==} - '@codingame/monaco-vscode-language-pack-zh-hans@1.85.6': - resolution: {integrity: sha512-ipAIkLUM+15qjO8+ZVSTkHm4UlDJQGXFN3z5IQ70GlYdloXQEi/gAChgvQbnNLbC1aqsh6/wrTjobjT+f1acSg==} + '@codingame/monaco-vscode-language-pack-qps-ploc@5.1.1': + resolution: {integrity: sha512-PCv/Fbar8Pzi+y/ILZcdFg9qjY83I6j3ld93Rp2PHkYmhQcp4TE2lIXvyMPFGNnT6YHUH+SMuV+/HPOheZz/4w==} - '@codingame/monaco-vscode-languages-service-override@1.85.6': - resolution: {integrity: sha512-gkV0CvL9NB03Ve9P0OOB9KplbWiedBeZvgc6NstICMiqT+opNAqcSbkceyWm+LhZoLq6ZsKNuTl4NrtJ4VnECg==} + '@codingame/monaco-vscode-language-pack-ru@5.1.1': + resolution: {integrity: sha512-BOhcuEE/nl2PGOTaZLn2VXxZZqhMNx7HgT3UxUTGRQC8NLdIwzEh6jlaFHbdRw/o3lx6S5/0ce3Ix7Tta8L55g==} - '@codingame/monaco-vscode-layout-service-override@1.85.6': - resolution: {integrity: sha512-dWj01HuZRDfNIyqjY7py3tYElWaM7hLVkPokWM2/5tUtGr9xyLbKvi5JSeM96sbxpqHszzkR/hiv+4v4fSB+oQ==} + '@codingame/monaco-vscode-language-pack-tr@5.1.1': + resolution: {integrity: sha512-PNb+9lJzSKUUjA0tfIbIHnePaeBedRGUuJJAcDq4VMNyK+tcbuNuQL5YEcwR3z2I6z7kg/fj5JUuOGJg0W06Ig==} - '@codingame/monaco-vscode-model-service-override@1.85.6': - resolution: {integrity: sha512-DTIjWmP2Offsi5T8ZQxABnYK0lTNXdd+Vc9IpsXatFCmM6434JX48rz7QNnAP3eNUOaQemXUlTFYcj30R0arBA==} + '@codingame/monaco-vscode-language-pack-zh-hans@5.1.1': + resolution: {integrity: sha512-P7Znjg08BrfhVAtaeweyBTFyB+vxQuB1rHX7Ok+QRkQlkLQnTSsoBijam/H5ZmTN90hWBJbQMwr6aJtl/ESGbQ==} - '@codingame/monaco-vscode-quickaccess-service-override@1.85.6': - resolution: {integrity: sha512-f9PfAg+pWemwBysCtr/MAUA6iwU6/JFvGDakd7N0Nf9o882ozJt9UOHH8SHerPZk5UdqSJtnl7yJsDbmxbUf2Q==} + '@codingame/monaco-vscode-language-pack-zh-hant@5.1.1': + resolution: {integrity: sha512-dtGaZdPCvqTIoNnnqIEF162OBg2gh3BksbXdA+QHTMkpHquHZt1b4CnRqmKPWaOZqG1Kmc6a+szNfudQl7TAyg==} - '@codingame/monaco-vscode-theme-defaults-default-extension@1.85.6': - resolution: {integrity: sha512-k8KsrIEKvQNlhoofN62TFtwyCdwuX+nTgX+LsK6GY8Uu5HpmUXyu0eZQFZYZy4D2h3HirPLSbQ02qUfjUwa6hw==} + '@codingame/monaco-vscode-languages-service-override@5.1.1': + resolution: {integrity: sha512-F1Z9y/WRzZqUPtVYcNxNe5fr0qn9sOQzhaGKWvQZfnlZmRsVpCPHGFHJkCk4byxuqnDm/St3jPdqxXAcR94H7w==} - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + '@codingame/monaco-vscode-layout-service-override@5.1.1': + resolution: {integrity: sha512-nhQOqHZo6r8tmF9TZ6zWU94ZcFPhOxDfVgBwvdk2cwoeD0SkR0/XlnvN4H313sb2wpBtP+m2ny9tNMz0QVq1Iw==} + + '@codingame/monaco-vscode-localization-service-override@5.1.1': + resolution: {integrity: sha512-3lBQU88F0QldQIkhLIIr+ndgxhwXwDmqPmVQ44OkY6BIhSag1UoXaSSAob73h7nQiFbVyAIKSXq0NB3BlHwnDA==} + + '@codingame/monaco-vscode-model-service-override@5.1.1': + resolution: {integrity: sha512-EgFr2rNpnG1IO1p+Dn+HDTydbKJr2vNIsJKPdBKHt1VFyijzQaQ/OSmdUCPzFrduyblE+k0h4FltC6aW3+Fe5A==} + + '@codingame/monaco-vscode-monarch-service-override@5.1.1': + resolution: {integrity: sha512-nnGMjjhNV3i/WYycTS1RBCVgf0SaE7TXEFVLcRWijV34DpTBAOXf37xRRuI+mnVbkWcih+mMiPb9Yyl1Ynd3/w==} + + '@codingame/monaco-vscode-quickaccess-service-override@5.1.1': + resolution: {integrity: sha512-lcxqW6F/BHnjM63tvfFtYkiRFIVhvTWnp0sSs49SCHtutiRQOqEMpyvMrzVpWXUx6KD3BdRcRxjSPxdrQxRDMA==} + + '@codingame/monaco-vscode-textmate-service-override@5.1.1': + resolution: {integrity: sha512-RB0sSn3Tzn8M6y7Fk1kEqe7aVpwtwxhDelgAKG4dMVK7KSLhngXAfDQNzTxIHKMEprJjVD0aTz8LIjnYL3vcVA==} + + '@codingame/monaco-vscode-theme-defaults-default-extension@5.1.1': + resolution: {integrity: sha512-YXpx/Nz4UYioBw32Cbxre0b/BRvcQDTMqtYDLEzLzImkBpXqqNa0mjc+m28oILndD3GWNYK204f0k/XP2YCmtw==} + + '@codingame/monaco-vscode-theme-service-override@5.1.1': + resolution: {integrity: sha512-xirzDwOaKSe4ZbE8H7OTATHY2x25Y8SJYXAnyU6Pl2205uzoeQYui78FQ2/eubSW4HSbiNIIKIKwcc1PMmMbtQ==} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - '@rollup/rollup-android-arm-eabi@4.9.6': - resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + '@rollup/rollup-android-arm-eabi@4.17.2': + resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.9.6': - resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + '@rollup/rollup-android-arm64@4.17.2': + resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.9.6': - resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + '@rollup/rollup-darwin-arm64@4.17.2': + resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.9.6': - resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + '@rollup/rollup-darwin-x64@4.17.2': + resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.9.6': - resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': + resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.17.2': + resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.9.6': - resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + '@rollup/rollup-linux-arm64-gnu@4.17.2': + resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.9.6': - resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + '@rollup/rollup-linux-arm64-musl@4.17.2': + resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.9.6': - resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': + resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.17.2': + resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.9.6': - resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + '@rollup/rollup-linux-s390x-gnu@4.17.2': + resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.17.2': + resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.9.6': - resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + '@rollup/rollup-linux-x64-musl@4.17.2': + resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.9.6': - resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + '@rollup/rollup-win32-arm64-msvc@4.17.2': + resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.9.6': - resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + '@rollup/rollup-win32-ia32-msvc@4.17.2': + resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.9.6': - resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + '@rollup/rollup-win32-x64-msvc@4.17.2': + resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} cpu: [x64] os: [win32] @@ -303,11 +389,14 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/node@20.11.7': - resolution: {integrity: sha512-GPmeN1C3XAyV5uybAf4cMLWT9fDWcmQhZVtMFu7OR32WjrqGG+Wnk2V1d0bmtUyE/Zy1QJ9BxyiTih9z8Oks8A==} + '@types/node@20.12.12': + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} + + '@types/vscode@1.89.0': + resolution: {integrity: sha512-TMfGKLSVxfGfoO8JfIE/neZqv7QLwS4nwPwL/NwMvxtAY2230H2I4Z5xx6836pmJvMAzqooRQ4pmLm7RUicP3A==} - '@types/vscode@1.85.0': - resolution: {integrity: sha512-CF/RBon/GXwdfmnjZj0WTUMZN5H6YITOfBCP4iEZlOtVQXuzw6t7Le7+cR+7JzdMrnlm7Mfp49Oj2TuSXIWo3g==} + '@vscode/iconv-lite-umd@0.7.0': + resolution: {integrity: sha512-bRRFxLfg5dtAyl5XyiVWz/ZBPahpOpPrNYnnHpOpUZvam4tKH35wdhP4Kj6PbM0+KdliOsPzbGWpkxcdpNB/sg==} ansi_up@6.0.2: resolution: {integrity: sha512-3G3vKvl1ilEp7J1u6BmULpMA0xVoW/f4Ekqhl8RTrJrhEBkonKn5k3bUc5Xt+qDayA6iDX0jyUh3AbZjB/l0tw==} @@ -318,8 +407,8 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} hasBin: true @@ -332,6 +421,13 @@ packages: resolution: {integrity: sha512-MCt+V/THB4a9OcAdrWo5NsI2CRpeMM4ijhTfiLtsdgDJXWYXf62Ve8yO8rKGmYNs991zty/EolYOxActlkfU+A==} engines: {node: '>=0.8.0'} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + jschardet@3.0.0: + resolution: {integrity: sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==} + engines: {node: '>=0.1.90'} + lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -340,15 +436,19 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - monaco-editor@0.45.0: - resolution: {integrity: sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==} + monaco-editor-wrapper@5.1.1: + resolution: {integrity: sha512-4mAX/52rN0kz7ME/e9gbrcosFWR4zYMzyw2iH3BtQB0HPAPcPOVxSHcE/C8HBIQl7HVoST02FXSm5xAqqMH1ww==} + peerDependencies: + monaco-editor: npm:@codingame/monaco-vscode-editor-api@~5.1.1 + monaco-languageclient: ~8.4.0 + vscode: npm:@codingame/monaco-vscode-api@~5.1.1 - monaco-languageclient@7.3.0: - resolution: {integrity: sha512-8mAl+qa1JhTv5Iwm8P4a08XAJoN2XrG7tyckOYLn0jipLLdXNCRuUA6HaaFkc/naTzjy/bgqpiMoFy9k5J6gKA==} + monaco-languageclient@8.4.0: + resolution: {integrity: sha512-G2mhKLxhxrwGGNhFktqbFFPp/+2PuY+EY5gU3kIOC9RLBYauEh78TQqX6PwyLAJni9gyiiolmg2KVFLR0i3uKA==} engines: {node: '>=16.11.0', npm: '>=9.0.0'} peerDependencies: - monaco-editor: 0.45.0 - vscode: npm:@codingame/monaco-vscode-api@>=1.85.0 <1.86.0 + monaco-editor: npm:@codingame/monaco-vscode-editor-api@~5.1.1 + vscode: npm:@codingame/monaco-vscode-api@~5.1.1 nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} @@ -358,38 +458,34 @@ packages: picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - rollup@4.9.6: - resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - semver@5.5.0: - resolution: {integrity: sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==} - hasBin: true - semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - vite@5.0.12: - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + vite@5.2.11: + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -434,203 +530,301 @@ packages: resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} hasBin: true + vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + + vscode-textmate@9.0.0: + resolution: {integrity: sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg==} + + vscode-ws-jsonrpc@3.3.1: + resolution: {integrity: sha512-6eBDPCzB6X32oCH4bG42IQ8xf7L200VPU5GT77fKGzlIZJCvWwFeZG7hj2kJPMKUMuuHHh0VeZIonzwAQrVq+g==} + engines: {node: '>=16.11.0', npm: '>=8.0.0'} + yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} snapshots: - '@codingame/monaco-editor-treemended@1.85.6': {} + '@codingame/esbuild-import-meta-url-plugin@1.0.2': + dependencies: + esbuild: 0.20.2 + import-meta-resolve: 4.1.0 + + '@codingame/monaco-vscode-api@5.1.1': + dependencies: + '@codingame/monaco-vscode-base-service-override': 5.1.1 + '@codingame/monaco-vscode-environment-service-override': 5.1.1 + '@codingame/monaco-vscode-extensions-service-override': 5.1.1 + '@codingame/monaco-vscode-files-service-override': 5.1.1 + '@codingame/monaco-vscode-host-service-override': 5.1.1 + '@codingame/monaco-vscode-layout-service-override': 5.1.1 + '@codingame/monaco-vscode-quickaccess-service-override': 5.1.1 + '@vscode/iconv-lite-umd': 0.7.0 + jschardet: 3.0.0 + + '@codingame/monaco-vscode-base-service-override@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-configuration-service-override@5.1.1': + dependencies: + '@codingame/monaco-vscode-files-service-override': 5.1.1 + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-cpp-default-extension@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-editor-api@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-api@1.85.6': + '@codingame/monaco-vscode-editor-service-override@5.1.1': dependencies: - '@codingame/monaco-vscode-base-service-override': 1.85.6 - '@codingame/monaco-vscode-environment-service-override': 1.85.6 - '@codingame/monaco-vscode-extensions-service-override': 1.85.6 - '@codingame/monaco-vscode-files-service-override': 1.85.6 - '@codingame/monaco-vscode-host-service-override': 1.85.6 - '@codingame/monaco-vscode-layout-service-override': 1.85.6 - '@codingame/monaco-vscode-quickaccess-service-override': 1.85.6 - monaco-editor: 0.45.0 - vscode-semver: semver@5.5.0 + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-base-service-override@1.85.6': + '@codingame/monaco-vscode-environment-service-override@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-editor-service-override@1.85.6': + '@codingame/monaco-vscode-extensions-service-override@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + '@codingame/monaco-vscode-files-service-override': 5.1.1 + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-environment-service-override@1.85.6': + '@codingame/monaco-vscode-files-service-override@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-extensions-service-override@1.85.6': + '@codingame/monaco-vscode-host-service-override@5.1.1': dependencies: - '@codingame/monaco-vscode-files-service-override': 1.85.6 - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' - vscode-semver: semver@5.5.0 + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-files-service-override@1.85.6': + '@codingame/monaco-vscode-language-pack-cs@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-host-service-override@1.85.6': + '@codingame/monaco-vscode-language-pack-de@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-language-pack-zh-hans@1.85.6': + '@codingame/monaco-vscode-language-pack-es@5.1.1': dependencies: - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-languages-service-override@1.85.6': + '@codingame/monaco-vscode-language-pack-fr@5.1.1': dependencies: - '@codingame/monaco-vscode-files-service-override': 1.85.6 - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-layout-service-override@1.85.6': + '@codingame/monaco-vscode-language-pack-it@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-model-service-override@1.85.6': + '@codingame/monaco-vscode-language-pack-ja@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-quickaccess-service-override@1.85.6': + '@codingame/monaco-vscode-language-pack-ko@5.1.1': dependencies: - monaco-editor: 0.45.0 - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@codingame/monaco-vscode-theme-defaults-default-extension@1.85.6': + '@codingame/monaco-vscode-language-pack-pl@5.1.1': dependencies: - vscode: '@codingame/monaco-vscode-api@1.85.6' + vscode: '@codingame/monaco-vscode-api@5.1.1' - '@esbuild/aix-ppc64@0.19.12': + '@codingame/monaco-vscode-language-pack-pt-br@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-language-pack-qps-ploc@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-language-pack-ru@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-language-pack-tr@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-language-pack-zh-hans@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-language-pack-zh-hant@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-languages-service-override@5.1.1': + dependencies: + '@codingame/monaco-vscode-files-service-override': 5.1.1 + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-layout-service-override@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-localization-service-override@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-model-service-override@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-monarch-service-override@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-quickaccess-service-override@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-textmate-service-override@5.1.1': + dependencies: + '@codingame/monaco-vscode-files-service-override': 5.1.1 + vscode: '@codingame/monaco-vscode-api@5.1.1' + vscode-oniguruma: 1.7.0 + vscode-textmate: 9.0.0 + + '@codingame/monaco-vscode-theme-defaults-default-extension@5.1.1': + dependencies: + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@codingame/monaco-vscode-theme-service-override@5.1.1': + dependencies: + '@codingame/monaco-vscode-files-service-override': 5.1.1 + vscode: '@codingame/monaco-vscode-api@5.1.1' + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-x64@0.20.2': optional: true - '@esbuild/android-arm64@0.19.12': + '@esbuild/darwin-arm64@0.20.2': optional: true - '@esbuild/android-arm@0.19.12': + '@esbuild/darwin-x64@0.20.2': optional: true - '@esbuild/android-x64@0.19.12': + '@esbuild/freebsd-arm64@0.20.2': optional: true - '@esbuild/darwin-arm64@0.19.12': + '@esbuild/freebsd-x64@0.20.2': optional: true - '@esbuild/darwin-x64@0.19.12': + '@esbuild/linux-arm64@0.20.2': optional: true - '@esbuild/freebsd-arm64@0.19.12': + '@esbuild/linux-arm@0.20.2': optional: true - '@esbuild/freebsd-x64@0.19.12': + '@esbuild/linux-ia32@0.20.2': optional: true - '@esbuild/linux-arm64@0.19.12': + '@esbuild/linux-loong64@0.20.2': optional: true - '@esbuild/linux-arm@0.19.12': + '@esbuild/linux-mips64el@0.20.2': optional: true - '@esbuild/linux-ia32@0.19.12': + '@esbuild/linux-ppc64@0.20.2': optional: true - '@esbuild/linux-loong64@0.19.12': + '@esbuild/linux-riscv64@0.20.2': optional: true - '@esbuild/linux-mips64el@0.19.12': + '@esbuild/linux-s390x@0.20.2': optional: true - '@esbuild/linux-ppc64@0.19.12': + '@esbuild/linux-x64@0.20.2': optional: true - '@esbuild/linux-riscv64@0.19.12': + '@esbuild/netbsd-x64@0.20.2': optional: true - '@esbuild/linux-s390x@0.19.12': + '@esbuild/openbsd-x64@0.20.2': optional: true - '@esbuild/linux-x64@0.19.12': + '@esbuild/sunos-x64@0.20.2': optional: true - '@esbuild/netbsd-x64@0.19.12': + '@esbuild/win32-arm64@0.20.2': optional: true - '@esbuild/openbsd-x64@0.19.12': + '@esbuild/win32-ia32@0.20.2': optional: true - '@esbuild/sunos-x64@0.19.12': + '@esbuild/win32-x64@0.20.2': optional: true - '@esbuild/win32-arm64@0.19.12': + '@rollup/rollup-android-arm-eabi@4.17.2': optional: true - '@esbuild/win32-ia32@0.19.12': + '@rollup/rollup-android-arm64@4.17.2': optional: true - '@esbuild/win32-x64@0.19.12': + '@rollup/rollup-darwin-arm64@4.17.2': optional: true - '@rollup/rollup-android-arm-eabi@4.9.6': + '@rollup/rollup-darwin-x64@4.17.2': optional: true - '@rollup/rollup-android-arm64@4.9.6': + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': optional: true - '@rollup/rollup-darwin-arm64@4.9.6': + '@rollup/rollup-linux-arm-musleabihf@4.17.2': optional: true - '@rollup/rollup-darwin-x64@4.9.6': + '@rollup/rollup-linux-arm64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.9.6': + '@rollup/rollup-linux-arm64-musl@4.17.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.9.6': + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.9.6': + '@rollup/rollup-linux-riscv64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.9.6': + '@rollup/rollup-linux-s390x-gnu@4.17.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.9.6': + '@rollup/rollup-linux-x64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-x64-musl@4.9.6': + '@rollup/rollup-linux-x64-musl@4.17.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.9.6': + '@rollup/rollup-win32-arm64-msvc@4.17.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.9.6': + '@rollup/rollup-win32-ia32-msvc@4.17.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.9.6': + '@rollup/rollup-win32-x64-msvc@4.17.2': optional: true '@types/emscripten@1.39.10': {} '@types/estree@1.0.5': {} - '@types/node@20.11.7': + '@types/node@20.12.12': dependencies: undici-types: 5.26.5 - '@types/vscode@1.85.0': {} + '@types/vscode@1.89.0': {} + + '@vscode/iconv-lite-umd@0.7.0': {} ansi_up@6.0.2: {} @@ -640,37 +834,41 @@ snapshots: dependencies: balanced-match: 1.0.2 - esbuild@0.19.12: + esbuild@0.20.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 fsevents@2.3.3: optional: true iframe-resizer@4.3.9: {} + import-meta-resolve@4.1.0: {} + + jschardet@3.0.0: {} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 @@ -679,65 +877,94 @@ snapshots: dependencies: brace-expansion: 2.0.1 - monaco-editor@0.45.0: {} + monaco-editor-wrapper@5.1.1(@codingame/monaco-vscode-api@5.1.1)(@codingame/monaco-vscode-editor-api@5.1.1)(monaco-languageclient@8.4.0(@codingame/monaco-vscode-api@5.1.1)(@codingame/monaco-vscode-editor-api@5.1.1)): + dependencies: + '@codingame/monaco-vscode-configuration-service-override': 5.1.1 + '@codingame/monaco-vscode-editor-service-override': 5.1.1 + '@codingame/monaco-vscode-language-pack-cs': 5.1.1 + '@codingame/monaco-vscode-language-pack-de': 5.1.1 + '@codingame/monaco-vscode-language-pack-es': 5.1.1 + '@codingame/monaco-vscode-language-pack-fr': 5.1.1 + '@codingame/monaco-vscode-language-pack-it': 5.1.1 + '@codingame/monaco-vscode-language-pack-ja': 5.1.1 + '@codingame/monaco-vscode-language-pack-ko': 5.1.1 + '@codingame/monaco-vscode-language-pack-pl': 5.1.1 + '@codingame/monaco-vscode-language-pack-pt-br': 5.1.1 + '@codingame/monaco-vscode-language-pack-qps-ploc': 5.1.1 + '@codingame/monaco-vscode-language-pack-ru': 5.1.1 + '@codingame/monaco-vscode-language-pack-tr': 5.1.1 + '@codingame/monaco-vscode-language-pack-zh-hans': 5.1.1 + '@codingame/monaco-vscode-language-pack-zh-hant': 5.1.1 + '@codingame/monaco-vscode-monarch-service-override': 5.1.1 + '@codingame/monaco-vscode-textmate-service-override': 5.1.1 + '@codingame/monaco-vscode-theme-defaults-default-extension': 5.1.1 + '@codingame/monaco-vscode-theme-service-override': 5.1.1 + monaco-editor: '@codingame/monaco-vscode-editor-api@5.1.1' + monaco-languageclient: 8.4.0(@codingame/monaco-vscode-api@5.1.1)(@codingame/monaco-vscode-editor-api@5.1.1) + vscode: '@codingame/monaco-vscode-api@5.1.1' + vscode-languageclient: 9.0.1 + vscode-languageserver-protocol: 3.17.5 + vscode-ws-jsonrpc: 3.3.1 - monaco-languageclient@7.3.0(@codingame/monaco-editor-treemended@1.85.6)(@codingame/monaco-vscode-api@1.85.6): + monaco-languageclient@8.4.0(@codingame/monaco-vscode-api@5.1.1)(@codingame/monaco-vscode-editor-api@5.1.1): dependencies: - '@codingame/monaco-vscode-editor-service-override': 1.85.6 - '@codingame/monaco-vscode-languages-service-override': 1.85.6 - '@codingame/monaco-vscode-model-service-override': 1.85.6 - monaco-editor: '@codingame/monaco-editor-treemended@1.85.6' - vscode: '@codingame/monaco-vscode-api@1.85.6' + '@codingame/monaco-vscode-extensions-service-override': 5.1.1 + '@codingame/monaco-vscode-languages-service-override': 5.1.1 + '@codingame/monaco-vscode-localization-service-override': 5.1.1 + '@codingame/monaco-vscode-model-service-override': 5.1.1 + monaco-editor: '@codingame/monaco-vscode-editor-api@5.1.1' + vscode: '@codingame/monaco-vscode-api@5.1.1' vscode-languageclient: 9.0.1 nanoid@3.3.7: {} picocolors@1.0.0: {} - postcss@8.4.33: + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 - rollup@4.9.6: + rollup@4.17.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.9.6 - '@rollup/rollup-android-arm64': 4.9.6 - '@rollup/rollup-darwin-arm64': 4.9.6 - '@rollup/rollup-darwin-x64': 4.9.6 - '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 - '@rollup/rollup-linux-arm64-gnu': 4.9.6 - '@rollup/rollup-linux-arm64-musl': 4.9.6 - '@rollup/rollup-linux-riscv64-gnu': 4.9.6 - '@rollup/rollup-linux-x64-gnu': 4.9.6 - '@rollup/rollup-linux-x64-musl': 4.9.6 - '@rollup/rollup-win32-arm64-msvc': 4.9.6 - '@rollup/rollup-win32-ia32-msvc': 4.9.6 - '@rollup/rollup-win32-x64-msvc': 4.9.6 + '@rollup/rollup-android-arm-eabi': 4.17.2 + '@rollup/rollup-android-arm64': 4.17.2 + '@rollup/rollup-darwin-arm64': 4.17.2 + '@rollup/rollup-darwin-x64': 4.17.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 + '@rollup/rollup-linux-arm-musleabihf': 4.17.2 + '@rollup/rollup-linux-arm64-gnu': 4.17.2 + '@rollup/rollup-linux-arm64-musl': 4.17.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 + '@rollup/rollup-linux-riscv64-gnu': 4.17.2 + '@rollup/rollup-linux-s390x-gnu': 4.17.2 + '@rollup/rollup-linux-x64-gnu': 4.17.2 + '@rollup/rollup-linux-x64-musl': 4.17.2 + '@rollup/rollup-win32-arm64-msvc': 4.17.2 + '@rollup/rollup-win32-ia32-msvc': 4.17.2 + '@rollup/rollup-win32-x64-msvc': 4.17.2 fsevents: 2.3.3 - semver@5.5.0: {} - semver@7.5.4: dependencies: lru-cache: 6.0.0 - source-map-js@1.0.2: {} + source-map-js@1.2.0: {} - typescript@5.3.3: {} + typescript@5.4.5: {} undici-types@5.26.5: {} - vite@5.0.12(@types/node@20.11.7): + vite@5.2.11(@types/node@20.12.12): dependencies: - '@types/node': 20.11.7 - esbuild: 0.19.12 - postcss: 8.4.33 - rollup: 4.9.6 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.17.2 optionalDependencies: + '@types/node': 20.12.12 fsevents: 2.3.3 vscode-jsonrpc@8.2.0: {} @@ -759,4 +986,12 @@ snapshots: dependencies: vscode-languageserver-protocol: 3.17.5 + vscode-oniguruma@1.7.0: {} + + vscode-textmate@9.0.0: {} + + vscode-ws-jsonrpc@3.3.1: + dependencies: + vscode-jsonrpc: 8.2.0 + yallist@4.0.0: {} diff --git a/src/client.ts b/src/client.ts deleted file mode 100644 index ef0f870..0000000 --- a/src/client.ts +++ /dev/null @@ -1,81 +0,0 @@ -import "./editor"; -import { CloseAction, ErrorAction } from "vscode-languageclient"; -import { - BrowserMessageReader, - BrowserMessageWriter, -} from "vscode-languageclient/browser"; -import { MonacoLanguageClient } from "monaco-languageclient"; - -import { LANGUAGE_ID } from "./config"; -import { createServer } from "./server"; -import { setClangdStatus } from "./ui"; - -let clientRunning = false; -let retry = 0; -let succeeded = false; - -export async function createClient(serverWorker: Worker) { - if (clientRunning) { - console.warn("Client already running"); - } - clientRunning = true; - - serverWorker.addEventListener("error", restart); - const reader = new BrowserMessageReader(serverWorker); - const writer = new BrowserMessageWriter(serverWorker); - const readerOnError = reader.onError(() => restart); - const readerOnClose = reader.onClose(() => restart); - const successCallback = reader.listen(() => { - succeeded = true; - setClangdStatus("ready"); - successCallback.dispose(); - }); - - const client = new MonacoLanguageClient({ - name: "Monaco Language Client", - clientOptions: { - documentSelector: [{ language: LANGUAGE_ID }], - errorHandler: { - error: () => ({ action: ErrorAction.Shutdown }), - closed: () => ({ action: CloseAction.DoNotRestart }), - }, - }, - connectionProvider: { - get: async () => ({ reader, writer }), - }, - }); - - async function restart() { - if (clientRunning) { - try { - clientRunning = false; - setClangdStatus("indeterminate"); - await client.stop(); - await client.dispose(); - readerOnError.dispose(); - readerOnClose.dispose(); - writer.end(); - writer.dispose(); - reader.dispose(); - serverWorker.terminate(); - } finally { - retry++; - if (retry > 5 && !succeeded) { - setClangdStatus("disabled"); - console.error("Failed to start clangd after 5 retries"); - return; - } - setTimeout(recreateLsp, 1000); - } - } - } - client.start(); -} - -async function recreateLsp() { - console.log("reloading lsp..."); - const serverWorker = await createServer(); - createClient(serverWorker); -} - -export { createEditor } from "./editor"; diff --git a/src/editor.ts b/src/editor.ts index 51708be..473bfbc 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -1,13 +1,13 @@ -// import "@codingame/monaco-vscode-language-pack-zh-hans"; -import "monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution"; -import { createConfiguredEditor } from "vscode/monaco"; -import { editor } from "monaco-editor"; -import { initServices } from "monaco-languageclient"; - -import EditorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"; +import getConfigurationServiceOverride, { getUserConfiguration } from "@codingame/monaco-vscode-configuration-service-override"; +import getTextmateServiceOverride from "@codingame/monaco-vscode-textmate-service-override"; +import getThemeServiceOverride from "@codingame/monaco-vscode-theme-service-override"; +// this is required syntax highlighting +import "@codingame/monaco-vscode-cpp-default-extension"; import { Uri } from "vscode"; - -import { LIGHT_THEME, DARK_THEME, createTheme } from "./theme"; +import { BrowserMessageReader, BrowserMessageWriter } from "vscode-languageclient/browser"; +import { LanguageClientConfig, MonacoEditorLanguageClientWrapper, UserConfig } from "monaco-editor-wrapper"; +import EditorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"; +import { setClangdStatus } from "./ui"; import { FILE_PATH, LANGUAGE_ID, @@ -18,38 +18,124 @@ import { const self = globalThis as any; self.MonacoEnvironment = { getWorker: () => new EditorWorker() }; -export async function createEditor(element: HTMLElement, code: string) { - await initServices({ - workspaceConfig: { - workspaceProvider: { - trusted: true, - workspace: { - workspaceUri: Uri.file(WORKSPACE_PATH), +let clientRunning = false; +let retry = 0; +let succeeded = false; +const wrapper = new MonacoEditorLanguageClientWrapper(); + +export const createUserConfig = async (code: string, serverWorker: Worker, enableLsp: boolean): Promise => { + let languageClientConfig: LanguageClientConfig | undefined; + if (enableLsp) { + const recreateLsp = async () => { + console.log("reloading lsp..."); + wrapper.getLanguageClientWrapper()?.restartLanguageClient(serverWorker, false); + }; + + const restart = async () => { + if (clientRunning) { + try { + clientRunning = false; + setClangdStatus("indeterminate"); + readerOnError.dispose(); + readerOnClose.dispose(); + wrapper.getLanguageClientWrapper()?.restartLanguageClient(serverWorker, false); + } finally { + retry++; + if (retry > 5 && !succeeded) { + setClangdStatus("disabled"); + console.error("Failed to start clangd after 5 retries"); + return; + } + setTimeout(recreateLsp, 1000); + } + } + }; + + const reader = new BrowserMessageReader(serverWorker); + const writer = new BrowserMessageWriter(serverWorker); + const readerOnError = reader.onError(() => restart); + const readerOnClose = reader.onClose(() => restart); + const successCallback = reader.listen(() => { + succeeded = true; + setClangdStatus("ready"); + successCallback.dispose(); + }); + + languageClientConfig = { + languageId: LANGUAGE_ID, + name: 'Clangd WASM Language Server', + options: { + $type: 'WorkerDirect', + worker: serverWorker + }, + clientOptions: { + documentSelector: [LANGUAGE_ID], + workspaceFolder: { + index: 0, + name: 'workspace', + uri: Uri.file(WORKSPACE_PATH), + }, + }, + connectionProvider: { + get: async () => ({ reader, writer }), + } + }; + } + + return { + languageClientConfig, + wrapperConfig: { + serviceConfig: { + workspaceConfig: { + workspaceProvider: { + trusted: true, + workspace: { + workspaceUri: Uri.file(WORKSPACE_PATH), + }, + async open() { + return false; + } + } }, - async open() { - return false; + userServices: { + ...getConfigurationServiceOverride(), + ...getTextmateServiceOverride(), + ...getThemeServiceOverride() }, + debugLogging: true }, + editorAppConfig: { + $type: 'extended', + codeResources: { + main: { + text: code, + uri: FILE_PATH + } + }, + userConfiguration: { + json: JSON.stringify({ + 'workbench.colorTheme': getCurrentTheme(), + 'editor.wordBasedSuggestions': 'off', + 'editor.inlayHints.enabled': 'offUnlessPressed', + 'editor.quickSuggestionsDelay': 200 + }) + }, + useDiffEditor: false + } }, - }); - - createTheme("light", LIGHT_THEME); - createTheme("dark", DARK_THEME); + loggerConfig: { + enabled: true, + debugEnabled: true + } + }; +}; - const modelUrl = Uri.parse(FILE_PATH); - - const isDark = document.body.classList.contains("dark"); +export async function createEditor(element: HTMLElement, userConfig: UserConfig) { element.innerHTML = ""; - const editorInstance = createConfiguredEditor(element, { - model: editor.createModel(code, LANGUAGE_ID, modelUrl), - theme: isDark ? "dark" : "light", - quickSuggestionsDelay: 200, - automaticLayout: true, - inlayHints: { - enabled: "offUnlessPressed", - }, - }); + await wrapper.initAndStart(userConfig, element!); + const editorInstance = wrapper.getEditor()!; + setEditorValueSource( () => editorInstance.getValue(), (value) => editorInstance.setValue(value) @@ -57,9 +143,14 @@ export async function createEditor(element: HTMLElement, code: string) { return editorInstance; } -function toggleEditorTheme() { - const isDark = document.body.classList.contains("dark"); - editor.setTheme(isDark ? "dark" : "light"); +function getCurrentTheme() { + return document.body.classList.contains("dark") ? 'Default Dark Modern' : 'Default Light Modern'; +} + +async function toggleEditorTheme() { + const vscodeUserConfiguration = JSON.parse(await getUserConfiguration()) as Record; + vscodeUserConfiguration['workbench.colorTheme'] = getCurrentTheme(); + wrapper.getMonacoEditorApp()?.updateUserConfiguration(JSON.stringify(vscodeUserConfiguration)); } document .querySelector("#toggleTheme")! diff --git a/src/main.ts b/src/main.ts index 55d57e6..f8739c8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,7 @@ import "./style.css"; import { compileAndRun, setClangdStatus, toggleBuildPanel } from "./ui"; import { ExtendedSearchParams } from "./search_params"; +import { createEditor, createUserConfig } from "./editor"; if (!globalThis.crossOriginIsolated) { document.body.innerHTML = @@ -54,22 +55,20 @@ if (showBuildPanel) { toggleBuildPanel(); } -const disableLsp = params.isExplicitFalse("lsp"); -let serverPromise: Promise; -if (disableLsp) { - setClangdStatus("disabled"); - serverPromise = new Promise(() => {}); -} else { - serverPromise = import("./server").then(({ createServer }) => { +const enableLsp = !params.isExplicitFalse("lsp"); +let serverWorker: Worker; +if (enableLsp) { + serverWorker = await import("./server").then(({ createServer }) => { return createServer(); }); +} else { + setClangdStatus("disabled"); + serverWorker = await new Promise(() => {}); } -import("./client").then(async ({ createEditor, createClient }) => { - await createEditor(document.getElementById("editor")!, code); - if (!disableLsp) { - await createClient(await serverPromise); - } - if (runCodeNow) { - compileAndRun(); - } -}); + +const userConfig = await createUserConfig(code, serverWorker, enableLsp); +await createEditor(document.getElementById("editor")!, userConfig); +if (runCodeNow) { + compileAndRun(); +} + diff --git a/src/theme.ts b/src/theme.ts deleted file mode 100644 index 9c8079b..0000000 --- a/src/theme.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { editor } from "monaco-editor"; - -export const LIGHT_THEME = { - base: "vs" as editor.BuiltinTheme, - background: "#ffffff", - foreground: "#000000", - activeLine: "#ffffff", - string: "#a31515", - number: "#098658", - keyword: "#0000ff", - modifier: "#0000ff", - punctuation: "#000000", - operator: "#000000", - comment: "#008000", - macro: "#af00db", - type: "#267f99", - class: "#267f99", - interface: "#267f99", - enum: "#267f99", - namespace: "#267f99", - typeParameter: "#267f99", - variable: "#001080", - parameter: "#001080", - property: "#001080", - enumMember: "#001080", - function: "#795e26", - method: "#795e26", -}; -export const DARK_THEME = { - base: "vs-dark" as editor.BuiltinTheme, - background: "#1e1e1e", - foreground: "#d4d4d4", - activeLine: "#323232", - string: "#ce8178", - number: "#b5cea8", - keyword: "#569cd6", - modifier: "#569cd6", - punctuation: "#d4d4d4", - operator: "#d4d4d4", - comment: "#6a9955", - macro: "#c586c0", - type: "#4ec9b0", - class: "#4ec9b0", - interface: "#4ec9b0", - enum: "#4ec9b0", - namespace: "#4ec9b0", - typeParameter: "#4ec9b0", - variable: "#9cdcfe", - parameter: "#9cdcfe", - property: "#9cdcfe", - enumMember: "#9cdcfe", - function: "#dcdcaa", - method: "#dcdcaa", -}; - -export function createTheme(name: string, data: typeof LIGHT_THEME): void { - editor.defineTheme(name, { - base: data.base, - inherit: true, - colors: { - "editor.background": data.background, - "editor.lineHighlightBackground": data.activeLine ?? data.background, - }, - rules: [ - { - token: "", - foreground: data.foreground, - }, - ...Object.keys(data) - .filter( - (key) => - key !== "base" && key !== "background" && key !== "foreground" - ) - .map((key) => ({ - token: key, - foreground: (data as any)[key], - })), - ], - }); -} diff --git a/vite.config.ts b/vite.config.ts index 4e9e752..3c5f843 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,6 +1,7 @@ import fs from "node:fs"; import url from "node:url"; import { defineConfig } from "vite"; +import importMetaUrlPlugin from "@codingame/esbuild-import-meta-url-plugin"; const baseUrl = "/"; @@ -18,40 +19,14 @@ export default defineConfig({ // https://github.com/CodinGame/monaco-vscode-api?tab=readme-ov-file#if-you-use-vite optimizeDeps: { esbuildOptions: { - plugins: [{ - name: 'import.meta.url', - setup ({ onLoad }) { - // Help vite that bundles/move files in dev mode without touching `import.meta.url` which breaks asset urls - onLoad({ filter: /.*\.js(on)?/, namespace: 'file' }, async args => { - const code = fs.readFileSync(args.path, 'utf8') - - const assetImportMetaUrlRE = /\bnew\s+URL\s*\(\s*('[^']+'|"[^"]+"|`[^`]+`)\s*,\s*import\.meta\.url\s*(?:,\s*)?\)/g - let i = 0 - let newCode = '' - for (let match = assetImportMetaUrlRE.exec(code); match != null; match = assetImportMetaUrlRE.exec(code)) { - newCode += code.slice(i, match.index) - - const path = match[1].slice(1, -1) - const resolved = await import.meta.resolve!(path, url.pathToFileURL(args.path)) - - newCode += `new URL(${JSON.stringify(url.fileURLToPath(resolved))}, import.meta.url)` - - i = assetImportMetaUrlRE.lastIndex - } - newCode += code.slice(i) - - return { contents: newCode } - }) - } - }] - } + plugins: [ + importMetaUrlPlugin + ] + } }, worker: { format: "es" }, - resolve: { - dedupe: ['monaco-editor', 'vscode'], - }, define: { // Server may not provide Content-Length header, get it in build time __WASM_SIZE__: fs.statSync("public/wasm/clangd.wasm").size,