From e70b6618f427bcd1ea144aabc7dae09bf462cd33 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Fri, 7 Nov 2025 18:47:33 +0100 Subject: [PATCH] fixes website & adds editor.api.d.ts (#5104) --- .github/workflows/website.yml | 4 ++++ build/esm/rollup-types.config.mjs | 3 ++- build/shared.mjs | 10 ++++++++-- package.json | 2 +- website/package-lock.json | 28 +++++++++------------------- website/package.json | 2 +- website/typedoc/tsconfig.json | 1 + 7 files changed, 26 insertions(+), 24 deletions(-) diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 256fba5d..c6446d5c 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -40,6 +40,10 @@ jobs: if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }} run: npm ci + # For TypeDoc + - name: Build + run: npm run build + - name: Install website node modules working-directory: website run: npm ci diff --git a/build/esm/rollup-types.config.mjs b/build/esm/rollup-types.config.mjs index c4610971..5043188b 100644 --- a/build/esm/rollup-types.config.mjs +++ b/build/esm/rollup-types.config.mjs @@ -16,6 +16,7 @@ const root = join(import.meta.dirname, '../../'); export default defineConfig({ input: { entry: join(root, './src/editor/editor.main.ts'), + editorApi: join(root, './src/editor/editor.api.ts'), }, output: { dir: join(root, './out/monaco-editor/esm'), @@ -41,6 +42,6 @@ export default defineConfig({ }, includeExternal: ['monaco-editor-core', '@vscode/monaco-lsp-client'] }), - dtsDeprecationWarning(), + dtsDeprecationWarning(f => f.endsWith('editor.api.d.ts')), ], }); diff --git a/build/shared.mjs b/build/shared.mjs index 900ea618..dc471455 100644 --- a/build/shared.mjs +++ b/build/shared.mjs @@ -58,12 +58,18 @@ export function mapModuleId(moduleId, newExt) { return undefined; } -/** @return {import('rollup').Plugin} */ -export function dtsDeprecationWarning() { +/** + * @param {(moduleId: string) => boolean} [filter] + * @return {import('rollup').Plugin} + */ +export function dtsDeprecationWarning(filter) { return { name: 'add-dts-deprecation-warning', generateBundle(options, bundle) { for (const fileName in bundle) { + if (filter && !filter(fileName)) { + continue; + } const file = bundle[fileName]; if (file.type === 'chunk' && fileName.endsWith('.d.ts')) { let content = file.code.toString(); diff --git a/package.json b/package.json index f6a519ec..4e7a1eb9 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "build-monaco-editor": "ts-node ./build/build-monaco-editor", "build-lsp": "cd monaco-lsp-client && npm install && npm run build" }, - "typings": "./esm/vs/editor/editor.api.d.ts", + "typings": "./esm/vs/editor/editor.main.d.ts", "main": "./min/vs/editor/editor.main.js", "module": "./esm/vs/editor/editor.main.js", "exports": { diff --git a/website/package-lock.json b/website/package-lock.json index aa2001f8..772579b9 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -23,7 +23,7 @@ "mini-css-extract-plugin": "^2.6.1", "mobx": "^6.15.0", "mobx-react": "^9.2.1", - "monaco-editor": "^0.55.0-dev-20251008", + "monaco-editor": "^0.54.0", "react": "^19.2.0", "react-bootstrap": "^2.10.10", "react-dom": "^19.2.0", @@ -1000,13 +1000,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT", - "optional": true - }, "node_modules/@types/uglify-js": { "version": "3.17.5", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", @@ -2393,13 +2386,10 @@ } }, "node_modules/dompurify": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.7.tgz", - "integrity": "sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==", - "license": "(MPL-2.0 OR Apache-2.0)", - "optionalDependencies": { - "@types/trusted-types": "^2.0.7" - } + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", + "license": "(MPL-2.0 OR Apache-2.0)" }, "node_modules/domutils": { "version": "2.8.0", @@ -4211,12 +4201,12 @@ } }, "node_modules/monaco-editor": { - "version": "0.55.0-dev-20251107", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.55.0-dev-20251107.tgz", - "integrity": "sha512-+Xu2pWe4ypNQX7/ZMFF4M7VE8FP178LLVHYu7OO3ajoC80RsoI3sCj5tPlnumOua0DzTwEyk/PMNeiSl7VyAYw==", + "version": "0.54.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.54.0.tgz", + "integrity": "sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==", "license": "MIT", "dependencies": { - "dompurify": "3.2.7", + "dompurify": "3.1.7", "marked": "14.0.0" } }, diff --git a/website/package.json b/website/package.json index b6dcf4ad..ef6e3d6a 100644 --- a/website/package.json +++ b/website/package.json @@ -25,7 +25,7 @@ "mini-css-extract-plugin": "^2.6.1", "mobx": "^6.15.0", "mobx-react": "^9.2.1", - "monaco-editor": "^0.55.0-dev-20251008", + "monaco-editor": "^0.54.0", "react": "^19.2.0", "react-bootstrap": "^2.10.10", "react-dom": "^19.2.0", diff --git a/website/typedoc/tsconfig.json b/website/typedoc/tsconfig.json index fb7a7206..5e79ac7e 100644 --- a/website/typedoc/tsconfig.json +++ b/website/typedoc/tsconfig.json @@ -5,6 +5,7 @@ "forceConsistentCasingInFileNames": true, "strict": true }, + // TODO: load from node_modules to be in sync with the latest stable monaco-editor "include": ["../../out/monaco-editor/esm/vs/editor/editor.main.d.ts"], "exclude": ["theme"] }