mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 12:19:20 +00:00
Use esbuild to bundle some CommonJS main files (#160957)
* ensure node.js `require` is captured * optimize `main.js` and `cli.js` * cleanup * leave out bundled files * drop package.json from userdata paths * fix web task * fix editor distro * inline version into `product.json` * also bundle server * t * actually do server too * Keep bundling nls in editor worker Co-authored-by: Alex Dima <alexdima@microsoft.com>
This commit is contained in:
@@ -20,7 +20,7 @@ const _ = require('underscore');
|
||||
const util = require('./lib/util');
|
||||
const task = require('./lib/task');
|
||||
const buildfile = require('../src/buildfile');
|
||||
const common = require('./lib/optimize');
|
||||
const optimize = require('./lib/optimize');
|
||||
const root = path.dirname(__dirname);
|
||||
const commit = util.getVersion(root);
|
||||
const packageJson = require('../package.json');
|
||||
@@ -52,8 +52,6 @@ const vscodeEntryPoints = _.flatten([
|
||||
]);
|
||||
|
||||
const vscodeResources = [
|
||||
'out-build/main.js',
|
||||
'out-build/cli.js',
|
||||
'out-build/bootstrap.js',
|
||||
'out-build/bootstrap-fork.js',
|
||||
'out-build/bootstrap-amd.js',
|
||||
@@ -63,12 +61,9 @@ const vscodeResources = [
|
||||
'!out-build/vs/code/browser/**/*.html',
|
||||
'!out-build/vs/editor/standalone/**/*.svg',
|
||||
'out-build/vs/base/common/performance.js',
|
||||
'out-build/vs/base/common/stripComments.js',
|
||||
'out-build/vs/base/node/languagePacks.js',
|
||||
'out-build/vs/base/node/{stdForkStart.js,terminateProcess.sh,cpuUsage.sh,ps.sh}',
|
||||
'out-build/vs/base/browser/ui/codicons/codicon/**',
|
||||
'out-build/vs/base/parts/sandbox/electron-browser/preload.js',
|
||||
'out-build/vs/platform/environment/node/userDataPath.js',
|
||||
'out-build/vs/workbench/browser/media/*-theme.css',
|
||||
'out-build/vs/workbench/contrib/debug/**/*.json',
|
||||
'out-build/vs/workbench/contrib/externalTerminal/**/*.scpt',
|
||||
@@ -90,14 +85,34 @@ const vscodeResources = [
|
||||
|
||||
const optimizeVSCodeTask = task.define('optimize-vscode', task.series(
|
||||
util.rimraf('out-vscode'),
|
||||
common.optimizeTask({
|
||||
src: 'out-build',
|
||||
entryPoints: vscodeEntryPoints,
|
||||
resources: vscodeResources,
|
||||
loaderConfig: common.loaderConfig(),
|
||||
out: 'out-vscode',
|
||||
bundleInfo: undefined
|
||||
})
|
||||
optimize.optimizeTask(
|
||||
{
|
||||
out: 'out-vscode',
|
||||
amd: {
|
||||
src: 'out-build',
|
||||
entryPoints: vscodeEntryPoints,
|
||||
resources: vscodeResources,
|
||||
loaderConfig: optimize.loaderConfig(),
|
||||
bundleInfo: undefined
|
||||
},
|
||||
commonJS: {
|
||||
src: 'out-build',
|
||||
entryPoints: [
|
||||
'out-build/main.js',
|
||||
'out-build/cli.js'
|
||||
],
|
||||
platform: 'node',
|
||||
external: [
|
||||
'electron',
|
||||
'minimist',
|
||||
// TODO: we cannot inline `product.json` because
|
||||
// it is being changed during build time at a later
|
||||
// point in time (such as `checksums`)
|
||||
'../product.json'
|
||||
]
|
||||
}
|
||||
}
|
||||
)
|
||||
));
|
||||
gulp.task(optimizeVSCodeTask);
|
||||
|
||||
@@ -105,7 +120,7 @@ const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${
|
||||
const minifyVSCodeTask = task.define('minify-vscode', task.series(
|
||||
optimizeVSCodeTask,
|
||||
util.rimraf('out-vscode-min'),
|
||||
common.minifyTask('out-vscode', `${sourceMappingURLBase}/core`)
|
||||
optimize.minifyTask('out-vscode', `${sourceMappingURLBase}/core`)
|
||||
));
|
||||
gulp.task(minifyVSCodeTask);
|
||||
|
||||
@@ -211,7 +226,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
.pipe(json(packageJsonUpdates));
|
||||
|
||||
const date = new Date().toISOString();
|
||||
const productJsonUpdate = { commit, date, checksums };
|
||||
const productJsonUpdate = { commit, date, checksums, version };
|
||||
|
||||
if (shouldSetupSettingsSearch()) {
|
||||
productJsonUpdate.settingsSearchBuildId = getSettingsSearchBuildId(packageJson);
|
||||
|
||||
Reference in New Issue
Block a user