Convert gulpfiles to modules

Makes a pass through our top level gulpfiles to convert them to modules
This commit is contained in:
Matt Bierner
2025-11-11 15:28:50 -08:00
parent c6464f84b9
commit 723aa849c9
22 changed files with 267 additions and 252 deletions

View File

@@ -3,21 +3,25 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import es from 'event-stream';
import gulp from 'gulp';
import * as path from 'path';
import fancyLog from 'fancy-log';
import ansiColors from 'ansi-colors';
import * as cp from 'child_process';
import { tmpdir } from 'os';
import { existsSync, mkdirSync, rmSync } from 'fs';
import task from './lib/task.js';
import watcher from './lib/watch/index.js';
import utilModule from './lib/util.js';
import reporterModule from './lib/reporter.js';
import untar from 'gulp-untar';
import gunzip from 'gulp-gunzip';
import { fileURLToPath } from 'url';
const es = require('event-stream'); const { debounce } = utilModule;
const gulp = require('gulp'); const { createReporter } = reporterModule;
const path = require('path'); const __dirname = fileURLToPath(new URL('.', import.meta.url));
const fancyLog = require('fancy-log');
const ansiColors = require('ansi-colors');
const cp = require('child_process');
const { tmpdir } = require('os');
const { existsSync, mkdirSync, rmSync } = require('fs');
const task = require('./lib/task');
const watcher = require('./lib/watch');
const { debounce } = require('./lib/util');
const createReporter = require('./lib/reporter').createReporter;
const root = 'cli'; const root = 'cli';
const rootAbs = path.resolve(__dirname, '..', root); const rootAbs = path.resolve(__dirname, '..', root);
@@ -80,8 +84,6 @@ const compileFromSources = (callback) => {
}; };
const acquireBuiltOpenSSL = (callback) => { const acquireBuiltOpenSSL = (callback) => {
const untar = require('gulp-untar');
const gunzip = require('gulp-gunzip');
const dir = path.join(tmpdir(), 'vscode-openssl-download'); const dir = path.join(tmpdir(), 'vscode-openssl-download');
mkdirSync(dir, { recursive: true }); mkdirSync(dir, { recursive: true });

View File

@@ -4,13 +4,12 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
//@ts-check //@ts-check
'use strict';
const gulp = require('gulp'); import gulp from 'gulp';
const util = require('./lib/util'); import util from './lib/util.js';
const date = require('./lib/date'); import date from './lib/date.js';
const task = require('./lib/task'); import task from './lib/task.js';
const compilation = require('./lib/compilation'); import compilation from './lib/compilation.js';
/** /**
* @param {boolean} disableMangle * @param {boolean} disableMangle
@@ -25,11 +24,9 @@ function makeCompileBuildTask(disableMangle) {
} }
// Local/PR compile, including nls and inline sources in sourcemaps, minification, no mangling // Local/PR compile, including nls and inline sources in sourcemaps, minification, no mangling
const compileBuildWithoutManglingTask = task.define('compile-build-without-mangling', makeCompileBuildTask(true)); export const compileBuildWithoutManglingTask = task.define('compile-build-without-mangling', makeCompileBuildTask(true));
gulp.task(compileBuildWithoutManglingTask); gulp.task(compileBuildWithoutManglingTask);
exports.compileBuildWithoutManglingTask = compileBuildWithoutManglingTask;
// CI compile, including nls and inline sources in sourcemaps, mangling, minification, for build // CI compile, including nls and inline sources in sourcemaps, mangling, minification, for build
const compileBuildWithManglingTask = task.define('compile-build-with-mangling', makeCompileBuildTask(false)); export const compileBuildWithManglingTask = task.define('compile-build-with-mangling', makeCompileBuildTask(false));
gulp.task(compileBuildWithManglingTask); gulp.task(compileBuildWithManglingTask);
exports.compileBuildWithManglingTask = compileBuildWithManglingTask;

View File

@@ -5,24 +5,30 @@
//@ts-check //@ts-check
const gulp = require('gulp'); import gulp from 'gulp';
const path = require('path'); import * as path from 'path';
const util = require('./lib/util'); import util from './lib/util.js';
const { getVersion } = require('./lib/getVersion'); import getVersionModule from './lib/getVersion.js';
const task = require('./lib/task'); import task from './lib/task.js';
const es = require('event-stream'); import es from 'event-stream';
const File = require('vinyl'); import File from 'vinyl';
const i18n = require('./lib/i18n'); import i18n from './lib/i18n.js';
const standalone = require('./lib/standalone'); import standalone from './lib/standalone.js';
const cp = require('child_process'); import * as cp from 'child_process';
const compilation = require('./lib/compilation'); import compilation from './lib/compilation.js';
const monacoapi = require('./lib/monaco-api'); import monacoapi from './lib/monaco-api.js';
const fs = require('fs'); import * as fs from 'fs';
const filter = require('gulp-filter'); import filter from 'gulp-filter';
import reporterModule from './lib/reporter.js';
import { fileURLToPath } from 'url';
import monacoPackage from './monaco/package.json' with { type: 'json' };
const __dirname = fileURLToPath(new URL('.', import.meta.url));
const { getVersion } = getVersionModule;
const { createReporter } = reporterModule;
const root = path.dirname(__dirname); const root = path.dirname(__dirname);
const sha1 = getVersion(root); const sha1 = getVersion(root);
const semver = require('./monaco/package.json').version; const semver = monacoPackage.version;
const headerVersion = semver + '(' + sha1 + ')'; const headerVersion = semver + '(' + sha1 + ')';
const BUNDLED_FILE_HEADER = [ const BUNDLED_FILE_HEADER = [
@@ -233,8 +239,6 @@ gulp.task('monacodts', task.define('monacodts', () => {
*/ */
function createTscCompileTask(watch) { function createTscCompileTask(watch) {
return () => { return () => {
const createReporter = require('./lib/reporter').createReporter;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const args = ['./node_modules/.bin/tsc', '-p', './src/tsconfig.monaco.json', '--noEmit']; const args = ['./node_modules/.bin/tsc', '-p', './src/tsconfig.monaco.json', '--noEmit'];
if (watch) { if (watch) {
@@ -281,11 +285,9 @@ function createTscCompileTask(watch) {
}; };
} }
const monacoTypecheckWatchTask = task.define('monaco-typecheck-watch', createTscCompileTask(true)); export const monacoTypecheckWatchTask = task.define('monaco-typecheck-watch', createTscCompileTask(true));
exports.monacoTypecheckWatchTask = monacoTypecheckWatchTask;
const monacoTypecheckTask = task.define('monaco-typecheck', createTscCompileTask(false)); export const monacoTypecheckTask = task.define('monaco-typecheck', createTscCompileTask(false));
exports.monacoTypecheckTask = monacoTypecheckTask;
//#endregion //#endregion

View File

@@ -3,24 +3,31 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
// Increase max listeners for event emitters import { EventEmitter } from 'events';
require('events').EventEmitter.defaultMaxListeners = 100; import gulp from 'gulp';
import * as path from 'path';
import * as nodeUtil from 'util';
import es from 'event-stream';
import filter from 'gulp-filter';
import util from './lib/util.js';
import getVersionModule from './lib/getVersion.js';
import task from './lib/task.js';
import watcher from './lib/watch/index.js';
import reporterModule from './lib/reporter.js';
import glob from 'glob';
import plumber from 'gulp-plumber';
import ext from './lib/extensions.js';
import tsb from './lib/tsb/index.js';
import sourcemaps from 'gulp-sourcemaps';
import { fileURLToPath } from 'url';
const gulp = require('gulp'); EventEmitter.defaultMaxListeners = 100;
const path = require('path');
const nodeUtil = require('util'); const __dirname = fileURLToPath(new URL('.', import.meta.url));
const es = require('event-stream'); const { getVersion } = getVersionModule;
const filter = require('gulp-filter'); const { createReporter } = reporterModule;
const util = require('./lib/util');
const { getVersion } = require('./lib/getVersion');
const task = require('./lib/task');
const watcher = require('./lib/watch');
const createReporter = require('./lib/reporter').createReporter;
const glob = require('glob');
const root = path.dirname(__dirname); const root = path.dirname(__dirname);
const commit = getVersion(root); const commit = getVersion(root);
const plumber = require('gulp-plumber');
const ext = require('./lib/extensions');
// To save 250ms for each gulp startup, we are caching the result here // To save 250ms for each gulp startup, we are caching the result here
// const compilations = glob.sync('**/tsconfig.json', { // const compilations = glob.sync('**/tsconfig.json', {
@@ -92,9 +99,6 @@ const tasks = compilations.map(function (tsconfigFile) {
const baseUrl = getBaseUrl(out); const baseUrl = getBaseUrl(out);
function createPipeline(build, emitError, transpileOnly) { function createPipeline(build, emitError, transpileOnly) {
const tsb = require('./lib/tsb');
const sourcemaps = require('gulp-sourcemaps');
const reporter = createReporter('extensions'); const reporter = createReporter('extensions');
overrideOptions.inlineSources = Boolean(build); overrideOptions.inlineSources = Boolean(build);
@@ -191,30 +195,25 @@ const tasks = compilations.map(function (tsconfigFile) {
const transpileExtensionsTask = task.define('transpile-extensions', task.parallel(...tasks.map(t => t.transpileTask))); const transpileExtensionsTask = task.define('transpile-extensions', task.parallel(...tasks.map(t => t.transpileTask)));
gulp.task(transpileExtensionsTask); gulp.task(transpileExtensionsTask);
const compileExtensionsTask = task.define('compile-extensions', task.parallel(...tasks.map(t => t.compileTask))); export const compileExtensionsTask = task.define('compile-extensions', task.parallel(...tasks.map(t => t.compileTask)));
gulp.task(compileExtensionsTask); gulp.task(compileExtensionsTask);
exports.compileExtensionsTask = compileExtensionsTask;
const watchExtensionsTask = task.define('watch-extensions', task.parallel(...tasks.map(t => t.watchTask))); export const watchExtensionsTask = task.define('watch-extensions', task.parallel(...tasks.map(t => t.watchTask)));
gulp.task(watchExtensionsTask); gulp.task(watchExtensionsTask);
exports.watchExtensionsTask = watchExtensionsTask;
const compileExtensionsBuildLegacyTask = task.define('compile-extensions-build-legacy', task.parallel(...tasks.map(t => t.compileBuildTask))); const compileExtensionsBuildLegacyTask = task.define('compile-extensions-build-legacy', task.parallel(...tasks.map(t => t.compileBuildTask)));
gulp.task(compileExtensionsBuildLegacyTask); gulp.task(compileExtensionsBuildLegacyTask);
//#region Extension media //#region Extension media
const compileExtensionMediaTask = task.define('compile-extension-media', () => ext.buildExtensionMedia(false)); export const compileExtensionMediaTask = task.define('compile-extension-media', () => ext.buildExtensionMedia(false));
gulp.task(compileExtensionMediaTask); gulp.task(compileExtensionMediaTask);
exports.compileExtensionMediaTask = compileExtensionMediaTask;
const watchExtensionMedia = task.define('watch-extension-media', () => ext.buildExtensionMedia(true)); export const watchExtensionMedia = task.define('watch-extension-media', () => ext.buildExtensionMedia(true));
gulp.task(watchExtensionMedia); gulp.task(watchExtensionMedia);
exports.watchExtensionMedia = watchExtensionMedia;
const compileExtensionMediaBuildTask = task.define('compile-extension-media-build', () => ext.buildExtensionMedia(false, '.build/extensions')); export const compileExtensionMediaBuildTask = task.define('compile-extension-media-build', () => ext.buildExtensionMedia(false, '.build/extensions'));
gulp.task(compileExtensionMediaBuildTask); gulp.task(compileExtensionMediaBuildTask);
exports.compileExtensionMediaBuildTask = compileExtensionMediaBuildTask;
//#endregion //#endregion
@@ -223,8 +222,7 @@ exports.compileExtensionMediaBuildTask = compileExtensionMediaBuildTask;
/** /**
* Cleans the build directory for extensions * Cleans the build directory for extensions
*/ */
const cleanExtensionsBuildTask = task.define('clean-extensions-build', util.rimraf('.build/extensions')); export const cleanExtensionsBuildTask = task.define('clean-extensions-build', util.rimraf('.build/extensions'));
exports.cleanExtensionsBuildTask = cleanExtensionsBuildTask;
/** /**
* brings in the marketplace extensions for the build * brings in the marketplace extensions for the build
@@ -235,32 +233,29 @@ const bundleMarketplaceExtensionsBuildTask = task.define('bundle-marketplace-ext
* Compiles the non-native extensions for the build * Compiles the non-native extensions for the build
* @note this does not clean the directory ahead of it. See {@link cleanExtensionsBuildTask} for that. * @note this does not clean the directory ahead of it. See {@link cleanExtensionsBuildTask} for that.
*/ */
const compileNonNativeExtensionsBuildTask = task.define('compile-non-native-extensions-build', task.series( export const compileNonNativeExtensionsBuildTask = task.define('compile-non-native-extensions-build', task.series(
bundleMarketplaceExtensionsBuildTask, bundleMarketplaceExtensionsBuildTask,
task.define('bundle-non-native-extensions-build', () => ext.packageNonNativeLocalExtensionsStream(false, false).pipe(gulp.dest('.build'))) task.define('bundle-non-native-extensions-build', () => ext.packageNonNativeLocalExtensionsStream(false, false).pipe(gulp.dest('.build')))
)); ));
gulp.task(compileNonNativeExtensionsBuildTask); gulp.task(compileNonNativeExtensionsBuildTask);
exports.compileNonNativeExtensionsBuildTask = compileNonNativeExtensionsBuildTask;
/** /**
* Compiles the native extensions for the build * Compiles the native extensions for the build
* @note this does not clean the directory ahead of it. See {@link cleanExtensionsBuildTask} for that. * @note this does not clean the directory ahead of it. See {@link cleanExtensionsBuildTask} for that.
*/ */
const compileNativeExtensionsBuildTask = task.define('compile-native-extensions-build', () => ext.packageNativeLocalExtensionsStream(false, false).pipe(gulp.dest('.build'))); export const compileNativeExtensionsBuildTask = task.define('compile-native-extensions-build', () => ext.packageNativeLocalExtensionsStream(false, false).pipe(gulp.dest('.build')));
gulp.task(compileNativeExtensionsBuildTask); gulp.task(compileNativeExtensionsBuildTask);
exports.compileNativeExtensionsBuildTask = compileNativeExtensionsBuildTask;
/** /**
* Compiles the extensions for the build. * Compiles the extensions for the build.
* This is essentially a helper task that combines {@link cleanExtensionsBuildTask}, {@link compileNonNativeExtensionsBuildTask} and {@link compileNativeExtensionsBuildTask} * This is essentially a helper task that combines {@link cleanExtensionsBuildTask}, {@link compileNonNativeExtensionsBuildTask} and {@link compileNativeExtensionsBuildTask}
*/ */
const compileAllExtensionsBuildTask = task.define('compile-extensions-build', task.series( export const compileAllExtensionsBuildTask = task.define('compile-extensions-build', task.series(
cleanExtensionsBuildTask, cleanExtensionsBuildTask,
bundleMarketplaceExtensionsBuildTask, bundleMarketplaceExtensionsBuildTask,
task.define('bundle-extensions-build', () => ext.packageAllLocalExtensionsStream(false, false).pipe(gulp.dest('.build'))), task.define('bundle-extensions-build', () => ext.packageAllLocalExtensionsStream(false, false).pipe(gulp.dest('.build'))),
)); ));
gulp.task(compileAllExtensionsBuildTask); gulp.task(compileAllExtensionsBuildTask);
exports.compileAllExtensionsBuildTask = compileAllExtensionsBuildTask;
// This task is run in the compilation stage of the CI pipeline. We only compile the non-native extensions since those can be fully built regardless of platform. // This task is run in the compilation stage of the CI pipeline. We only compile the non-native extensions since those can be fully built regardless of platform.
// This defers the native extensions to the platform specific stage of the CI pipeline. // This defers the native extensions to the platform specific stage of the CI pipeline.
@@ -278,13 +273,11 @@ gulp.task(task.define('extensions-ci-pr', task.series(compileExtensionsBuildPull
//#endregion //#endregion
const compileWebExtensionsTask = task.define('compile-web', () => buildWebExtensions(false)); export const compileWebExtensionsTask = task.define('compile-web', () => buildWebExtensions(false));
gulp.task(compileWebExtensionsTask); gulp.task(compileWebExtensionsTask);
exports.compileWebExtensionsTask = compileWebExtensionsTask;
const watchWebExtensionsTask = task.define('watch-web', () => buildWebExtensions(true)); export const watchWebExtensionsTask = task.define('watch-web', () => buildWebExtensions(true));
gulp.task(watchWebExtensionsTask); gulp.task(watchWebExtensionsTask);
exports.watchWebExtensionsTask = watchWebExtensionsTask;
/** /**
* @param {boolean} isWatch * @param {boolean} isWatch

View File

@@ -3,17 +3,23 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import { EventEmitter } from 'events';
import glob from 'glob';
import gulp from 'gulp';
import { createRequire } from 'node:module';
import { fileURLToPath } from 'url';
import { monacoTypecheckTask /* , monacoTypecheckWatchTask */ } from './gulpfile.editor.mjs';
import { compileExtensionMediaTask, compileExtensionsTask, watchExtensionsTask } from './gulpfile.extensions.mjs';
import compilation from './lib/compilation.js';
import task from './lib/task.js';
import util from './lib/util.js';
// Increase max listeners for event emitters EventEmitter.defaultMaxListeners = 100;
require('events').EventEmitter.defaultMaxListeners = 100;
const gulp = require('gulp'); const require = createRequire(import.meta.url);
const util = require('./lib/util'); const __dirname = fileURLToPath(new URL('.', import.meta.url));
const task = require('./lib/task');
const { transpileTask, compileTask, watchTask, compileApiProposalNamesTask, watchApiProposalNamesTask } = require('./lib/compilation'); const { transpileTask, compileTask, watchTask, compileApiProposalNamesTask, watchApiProposalNamesTask } = compilation;
const { monacoTypecheckTask/* , monacoTypecheckWatchTask */ } = require('./gulpfile.editor');
const { compileExtensionsTask, watchExtensionsTask, compileExtensionMediaTask } = require('./gulpfile.extensions');
// API proposal names // API proposal names
gulp.task(compileApiProposalNamesTask); gulp.task(compileApiProposalNamesTask);
@@ -49,5 +55,5 @@ process.on('unhandledRejection', (reason, p) => {
}); });
// Load all the gulpfiles only if running tasks other than the editor tasks // Load all the gulpfiles only if running tasks other than the editor tasks
require('glob').sync('gulpfile.*.{js,mjs}', { cwd: __dirname }) glob.sync('gulpfile.*.{mjs,js}', { cwd: __dirname })
.forEach(f => require(`./${f}`)); .map(f => require(`./${f}`));

View File

@@ -3,35 +3,44 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import gulp from 'gulp';
import * as path from 'path';
import es from 'event-stream';
import * as util from './lib/util.js';
import * as getVersionModule from './lib/getVersion.js';
import * as task from './lib/task.js';
import optimize from './lib/optimize.js';
import * as inlineMetaModule from './lib/inlineMeta.js';
import product from '../product.json' with { type: 'json' };
import rename from 'gulp-rename';
import replace from 'gulp-replace';
import filter from 'gulp-filter';
import * as dependenciesModule from './lib/dependencies.js';
import * as dateModule from './lib/date.js';
import vfs from 'vinyl-fs';
import packageJson from '../package.json' with { type: 'json' };
import flatmap from 'gulp-flatmap';
import gunzip from 'gulp-gunzip';
import untar from 'gulp-untar';
import File from 'vinyl';
import * as fs from 'fs';
import glob from 'glob';
import { compileBuildWithManglingTask } from './gulpfile.compile.mjs';
import { cleanExtensionsBuildTask, compileNonNativeExtensionsBuildTask, compileNativeExtensionsBuildTask, compileExtensionMediaBuildTask } from './gulpfile.extensions.mjs';
import { vscodeWebResourceIncludes, createVSCodeWebFileContentMapper } from './gulpfile.vscode.web.mjs';
import * as cp from 'child_process';
import log from 'fancy-log';
import buildfile from './buildfile.js';
import { fileURLToPath } from 'url';
import * as fetchModule from './lib/fetch.js';
import jsonEditor from 'gulp-json-editor';
const gulp = require('gulp'); const { inlineMeta } = inlineMetaModule;
const path = require('path'); const { getVersion } = getVersionModule;
const es = require('event-stream'); const { getProductionDependencies } = dependenciesModule;
const util = require('./lib/util'); const { readISODate } = dateModule;
const { getVersion } = require('./lib/getVersion'); const { fetchUrls, fetchGithub } = fetchModule;
const task = require('./lib/task'); const __dirname = fileURLToPath(new URL('.', import.meta.url));
const optimize = require('./lib/optimize');
const { inlineMeta } = require('./lib/inlineMeta');
const product = require('../product.json');
const rename = require('gulp-rename');
const replace = require('gulp-replace');
const filter = require('gulp-filter');
const { getProductionDependencies } = require('./lib/dependencies');
const { readISODate } = require('./lib/date');
const vfs = require('vinyl-fs');
const packageJson = require('../package.json');
const flatmap = require('gulp-flatmap');
const gunzip = require('gulp-gunzip');
const File = require('vinyl');
const fs = require('fs');
const glob = require('glob');
const { compileBuildWithManglingTask } = require('./gulpfile.compile');
const { cleanExtensionsBuildTask, compileNonNativeExtensionsBuildTask, compileNativeExtensionsBuildTask, compileExtensionMediaBuildTask } = require('./gulpfile.extensions');
const { vscodeWebResourceIncludes, createVSCodeWebFileContentMapper } = require('./gulpfile.vscode.web');
const cp = require('child_process');
const log = require('fancy-log');
const buildfile = require('./buildfile');
const REPO_ROOT = path.dirname(__dirname); const REPO_ROOT = path.dirname(__dirname);
const commit = getVersion(REPO_ROOT); const commit = getVersion(REPO_ROOT);
@@ -185,8 +194,6 @@ if (defaultNodeTask) {
} }
function nodejs(platform, arch) { function nodejs(platform, arch) {
const { fetchUrls, fetchGithub } = require('./lib/fetch');
const untar = require('gulp-untar');
if (arch === 'armhf') { if (arch === 'armhf') {
arch = 'armv7l'; arch = 'armv7l';
@@ -253,8 +260,6 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const destination = path.join(BUILD_ROOT, destinationFolderName); const destination = path.join(BUILD_ROOT, destinationFolderName);
return () => { return () => {
const json = require('gulp-json-editor');
const src = gulp.src(sourceFolderName + '/**', { base: '.' }) const src = gulp.src(sourceFolderName + '/**', { base: '.' })
.pipe(rename(function (path) { path.dirname = path.dirname.replace(new RegExp('^' + sourceFolderName), 'out'); })) .pipe(rename(function (path) { path.dirname = path.dirname.replace(new RegExp('^' + sourceFolderName), 'out'); }))
.pipe(util.setExecutableBit(['**/*.sh'])) .pipe(util.setExecutableBit(['**/*.sh']))
@@ -312,7 +317,7 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
let packageJsonContents; let packageJsonContents;
const packageJsonStream = gulp.src(['remote/package.json'], { base: 'remote' }) const packageJsonStream = gulp.src(['remote/package.json'], { base: 'remote' })
.pipe(json({ name, version, dependencies: undefined, optionalDependencies: undefined, type: 'module' })) .pipe(jsonEditor({ name, version, dependencies: undefined, optionalDependencies: undefined, type: 'module' }))
.pipe(es.through(function (file) { .pipe(es.through(function (file) {
packageJsonContents = file.contents.toString(); packageJsonContents = file.contents.toString();
this.emit('data', file); this.emit('data', file);
@@ -320,7 +325,7 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
let productJsonContents; let productJsonContents;
const productJsonStream = gulp.src(['product.json'], { base: '.' }) const productJsonStream = gulp.src(['product.json'], { base: '.' })
.pipe(json({ commit, date: readISODate('out-build'), version })) .pipe(jsonEditor({ commit, date: readISODate('out-build'), version }))
.pipe(es.through(function (file) { .pipe(es.through(function (file) {
productJsonContents = file.contents.toString(); productJsonContents = file.contents.toString();
this.emit('data', file); this.emit('data', file);

View File

@@ -3,18 +3,20 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import gulp from 'gulp';
import * as path from 'path';
import task from './lib/task.js';
import util from './lib/util.js';
import electron from '@vscode/gulp-electron';
import electronConfigModule from './lib/electron.js';
import filter from 'gulp-filter';
import deps from './lib/dependencies.js';
import { existsSync, readdirSync } from 'fs';
import { fileURLToPath } from 'url';
const gulp = require('gulp'); const { config } = electronConfigModule;
const path = require('path');
const task = require('./lib/task');
const util = require('./lib/util');
const electron = require('@vscode/gulp-electron');
const { config } = require('./lib/electron');
const filter = require('gulp-filter');
const deps = require('./lib/dependencies');
const { existsSync, readdirSync } = require('fs');
const __dirname = fileURLToPath(new URL('.', import.meta.url));
const root = path.dirname(__dirname); const root = path.dirname(__dirname);
const BUILD_TARGETS = [ const BUILD_TARGETS = [

View File

@@ -3,25 +3,28 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import gulp from 'gulp';
import replace from 'gulp-replace';
import rename from 'gulp-rename';
import es from 'event-stream';
import vfs from 'vinyl-fs';
import * as utilModule from './lib/util.js';
import * as getVersionModule from './lib/getVersion.js';
import * as task from './lib/task.js';
import packageJson from '../package.json' with { type: 'json' };
import product from '../product.json' with { type: 'json' };
import { getDependencies } from './linux/dependencies-generator.js';
import * as depLists from './linux/debian/dep-lists.js';
import * as path from 'path';
import * as cp from 'child_process';
import { promisify } from 'util';
import { fileURLToPath } from 'url';
const gulp = require('gulp'); const { rimraf } = utilModule;
const replace = require('gulp-replace'); const { getVersion } = getVersionModule;
const rename = require('gulp-rename'); const { recommendedDeps: debianRecommendedDependencies } = depLists;
const es = require('event-stream'); const __dirname = fileURLToPath(new URL('.', import.meta.url));
const vfs = require('vinyl-fs'); const exec = promisify(cp.exec);
const { rimraf } = require('./lib/util');
const { getVersion } = require('./lib/getVersion');
const task = require('./lib/task');
const packageJson = require('../package.json');
const product = require('../product.json');
const dependenciesGenerator = require('./linux/dependencies-generator');
const debianRecommendedDependencies = require('./linux/debian/dep-lists').recommendedDeps;
const path = require('path');
const cp = require('child_process');
const util = require('util');
const exec = util.promisify(cp.exec);
const root = path.dirname(__dirname); const root = path.dirname(__dirname);
const commit = getVersion(root); const commit = getVersion(root);
@@ -40,7 +43,7 @@ function prepareDebPackage(arch) {
const destination = '.build/linux/deb/' + debArch + '/' + product.applicationName + '-' + debArch; const destination = '.build/linux/deb/' + debArch + '/' + product.applicationName + '-' + debArch;
return async function () { return async function () {
const dependencies = await dependenciesGenerator.getDependencies('deb', binaryDir, product.applicationName, debArch); const dependencies = await getDependencies('deb', binaryDir, product.applicationName, debArch);
const desktop = gulp.src('resources/linux/code.desktop', { base: '.' }) const desktop = gulp.src('resources/linux/code.desktop', { base: '.' })
.pipe(rename('usr/share/applications/' + product.applicationName + '.desktop')); .pipe(rename('usr/share/applications/' + product.applicationName + '.desktop'));
@@ -157,7 +160,7 @@ function prepareRpmPackage(arch) {
const stripBinary = process.env['STRIP'] ?? '/usr/bin/strip'; const stripBinary = process.env['STRIP'] ?? '/usr/bin/strip';
return async function () { return async function () {
const dependencies = await dependenciesGenerator.getDependencies('rpm', binaryDir, product.applicationName, rpmArch); const dependencies = await getDependencies('rpm', binaryDir, product.applicationName, rpmArch);
const desktop = gulp.src('resources/linux/code.desktop', { base: '.' }) const desktop = gulp.src('resources/linux/code.desktop', { base: '.' })
.pipe(rename('BUILD/usr/share/applications/' + product.applicationName + '.desktop')); .pipe(rename('BUILD/usr/share/applications/' + product.applicationName + '.desktop'));

View File

@@ -3,38 +3,49 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import gulp from 'gulp';
import * as fs from 'fs';
import * as path from 'path';
import es from 'event-stream';
import vfs from 'vinyl-fs';
import rename from 'gulp-rename';
import replace from 'gulp-replace';
import filter from 'gulp-filter';
import electron from '@vscode/gulp-electron';
import jsonEditor from 'gulp-json-editor';
import * as util from './lib/util.js';
import * as getVersionModule from './lib/getVersion.js';
import * as dateModule from './lib/date.js';
import * as task from './lib/task.js';
import buildfile from './buildfile.js';
import optimize from './lib/optimize.js';
import * as inlineMetaModule from './lib/inlineMeta.js';
import packageJson from '../package.json' with { type: 'json' };
import product from '../product.json' with { type: 'json' };
import * as crypto from 'crypto';
import i18n from './lib/i18n.js';
import * as dependenciesModule from './lib/dependencies.js';
import electronModule from './lib/electron.js';
import asarModule from './lib/asar.js';
import minimist from 'minimist';
import { compileBuildWithoutManglingTask, compileBuildWithManglingTask } from './gulpfile.compile.mjs';
import { compileNonNativeExtensionsBuildTask, compileNativeExtensionsBuildTask, compileAllExtensionsBuildTask, compileExtensionMediaBuildTask, cleanExtensionsBuildTask } from './gulpfile.extensions.mjs';
import { promisify } from 'util';
import globCallback from 'glob';
import rceditCallback from 'rcedit';
import { fileURLToPath } from 'url';
const gulp = require('gulp'); const { getVersion } = getVersionModule;
const fs = require('fs'); const { readISODate } = dateModule;
const path = require('path'); const { inlineMeta } = inlineMetaModule;
const es = require('event-stream'); const { getProductionDependencies } = dependenciesModule;
const vfs = require('vinyl-fs'); const { config } = electronModule;
const rename = require('gulp-rename'); const { createAsar } = asarModule;
const replace = require('gulp-replace'); const glob = promisify(globCallback);
const filter = require('gulp-filter'); const rcedit = promisify(rceditCallback);
const util = require('./lib/util'); const __dirname = fileURLToPath(new URL('.', import.meta.url));
const { getVersion } = require('./lib/getVersion');
const { readISODate } = require('./lib/date');
const task = require('./lib/task');
const buildfile = require('./buildfile');
const optimize = require('./lib/optimize');
const { inlineMeta } = require('./lib/inlineMeta');
const root = path.dirname(__dirname); const root = path.dirname(__dirname);
const commit = getVersion(root); const commit = getVersion(root);
const packageJson = require('../package.json');
const product = require('../product.json');
const crypto = require('crypto');
const i18n = require('./lib/i18n');
const { getProductionDependencies } = require('./lib/dependencies');
const { config } = require('./lib/electron');
const createAsar = require('./lib/asar').createAsar;
const minimist = require('minimist');
const { compileBuildWithoutManglingTask, compileBuildWithManglingTask } = require('./gulpfile.compile');
const { compileNonNativeExtensionsBuildTask, compileNativeExtensionsBuildTask, compileAllExtensionsBuildTask, compileExtensionMediaBuildTask, cleanExtensionsBuildTask } = require('./gulpfile.extensions');
const { promisify } = require('util');
const glob = promisify(require('glob'));
const rcedit = promisify(require('rcedit'));
// Build // Build
const vscodeEntryPoints = [ const vscodeEntryPoints = [
@@ -214,9 +225,6 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
platform = platform || process.platform; platform = platform || process.platform;
const task = () => { const task = () => {
const electron = require('@vscode/gulp-electron');
const json = require('gulp-json-editor');
const out = sourceFolderName; const out = sourceFolderName;
const checksums = computeChecksums(out, [ const checksums = computeChecksums(out, [
@@ -262,7 +270,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
let packageJsonContents; let packageJsonContents;
const packageJsonStream = gulp.src(['package.json'], { base: '.' }) const packageJsonStream = gulp.src(['package.json'], { base: '.' })
.pipe(json(packageJsonUpdates)) .pipe(jsonEditor(packageJsonUpdates))
.pipe(es.through(function (file) { .pipe(es.through(function (file) {
packageJsonContents = file.contents.toString(); packageJsonContents = file.contents.toString();
this.emit('data', file); this.emit('data', file);
@@ -270,7 +278,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
let productJsonContents; let productJsonContents;
const productJsonStream = gulp.src(['product.json'], { base: '.' }) const productJsonStream = gulp.src(['product.json'], { base: '.' })
.pipe(json({ commit, date: readISODate('out-build'), checksums, version })) .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version }))
.pipe(es.through(function (file) { .pipe(es.through(function (file) {
productJsonContents = file.contents.toString(); productJsonContents = file.contents.toString();
this.emit('data', file); this.emit('data', file);

View File

@@ -3,25 +3,31 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import gulp from 'gulp';
import * as path from 'path';
import es from 'event-stream';
import * as util from './lib/util.js';
import * as getVersionModule from './lib/getVersion.js';
import * as task from './lib/task.js';
import optimize from './lib/optimize.js';
import * as dateModule from './lib/date.js';
import product from '../product.json' with { type: 'json' };
import rename from 'gulp-rename';
import filter from 'gulp-filter';
import * as dependenciesModule from './lib/dependencies.js';
import vfs from 'vinyl-fs';
import packageJson from '../package.json' with { type: 'json' };
import { compileBuildWithManglingTask } from './gulpfile.compile.mjs';
import extensions from './lib/extensions.js';
import VinylFile from 'vinyl';
import jsonEditor from 'gulp-json-editor';
import buildfile from './buildfile.js';
import { fileURLToPath } from 'url';
const gulp = require('gulp'); const { getVersion } = getVersionModule;
const path = require('path'); const { readISODate } = dateModule;
const es = require('event-stream'); const { getProductionDependencies } = dependenciesModule;
const util = require('./lib/util'); const __dirname = fileURLToPath(new URL('.', import.meta.url));
const { getVersion } = require('./lib/getVersion');
const task = require('./lib/task');
const optimize = require('./lib/optimize');
const { readISODate } = require('./lib/date');
const product = require('../product.json');
const rename = require('gulp-rename');
const filter = require('gulp-filter');
const { getProductionDependencies } = require('./lib/dependencies');
const vfs = require('vinyl-fs');
const packageJson = require('../package.json');
const { compileBuildWithManglingTask } = require('./gulpfile.compile');
const extensions = require('./lib/extensions');
const VinylFile = require('vinyl');
const REPO_ROOT = path.dirname(__dirname); const REPO_ROOT = path.dirname(__dirname);
const BUILD_ROOT = path.dirname(REPO_ROOT); const BUILD_ROOT = path.dirname(REPO_ROOT);
@@ -31,7 +37,7 @@ const commit = getVersion(REPO_ROOT);
const quality = product.quality; const quality = product.quality;
const version = (quality && quality !== 'stable') ? `${packageJson.version}-${quality}` : packageJson.version; const version = (quality && quality !== 'stable') ? `${packageJson.version}-${quality}` : packageJson.version;
const vscodeWebResourceIncludes = [ export const vscodeWebResourceIncludes = [
// NLS // NLS
'out-build/nls.messages.js', 'out-build/nls.messages.js',
@@ -58,7 +64,6 @@ const vscodeWebResourceIncludes = [
// Extension Host Worker // Extension Host Worker
'out-build/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html' 'out-build/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html'
]; ];
exports.vscodeWebResourceIncludes = vscodeWebResourceIncludes;
const vscodeWebResources = [ const vscodeWebResources = [
@@ -73,8 +78,6 @@ const vscodeWebResources = [
'!**/test/**' '!**/test/**'
]; ];
const buildfile = require('./buildfile');
const vscodeWebEntryPoints = [ const vscodeWebEntryPoints = [
buildfile.workerEditor, buildfile.workerEditor,
buildfile.workerExtensionHost, buildfile.workerExtensionHost,
@@ -92,7 +95,7 @@ const vscodeWebEntryPoints = [
* @param extensionsRoot {string} The location where extension will be read from * @param extensionsRoot {string} The location where extension will be read from
* @param {object} product The parsed product.json file contents * @param {object} product The parsed product.json file contents
*/ */
const createVSCodeWebFileContentMapper = (extensionsRoot, product) => { export const createVSCodeWebFileContentMapper = (extensionsRoot, product) => {
/** /**
* @param {string} path * @param {string} path
* @returns {((content: string) => string) | undefined} * @returns {((content: string) => string) | undefined}
@@ -118,7 +121,6 @@ const createVSCodeWebFileContentMapper = (extensionsRoot, product) => {
return undefined; return undefined;
}; };
}; };
exports.createVSCodeWebFileContentMapper = createVSCodeWebFileContentMapper;
const bundleVSCodeWebTask = task.define('bundle-vscode-web', task.series( const bundleVSCodeWebTask = task.define('bundle-vscode-web', task.series(
util.rimraf('out-vscode-web'), util.rimraf('out-vscode-web'),
@@ -150,8 +152,6 @@ function packageTask(sourceFolderName, destinationFolderName) {
const destination = path.join(BUILD_ROOT, destinationFolderName); const destination = path.join(BUILD_ROOT, destinationFolderName);
return () => { return () => {
const json = require('gulp-json-editor');
const src = gulp.src(sourceFolderName + '/**', { base: '.' }) const src = gulp.src(sourceFolderName + '/**', { base: '.' })
.pipe(rename(function (path) { path.dirname = path.dirname.replace(new RegExp('^' + sourceFolderName), 'out'); })); .pipe(rename(function (path) { path.dirname = path.dirname.replace(new RegExp('^' + sourceFolderName), 'out'); }));
@@ -175,7 +175,7 @@ function packageTask(sourceFolderName, destinationFolderName) {
const name = product.nameShort; const name = product.nameShort;
const packageJsonStream = gulp.src(['remote/web/package.json'], { base: 'remote/web' }) const packageJsonStream = gulp.src(['remote/web/package.json'], { base: 'remote/web' })
.pipe(json({ name, version, type: 'module' })); .pipe(jsonEditor({ name, version, type: 'module' }));
const license = gulp.src(['remote/LICENSE'], { base: 'remote', allowEmpty: true }); const license = gulp.src(['remote/LICENSE'], { base: 'remote', allowEmpty: true });

View File

@@ -2,25 +2,26 @@
* Copyright (c) Microsoft Corporation. All rights reserved. * Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
'use strict'; import gulp from 'gulp';
import * as path from 'path';
const gulp = require('gulp'); import * as fs from 'fs';
const path = require('path'); import assert from 'assert';
const fs = require('fs'); import * as cp from 'child_process';
const assert = require('assert'); import * as util from './lib/util.js';
const cp = require('child_process'); import * as task from './lib/task.js';
const util = require('./lib/util'); import pkg from '../package.json' with { type: 'json' };
const task = require('./lib/task'); import product from '../product.json' with { type: 'json' };
const pkg = require('../package.json'); import vfs from 'vinyl-fs';
const product = require('../product.json'); import rcedit from 'rcedit';
const vfs = require('vinyl-fs'); import { createRequire } from 'module';
const rcedit = require('rcedit'); import { fileURLToPath } from 'url';
const __dirname = fileURLToPath(new URL('.', import.meta.url));
const repoPath = path.dirname(__dirname); const repoPath = path.dirname(__dirname);
const buildPath = (/** @type {string} */ arch) => path.join(path.dirname(repoPath), `VSCode-win32-${arch}`); const buildPath = (/** @type {string} */ arch) => path.join(path.dirname(repoPath), `VSCode-win32-${arch}`);
const setupDir = (/** @type {string} */ arch, /** @type {string} */ target) => path.join(repoPath, '.build', `win32-${arch}`, `${target}-setup`); const setupDir = (/** @type {string} */ arch, /** @type {string} */ target) => path.join(repoPath, '.build', `win32-${arch}`, `${target}-setup`);
const issPath = path.join(__dirname, 'win32', 'code.iss'); const issPath = path.join(__dirname, 'win32', 'code.iss');
const innoSetupPath = path.join(path.dirname(path.dirname(require.resolve('innosetup'))), 'bin', 'ISCC.exe'); const innoSetupPath = path.join(path.dirname(path.dirname(import.meta.resolve('innosetup'))), 'bin', 'ISCC.exe');
const signWin32Path = path.join(repoPath, 'build', 'azure-pipelines', 'common', 'sign-win32'); const signWin32Path = path.join(repoPath, 'build', 'azure-pipelines', 'common', 'sign-win32');
function packageInnoSetup(iss, options, cb) { function packageInnoSetup(iss, options, cb) {

View File

@@ -759,7 +759,7 @@
"compile": "gulp compile-extension:markdown-language-features-languageService && gulp compile-extension:markdown-language-features && npm run build-preview && npm run build-notebook", "compile": "gulp compile-extension:markdown-language-features-languageService && gulp compile-extension:markdown-language-features && npm run build-preview && npm run build-notebook",
"watch": "npm run build-preview && gulp watch-extension:markdown-language-features watch-extension:markdown-language-features-languageService", "watch": "npm run build-preview && gulp watch-extension:markdown-language-features watch-extension:markdown-language-features-languageService",
"vscode:prepublish": "npm run build-ext && npm run build-preview", "vscode:prepublish": "npm run build-ext && npm run build-preview",
"build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:markdown-language-features ./tsconfig.json", "build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:markdown-language-features ./tsconfig.json",
"build-notebook": "node ./esbuild-notebook.mjs", "build-notebook": "node ./esbuild-notebook.mjs",
"build-preview": "node ./esbuild-preview.mjs", "build-preview": "node ./esbuild-preview.mjs",
"compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none", "compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none",

View File

@@ -155,7 +155,7 @@
"compile": "gulp compile-extension:media-preview", "compile": "gulp compile-extension:media-preview",
"watch": "npm run build-preview && gulp watch-extension:media-preview", "watch": "npm run build-preview && gulp watch-extension:media-preview",
"vscode:prepublish": "npm run build-ext", "vscode:prepublish": "npm run build-ext",
"build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:media-preview ./tsconfig.json", "build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:media-preview ./tsconfig.json",
"compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none", "compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none",
"watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose" "watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose"
}, },

View File

@@ -73,7 +73,7 @@
"compile": "gulp compile-extension:mermaid-chat-features && npm run build-chat-webview", "compile": "gulp compile-extension:mermaid-chat-features && npm run build-chat-webview",
"watch": "npm run build-chat-webview && gulp watch-extension:mermaid-chat-features", "watch": "npm run build-chat-webview && gulp watch-extension:mermaid-chat-features",
"vscode:prepublish": "npm run build-ext && npm run build-chat-webview", "vscode:prepublish": "npm run build-ext && npm run build-chat-webview",
"build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:mermaid-chat-features", "build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:mermaid-chat-features",
"build-chat-webview": "node ./esbuild-chat-webview.mjs", "build-chat-webview": "node ./esbuild-chat-webview.mjs",
"compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none", "compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none",
"watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose" "watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose"

View File

@@ -16,7 +16,7 @@
], ],
"scripts": { "scripts": {
"generate-grammar": "node ./syntaxes/generateTMLanguage.js", "generate-grammar": "node ./syntaxes/generateTMLanguage.js",
"vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:search-result ./tsconfig.json" "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:search-result ./tsconfig.json"
}, },
"capabilities": { "capabilities": {
"virtualWorkspaces": true, "virtualWorkspaces": true,

View File

@@ -60,7 +60,7 @@
"compile": "gulp compile-extension:simple-browser && npm run build-preview", "compile": "gulp compile-extension:simple-browser && npm run build-preview",
"watch": "npm run build-preview && gulp watch-extension:simple-browser", "watch": "npm run build-preview && gulp watch-extension:simple-browser",
"vscode:prepublish": "npm run build-ext && npm run build-preview", "vscode:prepublish": "npm run build-ext && npm run build-preview",
"build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:simple-browser ./tsconfig.json", "build-ext": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:simple-browser ./tsconfig.json",
"build-preview": "node ./esbuild-preview.mjs", "build-preview": "node ./esbuild-preview.mjs",
"compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none", "compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none",
"watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose" "watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose"

View File

@@ -53,7 +53,7 @@
"@types/semver": "^5.5.0" "@types/semver": "^5.5.0"
}, },
"scripts": { "scripts": {
"vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:typescript-language-features", "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:typescript-language-features",
"compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none", "compile-web": "npx webpack-cli --config extension-browser.webpack.config --mode none",
"watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch" "watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch"
}, },

View File

@@ -268,7 +268,7 @@
}, },
"scripts": { "scripts": {
"compile": "node ./node_modules/vscode/bin/compile -watch -p ./", "compile": "node ./node_modules/vscode/bin/compile -watch -p ./",
"vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:vscode-api-tests ./tsconfig.json" "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:vscode-api-tests ./tsconfig.json"
}, },
"devDependencies": { "devDependencies": {
"@types/mocha": "^10.0.10", "@types/mocha": "^10.0.10",

View File

@@ -14,7 +14,7 @@
}, },
"icon": "media/icon.png", "icon": "media/icon.png",
"scripts": { "scripts": {
"vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:vscode-colorize-perf-tests ./tsconfig.json", "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:vscode-colorize-perf-tests ./tsconfig.json",
"watch": "gulp watch-extension:vscode-colorize-perf-tests", "watch": "gulp watch-extension:vscode-colorize-perf-tests",
"compile": "gulp compile-extension:vscode-colorize-perf-tests" "compile": "gulp compile-extension:vscode-colorize-perf-tests"
}, },

View File

@@ -14,7 +14,7 @@
}, },
"icon": "media/icon.png", "icon": "media/icon.png",
"scripts": { "scripts": {
"vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:vscode-colorize-tests ./tsconfig.json", "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:vscode-colorize-tests ./tsconfig.json",
"watch": "gulp watch-extension:vscode-colorize-tests", "watch": "gulp watch-extension:vscode-colorize-tests",
"compile": "gulp compile-extension:vscode-colorize-tests" "compile": "gulp compile-extension:vscode-colorize-tests"
}, },

View File

@@ -18,7 +18,7 @@
], ],
"scripts": { "scripts": {
"compile": "node ./node_modules/vscode/bin/compile -watch -p ./", "compile": "node ./node_modules/vscode/bin/compile -watch -p ./",
"vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:vscode-test-resolver" "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.mjs compile-extension:vscode-test-resolver"
}, },
"activationEvents": [ "activationEvents": [
"onResolveRemoteAuthority:test", "onResolveRemoteAuthority:test",

View File

@@ -2,8 +2,4 @@
* Copyright (c) Microsoft Corporation. All rights reserved. * Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import './build/gulpfile.mjs';
import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
require('./build/gulpfile');