mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 16:15:41 +01:00
Use import() for dynamic imports
This commit is contained in:
parent
d75e5fdb8f
commit
717952e163
3 changed files with 20 additions and 20 deletions
|
|
@ -10,8 +10,6 @@ import Emitter = monaco.Emitter;
|
||||||
import IEvent = monaco.IEvent;
|
import IEvent = monaco.IEvent;
|
||||||
import IDisposable = monaco.IDisposable;
|
import IDisposable = monaco.IDisposable;
|
||||||
|
|
||||||
declare var require: <T>(moduleId: [string], callback: (module: T) => void) => void;
|
|
||||||
|
|
||||||
// --- TypeScript configuration and defaults ---------
|
// --- TypeScript configuration and defaults ---------
|
||||||
|
|
||||||
export class LanguageServiceDefaultsImpl implements monaco.languages.typescript.LanguageServiceDefaults {
|
export class LanguageServiceDefaultsImpl implements monaco.languages.typescript.LanguageServiceDefaults {
|
||||||
|
|
@ -160,21 +158,11 @@ const javascriptDefaults = new LanguageServiceDefaultsImpl(
|
||||||
{ noSemanticValidation: true, noSyntaxValidation: false });
|
{ noSemanticValidation: true, noSyntaxValidation: false });
|
||||||
|
|
||||||
function getTypeScriptWorker(): monaco.Promise<any> {
|
function getTypeScriptWorker(): monaco.Promise<any> {
|
||||||
return new monaco.Promise((resolve, reject) => {
|
return getMode().then(mode => mode.getTypeScriptWorker());
|
||||||
withMode((mode) => {
|
|
||||||
mode.getTypeScriptWorker()
|
|
||||||
.then(resolve, reject);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getJavaScriptWorker(): monaco.Promise<any> {
|
function getJavaScriptWorker(): monaco.Promise<any> {
|
||||||
return new monaco.Promise((resolve, reject) => {
|
return getMode().then(mode => mode.getJavaScriptWorker());
|
||||||
withMode((mode) => {
|
|
||||||
mode.getJavaScriptWorker()
|
|
||||||
.then(resolve, reject);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Export API
|
// Export API
|
||||||
|
|
@ -195,8 +183,8 @@ monaco.languages.typescript = createAPI();
|
||||||
|
|
||||||
// --- Registration to monaco editor ---
|
// --- Registration to monaco editor ---
|
||||||
|
|
||||||
function withMode(callback: (module: typeof mode) => void): void {
|
function getMode(): monaco.Promise<typeof mode> {
|
||||||
require<typeof mode>(['./mode'], callback);
|
return monaco.Promise.wrap(import('./mode'))
|
||||||
}
|
}
|
||||||
|
|
||||||
monaco.languages.register({
|
monaco.languages.register({
|
||||||
|
|
@ -206,7 +194,7 @@ monaco.languages.register({
|
||||||
mimetypes: ['text/typescript']
|
mimetypes: ['text/typescript']
|
||||||
});
|
});
|
||||||
monaco.languages.onLanguage('typescript', () => {
|
monaco.languages.onLanguage('typescript', () => {
|
||||||
withMode((mode) => mode.setupTypeScript(typescriptDefaults));
|
return getMode().then(mode => mode.setupTypeScript(typescriptDefaults));
|
||||||
});
|
});
|
||||||
|
|
||||||
monaco.languages.register({
|
monaco.languages.register({
|
||||||
|
|
@ -218,5 +206,5 @@ monaco.languages.register({
|
||||||
mimetypes: ['text/javascript'],
|
mimetypes: ['text/javascript'],
|
||||||
});
|
});
|
||||||
monaco.languages.onLanguage('javascript', () => {
|
monaco.languages.onLanguage('javascript', () => {
|
||||||
withMode((mode) => mode.setupJavaScript(javascriptDefaults));
|
return getMode().then(mode => mode.setupJavaScript(javascriptDefaults));
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,13 @@
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"module": "es6",
|
"module": "es6",
|
||||||
"outDir": "../release/esm",
|
"outDir": "../release/esm",
|
||||||
"target": "es5"
|
"target": "es5",
|
||||||
|
"lib": [
|
||||||
|
"dom",
|
||||||
|
"es5",
|
||||||
|
"es2015.collection",
|
||||||
|
"es2015.promise"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
"**/*.ts"
|
"**/*.ts"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,13 @@
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"module": "amd",
|
"module": "amd",
|
||||||
"outDir": "../release/dev",
|
"outDir": "../release/dev",
|
||||||
"target": "es5"
|
"target": "es5",
|
||||||
|
"lib": [
|
||||||
|
"dom",
|
||||||
|
"es5",
|
||||||
|
"es2015.collection",
|
||||||
|
"es2015.promise"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
"**/*.ts"
|
"**/*.ts"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue