Fix vue-tsc errors for Monaco worker imports

Add type declarations for Vite's ?worker suffix imports and use the
proper IDisposable type from monaco-types.
This commit is contained in:
Dannon Baker
2025-12-01 14:25:07 -05:00
parent 08cdbe0b29
commit a154ba7ac8
2 changed files with 24 additions and 2 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
import type { IPosition, MonacoEditor } from "monaco-types";
import type { IDisposable, IPosition, MonacoEditor } from "monaco-types";
import { configureMonacoYaml } from "monaco-yaml";
import { extractEmbeddedJs } from "./extractEmbeddedJs";
@@ -35,7 +35,7 @@ export async function setupMonaco(monaco: MonacoEditor) {
monaco.languages.register({ id: "typescript" });
monaco.languages.register({ id: "javascript" });
monaco.languages.register({ id: "yaml" });
const disposables: monaco.IDisposable[] = [];
const disposables: IDisposable[] = [];
disposables.push(monaco.languages.setMonarchTokensProvider(LANG, monarchConfig));
disposables.push(
+22
View File
@@ -0,0 +1,22 @@
// Type declarations for Vite-specific imports
// Monaco editor workers with ?worker suffix
declare module "monaco-editor/esm/vs/editor/editor.worker?worker" {
const workerConstructor: new () => Worker;
export default workerConstructor;
}
declare module "monaco-editor/esm/vs/language/json/json.worker?worker" {
const workerConstructor: new () => Worker;
export default workerConstructor;
}
declare module "monaco-editor/esm/vs/language/typescript/ts.worker?worker" {
const workerConstructor: new () => Worker;
export default workerConstructor;
}
declare module "monaco-yaml/yaml.worker?worker" {
const workerConstructor: new () => Worker;
export default workerConstructor;
}