This commit is contained in:
Ruben Fiszel
2023-10-07 11:35:13 +02:00
parent bfad05c438
commit cacdeaca20
18 changed files with 149407 additions and 60965 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+311 -152
View File
@@ -10,6 +10,18 @@
"license": "AGPL-3.0",
"dependencies": {
"@aws-crypto/sha256-js": "^4.0.0",
"@codingame/monaco-vscode-accessibility-service-override": "1.82.3",
"@codingame/monaco-vscode-configuration-service-override": "1.82.3",
"@codingame/monaco-vscode-editor-service-override": "1.82.3",
"@codingame/monaco-vscode-json-default-extension": "1.82.3",
"@codingame/monaco-vscode-keybindings-service-override": "1.82.3",
"@codingame/monaco-vscode-languages-service-override": "1.82.3",
"@codingame/monaco-vscode-model-service-override": "1.82.3",
"@codingame/monaco-vscode-python-default-extension": "1.82.3",
"@codingame/monaco-vscode-textmate-service-override": "1.82.3",
"@codingame/monaco-vscode-theme-defaults-default-extension": "1.82.3",
"@codingame/monaco-vscode-theme-service-override": "1.82.3",
"@codingame/monaco-vscode-views-service-override": "1.82.3",
"@fortawesome/free-brands-svg-icons": "^6.2.1",
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@leeoniya/ufuzzy": "^1.0.8",
@@ -34,7 +46,7 @@
"lodash": "^4.17.21",
"lucide-svelte": "^0.277.0",
"monaco-graphql": "^1.3.0",
"monaco-languageclient": "~6.0.3",
"monaco-languageclient": "^6.5.1",
"openai": "^4.3.0",
"quill": "^1.3.7",
"svelte-autosize": "^1.0.1",
@@ -53,6 +65,7 @@
"yjs": "^13.6.7"
},
"devDependencies": {
"@codingame/monaco-vscode-api": "1.82.3",
"@floating-ui/core": "^1.3.1",
"@playwright/test": "^1.34.3",
"@rgossiaux/svelte-headlessui": "^2.0.0",
@@ -65,7 +78,6 @@
"@types/d3-zoom": "^3.0.3",
"@types/lodash": "^4.14.195",
"@types/node": "^20.3.3",
"@types/vscode": "~1.78.1",
"@typescript-eslint/eslint-plugin": "^5.59.8",
"@typescript-eslint/parser": "^5.60.0",
"@zerodevx/svelte-toast": "^0.9.5",
@@ -75,10 +87,9 @@
"eslint": "^8.47.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-svelte": "^2.33.1",
"monaco-editor-workers": "~0.39.1",
"monaco-editor-workers": "~0.43.0",
"ol": "^7.4.0",
"openapi-typescript-codegen": "^0.25.0",
"path-browserify": "^1.0.1",
"pdfjs-dist": "^3.8.162",
"postcss": "^8.4.24",
"postcss-load-config": "^4.0.1",
@@ -103,7 +114,7 @@
"tailwindcss": "^3.3.2",
"tslib": "^2.6.1",
"typescript": "^5.1.3",
"vite": "^4.4.9",
"vite": "^4.4.11",
"vite-plugin-monaco-editor": "^1.1.0",
"yootils": "^0.3.1"
},
@@ -342,6 +353,125 @@
"node": ">=6.9.0"
}
},
"node_modules/@codingame/monaco-vscode-accessibility-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-accessibility-service-override/-/monaco-vscode-accessibility-service-override-1.82.3.tgz",
"integrity": "sha512-+8ZQ6RLVye3jRXXGLFL6QAr7kiMrGp484y19ybwEXArXV473kHRhtLkDwoq6Kx8zx6+veA2KxRWFUKggqwBtDA==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-api": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.82.3.tgz",
"integrity": "sha512-3Z4GQ1A9nnZX1MRiMn1U5jXF1YKqmvHnLsW2zKaeEjS7bW7ZU8yyeOAX5J+KbLiMobTaPlzvZ1h6tuQkWGYMWA==",
"dev": true,
"dependencies": {
"monaco-editor": "0.43.0"
},
"bin": {
"monaco-treemending": "monaco-treemending.js"
}
},
"node_modules/@codingame/monaco-vscode-configuration-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-configuration-service-override/-/monaco-vscode-configuration-service-override-1.82.3.tgz",
"integrity": "sha512-/0sY5HRmbHHOpfWd+kuUO0q2/1VGLU+rkJUhMbYHvZ80CxU4TXEO+saLhJzOglmkah7O6Ov/JqH/9iJpzPlAEw==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-editor-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-service-override/-/monaco-vscode-editor-service-override-1.82.3.tgz",
"integrity": "sha512-61c0t2wExtE+wgP01N5K9AAWC+bNXafiO5JffhcnC/0nJJtgf+YDYMLuYThFKT6GnIKcXt/cqYoc8Ev0vMzDrw==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-json-default-extension": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-json-default-extension/-/monaco-vscode-json-default-extension-1.82.3.tgz",
"integrity": "sha512-NPpRExvMJCGToLw2BSu3fr6Ch2sUfNVNE97WxKCktJ6nzSx/HTd3GlgZ5HXVNXldlZMyLPNw8rxiSr3CYpyLrQ==",
"dependencies": {
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-keybindings-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-keybindings-service-override/-/monaco-vscode-keybindings-service-override-1.82.3.tgz",
"integrity": "sha512-ATnAbwsIzIn/+8kDEEo0EF/Oe728RhHjHv69FiE1EqoNRpGVm+AxaLkH2qBM7MOW2EP+2V+e8n6kOrEHG0dtNQ==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-languages-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-languages-service-override/-/monaco-vscode-languages-service-override-1.82.3.tgz",
"integrity": "sha512-iw5lb6f9ZY2jo0T6hwKeYKwOzU+ARcsTU5iDWkHnVYoaUfogSDfBBWOV/K1CmFBoNwSbvbMIv3lm0DE93/wKVw==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-model-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-model-service-override/-/monaco-vscode-model-service-override-1.82.3.tgz",
"integrity": "sha512-PJ+8Yv3cT4Re2jbaPtBuKxY5JQnkorAsJO9nqPOfw6qN7l4F/2t5wP9oLJDrPimzRerfauYwLBlQZ4hLmXIZaw==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-python-default-extension": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-python-default-extension/-/monaco-vscode-python-default-extension-1.82.3.tgz",
"integrity": "sha512-xsCGecMr7haUfmtiXILu7tfOWXveI734ym3NamylspsJtBlUUH15uVrG5Z4qBNIKKOA4Tifoqc2htZPuvUGeRw==",
"dependencies": {
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-textmate-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-textmate-service-override/-/monaco-vscode-textmate-service-override-1.82.3.tgz",
"integrity": "sha512-gACR+uBvJo7er/fhNL5tj2zKbkYulMigWYaZ9y20xHmvfuq3AZa/rRujppKESyvZtfV7p0st7Gsi3v+ZjvFiQg==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3",
"vscode-oniguruma": "^2.0.0",
"vscode-textmate": "^9.0.0"
}
},
"node_modules/@codingame/monaco-vscode-theme-defaults-default-extension": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-defaults-default-extension/-/monaco-vscode-theme-defaults-default-extension-1.82.3.tgz",
"integrity": "sha512-+Bp2A1JadE4Tr3lipfHFZKQOM1W56/AKzQCZYhY23wLczZvXH0WO+W3irOMnRop+ZbFTh4fWk1OCA5X8uL9j2A==",
"dependencies": {
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-theme-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-service-override/-/monaco-vscode-theme-service-override-1.82.3.tgz",
"integrity": "sha512-S2pfYXW6s20lab4XKiLYnHD6qEM25HsVpEyJAGuY/vf4ze+37buFUZ/XtJdpNbOdU7Lmu9SMhZ8+yLEqalPcAQ==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@codingame/monaco-vscode-views-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-views-service-override/-/monaco-vscode-views-service-override-1.82.3.tgz",
"integrity": "sha512-pNN6c35OFiQTwMqVI0ZAXEF2EjO19IIQ3bJPwmyCqxgrXdN940fFpQnLGnfjfJJBMKn8Ae6BYd8WtFxe9pEeiQ==",
"dependencies": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"node_modules/@csstools/css-parser-algorithms": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz",
@@ -1661,12 +1791,6 @@
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz",
"integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g=="
},
"node_modules/@types/vscode": {
"version": "1.78.1",
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.78.1.tgz",
"integrity": "sha512-wEA+54axejHu7DhcUfnFBan1IqFD1gBDxAFz8LoX06NbNDMRJv/T6OGthOs52yZccasKfN588EyffHWABkR0fg==",
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.59.8",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz",
@@ -2454,6 +2578,7 @@
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true,
"engines": {
"node": "*"
}
@@ -4055,15 +4180,6 @@
"reusify": "^1.0.4"
}
},
"node_modules/fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"peer": true,
"dependencies": {
"pend": "~1.2.0"
}
},
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -6425,28 +6541,22 @@
}
},
"node_modules/monaco-editor": {
"version": "0.37.1",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.37.1.tgz",
"integrity": "sha512-jLXEEYSbqMkT/FuJLBZAVWGuhIb4JNwHE9kPTorAVmsdZ4UzHAfgWxLsVtD7pLRFaOwYPhNG9nUCpmFL1t/dIg=="
"version": "0.43.0",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.43.0.tgz",
"integrity": "sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q=="
},
"node_modules/monaco-editor-workers": {
"version": "0.39.1",
"resolved": "https://registry.npmjs.org/monaco-editor-workers/-/monaco-editor-workers-0.39.1.tgz",
"integrity": "sha512-QSP2ZCarlYaHGIZqzcz2BtI1mKstwJo4YfYu9m7ZwhkRd8HJEHpclKgE51AXtrncRch5zc05pHk4cQrFEdYsBQ==",
"version": "0.43.0",
"resolved": "https://registry.npmjs.org/monaco-editor-workers/-/monaco-editor-workers-0.43.0.tgz",
"integrity": "sha512-qO9b6uzXXS57lv5VodYr2jhuxd9resG38WBmc72thp+222kcJPg9eChMMJTXZbfDIPHYkBQNR0+zPrbIdVtU+w==",
"dev": true,
"dependencies": {
"monaco-editor": "~0.39.0"
"monaco-editor": "~0.43.0"
},
"peerDependencies": {
"monaco-editor": "~0.39.0"
"monaco-editor": "~0.43.0"
}
},
"node_modules/monaco-editor-workers/node_modules/monaco-editor": {
"version": "0.39.0",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.39.0.tgz",
"integrity": "sha512-zhbZ2Nx93tLR8aJmL2zI1mhJpsl87HMebNBM6R8z4pLfs8pj604pIVIVwyF1TivcfNtIPpMXL+nb3DsBmE/x6Q==",
"dev": true
},
"node_modules/monaco-graphql": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/monaco-graphql/-/monaco-graphql-1.3.0.tgz",
@@ -6462,13 +6572,15 @@
}
},
"node_modules/monaco-languageclient": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-6.0.3.tgz",
"integrity": "sha512-jxkmzazfp0boGiTMjbMGpfCRjUQc5DKbpN+zsHg5GBdHMcrB7FVl1NiN9yZ/JABVTAv4yxN4qwhJuzmUoSiQ4w==",
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-6.5.1.tgz",
"integrity": "sha512-p3+PEucYjD0hrJ2VeRIrnt2FcOeWSZmMTjFQICo5Lmkzc9DNCIjQQCDx99wZqQpvdp7KNrxAnljiYQzHkdoBGA==",
"hasInstallScript": true,
"dependencies": {
"monaco-editor": "~0.37.1",
"vscode": "npm:@codingame/monaco-vscode-api@~1.78.8",
"@codingame/monaco-vscode-languages-service-override": "~1.82.3",
"@codingame/monaco-vscode-model-service-override": "~1.82.3",
"monaco-editor": "~0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@>=1.82.3 <1.83.0",
"vscode-jsonrpc": "~8.1.0",
"vscode-languageclient": "~8.1.0"
},
@@ -6477,8 +6589,8 @@
"npm": ">=9.0.0"
},
"peerDependencies": {
"monaco-editor": "~0.37.1",
"vscode": "npm:@codingame/monaco-vscode-api@~1.78.8"
"monaco-editor": "~0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@>=1.82.3 <1.83.0"
},
"peerDependenciesMeta": {
"monaco-editor": {
@@ -6937,12 +7049,6 @@
"tslib": "^2.0.3"
}
},
"node_modules/path-browserify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
"dev": true
},
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -7021,12 +7127,6 @@
"path2d-polyfill": "^2.0.1"
}
},
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"peer": true
},
"node_modules/periscopic": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
@@ -9731,9 +9831,9 @@
}
},
"node_modules/vite": {
"version": "4.4.9",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
"integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
"version": "4.4.11",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz",
"integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==",
"dev": true,
"dependencies": {
"esbuild": "^0.18.10",
@@ -9810,17 +9910,14 @@
},
"node_modules/vscode": {
"name": "@codingame/monaco-vscode-api",
"version": "1.78.8",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.78.8.tgz",
"integrity": "sha512-MfiZy/UCEAzpTeFg3TTsA2sgvjHb1X/cuwr7QNZJtYbvJ7X68EOPBXHhr6Kygm3eEKR73ZRkmfK/xX4d9hytTw==",
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.82.3.tgz",
"integrity": "sha512-3Z4GQ1A9nnZX1MRiMn1U5jXF1YKqmvHnLsW2zKaeEjS7bW7ZU8yyeOAX5J+KbLiMobTaPlzvZ1h6tuQkWGYMWA==",
"dependencies": {
"monaco-editor": "0.43.0"
},
"bin": {
"monaco-treemending": "monaco-treemending.js"
},
"peerDependencies": {
"monaco-editor": "0.37.1",
"vscode-oniguruma": "^1.7.0",
"vscode-textmate": "^9.0.0",
"yauzl": "^2.10.0"
}
},
"node_modules/vscode-jsonrpc": {
@@ -9878,16 +9975,14 @@
"integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA=="
},
"node_modules/vscode-oniguruma": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
"integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
"peer": true
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-2.0.1.tgz",
"integrity": "sha512-poJU8iHIWnC3vgphJnrLZyI3YdqRlR27xzqDmpPXYzA93R4Gk8z7T6oqDzDoHjoikA2aS82crdXFkjELCdJsjQ=="
},
"node_modules/vscode-textmate": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-9.0.0.tgz",
"integrity": "sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg==",
"peer": true
"integrity": "sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg=="
},
"node_modules/vscode-ws-jsonrpc": {
"version": "3.0.0",
@@ -10112,16 +10207,6 @@
"node": ">=10"
}
},
"node_modules/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"peer": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
},
"node_modules/yjs": {
"version": "13.6.7",
"resolved": "https://registry.npmjs.org/yjs/-/yjs-13.6.7.tgz",
@@ -10352,6 +10437,122 @@
"regenerator-runtime": "^0.13.11"
}
},
"@codingame/monaco-vscode-accessibility-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-accessibility-service-override/-/monaco-vscode-accessibility-service-override-1.82.3.tgz",
"integrity": "sha512-+8ZQ6RLVye3jRXXGLFL6QAr7kiMrGp484y19ybwEXArXV473kHRhtLkDwoq6Kx8zx6+veA2KxRWFUKggqwBtDA==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-api": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.82.3.tgz",
"integrity": "sha512-3Z4GQ1A9nnZX1MRiMn1U5jXF1YKqmvHnLsW2zKaeEjS7bW7ZU8yyeOAX5J+KbLiMobTaPlzvZ1h6tuQkWGYMWA==",
"dev": true,
"requires": {
"monaco-editor": "0.43.0"
}
},
"@codingame/monaco-vscode-configuration-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-configuration-service-override/-/monaco-vscode-configuration-service-override-1.82.3.tgz",
"integrity": "sha512-/0sY5HRmbHHOpfWd+kuUO0q2/1VGLU+rkJUhMbYHvZ80CxU4TXEO+saLhJzOglmkah7O6Ov/JqH/9iJpzPlAEw==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-editor-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-service-override/-/monaco-vscode-editor-service-override-1.82.3.tgz",
"integrity": "sha512-61c0t2wExtE+wgP01N5K9AAWC+bNXafiO5JffhcnC/0nJJtgf+YDYMLuYThFKT6GnIKcXt/cqYoc8Ev0vMzDrw==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-json-default-extension": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-json-default-extension/-/monaco-vscode-json-default-extension-1.82.3.tgz",
"integrity": "sha512-NPpRExvMJCGToLw2BSu3fr6Ch2sUfNVNE97WxKCktJ6nzSx/HTd3GlgZ5HXVNXldlZMyLPNw8rxiSr3CYpyLrQ==",
"requires": {
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-keybindings-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-keybindings-service-override/-/monaco-vscode-keybindings-service-override-1.82.3.tgz",
"integrity": "sha512-ATnAbwsIzIn/+8kDEEo0EF/Oe728RhHjHv69FiE1EqoNRpGVm+AxaLkH2qBM7MOW2EP+2V+e8n6kOrEHG0dtNQ==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-languages-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-languages-service-override/-/monaco-vscode-languages-service-override-1.82.3.tgz",
"integrity": "sha512-iw5lb6f9ZY2jo0T6hwKeYKwOzU+ARcsTU5iDWkHnVYoaUfogSDfBBWOV/K1CmFBoNwSbvbMIv3lm0DE93/wKVw==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-model-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-model-service-override/-/monaco-vscode-model-service-override-1.82.3.tgz",
"integrity": "sha512-PJ+8Yv3cT4Re2jbaPtBuKxY5JQnkorAsJO9nqPOfw6qN7l4F/2t5wP9oLJDrPimzRerfauYwLBlQZ4hLmXIZaw==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-python-default-extension": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-python-default-extension/-/monaco-vscode-python-default-extension-1.82.3.tgz",
"integrity": "sha512-xsCGecMr7haUfmtiXILu7tfOWXveI734ym3NamylspsJtBlUUH15uVrG5Z4qBNIKKOA4Tifoqc2htZPuvUGeRw==",
"requires": {
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-textmate-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-textmate-service-override/-/monaco-vscode-textmate-service-override-1.82.3.tgz",
"integrity": "sha512-gACR+uBvJo7er/fhNL5tj2zKbkYulMigWYaZ9y20xHmvfuq3AZa/rRujppKESyvZtfV7p0st7Gsi3v+ZjvFiQg==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3",
"vscode-oniguruma": "^2.0.0",
"vscode-textmate": "^9.0.0"
}
},
"@codingame/monaco-vscode-theme-defaults-default-extension": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-defaults-default-extension/-/monaco-vscode-theme-defaults-default-extension-1.82.3.tgz",
"integrity": "sha512-+Bp2A1JadE4Tr3lipfHFZKQOM1W56/AKzQCZYhY23wLczZvXH0WO+W3irOMnRop+ZbFTh4fWk1OCA5X8uL9j2A==",
"requires": {
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-theme-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-service-override/-/monaco-vscode-theme-service-override-1.82.3.tgz",
"integrity": "sha512-S2pfYXW6s20lab4XKiLYnHD6qEM25HsVpEyJAGuY/vf4ze+37buFUZ/XtJdpNbOdU7Lmu9SMhZ8+yLEqalPcAQ==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@codingame/monaco-vscode-views-service-override": {
"version": "1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-views-service-override/-/monaco-vscode-views-service-override-1.82.3.tgz",
"integrity": "sha512-pNN6c35OFiQTwMqVI0ZAXEF2EjO19IIQ3bJPwmyCqxgrXdN940fFpQnLGnfjfJJBMKn8Ae6BYd8WtFxe9pEeiQ==",
"requires": {
"monaco-editor": "0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@1.82.3"
}
},
"@csstools/css-parser-algorithms": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz",
@@ -11278,12 +11479,6 @@
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz",
"integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g=="
},
"@types/vscode": {
"version": "1.78.1",
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.78.1.tgz",
"integrity": "sha512-wEA+54axejHu7DhcUfnFBan1IqFD1gBDxAFz8LoX06NbNDMRJv/T6OGthOs52yZccasKfN588EyffHWABkR0fg==",
"dev": true
},
"@typescript-eslint/eslint-plugin": {
"version": "5.59.8",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz",
@@ -11783,7 +11978,8 @@
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true
},
"busboy": {
"version": "1.6.0",
@@ -12948,15 +13144,6 @@
"reusify": "^1.0.4"
}
},
"fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"peer": true,
"requires": {
"pend": "~1.2.0"
}
},
"file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -14604,25 +14791,17 @@
}
},
"monaco-editor": {
"version": "0.37.1",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.37.1.tgz",
"integrity": "sha512-jLXEEYSbqMkT/FuJLBZAVWGuhIb4JNwHE9kPTorAVmsdZ4UzHAfgWxLsVtD7pLRFaOwYPhNG9nUCpmFL1t/dIg=="
"version": "0.43.0",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.43.0.tgz",
"integrity": "sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q=="
},
"monaco-editor-workers": {
"version": "0.39.1",
"resolved": "https://registry.npmjs.org/monaco-editor-workers/-/monaco-editor-workers-0.39.1.tgz",
"integrity": "sha512-QSP2ZCarlYaHGIZqzcz2BtI1mKstwJo4YfYu9m7ZwhkRd8HJEHpclKgE51AXtrncRch5zc05pHk4cQrFEdYsBQ==",
"version": "0.43.0",
"resolved": "https://registry.npmjs.org/monaco-editor-workers/-/monaco-editor-workers-0.43.0.tgz",
"integrity": "sha512-qO9b6uzXXS57lv5VodYr2jhuxd9resG38WBmc72thp+222kcJPg9eChMMJTXZbfDIPHYkBQNR0+zPrbIdVtU+w==",
"dev": true,
"requires": {
"monaco-editor": "~0.39.0"
},
"dependencies": {
"monaco-editor": {
"version": "0.39.0",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.39.0.tgz",
"integrity": "sha512-zhbZ2Nx93tLR8aJmL2zI1mhJpsl87HMebNBM6R8z4pLfs8pj604pIVIVwyF1TivcfNtIPpMXL+nb3DsBmE/x6Q==",
"dev": true
}
"monaco-editor": "~0.43.0"
}
},
"monaco-graphql": {
@@ -14635,12 +14814,14 @@
}
},
"monaco-languageclient": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-6.0.3.tgz",
"integrity": "sha512-jxkmzazfp0boGiTMjbMGpfCRjUQc5DKbpN+zsHg5GBdHMcrB7FVl1NiN9yZ/JABVTAv4yxN4qwhJuzmUoSiQ4w==",
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-6.5.1.tgz",
"integrity": "sha512-p3+PEucYjD0hrJ2VeRIrnt2FcOeWSZmMTjFQICo5Lmkzc9DNCIjQQCDx99wZqQpvdp7KNrxAnljiYQzHkdoBGA==",
"requires": {
"monaco-editor": "~0.37.1",
"vscode": "npm:@codingame/monaco-vscode-api@~1.78.8",
"@codingame/monaco-vscode-languages-service-override": "~1.82.3",
"@codingame/monaco-vscode-model-service-override": "~1.82.3",
"monaco-editor": "~0.43.0",
"vscode": "npm:@codingame/monaco-vscode-api@>=1.82.3 <1.83.0",
"vscode-jsonrpc": "~8.1.0",
"vscode-languageclient": "~8.1.0"
}
@@ -14981,12 +15162,6 @@
"tslib": "^2.0.3"
}
},
"path-browserify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
"dev": true
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -15044,12 +15219,6 @@
"path2d-polyfill": "^2.0.1"
}
},
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"peer": true
},
"periscopic": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
@@ -16886,9 +17055,9 @@
}
},
"vite": {
"version": "4.4.9",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
"integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
"version": "4.4.11",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz",
"integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==",
"dev": true,
"requires": {
"esbuild": "^0.18.10",
@@ -16912,10 +17081,12 @@
"requires": {}
},
"vscode": {
"version": "npm:@codingame/monaco-vscode-api@1.78.8",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.78.8.tgz",
"integrity": "sha512-MfiZy/UCEAzpTeFg3TTsA2sgvjHb1X/cuwr7QNZJtYbvJ7X68EOPBXHhr6Kygm3eEKR73ZRkmfK/xX4d9hytTw==",
"requires": {}
"version": "npm:@codingame/monaco-vscode-api@1.82.3",
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.82.3.tgz",
"integrity": "sha512-3Z4GQ1A9nnZX1MRiMn1U5jXF1YKqmvHnLsW2zKaeEjS7bW7ZU8yyeOAX5J+KbLiMobTaPlzvZ1h6tuQkWGYMWA==",
"requires": {
"monaco-editor": "0.43.0"
}
},
"vscode-jsonrpc": {
"version": "8.1.0",
@@ -16965,16 +17136,14 @@
"integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA=="
},
"vscode-oniguruma": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
"integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
"peer": true
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-2.0.1.tgz",
"integrity": "sha512-poJU8iHIWnC3vgphJnrLZyI3YdqRlR27xzqDmpPXYzA93R4Gk8z7T6oqDzDoHjoikA2aS82crdXFkjELCdJsjQ=="
},
"vscode-textmate": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-9.0.0.tgz",
"integrity": "sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg==",
"peer": true
"integrity": "sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg=="
},
"vscode-ws-jsonrpc": {
"version": "3.0.0",
@@ -17144,16 +17313,6 @@
"dev": true,
"peer": true
},
"yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"peer": true,
"requires": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
},
"yjs": {
"version": "13.6.7",
"resolved": "https://registry.npmjs.org/yjs/-/yjs-13.6.7.tgz",
+16 -5
View File
@@ -16,6 +16,7 @@
"test": "playwright test --config=tests-out/playwright.config.js"
},
"devDependencies": {
"@codingame/monaco-vscode-api": "1.82.3",
"@floating-ui/core": "^1.3.1",
"@playwright/test": "^1.34.3",
"@rgossiaux/svelte-headlessui": "^2.0.0",
@@ -28,7 +29,6 @@
"@types/d3-zoom": "^3.0.3",
"@types/lodash": "^4.14.195",
"@types/node": "^20.3.3",
"@types/vscode": "~1.78.1",
"@typescript-eslint/eslint-plugin": "^5.59.8",
"@typescript-eslint/parser": "^5.60.0",
"@zerodevx/svelte-toast": "^0.9.5",
@@ -38,10 +38,9 @@
"eslint": "^8.47.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-svelte": "^2.33.1",
"monaco-editor-workers": "~0.39.1",
"monaco-editor-workers": "~0.43.0",
"ol": "^7.4.0",
"openapi-typescript-codegen": "^0.25.0",
"path-browserify": "^1.0.1",
"pdfjs-dist": "^3.8.162",
"postcss": "^8.4.24",
"postcss-load-config": "^4.0.1",
@@ -66,7 +65,7 @@
"tailwindcss": "^3.3.2",
"tslib": "^2.6.1",
"typescript": "^5.1.3",
"vite": "^4.4.9",
"vite": "^4.4.11",
"vite-plugin-monaco-editor": "^1.1.0",
"yootils": "^0.3.1"
},
@@ -87,6 +86,18 @@
"type": "module",
"dependencies": {
"@aws-crypto/sha256-js": "^4.0.0",
"@codingame/monaco-vscode-accessibility-service-override": "1.82.3",
"@codingame/monaco-vscode-configuration-service-override": "1.82.3",
"@codingame/monaco-vscode-editor-service-override": "1.82.3",
"@codingame/monaco-vscode-json-default-extension": "1.82.3",
"@codingame/monaco-vscode-keybindings-service-override": "1.82.3",
"@codingame/monaco-vscode-languages-service-override": "1.82.3",
"@codingame/monaco-vscode-model-service-override": "1.82.3",
"@codingame/monaco-vscode-python-default-extension": "1.82.3",
"@codingame/monaco-vscode-textmate-service-override": "1.82.3",
"@codingame/monaco-vscode-theme-defaults-default-extension": "1.82.3",
"@codingame/monaco-vscode-theme-service-override": "1.82.3",
"@codingame/monaco-vscode-views-service-override": "1.82.3",
"@fortawesome/free-brands-svg-icons": "^6.2.1",
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@leeoniya/ufuzzy": "^1.0.8",
@@ -111,7 +122,7 @@
"lodash": "^4.17.21",
"lucide-svelte": "^0.277.0",
"monaco-graphql": "^1.3.0",
"monaco-languageclient": "~6.0.3",
"monaco-languageclient": "^6.5.1",
"openai": "^4.3.0",
"quill": "^1.3.7",
"svelte-autosize": "^1.0.1",
+22 -22
View File
@@ -2,14 +2,14 @@
import { BROWSER } from 'esm-env'
import { onMount } from 'svelte'
import 'monaco-editor/esm/vs/editor/edcore.main'
import { editor as meditor } from 'monaco-editor/esm/vs/editor/editor.api'
import 'monaco-editor/esm/vs/basic-languages/python/python.contribution'
import 'monaco-editor/esm/vs/basic-languages/go/go.contribution'
import 'monaco-editor/esm/vs/basic-languages/shell/shell.contribution'
import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution'
import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution'
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution'
// import 'monaco-editor/esm/vs/editor/edcore.main'
import { editor as meditor } from 'monaco-editor'
// import 'monaco-editor/esm/vs/basic-languages/python/python.contribution'
// import 'monaco-editor/esm/vs/basic-languages/go/go.contribution'
// import 'monaco-editor/esm/vs/basic-languages/shell/shell.contribution'
// import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution'
// import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution'
// import 'monaco-editor/esm/vs/language/typescript/monaco.contribution'
const SIDE_BY_SIDE_MIN_WIDTH = 700
@@ -21,20 +21,20 @@
let editorWidth: number = SIDE_BY_SIDE_MIN_WIDTH
function loadDiffEditor() {
diffEditor = meditor.createDiffEditor(diffDivEl!, {
automaticLayout,
renderSideBySide: editorWidth >= SIDE_BY_SIDE_MIN_WIDTH,
originalEditable: false,
minimap: {
enabled: false
},
fixedOverflowWidgets,
scrollBeyondLastLine: false,
lineDecorationsWidth: 15,
lineNumbersMinChars: 2,
autoDetectHighContrast: true,
scrollbar: { alwaysConsumeMouseWheel: false }
})
// diffEditor = meditor.createDiffEditor(diffDivEl!, {
// automaticLayout,
// renderSideBySide: editorWidth >= SIDE_BY_SIDE_MIN_WIDTH,
// originalEditable: false,
// minimap: {
// enabled: false
// },
// fixedOverflowWidgets,
// scrollBeyondLastLine: false,
// lineDecorationsWidth: 15,
// lineNumbersMinChars: 2,
// autoDetectHighContrast: true,
// scrollbar: { alwaysConsumeMouseWheel: false }
// })
}
export function setupModel(
+94 -32
View File
@@ -5,8 +5,40 @@
import { createEventDispatcher, onDestroy, onMount } from 'svelte'
import '@codingame/monaco-vscode-theme-defaults-default-extension'
import '@codingame/monaco-vscode-python-default-extension'
import getAccessibilityServiceOverride from '@codingame/monaco-vscode-accessibility-service-override'
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override'
import getEditorServiceOverride, {
type IReference
} from '@codingame/monaco-vscode-editor-service-override'
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override'
import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override'
import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override'
import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override'
import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override'
import { MonacoLanguageClient, initServices, useOpenEditorStub } from 'monaco-languageclient'
import { LogLevel } from 'vscode/services'
import {
createConfiguredEditor,
createModelReference,
type ITextFileEditorModel
} from 'vscode/monaco'
import * as vscode from 'vscode'
// import {
// editor as meditor,
// KeyCode,
// KeyMod,
// Uri as mUri,
// languages,
// type IRange
// } from 'monaco-editor'
// import 'monaco-editor'
import 'monaco-editor/esm/vs/editor/edcore.main'
import {
editor as meditor,
@@ -26,7 +58,12 @@
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution'
import 'monaco-editor/esm/vs/basic-languages/css/css.contribution'
import { MonacoLanguageClient, initServices } from 'monaco-languageclient'
import {
RegisteredFileSystemProvider,
registerFileSystemOverlay,
RegisteredMemoryFile
} from 'vscode/service-override/files'
import { toSocket, WebSocketMessageReader, WebSocketMessageWriter } from 'vscode-ws-jsonrpc'
import { CloseAction, ErrorAction, RequestType, NotificationType } from 'vscode-languageclient'
import { MonacoBinding } from 'y-monaco'
@@ -119,8 +156,8 @@
let destroyed = false
const uri =
lang == 'typescript' && deno
? `file:///${filePath ?? rHash}.${langToExt(lang)}`
: `file:///tmp/monaco/${randomHash()}.${langToExt(lang)}`
? `/${filePath ?? rHash}.${langToExt(lang)}`
: `/tmp/monaco/${randomHash()}.${langToExt(lang)}`
console.log('uri', uri)
@@ -447,22 +484,6 @@
export async function reloadWebsocket() {
console.log('reloadWebsocket')
await closeWebsockets()
try {
await initServices({
enableThemeService: false,
enableModelEditorService: true,
enableNotificationService: false,
modelEditorServiceConfig: {
useDefaultFunction: true
},
debugLogging: false
})
} catch (e) {
console.log('initServices failed', e.message)
if (e.message != 'Lifecycle cannot go backwards') {
return
}
}
function createLanguageClient(
transports: MessageTransports,
@@ -487,13 +508,13 @@
workspaceFolder:
name == 'bun'
? {
uri: vscode.Uri.parse('file:///tmp/monaco/'),
uri: vscode.Uri.file('/tmp/monaco/'),
name: 'windmill',
index: 0
}
: name != 'deno'
? {
uri: vscode.Uri.parse(uri),
uri: vscode.Uri.file(uri),
name: 'windmill',
index: 0
}
@@ -598,7 +619,7 @@
'deno.cache',
(uris: DocumentUri[] = []) => {
languageClient.sendRequest(new RequestType('deno/cache'), {
referrer: { uri },
referrer: { uri: 'file://' + uri },
uris: uris.map((uri) => ({ uri }))
})
}
@@ -884,30 +905,71 @@
}
let widgets: HTMLElement | undefined = document.getElementById('monaco-widgets-root') ?? undefined
let model: meditor.ITextModel
let modelRef: IReference<ITextFileEditorModel>
let monacoBinding: MonacoBinding | undefined = undefined
// @ts-ignore
$: if (yContent && awareness && model && editor) {
$: if (yContent && awareness && modelRef.object.textEditorModel && editor) {
monacoBinding && monacoBinding.destroy()
monacoBinding = new MonacoBinding(yContent, model, new Set([editor]), awareness)
monacoBinding = new MonacoBinding(
yContent,
modelRef.object.textEditorModel!,
new Set([editor]),
awareness
)
}
async function loadMonaco() {
try {
model = meditor.createModel(code, lang, mUri.parse(uri))
await initServices({
userServices: {
...getThemeServiceOverride(),
...getTextmateServiceOverride(),
...getConfigurationServiceOverride(vscode.Uri.file('/workspace')),
...getEditorServiceOverride(useOpenEditorStub),
...getModelServiceOverride(),
...getLanguagesServiceOverride(),
...getKeybindingsServiceOverride(),
...getAccessibilityServiceOverride()
},
debugLogging: true,
logLevel: LogLevel.Debug
})
} catch (e) {
throw e
console.log('initServices failed', e.message)
if (e.message != 'Lifecycle cannot go backwards') {
return
}
}
const fileSystemProvider = new RegisteredFileSystemProvider(false)
fileSystemProvider.registerFile(new RegisteredMemoryFile(vscode.Uri.file(uri), code))
registerFileSystemOverlay(1, fileSystemProvider)
try {
modelRef = await createModelReference(mUri.file(uri))
modelRef.object.setLanguageId(lang)
} catch (err) {
console.log('model already existed', err)
const nmodel = meditor.getModel(mUri.parse(uri))
const nmodel = meditor.getModel(mUri.file(uri))
if (!nmodel) {
throw err
}
model = nmodel
// modelRef.object.textEditorModel = nmodel
}
model.updateOptions(lang == 'python' ? { tabSize: 4, insertSpaces: true } : updateOptions)
modelRef.object.textEditorModel?.updateOptions(
lang == 'python' ? { tabSize: 4, insertSpaces: true } : updateOptions
)
editor = meditor.create(divEl as HTMLDivElement, {
...editorConfig(model, code, lang, automaticLayout, fixedOverflowWidgets),
editor = createConfiguredEditor(divEl as HTMLDivElement, {
...editorConfig(
modelRef.object.textEditorModel,
code,
lang,
automaticLayout,
fixedOverflowWidgets
),
overflowWidgetsDomNode: widgets,
tabSize: lang == 'python' ? 4 : 2,
folding
@@ -960,7 +1022,7 @@
console.log('disposing editor')
try {
closeWebsockets()
model?.dispose()
modelRef?.dispose()
editor && editor.dispose()
console.log('disposed editor')
} catch (err) {
@@ -15,11 +15,7 @@
style="fill:currentcolor;"
><metadata id="metadata25"
><rdf:RDF
><cc:Work rdf:about=""
><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"
/><dc:title /></cc:Work
></rdf:RDF
><cc:Work><dc:format>image/svg+xml</dc:format><dc:type /><dc:title /></cc:Work></rdf:RDF
></metadata
><defs id="defs23" /><sodipodi:namedview
pagecolor="#ffffff"
@@ -28,19 +24,8 @@
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1043"
id="namedview21"
showgrid="true"
inkscape:zoom="1.84375"
inkscape:cx="210.72257"
inkscape:cy="88.813847"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="Calque_1"
><inkscape:grid
type="xygrid"
id="grid4535"
@@ -50,13 +35,10 @@
>
<style type="text/css" id="style2">
.st0 {
}
.st1 {
}
.st2 {
}
</style>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -3
View File
@@ -52,9 +52,7 @@ const config = {
include: ['highlight.js', 'highlight.js/lib/core', 'ag-grid-svelte']
},
resolve: {
alias: {
path: 'path-browserify'
}
dedupe: ['monaco-editor', 'vscode']
},
assetsInclude: ['**/*.wasm']
}