mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-11-10 20:32:21 +08:00
chore(deps): update npm dependencies (#7607)
* chore(deps): update npm dependencies * fix(monaco): support editor 0.56 worker exports --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
This commit is contained in:
co-authored by
renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Tunglies
parent
d60ded5b3f
commit
837752a768
+33
-8
@@ -13,21 +13,46 @@ const patchCreateWebWorker = (monaco: MonacoModule) => {
|
||||
const createWebWorker = monaco.editor.createWebWorker
|
||||
|
||||
type CreateWebWorker = typeof createWebWorker
|
||||
type WorkerOptions = Parameters<CreateWebWorker>[0] & { worker?: unknown }
|
||||
type InternalWorkerOptions = Parameters<CreateWebWorker>[0]
|
||||
type LegacyWorkerOptions = Omit<InternalWorkerOptions, 'worker'> & {
|
||||
createData?: unknown
|
||||
label?: string
|
||||
moduleId?: string
|
||||
}
|
||||
|
||||
monaco.editor.createWebWorker = ((options: WorkerOptions) =>
|
||||
'worker' in options
|
||||
? createWebWorker(options)
|
||||
: monaco.createWebWorker(options)) as CreateWebWorker
|
||||
monaco.editor.createWebWorker = ((
|
||||
options: InternalWorkerOptions | LegacyWorkerOptions,
|
||||
) => {
|
||||
if ('worker' in options) return createWebWorker(options)
|
||||
|
||||
const getWorker = self.MonacoEnvironment?.getWorker
|
||||
if (!getWorker) {
|
||||
throw new Error('MonacoEnvironment.getWorker is not configured')
|
||||
}
|
||||
|
||||
const worker = Promise.resolve(
|
||||
getWorker('workerMain.js', options.label ?? 'monaco-editor-worker'),
|
||||
).then((instance) => {
|
||||
instance.postMessage('ignore')
|
||||
instance.postMessage(options.createData)
|
||||
return instance
|
||||
})
|
||||
|
||||
return createWebWorker({
|
||||
worker,
|
||||
host: options.host,
|
||||
keepIdleModels: options.keepIdleModels,
|
||||
})
|
||||
}) as CreateWebWorker
|
||||
}
|
||||
|
||||
export const loadMonacoEditor = () => {
|
||||
loadPromise ??= Promise.all([
|
||||
import('@monaco-editor/react'),
|
||||
import('monaco-editor'),
|
||||
import('monaco-editor/esm/vs/editor/editor.worker?worker'),
|
||||
import('monaco-editor/esm/vs/language/css/css.worker?worker'),
|
||||
import('monaco-editor/esm/vs/language/typescript/ts.worker?worker'),
|
||||
import('monaco-editor/editor/editor.worker?worker'),
|
||||
import('monaco-editor/language/css/css.worker?worker'),
|
||||
import('monaco-editor/language/typescript/ts.worker?worker'),
|
||||
import('monaco-yaml'),
|
||||
import('meta-json-schema/schemas/meta-json-schema.json'),
|
||||
import('types-pac/pac.d.ts?raw'),
|
||||
|
||||
Reference in New Issue
Block a user