1
0
Fork 0
mirror of https://git.sr.ht/~ashkeel/strimertul synced 2024-09-20 02:00:49 +00:00

fix: editor doesn't complain about async or import anymore

This commit is contained in:
Ash Keel 2023-02-02 16:51:31 +01:00
parent 4a243e60a7
commit bca4a0b064
No known key found for this signature in database
GPG key ID: BAD8D93E7314ED3E
2 changed files with 25 additions and 16 deletions

View file

@ -65,9 +65,10 @@ onmessage = async (ev: MessageEvent<ExtensionHostCommand>) => {
); );
await kv.wait(); await kv.wait();
try {
// Transpile TS into JS // Transpile TS into JS
const out = ts.transpileModule(cmd.source, { const out = ts.transpileModule(cmd.source, {
compilerOptions: { module: ts.ModuleKind.CommonJS }, compilerOptions: { module: ts.ModuleKind.ES2022 },
}); });
// Replace console.* methods with something that logs to UI // Replace console.* methods with something that logs to UI
@ -79,6 +80,12 @@ onmessage = async (ev: MessageEvent<ExtensionHostCommand>) => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
extFn = ExtensionFunction.constructor('kv', out.outputText); extFn = ExtensionFunction.constructor('kv', out.outputText);
setStatus(ExtensionStatus.Ready); setStatus(ExtensionStatus.Ready);
} catch (error: unknown) {
sendMessage({
kind: 'error',
error,
});
}
start(); start();
break; break;

View file

@ -354,7 +354,7 @@ const setupLibrary = (monaco: Monaco, source: string, url: string) => {
return; return;
} }
monaco.languages.typescript.javascriptDefaults.addExtraLib(source, url); monaco.languages.typescript.typescriptDefaults.addExtraLib(source, url);
monaco.editor.createModel(source, 'typescript', monaco.Uri.parse(url)); monaco.editor.createModel(source, 'typescript', monaco.Uri.parse(url));
}; };
@ -368,13 +368,15 @@ function ExtensionEditor() {
useEffect(() => { useEffect(() => {
if (monaco) { if (monaco) {
monaco.languages.typescript.javascriptDefaults.setEagerModelSync(true); monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true);
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({ monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
noSemanticValidation: false, noSemanticValidation: false,
noSyntaxValidation: false, noSyntaxValidation: false,
diagnosticCodesToIgnore: [1375, 2792],
}); });
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({ monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES2020, target: monaco.languages.typescript.ScriptTarget.ES2020,
module: monaco.languages.typescript.ModuleKind.ESNext,
allowNonTsExtensions: true, allowNonTsExtensions: true,
}); });
setupLibrary(monaco, kilovoltDefinition, 'ts:index.d.ts'); setupLibrary(monaco, kilovoltDefinition, 'ts:index.d.ts');