diff --git a/package.json b/package.json index cc4f305..fb66776 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "highlight.js": "^11.11.1", "lunisolar": "^2.5.2", "mathjs": "^14.5.2", + "monaco-editor": "^0.54.0", "naive-ui": "^2.41.0", "radash": "^12.1.0", "uuid": "^11.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0fe0439..2fa6e65 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,6 +32,9 @@ importers: mathjs: specifier: ^14.5.2 version: 14.5.2 + monaco-editor: + specifier: ^0.54.0 + version: 0.54.0 naive-ui: specifier: ^2.41.0 version: 2.41.0(vue@3.5.16) @@ -1231,6 +1234,9 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + dompurify@3.1.7: + resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -1461,7 +1467,7 @@ packages: engines: {node: '>= 4'} image-size@0.5.5: - resolution: {integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=} + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} hasBin: true @@ -1566,6 +1572,11 @@ packages: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} + marked@14.0.0: + resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==} + engines: {node: '>= 18'} + hasBin: true + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -1595,6 +1606,9 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + monaco-editor@0.54.0: + resolution: {integrity: sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -3158,6 +3172,8 @@ snapshots: delayed-stream@1.0.0: {} + dompurify@3.1.7: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -3513,6 +3529,8 @@ snapshots: semver: 5.7.2 optional: true + marked@14.0.0: {} + math-intrinsics@1.1.0: {} mathjs@14.5.2: @@ -3542,6 +3560,11 @@ snapshots: dependencies: brace-expansion: 1.1.11 + monaco-editor@0.54.0: + dependencies: + dompurify: 3.1.7 + marked: 14.0.0 + ms@2.1.3: {} naive-ui@2.41.0(vue@3.5.16): diff --git a/vite.config.js b/vite.config.js index 725d915..772a32d 100644 --- a/vite.config.js +++ b/vite.config.js @@ -20,6 +20,13 @@ export default defineConfig({ }, }, envPrefix: 'V_ENV_', + optimizeDeps: { + include: [ + // 预构建 Monaco Editor Worker + 'monaco-editor/esm/vs/editor/editor.worker', + 'monaco-editor/esm/vs/language/json/json.worker', + ], + }, plugins: [ legacy({ polyfills: false,