mirror of
https://github.com/microsoft/vscode.git
synced 2026-10-09 11:37:46 +01:00
* nls: precompute translation cache identity during packaging Stamp the commit and NLS table fingerprint in product metadata and pass it through bootstrap. Reuse cached translations without reading or hashing default tables, while isolating different target tables and preserving legacy product compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * build: remove legacy compilation from standalone web packaging Replace the redundant local compile/mangle prerequisite with explicit API proposal generation and build-date setup. Route both standalone web modes through the shared esbuild wrapper while preserving CI packaging and existing bundle flags. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * build: use esbuild for local server and server-web packaging Route local server builds through the existing esbuild pipeline with explicit API, codicon, extension and date preparation. Avoid shipping a redundant server-web workbench bundle. Keep NLS cache protection in the independent #336109; the known same-commit localized local-target-switch limitation is accepted for this migration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * build: remove obsolete production build infrastructure Remove retired compile, mangle, bundle, and minify task chains and their exclusive helpers. Preserve current esbuild production transforms, Gulp orchestration, Monaco/development compilation, and translation routes. Share bootstrap entry definitions with packaging, drop unused mangling arguments, and prune exclusive dependencies and stale npm commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
63 lines
2.8 KiB
TypeScript
63 lines
2.8 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
import { EventEmitter } from 'events';
|
|
EventEmitter.defaultMaxListeners = 100;
|
|
|
|
import glob from 'glob';
|
|
import { createRequire } from 'node:module';
|
|
import { monacoTypecheckTask /* , monacoTypecheckWatchTask */ } from './gulpfile.editor.ts';
|
|
import { compileExtensionMediaTask, compileExtensionsTask, watchExtensionsTask } from './gulpfile.extensions.ts';
|
|
import * as compilation from './lib/compilation.ts';
|
|
import * as task from './lib/gulp/task.ts';
|
|
import * as util from './lib/util.ts';
|
|
import { runEsbuildTranspile } from './lib/esbuild.ts';
|
|
|
|
// Extension point names
|
|
task.task(compilation.compileExtensionPointNamesTask);
|
|
|
|
const require = createRequire(import.meta.url);
|
|
|
|
// API proposal names
|
|
task.task(compilation.checkApiProposalNamesTask);
|
|
task.task(compilation.compileApiProposalNamesTask);
|
|
task.task(compilation.watchApiProposalNamesTask);
|
|
|
|
// Client Transpile
|
|
task.task(task.define('transpile-client-esbuild', task.series(
|
|
compilation.copyCodiconsTask,
|
|
task.define('esbuild-out-build', () => runEsbuildTranspile('out', false)),
|
|
)));
|
|
|
|
// Transpile only
|
|
const transpileClientTask = task.define('transpile-client', task.series(util.rimraf('out'), compilation.transpileTask('src', 'out')));
|
|
task.task(transpileClientTask);
|
|
|
|
// Fast compile for development time
|
|
const compileClientTask = task.define('compile-client', task.series(util.rimraf('out'), compilation.copyCodiconsTask, compilation.compileApiProposalNamesTask, compilation.compileExtensionPointNamesTask, compilation.compileTask('src', 'out')));
|
|
task.task(compileClientTask);
|
|
|
|
const watchClientTask = task.define('watch-client', task.parallel(compilation.watchTypeCheckTask('src'), compilation.watchApiProposalNamesTask, compilation.watchExtensionPointNamesTask, compilation.watchCodiconsTask));
|
|
task.task(watchClientTask);
|
|
|
|
// All
|
|
const _compileTask = task.define('compile', task.parallel(monacoTypecheckTask, compileClientTask, compileExtensionsTask, compileExtensionMediaTask));
|
|
task.task(_compileTask);
|
|
|
|
task.task(task.define('watch', task.parallel(/* monacoTypecheckWatchTask, */ watchClientTask, watchExtensionsTask)));
|
|
|
|
// Default
|
|
task.task('default', _compileTask);
|
|
|
|
process.on('unhandledRejection', (reason, p) => {
|
|
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
|
|
process.exit(1);
|
|
});
|
|
|
|
// Load all the gulpfiles only if running tasks other than the editor tasks
|
|
glob.sync('gulpfile.*.ts', { cwd: import.meta.dirname })
|
|
.forEach(f => {
|
|
return require(`./${f}`);
|
|
});
|