mirror of
https://github.com/grafana/grafana.git
synced 2025-01-16 03:32:37 -06:00
0dcdfc261b
* chore(monaco): bump monaco-editor to latest version * feat(codeeditor): use esm to load monaco editor * revert(monaco): put back previous version * feat(monaco): setup MonacoEnvironment when bootstrapping app * feat(monaco): load monaco languages from registry as workers * feat(webpack): clean up warnings, remove need to copy monaco into lib * fix(plugins): wip - remove amd loader workaround in systemjs hooks * chore(azure): clean up so QueryField passes typecheck * test(jest): update config to fix failing tests due to missing monaco-editor * test(jest): update config to work with monaco-editor and kusto * test(jest): prevent message eventlistener in nodeGraph/layout.worker tripping up monaco tests * test(plugins): wip - remove amd related tests from systemjs hooks * test(alerting): prefer clearAllMocks to prevent monaco editor failing due to missing matchMedia * test(parca): fix failing test due to undefined backendSrv * chore: move monacoEnv to app/core * test: increase testing-lib timeout to 2secs, fix parca test to assert dom element * feat(plugins): share kusto via systemjs * test(e2e): increase timeout for checking monaco editor in exemplars spec * test(e2e): assert monaco has loaded by checking the spinner is gone and window.monaco exists * test(e2e): check for monaco editor textarea * test(e2e): check monaco editor is loaded before assertions * test(e2e): add waitForMonacoToLoad util to reduce duplication * test(e2e): fix failing mysql spec * chore(jest): add comment to setupTests explaining need to incresae default timeout * chore(nodegraph): improve comment in layout.worker.utils to better explain the need for file
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { monacoLanguageRegistry } from '@grafana/data';
|
|
import { CorsWorker as Worker } from 'app/core/utils/CorsWorker';
|
|
|
|
export function setMonacoEnv() {
|
|
self.MonacoEnvironment = {
|
|
getWorker(_moduleId, label) {
|
|
const language = monacoLanguageRegistry.getIfExists(label);
|
|
|
|
if (language) {
|
|
return language.init();
|
|
}
|
|
|
|
if (label === 'json') {
|
|
return new Worker(new URL('monaco-editor/esm/vs/language/json/json.worker', import.meta.url));
|
|
}
|
|
|
|
if (label === 'css' || label === 'scss' || label === 'less') {
|
|
return new Worker(new URL('monaco-editor/esm/vs/language/css/css.worker', import.meta.url));
|
|
}
|
|
|
|
if (label === 'html' || label === 'handlebars' || label === 'razor') {
|
|
return new Worker(new URL('monaco-editor/esm/vs/language/html/html.worker', import.meta.url));
|
|
}
|
|
|
|
if (label === 'typescript' || label === 'javascript') {
|
|
return new Worker(new URL('monaco-editor/esm/vs/language/typescript/ts.worker', import.meta.url));
|
|
}
|
|
|
|
return new Worker(new URL('monaco-editor/esm/vs/editor/editor.worker', import.meta.url));
|
|
},
|
|
};
|
|
}
|