From 51760a5b954e05e36990e474eb3d0fca9973b145 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Nov 2025 16:33:34 +0800 Subject: [PATCH] chore(deps): update npm dependencies (#5561) * chore(deps): update npm dependencies * fix: types * chore: replace vite-plugin-monaco-editor-esm with utils/monaco --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Slinetrac --- package.json | 5 +- pnpm-lock.yaml | 214 +++++++++++------------ src/components/profile/editor-viewer.tsx | 2 +- src/main.tsx | 1 + src/utils/monaco.ts | 39 +++++ vite.config.mts | 18 -- 6 files changed, 148 insertions(+), 131 deletions(-) create mode 100644 src/utils/monaco.ts diff --git a/package.json b/package.json index 9e189728e..164324f08 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "js-yaml": "^4.1.1", "json-schema": "^0.4.0", "lodash-es": "^4.17.21", - "monaco-editor": "^0.54.0", + "monaco-editor": "^0.55.1", "monaco-yaml": "^5.4.0", "nanoid": "^5.1.6", "react": "19.2.0", @@ -79,7 +79,7 @@ }, "devDependencies": { "@actions/github": "^6.0.1", - "@eslint-react/eslint-plugin": "^2.3.5", + "@eslint-react/eslint-plugin": "^2.3.7", "@eslint/js": "^9.39.1", "@tauri-apps/cli": "2.9.4", "@types/js-yaml": "^4.0.9", @@ -116,7 +116,6 @@ "typescript": "^5.9.3", "typescript-eslint": "^8.47.0", "vite": "^7.2.4", - "vite-plugin-monaco-editor-esm": "^2.0.2", "vite-plugin-svgr": "^4.5.0" }, "lint-staged": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a99ad2de7..a4b1b05ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,7 +28,7 @@ importers: version: 3.4.0 '@monaco-editor/react': specifier: ^4.7.0 - version: 4.7.0(monaco-editor@0.54.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 4.7.0(monaco-editor@0.55.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@mui/icons-material': specifier: ^7.3.5 version: 7.3.5(@mui/material@7.3.5(@emotion/react@11.14.0(@types/react@19.2.6)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.6)(react@19.2.0))(@types/react@19.2.6)(react@19.2.0))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@types/react@19.2.6)(react@19.2.0) @@ -96,11 +96,11 @@ importers: specifier: ^4.17.21 version: 4.17.21 monaco-editor: - specifier: ^0.54.0 - version: 0.54.0 + specifier: ^0.55.1 + version: 0.55.1 monaco-yaml: specifier: ^5.4.0 - version: 5.4.0(monaco-editor@0.54.0) + version: 5.4.0(monaco-editor@0.55.1) nanoid: specifier: ^5.1.6 version: 5.1.6 @@ -133,7 +133,7 @@ importers: version: 2.3.6(react@19.2.0) tauri-plugin-mihomo-api: specifier: git+https://github.com/clash-verge-rev/tauri-plugin-mihomo#main - version: https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/1c2fba06b1e51eefd14b9f96310e75b9cdbf58fa + version: https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/69b101cf716df2685da48d8dda1cc711e5e5d9af types-pac: specifier: ^1.0.3 version: 1.0.3 @@ -142,8 +142,8 @@ importers: specifier: ^6.0.1 version: 6.0.1 '@eslint-react/eslint-plugin': - specifier: ^2.3.5 - version: 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + specifier: ^2.3.7 + version: 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@eslint/js': specifier: ^9.39.1 version: 9.39.1 @@ -252,9 +252,6 @@ importers: vite: specifier: ^7.2.4 version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) - vite-plugin-monaco-editor-esm: - specifier: ^2.0.2 - version: 2.0.2(monaco-editor@0.54.0) vite-plugin-svgr: specifier: ^4.5.0 version: 4.5.0(rollup@4.46.2)(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) @@ -1010,31 +1007,31 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-react/ast@2.3.5': - resolution: {integrity: sha512-gTnLEdQ82Kcy2Yn8fLe6ks/yQx1kI3OYuWgYNb4D1XSAOYvL1Cj+UIx2/+ew9vMBLMO3NJr90EMPUr0yVOhC7w==} + '@eslint-react/ast@2.3.7': + resolution: {integrity: sha512-PxAoMuk3dpcimo0rtWx9UEd0/NqNyg7pYs18kqoCuLxfLUpoV6wwwz/hIWNa3JvWu/5ALeelo5SCbUc7jTXQlQ==} engines: {node: '>=20.19.0'} - '@eslint-react/core@2.3.5': - resolution: {integrity: sha512-6+/3bMmkxIk4vlMwfxw4lU6y7/Z1cjGURPsooAULitbBS4+s0M0N1UjWaPpDwT4FR0SVVqjOp1yUcI66uQvQKg==} + '@eslint-react/core@2.3.7': + resolution: {integrity: sha512-wHve68VM/WDS6ttHkUYAlHgRW+SJe9xCZB2yb0lJRAZzUM2f2vrbv1i9wKwJSmKUm4LA0Hha0oSg+XY2eWknwA==} engines: {node: '>=20.19.0'} - '@eslint-react/eff@2.3.5': - resolution: {integrity: sha512-F2bj6v7Q1hgLn+N28pkJyYvBiTaUFh0qOEz3IXUupkqqnu9zGxmh3P7c0l//8AlR2CvRTCmSVBBhem4BhoSczw==} + '@eslint-react/eff@2.3.7': + resolution: {integrity: sha512-RdsS0smV9WEriBkbVqCEggRy2HjTXtlqPjl5eJQGq+e4Cy8SPLS1XlbkdNW5iQI1mQwEqhkpy6Ucwt5VB6aKzA==} engines: {node: '>=20.19.0'} - '@eslint-react/eslint-plugin@2.3.5': - resolution: {integrity: sha512-5VTcKcbyDNGrpXj3y5wfYKogA8g1aVPcyupSL9/URyxLhnv14tfSNAJ64qTh0NBunETU69n7T81e4ZYJS2ctGw==} + '@eslint-react/eslint-plugin@2.3.7': + resolution: {integrity: sha512-pJUNL2JOiQ3x3OWBIdEaQeClsTqevmSJfsxXozTb3aujBaniBaD5B4XTyDNWiq2ZyPqAgKBjLBTKGXyjsaZwBA==} engines: {node: '>=20.19.0'} peerDependencies: eslint: ^9.39.1 typescript: ^5.9.3 - '@eslint-react/shared@2.3.5': - resolution: {integrity: sha512-k65W/X2MeiDX21HPwtcPaFHciYVRYrzE+EZ2ok2BVQWcl24GQUEckAfdMzKQ6cS19OgjQm9k0juHjpUcyHj29g==} + '@eslint-react/shared@2.3.7': + resolution: {integrity: sha512-5QefzMEPOY8CPdNyEDlb3reXcLBLjxN1oRAOxhML//wWktYggFrG3oswKZ4NIrWwjgLSVQz1/kKd4D+82CcIMA==} engines: {node: '>=20.19.0'} - '@eslint-react/var@2.3.5': - resolution: {integrity: sha512-BDq9o4kUu4h0Lvv29AY+N9LFh69tgICRNDmr5GnRmRFaYZ6/fq+UbO18K47ccb2tj2TI8V6VJFpkPx1fK7lYeQ==} + '@eslint-react/var@2.3.7': + resolution: {integrity: sha512-vBBWIWrkUR+J7Q08oADwPJE/iYTr+ro+DWHlReF6uwQ0s8refbefaJrbHiYV85XjqSKrUp2hHgTEBPuOf6QfGQ==} engines: {node: '>=20.19.0'} '@eslint/config-array@0.21.1': @@ -1831,6 +1828,9 @@ packages: '@types/react@19.2.6': resolution: {integrity: sha512-p/jUvulfgU7oKtj6Xpk8cA2Y1xKTtICGpJYeJXz2YVO2UcvjQgeRMLDGfDeqeRW2Ta+0QNFwcc8X3GH8SxZz6w==} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -2371,8 +2371,8 @@ packages: dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - dompurify@3.1.7: - resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==} + dompurify@3.2.7: + resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==} dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -2542,15 +2542,15 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-dom@2.3.5: - resolution: {integrity: sha512-SsIF5HbsXLJcbEoFbzgabqA7DOnfGd0BhD7QzZd5tqgz4gL2j2mUGCBbQjQIE0BMbKtOihbhuceQfQ/QxoJJIg==} + eslint-plugin-react-dom@2.3.7: + resolution: {integrity: sha512-T8r1oKTEh42LUA3VB8J6EXGoX2m3TFCGDp7ehcyoNoJNf+o8BdWI4zg62euR6t/CwEUrvxF2wdADGxXH4+J5XA==} engines: {node: '>=20.19.0'} peerDependencies: eslint: ^9.39.1 typescript: ^5.9.3 - eslint-plugin-react-hooks-extra@2.3.5: - resolution: {integrity: sha512-IxPs6O/XCpm8FAv38TyJKcHkeS/qNb97PdbH1OqHbf4BAT/QTInWweNEpePiyydQ0YuLvHqTo1dreY8Jj6Re3A==} + eslint-plugin-react-hooks-extra@2.3.7: + resolution: {integrity: sha512-IqVbpbRcsZ16AXP3wuePBj3nuPnZF2MPapdlg2ygfNKNQehlSVAYHZHzzuSjhI+4UR/w+AhuhQfcanz14DN/+A==} engines: {node: '>=20.0.0'} peerDependencies: eslint: ^9.39.1 @@ -2562,8 +2562,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-naming-convention@2.3.5: - resolution: {integrity: sha512-sjKvdJq90HWNYRBtwia7C/N8NXdg+k8O7ikQqf6QsOuTUHGLgFWGtxx1AktfizlSusCdb96w5LJ4MSi+KsuVZg==} + eslint-plugin-react-naming-convention@2.3.7: + resolution: {integrity: sha512-pW0l0kY8Wf42g3R/D8DVVibRc7BvU49VFshKCYQ4DLA53FPJsdOd9b28aKyyvgDAh65HDFEJKLvp03C+OkY7Fg==} engines: {node: '>=20.19.0'} peerDependencies: eslint: ^9.39.1 @@ -2574,15 +2574,15 @@ packages: peerDependencies: eslint: '>=8.40' - eslint-plugin-react-web-api@2.3.5: - resolution: {integrity: sha512-wY/hNWQxshTZ2niuu8QcARQuDg5w+cEA2OYtnrnPDjhy0qxikAaYA4NUx7HTAXoMC1Kxl78+NbQBBXnlwoMAZA==} + eslint-plugin-react-web-api@2.3.7: + resolution: {integrity: sha512-DSosa2MGofBzaEdPaqXUwskk91NNa2Igw7bYNQ83eRd1zjLHictuSmboc8HFkufBF50G9Mhovn0QgGF3r//s6g==} engines: {node: '>=20.19.0'} peerDependencies: eslint: ^9.39.1 typescript: ^5.9.3 - eslint-plugin-react-x@2.3.5: - resolution: {integrity: sha512-Yj+6e2ds6Gg3KRPgNdifincu3cuxDYPcboCXc5EGHC//6JZXRgtqQ3N5uP9RVHnCHmKF2EiZ76XyPDnp4hMgEg==} + eslint-plugin-react-x@2.3.7: + resolution: {integrity: sha512-NDFRTSSDUp3uvmQA/Khm6xfxG4Fbc7/fDX2M5TgbqbKsN+kmu9T1J4jr/5AoWe4DU82ECl7RrWQUHZ49ahVlfQ==} engines: {node: '>=20.19.0'} peerDependencies: eslint: ^9.39.1 @@ -3313,8 +3313,8 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} - monaco-editor@0.54.0: - resolution: {integrity: sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==} + monaco-editor@0.55.1: + resolution: {integrity: sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==} monaco-languageserver-types@0.4.0: resolution: {integrity: sha512-QQ3BZiU5LYkJElGncSNb5AKoJ/LCs6YBMCJMAz9EA7v+JaOdn3kx2cXpPTcZfKA5AEsR0vc97sAw+5mdNhVBmw==} @@ -3857,8 +3857,8 @@ packages: resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} engines: {node: '>=18'} - tauri-plugin-mihomo-api@https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/1c2fba06b1e51eefd14b9f96310e75b9cdbf58fa: - resolution: {tarball: https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/1c2fba06b1e51eefd14b9f96310e75b9cdbf58fa} + tauri-plugin-mihomo-api@https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/69b101cf716df2685da48d8dda1cc711e5e5d9af: + resolution: {tarball: https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/69b101cf716df2685da48d8dda1cc711e5e5d9af} version: 0.1.0 terser@5.44.1: @@ -4017,11 +4017,6 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-plugin-monaco-editor-esm@2.0.2: - resolution: {integrity: sha512-XVkOpL/r0rw1NpbO30vUwG4S0THkC9KB1vjjV8olGd49h4/EQsKl3DrxB6KRDwyZNC9mKiiZgk2L6njUYj3oKQ==} - peerDependencies: - monaco-editor: '>=0.33.0' - vite-plugin-svgr@4.5.0: resolution: {integrity: sha512-W+uoSpmVkSmNOGPSsDCWVW/DDAyv+9fap9AZXBvWiQqrboJ08j2vh0tFxTD/LjwqwAd3yYSVJgm54S/1GhbdnA==} peerDependencies: @@ -5034,9 +5029,9 @@ snapshots: '@eslint-community/regexpp@4.12.1': {} - '@eslint-react/ast@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@eslint-react/ast@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-react/eff': 2.3.5 + '@eslint-react/eff': 2.3.7 '@typescript-eslint/types': 8.47.0 '@typescript-eslint/typescript-estree': 8.47.0(typescript@5.9.3) '@typescript-eslint/utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) @@ -5046,12 +5041,12 @@ snapshots: - supports-color - typescript - '@eslint-react/core@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@eslint-react/core@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-react/ast': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/eff': 2.3.5 - '@eslint-react/shared': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/var': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/ast': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 + '@eslint-react/shared': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/var': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/types': 8.47.0 '@typescript-eslint/utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) @@ -5062,30 +5057,30 @@ snapshots: - supports-color - typescript - '@eslint-react/eff@2.3.5': {} + '@eslint-react/eff@2.3.7': {} - '@eslint-react/eslint-plugin@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@eslint-react/eslint-plugin@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-react/eff': 2.3.5 - '@eslint-react/shared': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 + '@eslint-react/shared': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/type-utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/types': 8.47.0 '@typescript-eslint/utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.1(jiti@2.6.1) - eslint-plugin-react-dom: 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-react-hooks-extra: 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-react-naming-convention: 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-react-web-api: 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-react-x: 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-react-dom: 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-react-hooks-extra: 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-react-naming-convention: 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-react-web-api: 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-react-x: 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) ts-api-utils: 2.1.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@eslint-react/shared@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@eslint-react/shared@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-react/eff': 2.3.5 + '@eslint-react/eff': 2.3.7 '@typescript-eslint/utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) ts-pattern: 5.9.0 zod: 4.1.12 @@ -5094,10 +5089,10 @@ snapshots: - supports-color - typescript - '@eslint-react/var@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@eslint-react/var@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-react/ast': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/eff': 2.3.5 + '@eslint-react/ast': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/types': 8.47.0 '@typescript-eslint/utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) @@ -5201,10 +5196,10 @@ snapshots: dependencies: state-local: 1.0.7 - '@monaco-editor/react@4.7.0(monaco-editor@0.54.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@monaco-editor/react@4.7.0(monaco-editor@0.55.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@monaco-editor/loader': 1.6.1 - monaco-editor: 0.54.0 + monaco-editor: 0.55.1 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) @@ -5801,6 +5796,9 @@ snapshots: dependencies: csstype: 3.2.3 + '@types/trusted-types@2.0.7': + optional: true + '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} @@ -6386,7 +6384,9 @@ snapshots: '@babel/runtime': 7.28.4 csstype: 3.2.3 - dompurify@3.1.7: {} + dompurify@3.2.7: + optionalDependencies: + '@types/trusted-types': 2.0.7 dot-case@3.0.4: dependencies: @@ -6658,13 +6658,13 @@ snapshots: optionalDependencies: eslint-config-prettier: 10.1.8(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-react-dom@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-react-dom@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/core': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/eff': 2.3.5 - '@eslint-react/shared': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/var': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/ast': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/core': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 + '@eslint-react/shared': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/var': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/types': 8.47.0 '@typescript-eslint/utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) @@ -6676,13 +6676,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks-extra@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-react-hooks-extra@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/core': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/eff': 2.3.5 - '@eslint-react/shared': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/var': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/ast': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/core': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 + '@eslint-react/shared': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/var': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/type-utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/types': 8.47.0 @@ -6705,13 +6705,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-naming-convention@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-react-naming-convention@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/core': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/eff': 2.3.5 - '@eslint-react/shared': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/var': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/ast': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/core': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 + '@eslint-react/shared': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/var': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/type-utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/types': 8.47.0 @@ -6727,13 +6727,13 @@ snapshots: dependencies: eslint: 9.39.1(jiti@2.6.1) - eslint-plugin-react-web-api@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-react-web-api@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/core': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/eff': 2.3.5 - '@eslint-react/shared': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/var': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/ast': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/core': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 + '@eslint-react/shared': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/var': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/types': 8.47.0 '@typescript-eslint/utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) @@ -6744,13 +6744,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-x@2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-react-x@2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/core': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/eff': 2.3.5 - '@eslint-react/shared': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@eslint-react/var': 2.3.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/ast': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/core': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/eff': 2.3.7 + '@eslint-react/shared': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-react/var': 2.3.7(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.47.0 '@typescript-eslint/type-utils': 8.47.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/types': 8.47.0 @@ -7675,9 +7675,9 @@ snapshots: dependencies: minipass: 7.1.2 - monaco-editor@0.54.0: + monaco-editor@0.55.1: dependencies: - dompurify: 3.1.7 + dompurify: 3.2.7 marked: 14.0.0 monaco-languageserver-types@0.4.0: @@ -7692,18 +7692,18 @@ snapshots: monaco-types@0.1.0: {} - monaco-worker-manager@2.0.1(monaco-editor@0.54.0): + monaco-worker-manager@2.0.1(monaco-editor@0.55.1): dependencies: - monaco-editor: 0.54.0 + monaco-editor: 0.55.1 - monaco-yaml@5.4.0(monaco-editor@0.54.0): + monaco-yaml@5.4.0(monaco-editor@0.55.1): dependencies: jsonc-parser: 3.3.1 - monaco-editor: 0.54.0 + monaco-editor: 0.55.1 monaco-languageserver-types: 0.4.0 monaco-marker-data-provider: 1.2.4 monaco-types: 0.1.0 - monaco-worker-manager: 2.0.1(monaco-editor@0.54.0) + monaco-worker-manager: 2.0.1(monaco-editor@0.55.1) path-browserify: 1.0.1 prettier: 3.6.2 vscode-languageserver-textdocument: 1.0.12 @@ -8312,7 +8312,7 @@ snapshots: minizlib: 3.1.0 yallist: 5.0.0 - tauri-plugin-mihomo-api@https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/1c2fba06b1e51eefd14b9f96310e75b9cdbf58fa: + tauri-plugin-mihomo-api@https://codeload.github.com/clash-verge-rev/tauri-plugin-mihomo/tar.gz/69b101cf716df2685da48d8dda1cc711e5e5d9af: dependencies: '@tauri-apps/api': 2.9.0 @@ -8530,10 +8530,6 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-plugin-monaco-editor-esm@2.0.2(monaco-editor@0.54.0): - dependencies: - monaco-editor: 0.54.0 - vite-plugin-svgr@4.5.0(rollup@4.46.2)(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)): dependencies: '@rollup/pluginutils': 5.2.0(rollup@4.46.2) diff --git a/src/components/profile/editor-viewer.tsx b/src/components/profile/editor-viewer.tsx index ece5f0b05..d876fcc28 100644 --- a/src/components/profile/editor-viewer.tsx +++ b/src/components/profile/editor-viewer.tsx @@ -81,7 +81,7 @@ const monacoInitialization = () => { ], }); // PAC type definitions for JS suggestions - monaco.languages.typescript.javascriptDefaults.addExtraLib(pac, "pac.d.ts"); + monaco.typescript.javascriptDefaults.addExtraLib(pac, "pac.d.ts"); initialized = true; }; diff --git a/src/main.tsx b/src/main.tsx index 62e3c4e27..c9cde899e 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,6 +1,7 @@ /// /// import "./assets/styles/index.scss"; +import "./utils/monaco"; import { ResizeObserver } from "@juggle/resize-observer"; import { ComposeContextProvider } from "foxact/compose-context-provider"; diff --git a/src/utils/monaco.ts b/src/utils/monaco.ts new file mode 100644 index 000000000..35906d71e --- /dev/null +++ b/src/utils/monaco.ts @@ -0,0 +1,39 @@ +import editorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"; +import cssWorker from "monaco-editor/esm/vs/language/css/css.worker?worker"; +import tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker"; +import yamlWorker from "monaco-yaml/yaml.worker?worker"; + +type WorkerConstructor = new () => Worker; + +// Align with the former plugin mapping so Monaco can resolve its background workers. +const workerConstructors: Record = { + editorWorkerService: editorWorker, + typescript: tsWorker, + javascript: tsWorker, + "languages.typescript": tsWorker, + css: cssWorker, + less: cssWorker, + scss: cssWorker, + "languages.css": cssWorker, + yaml: yamlWorker, +}; + +const defaultWorker = workerConstructors.editorWorkerService; + +if (typeof window !== "undefined") { + const globalScope = self as typeof self & { + MonacoEnvironment?: { + getWorker: (moduleId: string, label: string) => Worker; + }; + }; + + const getWorker = (_moduleId: string, label: string) => { + const WorkerCtor = workerConstructors[label] ?? defaultWorker; + return new WorkerCtor(); + }; + + globalScope.MonacoEnvironment = { + ...globalScope.MonacoEnvironment, + getWorker, + }; +} diff --git a/vite.config.mts b/vite.config.mts index cd37fc173..bc47a4c44 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -3,7 +3,6 @@ import path from "node:path"; import legacy from "@vitejs/plugin-legacy"; import react from "@vitejs/plugin-react-swc"; import { defineConfig } from "vite"; -import monacoEditorPlugin from "vite-plugin-monaco-editor-esm"; import svgr from "vite-plugin-svgr"; const getPackageName = (id: string) => { @@ -93,13 +92,6 @@ const chunkRules: ChunkRule[] = [ !!pkg && LARGE_VENDOR_MATCHERS.some((keyword) => pkg.includes(keyword)), }, ]; -const monacoEditorPluginDefault: typeof monacoEditorPlugin = - ( - monacoEditorPlugin as typeof monacoEditorPlugin & { - default?: typeof monacoEditorPlugin; - } - ).default ?? monacoEditorPlugin; - export default defineConfig({ root: "src", server: { port: 3000 }, @@ -118,16 +110,6 @@ export default defineConfig({ path.resolve("./src/polyfills/RegExp.js"), ], }), - monacoEditorPluginDefault({ - languageWorkers: ["editorWorkerService", "typescript", "css"], - customWorkers: [ - { - label: "yaml", - entry: "monaco-yaml/yaml.worker", - }, - ], - globalAPI: false, - }), ], build: { outDir: "../dist",