diff --git a/build/azure-pipelines/upload-cdn.js b/build/azure-pipelines/upload-cdn.js index adff2c9401d..14108297ed4 100644 --- a/build/azure-pipelines/upload-cdn.js +++ b/build/azure-pipelines/upload-cdn.js @@ -15,7 +15,7 @@ const gulp_gzip_1 = __importDefault(require("gulp-gzip")); const mime_1 = __importDefault(require("mime")); const identity_1 = require("@azure/identity"); const util_1 = require("../lib/util"); -const azure = require('gulp-azure-storage'); +const gulp_azure_storage_1 = __importDefault(require("gulp-azure-storage")); const commit = process.env['BUILD_SOURCEVERSION']; const credential = new identity_1.ClientAssertionCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], () => Promise.resolve(process.env['AZURE_ID_TOKEN'])); mime_1.default.define({ @@ -91,10 +91,10 @@ async function main() { const compressed = all .pipe((0, gulp_filter_1.default)(f => MimeTypesToCompress.has(mime_1.default.lookup(f.path)))) .pipe((0, gulp_gzip_1.default)({ append: false })) - .pipe(azure.upload(options(true))); + .pipe(gulp_azure_storage_1.default.upload(options(true))); const uncompressed = all .pipe((0, gulp_filter_1.default)(f => !MimeTypesToCompress.has(mime_1.default.lookup(f.path)))) - .pipe(azure.upload(options(false))); + .pipe(gulp_azure_storage_1.default.upload(options(false))); const out = event_stream_1.default.merge(compressed, uncompressed) .pipe(event_stream_1.default.through(function (f) { console.log('Uploaded:', f.relative); @@ -110,7 +110,7 @@ async function main() { }); const filesOut = event_stream_1.default.readArray([listing]) .pipe((0, gulp_gzip_1.default)({ append: false })) - .pipe(azure.upload(options(true))); + .pipe(gulp_azure_storage_1.default.upload(options(true))); console.log(`Uploading: files.txt (${files.length} files)`); // debug await wait(filesOut); } diff --git a/build/azure-pipelines/upload-cdn.ts b/build/azure-pipelines/upload-cdn.ts index ead60d4b6cc..d589c423522 100644 --- a/build/azure-pipelines/upload-cdn.ts +++ b/build/azure-pipelines/upload-cdn.ts @@ -11,7 +11,7 @@ import gzip from 'gulp-gzip'; import mime from 'mime'; import { ClientAssertionCredential } from '@azure/identity'; import { VinylStat } from '../lib/util'; -const azure = require('gulp-azure-storage'); +import azure from 'gulp-azure-storage'; const commit = process.env['BUILD_SOURCEVERSION']; const credential = new ClientAssertionCredential(process.env['AZURE_TENANT_ID']!, process.env['AZURE_CLIENT_ID']!, () => Promise.resolve(process.env['AZURE_ID_TOKEN']!)); diff --git a/build/azure-pipelines/upload-nlsmetadata.js b/build/azure-pipelines/upload-nlsmetadata.js index e89a6497d70..65386797fc9 100644 --- a/build/azure-pipelines/upload-nlsmetadata.js +++ b/build/azure-pipelines/upload-nlsmetadata.js @@ -14,7 +14,7 @@ const gulp_gzip_1 = __importDefault(require("gulp-gzip")); const identity_1 = require("@azure/identity"); const path = require("path"); const fs_1 = require("fs"); -const azure = require('gulp-azure-storage'); +const gulp_azure_storage_1 = __importDefault(require("gulp-azure-storage")); const commit = process.env['BUILD_SOURCEVERSION']; const credential = new identity_1.ClientAssertionCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], () => Promise.resolve(process.env['AZURE_ID_TOKEN'])); function main() { @@ -106,7 +106,7 @@ function main() { console.log(`##vso[artifact.upload containerfolder=nlsmetadata;artifactname=${data.basename}]${data.path}`); this.emit('data', data); })) - .pipe(azure.upload({ + .pipe(gulp_azure_storage_1.default.upload({ account: process.env.AZURE_STORAGE_ACCOUNT, credential, container: '$web', diff --git a/build/azure-pipelines/upload-nlsmetadata.ts b/build/azure-pipelines/upload-nlsmetadata.ts index 468a9341a7b..f1388556249 100644 --- a/build/azure-pipelines/upload-nlsmetadata.ts +++ b/build/azure-pipelines/upload-nlsmetadata.ts @@ -11,7 +11,7 @@ import gzip from 'gulp-gzip'; import { ClientAssertionCredential } from '@azure/identity'; import path = require('path'); import { readFileSync } from 'fs'; -const azure = require('gulp-azure-storage'); +import azure from 'gulp-azure-storage'; const commit = process.env['BUILD_SOURCEVERSION']; const credential = new ClientAssertionCredential(process.env['AZURE_TENANT_ID']!, process.env['AZURE_CLIENT_ID']!, () => Promise.resolve(process.env['AZURE_ID_TOKEN']!)); diff --git a/build/azure-pipelines/upload-sourcemaps.js b/build/azure-pipelines/upload-sourcemaps.js index cac1ae3caf2..525943c2c3d 100644 --- a/build/azure-pipelines/upload-sourcemaps.js +++ b/build/azure-pipelines/upload-sourcemaps.js @@ -46,7 +46,7 @@ const vinyl_fs_1 = __importDefault(require("vinyl-fs")); const util = __importStar(require("../lib/util")); const dependencies_1 = require("../lib/dependencies"); const identity_1 = require("@azure/identity"); -const azure = require('gulp-azure-storage'); +const gulp_azure_storage_1 = __importDefault(require("gulp-azure-storage")); const root = path_1.default.dirname(path_1.default.dirname(__dirname)); const commit = process.env['BUILD_SOURCEVERSION']; const credential = new identity_1.ClientAssertionCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], () => Promise.resolve(process.env['AZURE_ID_TOKEN'])); @@ -84,7 +84,7 @@ function main() { console.log('Uploading Sourcemap', data.relative); // debug this.emit('data', data); })) - .pipe(azure.upload({ + .pipe(gulp_azure_storage_1.default.upload({ account: process.env.AZURE_STORAGE_ACCOUNT, credential, container: '$web', diff --git a/build/azure-pipelines/upload-sourcemaps.ts b/build/azure-pipelines/upload-sourcemaps.ts index 612a57c9da2..b63d213d559 100644 --- a/build/azure-pipelines/upload-sourcemaps.ts +++ b/build/azure-pipelines/upload-sourcemaps.ts @@ -11,7 +11,7 @@ import * as util from '../lib/util'; import { getProductionDependencies } from '../lib/dependencies'; import { ClientAssertionCredential } from '@azure/identity'; import Stream from 'stream'; -const azure = require('gulp-azure-storage'); +import azure from 'gulp-azure-storage'; const root = path.dirname(path.dirname(__dirname)); const commit = process.env['BUILD_SOURCEVERSION']; diff --git a/build/lib/asar.js b/build/lib/asar.js index 20c982a6621..d08070a4fdc 100644 --- a/build/lib/asar.js +++ b/build/lib/asar.js @@ -10,8 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.createAsar = createAsar; const path_1 = __importDefault(require("path")); const event_stream_1 = __importDefault(require("event-stream")); -const pickle = require('chromium-pickle-js'); -const Filesystem = require('asar/lib/filesystem'); +const chromium_pickle_js_1 = __importDefault(require("chromium-pickle-js")); +const filesystem_js_1 = __importDefault(require("asar/lib/filesystem.js")); const vinyl_1 = __importDefault(require("vinyl")); const minimatch_1 = __importDefault(require("minimatch")); function createAsar(folderPath, unpackGlobs, skipGlobs, duplicateGlobs, destFilename) { @@ -41,7 +41,7 @@ function createAsar(folderPath, unpackGlobs, skipGlobs, duplicateGlobs, destFile } return false; }; - const filesystem = new Filesystem(folderPath); + const filesystem = new filesystem_js_1.default(folderPath); const out = []; // Keep track of pending inserts let pendingInserts = 0; @@ -121,10 +121,10 @@ function createAsar(folderPath, unpackGlobs, skipGlobs, duplicateGlobs, destFile }, function () { const finish = () => { { - const headerPickle = pickle.createEmpty(); + const headerPickle = chromium_pickle_js_1.default.createEmpty(); headerPickle.writeString(JSON.stringify(filesystem.header)); const headerBuf = headerPickle.toBuffer(); - const sizePickle = pickle.createEmpty(); + const sizePickle = chromium_pickle_js_1.default.createEmpty(); sizePickle.writeUInt32(headerBuf.length); const sizeBuf = sizePickle.toBuffer(); out.unshift(headerBuf); diff --git a/build/lib/asar.ts b/build/lib/asar.ts index 5f2df925bde..873b3f946fd 100644 --- a/build/lib/asar.ts +++ b/build/lib/asar.ts @@ -5,18 +5,11 @@ import path from 'path'; import es from 'event-stream'; -const pickle = require('chromium-pickle-js'); -const Filesystem = require('asar/lib/filesystem'); +import pickle from 'chromium-pickle-js'; +import Filesystem from 'asar/lib/filesystem.js'; import VinylFile from 'vinyl'; import minimatch from 'minimatch'; -declare class AsarFilesystem { - readonly header: unknown; - constructor(src: string); - insertDirectory(path: string, shouldUnpack?: boolean): unknown; - insertFile(path: string, shouldUnpack: boolean, file: { stat: { size: number; mode: number } }, options: {}): Promise; -} - export function createAsar(folderPath: string, unpackGlobs: string[], skipGlobs: string[], duplicateGlobs: string[], destFilename: string): NodeJS.ReadWriteStream { const shouldUnpackFile = (file: VinylFile): boolean => { diff --git a/build/lib/compilation.js b/build/lib/compilation.js index ac6eae352b0..5d4fd4a90b2 100644 --- a/build/lib/compilation.js +++ b/build/lib/compilation.js @@ -59,8 +59,9 @@ const os_1 = __importDefault(require("os")); const vinyl_1 = __importDefault(require("vinyl")); const task = __importStar(require("./task")); const index_1 = require("./mangle/index"); -const ts = require("typescript"); -const watch = require('./watch'); +const typescript_1 = __importDefault(require("typescript")); +const watch_1 = __importDefault(require("./watch")); +const gulp_bom_1 = __importDefault(require("gulp-bom")); // --- gulp-tsb: compile and transpile -------------------------------- const reporter = (0, reporter_1.createReporter)(); function getTypeScriptCompilerOptions(src) { @@ -91,14 +92,13 @@ function createCompile(src, { build, emitError, transpileOnly, preserveEnglish } transpileWithEsbuild: typeof transpileOnly !== 'boolean' && transpileOnly.esbuild }, err => reporter(err)); function pipeline(token) { - const bom = require('gulp-bom'); const tsFilter = util.filter(data => /\.ts$/.test(data.path)); const isUtf8Test = (f) => /(\/|\\)test(\/|\\).*utf8/.test(f.path); const isRuntimeJs = (f) => f.path.endsWith('.js') && !f.path.includes('fixtures'); const noDeclarationsFilter = util.filter(data => !(/\.d\.ts$/.test(data.path))); const input = event_stream_1.default.through(); const output = input - .pipe(util.$if(isUtf8Test, bom())) // this is required to preserve BOM in test files that loose it otherwise + .pipe(util.$if(isUtf8Test, (0, gulp_bom_1.default)())) // this is required to preserve BOM in test files that loose it otherwise .pipe(util.$if(!build && isRuntimeJs, util.appendOwnPathSourceURL())) .pipe(tsFilter) .pipe(util.loadSourcemaps()) @@ -149,7 +149,7 @@ function compileTask(src, out, build, options = {}) { let ts2tsMangler = new index_1.Mangler(compile.projectPath, (...data) => (0, fancy_log_1.default)(ansi_colors_1.default.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true }); const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState'])); mangleStream = event_stream_1.default.through(async function write(data) { - const tsNormalPath = ts.normalizePath(data.path); + const tsNormalPath = typescript_1.default.normalizePath(data.path); const newContents = (await newContentsByFileName).get(tsNormalPath); if (newContents !== undefined) { data.contents = Buffer.from(newContents.out); @@ -176,7 +176,7 @@ function watchTask(out, build, srcPath = 'src') { const task = () => { const compile = createCompile(srcPath, { build, emitError: false, transpileOnly: false, preserveEnglish: false }); const src = gulp_1.default.src(`${srcPath}/**`, { base: srcPath }); - const watchSrc = watch(`${srcPath}/**`, { base: srcPath, readDelay: 200 }); + const watchSrc = (0, watch_1.default)(`${srcPath}/**`, { base: srcPath, readDelay: 200 }); const generator = new MonacoGenerator(true); generator.execute(); return watchSrc @@ -333,7 +333,7 @@ exports.watchApiProposalNamesTask = task.define('watch-api-proposal-names', () = const task = () => gulp_1.default.src('src/vscode-dts/**') .pipe(generateApiProposalNames()) .pipe(apiProposalNamesReporter.end(true)); - return watch('src/vscode-dts/**', { readDelay: 200 }) + return (0, watch_1.default)('src/vscode-dts/**', { readDelay: 200 }) .pipe(util.debounce(task)) .pipe(gulp_1.default.dest('src')); }); diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts index a8b72914925..53e37d82aa4 100644 --- a/build/lib/compilation.ts +++ b/build/lib/compilation.ts @@ -18,8 +18,9 @@ import File from 'vinyl'; import * as task from './task'; import { Mangler } from './mangle/index'; import { RawSourceMap } from 'source-map'; -import ts = require('typescript'); -const watch = require('./watch'); +import ts from 'typescript'; +import watch from './watch'; +import bom from 'gulp-bom'; // --- gulp-tsb: compile and transpile -------------------------------- @@ -66,7 +67,6 @@ export function createCompile(src: string, { build, emitError, transpileOnly, pr }, err => reporter(err)); function pipeline(token?: util.ICancellationToken) { - const bom = require('gulp-bom') as typeof import('gulp-bom'); const tsFilter = util.filter(data => /\.ts$/.test(data.path)); const isUtf8Test = (f: File) => /(\/|\\)test(\/|\\).*utf8/.test(f.path); diff --git a/build/lib/typings/@vscode/gulp-electron.d.ts b/build/lib/typings/@vscode/gulp-electron.d.ts new file mode 100644 index 00000000000..2ae51d77518 --- /dev/null +++ b/build/lib/typings/@vscode/gulp-electron.d.ts @@ -0,0 +1,3 @@ +declare module '@vscode/gulp-electron' { + export default function electron(options: any): NodeJS.ReadWriteStream; +} diff --git a/build/lib/typings/asar.d.ts b/build/lib/typings/asar.d.ts new file mode 100644 index 00000000000..cdb5b6395c5 --- /dev/null +++ b/build/lib/typings/asar.d.ts @@ -0,0 +1,9 @@ +declare module 'asar/lib/filesystem.js' { + + export default class AsarFilesystem { + readonly header: unknown; + constructor(src: string); + insertDirectory(path: string, shouldUnpack?: boolean): unknown; + insertFile(path: string, shouldUnpack: boolean, file: { stat: { size: number; mode: number } }, options: {}): Promise; + } +} diff --git a/build/lib/typings/chromium-pickle-js.d.ts b/build/lib/typings/chromium-pickle-js.d.ts new file mode 100644 index 00000000000..e2fcd8dc096 --- /dev/null +++ b/build/lib/typings/chromium-pickle-js.d.ts @@ -0,0 +1,10 @@ +declare module 'chromium-pickle-js' { + export interface Pickle { + writeString(value: string): void; + writeUInt32(value: number): void; + + toBuffer(): Buffer; + } + + export function createEmpty(): Pickle; +} diff --git a/build/lib/typings/gulp-azure-storage.d.ts b/build/lib/typings/gulp-azure-storage.d.ts new file mode 100644 index 00000000000..4e9f560c8f2 --- /dev/null +++ b/build/lib/typings/gulp-azure-storage.d.ts @@ -0,0 +1,5 @@ +declare module 'gulp-azure-storage' { + import { ThroughStream } from 'event-stream'; + + export function upload(options: any): ThroughStream; +} diff --git a/build/lib/typings/gulp-vinyl-zip.d.ts b/build/lib/typings/gulp-vinyl-zip.d.ts new file mode 100644 index 00000000000..d28166ffa77 --- /dev/null +++ b/build/lib/typings/gulp-vinyl-zip.d.ts @@ -0,0 +1,4 @@ + +declare module 'gulp-vinyl-zip' { + export function src(): NodeJS.ReadWriteStream; +} diff --git a/build/lib/typings/vscode-gulp-watch.d.ts b/build/lib/typings/vscode-gulp-watch.d.ts new file mode 100644 index 00000000000..24316c07f16 --- /dev/null +++ b/build/lib/typings/vscode-gulp-watch.d.ts @@ -0,0 +1,3 @@ +declare module 'vscode-gulp-watch' { + export default function watch(...args: any[]): any; +} diff --git a/build/lib/watch/index.js b/build/lib/watch/index.js index 69eca78fd70..84b9f96fb97 100644 --- a/build/lib/watch/index.js +++ b/build/lib/watch/index.js @@ -4,8 +4,9 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = default_1; const watch = process.platform === 'win32' ? require('./watch-win32') : require('vscode-gulp-watch'); -module.exports = function () { - return watch.apply(null, arguments); -}; +function default_1(...args) { + return watch.apply(null, args); +} //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/lib/watch/index.ts b/build/lib/watch/index.ts index ce4bdfd75ed..c43d3f1f83e 100644 --- a/build/lib/watch/index.ts +++ b/build/lib/watch/index.ts @@ -5,6 +5,6 @@ const watch = process.platform === 'win32' ? require('./watch-win32') : require('vscode-gulp-watch'); -module.exports = function () { - return watch.apply(null, arguments); -}; +export default function (...args: any[]): any { + return watch.apply(null, args); +}