mirror of
https://github.com/nocodb/nocodb.git
synced 2026-05-03 15:57:15 +00:00
* fix: use worker url instead of inline * fix: quick import local * fix: warning * fix: use module only in dev mode
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import getCrossOriginWorkerURL from 'crossoriginworker'
|
|
import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker&url'
|
|
import JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker&url'
|
|
import TypeScriptWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker&url'
|
|
|
|
export default defineNuxtPlugin(async () => {
|
|
const editorWorker = new Worker(
|
|
await getCrossOriginWorkerURL(EditorWorker),
|
|
process.env.NODE_ENV === 'development' ? { type: 'module' } : undefined,
|
|
)
|
|
const jsonWorker = new Worker(
|
|
await getCrossOriginWorkerURL(JsonWorker),
|
|
process.env.NODE_ENV === 'development' ? { type: 'module' } : undefined,
|
|
)
|
|
const tsWorker = new Worker(
|
|
await getCrossOriginWorkerURL(TypeScriptWorker),
|
|
process.env.NODE_ENV === 'development' ? { type: 'module' } : undefined,
|
|
)
|
|
|
|
/**
|
|
* Adding monaco editor to Vite
|
|
*
|
|
**/
|
|
self.MonacoEnvironment = window.MonacoEnvironment = {
|
|
async getWorker(_: any, label: string) {
|
|
switch (label) {
|
|
case 'typescript':
|
|
case 'javascript': {
|
|
return tsWorker
|
|
}
|
|
case 'json': {
|
|
return jsonWorker
|
|
}
|
|
default: {
|
|
return editorWorker
|
|
}
|
|
}
|
|
},
|
|
}
|
|
})
|