Uncaught Error: Unexpected usage errors.js
loadForeignModule@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js?v=19554350:468:31
_getForeignProxy/this._foreignProxy<@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/browser/services/webWorker.js?v=19554350:38:30
promise callback*_getForeignProxy@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/browser/services/webWorker.js?v=19554350:36:51
getProxy@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/browser/services/webWorker.js?v=19554350:60:21
_getClient/this._client<@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:88:35
_getClient@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:89:9
getLanguageServiceWorker@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:94:31
worker@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:1088:19
_doValidate@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:367:31
maybeValidate@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:302:16
onModelAdd@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:327:7
DiagnosticsAdapter/<@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:358:80
DiagnosticsAdapter@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:358:51
registerProviders@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:1131:22
setupMode@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:1134:3
setupJavaScript@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js?v=19554350:1064:22
@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.js?v=19554350:270:40
promise callback*@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.js?v=19554350:270:20
onLanguage/disposable<@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneLanguages.js?v=19554350:59:13
invoke@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/base/common/event.js?v=19554350:601:23
deliver@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/base/common/event.js?v=19554350:782:34
fire@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/base/common/event.js?v=19554350:747:33
requestRichLanguageFeatures@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/common/services/languageService.js?v=19554350:75:52
TextModel@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/common/model/textModel.js?v=19554350:208:31
_createModelData@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/common/services/modelService.js?v=19554350:262:23
createModel@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/common/services/modelService.js?v=19554350:303:30
doCreateModel@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeEditor.js?v=19554350:320:25
createTextModel@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeEditor.js?v=19554350:314:12
createModel@http://localhost:5000/_nuxt/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneEditor.js?v=19554350:190:12
<template>
<ClientOnly>
<MonacoEditor class="editor" v-model="code" @load="setEditor" lang="javascript" :options="{ theme: 'vs-dark' }" />
</ClientOnly>
</template>
<script setup lang="ts">
import * as Monaco from 'monaco-editor'
type Editor = Monaco.editor.IStandaloneCodeEditor;
interface Props {
modelValue: string;
typings?: string;
}
interface Emits {
(e: 'update:modelValue', value: string): void;
}
const props = defineProps<Props>();
const emit = defineEmits<Emits>();
let editor: Editor | undefined = undefined;
let library: Monaco.IDisposable | undefined = undefined;
let model: Monaco.editor.ITextModel | undefined = undefined;
const typingUri = 'ts:runner/runner.d.ts';
const code = computed({
get() { return props.modelValue; },
set(value: string) { emit('update:modelValue', value); }
});
const resolveTypings = () => {
library?.dispose();
model?.dispose();
if (!editor || !props.typings) return;
//library = Monaco.languages.typescript.javascriptDefaults.addExtraLib(props.typings, typingUri);
//model = Monaco.editor.createModel(props.typings, 'typescript', Monaco.Uri.parse(typingUri));
};
const setEditor = (e: Editor) => { editor = e; resolveTypings(); };
watch(() => props.typings, () => resolveTypings());
</script>