diff --git a/src/monaco.contribution.ts b/src/monaco.contribution.ts index e00ec700..25e45562 100644 --- a/src/monaco.contribution.ts +++ b/src/monaco.contribution.ts @@ -10,8 +10,6 @@ import Emitter = monaco.Emitter; import IEvent = monaco.IEvent; import IDisposable = monaco.IDisposable; -declare var require: (moduleId: [string], callback: (module: T) => void) => void; - // --- TypeScript configuration and defaults --------- export class LanguageServiceDefaultsImpl implements monaco.languages.typescript.LanguageServiceDefaults { @@ -160,21 +158,11 @@ const javascriptDefaults = new LanguageServiceDefaultsImpl( { noSemanticValidation: true, noSyntaxValidation: false }); function getTypeScriptWorker(): monaco.Promise { - return new monaco.Promise((resolve, reject) => { - withMode((mode) => { - mode.getTypeScriptWorker() - .then(resolve, reject); - }); - }); + return getMode().then(mode => mode.getTypeScriptWorker()); } function getJavaScriptWorker(): monaco.Promise { - return new monaco.Promise((resolve, reject) => { - withMode((mode) => { - mode.getJavaScriptWorker() - .then(resolve, reject); - }); - }); + return getMode().then(mode => mode.getJavaScriptWorker()); } // Export API @@ -195,8 +183,8 @@ monaco.languages.typescript = createAPI(); // --- Registration to monaco editor --- -function withMode(callback: (module: typeof mode) => void): void { - require(['./mode'], callback); +function getMode(): monaco.Promise { + return monaco.Promise.wrap(import('./mode')) } monaco.languages.register({ @@ -206,7 +194,7 @@ monaco.languages.register({ mimetypes: ['text/typescript'] }); monaco.languages.onLanguage('typescript', () => { - withMode((mode) => mode.setupTypeScript(typescriptDefaults)); + return getMode().then(mode => mode.setupTypeScript(typescriptDefaults)); }); monaco.languages.register({ @@ -218,5 +206,5 @@ monaco.languages.register({ mimetypes: ['text/javascript'], }); monaco.languages.onLanguage('javascript', () => { - withMode((mode) => mode.setupJavaScript(javascriptDefaults)); + return getMode().then(mode => mode.setupJavaScript(javascriptDefaults)); }); diff --git a/src/tsconfig.esm.json b/src/tsconfig.esm.json index 308bad17..ad4ad051 100644 --- a/src/tsconfig.esm.json +++ b/src/tsconfig.esm.json @@ -2,7 +2,13 @@ "compilerOptions": { "module": "es6", "outDir": "../release/esm", - "target": "es5" + "target": "es5", + "lib": [ + "dom", + "es5", + "es2015.collection", + "es2015.promise" + ] }, "include": [ "**/*.ts" diff --git a/src/tsconfig.json b/src/tsconfig.json index 0cdfccd5..4f00318a 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -2,7 +2,13 @@ "compilerOptions": { "module": "amd", "outDir": "../release/dev", - "target": "es5" + "target": "es5", + "lib": [ + "dom", + "es5", + "es2015.collection", + "es2015.promise" + ] }, "include": [ "**/*.ts"