Skip to content

Commit 18b765f

Browse files
committed
Revert "Revert "Use esbuild to bundle some CommonJS main files (#160957)" (#161118)"
This reverts commit 84c46b7.
1 parent 236e476 commit 18b765f

17 files changed

+318
-195
lines changed

build/gulpfile.compile.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ const gulp = require('gulp');
99
const util = require('./lib/util');
1010
const task = require('./lib/task');
1111
const compilation = require('./lib/compilation');
12+
const optimize = require('./lib/optimize');
1213

1314
// Full compile, including nls and inline sources in sourcemaps, for build
1415
const compileBuildTask = task.define('compile-build',
1516
task.series(
1617
util.rimraf('out-build'),
1718
util.buildWebNodePaths('out-build'),
18-
compilation.compileTask('src', 'out-build', true)
19+
compilation.compileTask('src', 'out-build', true),
20+
optimize.optimizeLoaderTask('out-build', 'out-build', true)
1921
)
2022
);
2123
gulp.task(compileBuildTask);

build/gulpfile.editor.js

+22-19
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const gulp = require('gulp');
77
const path = require('path');
88
const util = require('./lib/util');
99
const task = require('./lib/task');
10-
const common = require('./lib/optimize');
10+
const optimize = require('./lib/optimize');
1111
const es = require('event-stream');
1212
const File = require('vinyl');
1313
const i18n = require('./lib/i18n');
@@ -86,26 +86,29 @@ const extractEditorSrcTask = task.define('extract-editor-src', () => {
8686

8787
const compileEditorAMDTask = task.define('compile-editor-amd', compilation.compileTask('out-editor-src', 'out-editor-build', true));
8888

89-
const optimizeEditorAMDTask = task.define('optimize-editor-amd', common.optimizeTask({
90-
src: 'out-editor-build',
91-
entryPoints: editorEntryPoints,
92-
resources: editorResources,
93-
loaderConfig: {
94-
paths: {
95-
'vs': 'out-editor-build/vs',
96-
'vs/css': 'out-editor-build/vs/css.build',
97-
'vs/nls': 'out-editor-build/vs/nls.build',
98-
'vscode': 'empty:'
89+
const optimizeEditorAMDTask = task.define('optimize-editor-amd', optimize.optimizeTask(
90+
{
91+
out: 'out-editor',
92+
amd: {
93+
src: 'out-editor-build',
94+
entryPoints: editorEntryPoints,
95+
resources: editorResources,
96+
loaderConfig: {
97+
paths: {
98+
'vs': 'out-editor-build/vs',
99+
'vs/css': 'out-editor-build/vs/css.build',
100+
'vs/nls': 'out-editor-build/vs/nls.build',
101+
'vscode': 'empty:'
102+
}
103+
},
104+
header: BUNDLED_FILE_HEADER,
105+
bundleInfo: true,
106+
languages
99107
}
100-
},
101-
bundleLoader: false,
102-
header: BUNDLED_FILE_HEADER,
103-
bundleInfo: true,
104-
out: 'out-editor',
105-
languages: languages
106-
}));
108+
}
109+
));
107110

108-
const minifyEditorAMDTask = task.define('minify-editor-amd', common.minifyTask('out-editor'));
111+
const minifyEditorAMDTask = task.define('minify-editor-amd', optimize.minifyTask('out-editor'));
109112

110113
const createESMSourcesAndResourcesTask = task.define('extract-editor-esm', () => {
111114
standalone.createESMSourcesAndResources2({

build/gulpfile.extensions.js

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const root = path.dirname(__dirname);
2020
const commit = util.getVersion(root);
2121
const plumber = require('gulp-plumber');
2222
const ext = require('./lib/extensions');
23-
const product = require('../product.json');
2423

2524
const extensionsPath = path.join(path.dirname(__dirname), 'extensions');
2625

build/gulpfile.reh.js

+33-19
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const path = require('path');
1010
const es = require('event-stream');
1111
const util = require('./lib/util');
1212
const task = require('./lib/task');
13-
const common = require('./lib/optimize');
13+
const optimize = require('./lib/optimize');
1414
const product = require('../product.json');
1515
const rename = require('gulp-rename');
1616
const replace = require('gulp-replace');
@@ -58,15 +58,10 @@ const serverResources = [
5858
'out-build/bootstrap-fork.js',
5959
'out-build/bootstrap-amd.js',
6060
'out-build/bootstrap-node.js',
61-
'out-build/paths.js',
6261

6362
// Performance
6463
'out-build/vs/base/common/performance.js',
6564

66-
// main entry points
67-
'out-build/server-cli.js',
68-
'out-build/server-main.js',
69-
7065
// Watcher
7166
'out-build/vs/platform/files/**/*.exe',
7267
'out-build/vs/platform/files/**/*.md',
@@ -254,7 +249,7 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
254249
const date = new Date().toISOString();
255250

256251
const productJsonStream = gulp.src(['product.json'], { base: '.' })
257-
.pipe(json({ commit, date }));
252+
.pipe(json({ commit, date, version }));
258253

259254
const license = gulp.src(['remote/LICENSE'], { base: 'remote', allowEmpty: true });
260255

@@ -357,23 +352,42 @@ function tweakProductForServerWeb(product) {
357352
['reh', 'reh-web'].forEach(type => {
358353
const optimizeTask = task.define(`optimize-vscode-${type}`, task.series(
359354
util.rimraf(`out-vscode-${type}`),
360-
common.optimizeTask({
361-
src: 'out-build',
362-
entryPoints: _.flatten(type === 'reh' ? serverEntryPoints : serverWithWebEntryPoints),
363-
otherSources: [],
364-
resources: type === 'reh' ? serverResources : serverWithWebResources,
365-
loaderConfig: common.loaderConfig(),
366-
out: `out-vscode-${type}`,
367-
inlineAmdImages: true,
368-
bundleInfo: undefined,
369-
fileContentMapper: createVSCodeWebFileContentMapper('.build/extensions', type === 'reh-web' ? tweakProductForServerWeb(product) : product)
370-
})
355+
optimize.optimizeTask(
356+
{
357+
out: `out-vscode-${type}`,
358+
amd: {
359+
src: 'out-build',
360+
entryPoints: _.flatten(type === 'reh' ? serverEntryPoints : serverWithWebEntryPoints),
361+
otherSources: [],
362+
resources: type === 'reh' ? serverResources : serverWithWebResources,
363+
loaderConfig: optimize.loaderConfig(),
364+
inlineAmdImages: true,
365+
bundleInfo: undefined,
366+
fileContentMapper: createVSCodeWebFileContentMapper('.build/extensions', type === 'reh-web' ? tweakProductForServerWeb(product) : product)
367+
},
368+
commonJS: {
369+
src: 'out-build',
370+
entryPoints: [
371+
'out-build/server-main.js',
372+
'out-build/server-cli.js'
373+
],
374+
platform: 'node',
375+
external: [
376+
'minimist',
377+
// TODO: we cannot inline `product.json` because
378+
// it is being changed during build time at a later
379+
// point in time (such as `checksums`)
380+
'../product.json'
381+
]
382+
}
383+
}
384+
)
371385
));
372386

373387
const minifyTask = task.define(`minify-vscode-${type}`, task.series(
374388
optimizeTask,
375389
util.rimraf(`out-vscode-${type}-min`),
376-
common.minifyTask(`out-vscode-${type}`, `https://ticino.blob.core.windows.net/sourcemaps/${commit}/core`)
390+
optimize.minifyTask(`out-vscode-${type}`, `https://ticino.blob.core.windows.net/sourcemaps/${commit}/core`)
377391
));
378392
gulp.task(minifyTask);
379393

build/gulpfile.vscode.js

+31-16
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const _ = require('underscore');
2020
const util = require('./lib/util');
2121
const task = require('./lib/task');
2222
const buildfile = require('../src/buildfile');
23-
const common = require('./lib/optimize');
23+
const optimize = require('./lib/optimize');
2424
const root = path.dirname(__dirname);
2525
const commit = util.getVersion(root);
2626
const packageJson = require('../package.json');
@@ -52,8 +52,6 @@ const vscodeEntryPoints = _.flatten([
5252
]);
5353

5454
const vscodeResources = [
55-
'out-build/main.js',
56-
'out-build/cli.js',
5755
'out-build/bootstrap.js',
5856
'out-build/bootstrap-fork.js',
5957
'out-build/bootstrap-amd.js',
@@ -63,12 +61,9 @@ const vscodeResources = [
6361
'!out-build/vs/code/browser/**/*.html',
6462
'!out-build/vs/editor/standalone/**/*.svg',
6563
'out-build/vs/base/common/performance.js',
66-
'out-build/vs/base/common/stripComments.js',
67-
'out-build/vs/base/node/languagePacks.js',
6864
'out-build/vs/base/node/{stdForkStart.js,terminateProcess.sh,cpuUsage.sh,ps.sh}',
6965
'out-build/vs/base/browser/ui/codicons/codicon/**',
7066
'out-build/vs/base/parts/sandbox/electron-browser/preload.js',
71-
'out-build/vs/platform/environment/node/userDataPath.js',
7267
'out-build/vs/workbench/browser/media/*-theme.css',
7368
'out-build/vs/workbench/contrib/debug/**/*.json',
7469
'out-build/vs/workbench/contrib/externalTerminal/**/*.scpt',
@@ -90,22 +85,42 @@ const vscodeResources = [
9085

9186
const optimizeVSCodeTask = task.define('optimize-vscode', task.series(
9287
util.rimraf('out-vscode'),
93-
common.optimizeTask({
94-
src: 'out-build',
95-
entryPoints: vscodeEntryPoints,
96-
resources: vscodeResources,
97-
loaderConfig: common.loaderConfig(),
98-
out: 'out-vscode',
99-
bundleInfo: undefined
100-
})
88+
optimize.optimizeTask(
89+
{
90+
out: 'out-vscode',
91+
amd: {
92+
src: 'out-build',
93+
entryPoints: vscodeEntryPoints,
94+
resources: vscodeResources,
95+
loaderConfig: optimize.loaderConfig(),
96+
bundleInfo: undefined
97+
},
98+
commonJS: {
99+
src: 'out-build',
100+
entryPoints: [
101+
'out-build/main.js',
102+
'out-build/cli.js'
103+
],
104+
platform: 'node',
105+
external: [
106+
'electron',
107+
'minimist',
108+
// TODO: we cannot inline `product.json` because
109+
// it is being changed during build time at a later
110+
// point in time (such as `checksums`)
111+
'../product.json'
112+
]
113+
}
114+
}
115+
)
101116
));
102117
gulp.task(optimizeVSCodeTask);
103118

104119
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
105120
const minifyVSCodeTask = task.define('minify-vscode', task.series(
106121
optimizeVSCodeTask,
107122
util.rimraf('out-vscode-min'),
108-
common.minifyTask('out-vscode', `${sourceMappingURLBase}/core`)
123+
optimize.minifyTask('out-vscode', `${sourceMappingURLBase}/core`)
109124
));
110125
gulp.task(minifyVSCodeTask);
111126

@@ -211,7 +226,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
211226
.pipe(json(packageJsonUpdates));
212227

213228
const date = new Date().toISOString();
214-
const productJsonUpdate = { commit, date, checksums };
229+
const productJsonUpdate = { commit, date, checksums, version };
215230

216231
if (shouldSetupSettingsSearch()) {
217232
productJsonUpdate.settingsSearchBuildId = getSettingsSearchBuildId(packageJson);

build/gulpfile.vscode.web.js

+18-14
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const path = require('path');
1010
const es = require('event-stream');
1111
const util = require('./lib/util');
1212
const task = require('./lib/task');
13-
const common = require('./lib/optimize');
13+
const optimize = require('./lib/optimize');
1414
const product = require('../product.json');
1515
const rename = require('gulp-rename');
1616
const filter = require('gulp-filter');
@@ -153,24 +153,28 @@ exports.createVSCodeWebFileContentMapper = createVSCodeWebFileContentMapper;
153153

154154
const optimizeVSCodeWebTask = task.define('optimize-vscode-web', task.series(
155155
util.rimraf('out-vscode-web'),
156-
common.optimizeTask({
157-
src: 'out-build',
158-
entryPoints: _.flatten(vscodeWebEntryPoints),
159-
otherSources: [],
160-
resources: vscodeWebResources,
161-
loaderConfig: common.loaderConfig(),
162-
externalLoaderInfo: util.createExternalLoaderConfig(product.webEndpointUrl, commit, quality),
163-
out: 'out-vscode-web',
164-
inlineAmdImages: true,
165-
bundleInfo: undefined,
166-
fileContentMapper: createVSCodeWebFileContentMapper('.build/web/extensions', product)
167-
})
156+
optimize.optimizeTask(
157+
{
158+
out: 'out-vscode-web',
159+
amd: {
160+
src: 'out-build',
161+
entryPoints: _.flatten(vscodeWebEntryPoints),
162+
otherSources: [],
163+
resources: vscodeWebResources,
164+
loaderConfig: optimize.loaderConfig(),
165+
externalLoaderInfo: util.createExternalLoaderConfig(product.webEndpointUrl, commit, quality),
166+
inlineAmdImages: true,
167+
bundleInfo: undefined,
168+
fileContentMapper: createVSCodeWebFileContentMapper('.build/web/extensions', product)
169+
}
170+
}
171+
)
168172
));
169173

170174
const minifyVSCodeWebTask = task.define('minify-vscode-web', task.series(
171175
optimizeVSCodeWebTask,
172176
util.rimraf('out-vscode-web-min'),
173-
common.minifyTask('out-vscode-web', `https://ticino.blob.core.windows.net/sourcemaps/${commit}/core`)
177+
optimize.minifyTask('out-vscode-web', `https://ticino.blob.core.windows.net/sourcemaps/${commit}/core`)
174178
));
175179
gulp.task(minifyVSCodeWebTask);
176180

0 commit comments

Comments
 (0)