From e803010fe28b849220f0dd5b35e16abb4584667e Mon Sep 17 00:00:00 2001 From: memdmp Date: Mon, 24 Feb 2025 06:06:42 +0100 Subject: feat: at the expense of us carrying the entire ts base type defs in the repo, and hating the code, the ts shit all fits in <5MB .js files --- contrib/compress-worker.mjs | 13 - package.json | 6 +- pnpm-lock.yaml | 8 + src/routes/Monaco.svelte | 21 +- src/routes/filemap.d.ts | 2 + src/routes/filemap.js | 174 + src/routes/ts-worker.ts | 11 - ts.worker.js | 203350 +++++++++++++++++++++++++++++++++++++++++ vite.config.ts | 6 +- 9 files changed, 203553 insertions(+), 38 deletions(-) delete mode 100755 contrib/compress-worker.mjs create mode 100644 src/routes/filemap.d.ts create mode 100644 src/routes/filemap.js delete mode 100644 src/routes/ts-worker.ts create mode 100644 ts.worker.js diff --git a/contrib/compress-worker.mjs b/contrib/compress-worker.mjs deleted file mode 100755 index 5c26694..0000000 --- a/contrib/compress-worker.mjs +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env node -import { readFileSync, writeFileSync } from 'node:fs'; -import { brotliCompressSync } from 'zlib'; - -writeFileSync( - 'static/generated/ts-worker.js.br', - brotliCompressSync( - readFileSync( - 'node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.js' - ), - {} - ) -); diff --git a/package.json b/package.json index d05594e..2091ed7 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "prepare": "svelte-kit sync || echo ''", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "install": "mkdir -p static/generated && cp node_modules/esbuild-wasm/esbuild.wasm static/generated/esbuild.wasm && contrib/compress-worker.mjs" + "install": "mkdir -p static/generated && cp node_modules/esbuild-wasm/esbuild.wasm static/generated/esbuild.wasm", + "postinstall": "cp ts.worker.js node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.js" }, "devDependencies": { "@sveltejs/adapter-static": "^3.0.8", @@ -41,6 +42,7 @@ }, "dependencies": { "brotli-wasm": "3.0.1", - "esbuild-wasm": "^0.25.0" + "esbuild-wasm": "^0.25.0", + "monaco-editor-core": "^0.52.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 924d7b2..740b022 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: esbuild-wasm: specifier: ^0.25.0 version: 0.25.0 + monaco-editor-core: + specifier: ^0.52.2 + version: 0.52.2 devDependencies: '@sveltejs/adapter-static': specifier: ^3.0.8 @@ -1661,6 +1664,9 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + monaco-editor-core@0.52.2: + resolution: {integrity: sha512-5TOyTUymNx7jB24TGP4Qs5UEVrntDKSMzDUvW3ADaI1CFRO1t7FPhbT2u4m3iIKZf85zTM+mkCxiUSgj+v/YtA==} + monaco-editor@0.52.2: resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} @@ -3801,6 +3807,8 @@ snapshots: minimist@1.2.8: {} + monaco-editor-core@0.52.2: {} + monaco-editor@0.52.2: {} mri@1.2.0: {} diff --git a/src/routes/Monaco.svelte b/src/routes/Monaco.svelte index cfe9767..295b432 100644 --- a/src/routes/Monaco.svelte +++ b/src/routes/Monaco.svelte @@ -1,11 +1,11 @@