提交 350dd1ed 编写于 作者: A Alex Dima

Bundle editorWorkerServer into workerServer and editorSimpleWorker into simpleWorker

上级 13cb5df0
......@@ -14,6 +14,16 @@ function bundle(entryPoints, config, callback) {
entryPoints.forEach(function (module) {
entryPointsMap[module.name] = module;
});
var allMentionedModulesMap = {};
entryPoints.forEach(function (module) {
allMentionedModulesMap[module.name] = true;
(module.include || []).forEach(function (includedModule) {
allMentionedModulesMap[includedModule] = true;
});
(module.exclude || []).forEach(function (excludedModule) {
allMentionedModulesMap[excludedModule] = true;
});
});
var code = require('fs').readFileSync(path.join(__dirname, '../../src/vs/loader.js'));
var r = vm.runInThisContext('(function(require, module, exports) { ' + code + '\n});');
var loaderModule = { exports: {} };
......@@ -21,7 +31,7 @@ function bundle(entryPoints, config, callback) {
var loader = loaderModule.exports;
config.isBuild = true;
loader.config(config);
loader(Object.keys(entryPointsMap), function () {
loader(Object.keys(allMentionedModulesMap), function () {
var modules = loader.getBuildInfo();
var partialResult = emitEntryPoints(modules, entryPointsMap);
var cssInlinedResources = loader('vs/css').getInlinedResources();
......
......@@ -99,6 +99,17 @@ export function bundle(entryPoints:IEntryPoint[], config:ILoaderConfig, callback
entryPointsMap[module.name] = module;
});
let allMentionedModulesMap: {[modules:string]:boolean;} = {};
entryPoints.forEach((module:IEntryPoint) => {
allMentionedModulesMap[module.name] = true;
(module.include||[]).forEach(function(includedModule) {
allMentionedModulesMap[includedModule] = true;
});
(module.exclude||[]).forEach(function(excludedModule) {
allMentionedModulesMap[excludedModule] = true;
});
});
var code = require('fs').readFileSync(path.join(__dirname, '../../src/vs/loader.js'));
var r: Function = <any> vm.runInThisContext('(function(require, module, exports) { ' + code + '\n});');
......@@ -109,7 +120,7 @@ export function bundle(entryPoints:IEntryPoint[], config:ILoaderConfig, callback
config.isBuild = true;
loader.config(config);
loader(Object.keys(entryPointsMap), () => {
loader(Object.keys(allMentionedModulesMap), () => {
let modules = <IBuildModuleInfo[]>loader.getBuildInfo();
let partialResult = emitEntryPoints(modules, entryPointsMap);
let cssInlinedResources = loader('vs/css').getInlinedResources();
......
......@@ -8,9 +8,11 @@
exports.collectModules = function() {
return [{
name: 'vs/base/common/worker/workerServer',
include: [ 'vs/editor/common/worker/editorWorkerServer' ],
exclude: [ 'vs/css', 'vs/nls' ]
}, {
name: 'vs/base/common/worker/simpleWorker',
include: [ 'vs/editor/common/services/editorSimpleWorker' ],
exclude: [ 'vs/css', 'vs/nls' ]
}];
};
......@@ -328,7 +328,8 @@ export class SimpleWorkerServer {
ee = e;
});
require([moduleId], (...result:any[]) => {
// Use the global require to be sure to get the global config
(<any>self).require([moduleId], (...result:any[]) => {
let handlerModule = result[0];
this._requestHandler = handlerModule.create();
......
......@@ -114,7 +114,8 @@ export class WorkerServer {
}
public loadModule(moduleId:string, callback:Function, errorback:(err:any)=>void): void {
require([moduleId], (...result:any[]) => {
// Use the global require to be sure to get the global config
(<any>self).require([moduleId], (...result:any[]) => {
callback(result[0]);
}, errorback);
}
......
......@@ -6,12 +6,5 @@
'use strict';
exports.collectModules = function() {
return [{
name: 'vs/editor/common/worker/editorWorkerServer',
include: [ 'vs/base/common/severity' ],
exclude: [ 'vs/base/common/worker/workerServer', 'vs/css', 'vs/nls' ]
}, {
name: 'vs/editor/common/services/editorSimpleWorker',
exclude: [ 'vs/base/common/worker/simpleWorker', 'vs/css', 'vs/nls' ]
}];
return [];
};
......@@ -68,7 +68,8 @@ export class ModeWorkerManager<W> {
private static _loadModule(moduleName:string): TPromise<any> {
return new TPromise((c, e, p) => {
require([moduleName], c, e);
// Use the global require to be sure to get the global config
(<any>self).require([moduleName], c, e);
}, () => {
// Cannot cancel loading code
});
......
......@@ -290,7 +290,8 @@ export class EditorSimpleWorkerImpl implements IRequestHandler {
public loadForeignModule(moduleId:string): TPromise<string[]> {
return new TPromise<any>((c, e) => {
require([moduleId], (foreignModule) => {
// Use the global require to be sure to get the global config
(<any>self).require([moduleId], (foreignModule) => {
this._foreignModule = foreignModule.create();
let methods: string[] = [];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册