diff --git a/build/.nativeignore b/build/.nativeignore index ca83451456..24f7e1ed45 100644 --- a/build/.nativeignore +++ b/build/.nativeignore @@ -83,21 +83,33 @@ node-pty/deps/** !node-pty/build/Release/*.dll !node-pty/build/Release/*.node -chart.js/node_modules/** - emmet/node_modules/** pty.js/build/** !pty.js/build/Release/** +# START SQL Modules + +@angular/**/src/** +@angular/**/testing/** + +angular2-grid/components/** +angular2-grid/directives/** +angular2-grid/interfaces/** +angular2-grid/modules/** + +angular2-slickgrid/.vscode/** +angular2-slickgrid/components/** +angular2-slickgrid/examples/** + jquery-ui/external/** jquery-ui/demos/** -core-js/**/** - slickgrid/node_modules/** slickgrid/examples/** +# END SQL Modules + nsfw/binding.gyp nsfw/build/** nsfw/src/** diff --git a/build/gulpfile.sql.js b/build/gulpfile.sql.js index b7cb2df749..7c25bed0e0 100644 --- a/build/gulpfile.sql.js +++ b/build/gulpfile.sql.js @@ -10,6 +10,10 @@ const util = require('./lib/util'); const tsfmt = require('typescript-formatter'); const es = require('event-stream'); const filter = require('gulp-filter'); +const del = require('del'); +const serviceDownloader = require('service-downloader').ServiceDownloadProvider; +const platformInfo = require('service-downloader/out/platform').PlatformInformation; +const path = require('path'); gulp.task('clean-mssql-extension', util.rimraf('extensions/mssql/node_modules')); gulp.task('clean-credentials-extension', util.rimraf('extensions/credentials/node_modules')); @@ -80,4 +84,49 @@ const formatStagedFiles = () => { process.exit(1); }); }); -}; \ No newline at end of file +}; + +function installService() { + let config = require('../extensions/mssql/src/config.json'); + return platformInfo.getCurrent().then(p => { + let runtime = p.runtimeId; + // fix path since it won't be correct + config.installDirectory = path.join(__dirname, '../extensions/mssql/src', config.installDirectory); + var installer = new serviceDownloader(config); + let serviceInstallFolder = installer.getInstallDirectory(runtime); + console.log('Cleaning up the install folder: ' + serviceInstallFolder); + return del(serviceInstallFolder + '/*').then(() => { + console.log('Installing the service. Install folder: ' + serviceInstallFolder); + return installer.installService(runtime); + }, delError => { + console.log('failed to delete the install folder error: ' + delError); + }); + }); +} + +gulp.task('install-sqltoolsservice', () => { + return installService(); +}); + +function installSsmsMin() { + const config = require('../extensions/admin-tool-ext-win/src/config.json'); + return platformInfo.getCurrent().then(p => { + const runtime = p.runtimeId; + // fix path since it won't be correct + config.installDirectory = path.join(__dirname, '..', 'extensions', 'admin-tool-ext-win', config.installDirectory); + var installer = new serviceDownloader(config); + const serviceInstallFolder = installer.getInstallDirectory(runtime); + const serviceCleanupFolder = path.join(serviceInstallFolder, '..'); + console.log('Cleaning up the install folder: ' + serviceCleanupFolder); + return del(serviceCleanupFolder + '/*').then(() => { + console.log('Installing the service. Install folder: ' + serviceInstallFolder); + return installer.installService(runtime); + }, delError => { + console.log('failed to delete the install folder error: ' + delError); + }); + }); +} + +gulp.task('install-ssmsmin', () => { + return installSsmsMin(); +}); diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index 2cd367b515..b99ead1362 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -29,11 +29,7 @@ const packageJson = require('../package.json'); const product = require('../product.json'); const crypto = require('crypto'); const i18n = require('./lib/i18n'); -// {{SQL CARBON EDIT}} -const serviceDownloader = require('service-downloader').ServiceDownloadProvider; -const platformInfo = require('service-downloader/out/platform').PlatformInformation; -const ext = require('./lib/extensions'); -// {{SQL CARBON EDIT}} - End +const ext = require('./lib/extensions'); // {{SQL CARBON EDIT}} const deps = require('./dependencies'); const getElectronVersion = require('./lib/electron').getElectronVersion; const createAsar = require('./lib/asar').createAsar; @@ -41,9 +37,6 @@ const { compileBuildTask } = require('./gulpfile.compile'); const { compileExtensionsBuildTask } = require('./gulpfile.extensions'); const productionDependencies = deps.getProductionDependencies(path.dirname(__dirname)); -// @ts-ignore -// {{SQL CARBON EDIT}} -var del = require('del'); const baseModules = Object.keys(process.binding('natives')).filter(n => !/^_|\//.test(n)); // {{SQL CARBON EDIT}} @@ -53,7 +46,12 @@ const nodeModules = [ 'rxjs/Observable', 'rxjs/Subject', 'rxjs/Observer', - 'ng2-charts'] + 'slickgrid/lib/jquery.event.drag-2.3.0', + 'slickgrid/lib/jquery-ui-1.9.2', + 'slickgrid/slick.core', + 'slickgrid/slick.grid', + 'slickgrid/slick.editors', + 'slickgrid/slick.dataview'] .concat(Object.keys(product.dependencies || {})) .concat(_.uniq(productionDependencies.map(d => d.name))) .concat(baseModules); @@ -115,6 +113,7 @@ const vscodeResources = [ 'out-build/sql/media/objectTypes/*.svg', 'out-build/sql/media/icons/*.svg', 'out-build/sql/workbench/parts/notebook/media/**/*.svg', + 'out-build/sql/setup.js', '!**/test/**' ]; @@ -321,30 +320,13 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op .pipe(util.cleanNodeModules(path.join(__dirname, '.nativeignore'))) .pipe(createAsar(path.join(process.cwd(), 'node_modules'), ['**/*.node', '**/vscode-ripgrep/bin/*', '**/node-pty/build/Release/*'], 'app/node_modules.asar')); - // {{SQL CARBON EDIT}} - let copiedModules = gulp.src([ - 'node_modules/jquery/**/*.*', - 'node_modules/reflect-metadata/**/*.*', - 'node_modules/slickgrid/**/*.*', - 'node_modules/underscore/**/*.*', - 'node_modules/zone.js/**/*.*', - 'node_modules/chart.js/**/*.*', - 'node_modules/chartjs-color/**/*.*', - 'node_modules/chartjs-color-string/**/*.*', - 'node_modules/color-convert/**/*.*', - 'node_modules/color-name/**/*.*', - 'node_modules/moment/**/*.*' - ], { base: '.', dot: true }); - let all = es.merge( packageJsonStream, productJsonStream, license, api, - // {{SQL CARBON EDIT}} - copiedModules, dataApi, - sqlopsAPI, + sqlopsAPI, // {{SQL CARBON EDIT}} telemetry, sources, deps @@ -624,51 +606,3 @@ function getSettingsSearchBuildId(packageJson) { throw new Error('Could not determine build number: ' + e.toString()); } } - -// {{SQL CARBON EDIT}} -// Install service locally before building carbon - -function installService() { - let config = require('../extensions/mssql/src/config.json'); - return platformInfo.getCurrent().then(p => { - let runtime = p.runtimeId; - // fix path since it won't be correct - config.installDirectory = path.join(__dirname, '../extensions/mssql/src', config.installDirectory); - var installer = new serviceDownloader(config); - let serviceInstallFolder = installer.getInstallDirectory(runtime); - console.log('Cleaning up the install folder: ' + serviceInstallFolder); - return del(serviceInstallFolder + '/*').then(() => { - console.log('Installing the service. Install folder: ' + serviceInstallFolder); - return installer.installService(runtime); - }, delError => { - console.log('failed to delete the install folder error: ' + delError); - }); - }); -} - -gulp.task('install-sqltoolsservice', () => { - return installService(); -}); - -function installSsmsMin() { - const config = require('../extensions/admin-tool-ext-win/src/config.json'); - return platformInfo.getCurrent().then(p => { - const runtime = p.runtimeId; - // fix path since it won't be correct - config.installDirectory = path.join(__dirname, '..', 'extensions', 'admin-tool-ext-win', config.installDirectory); - var installer = new serviceDownloader(config); - const serviceInstallFolder = installer.getInstallDirectory(runtime); - const serviceCleanupFolder = path.join(serviceInstallFolder, '..'); - console.log('Cleaning up the install folder: ' + serviceCleanupFolder); - return del(serviceCleanupFolder + '/*').then(() => { - console.log('Installing the service. Install folder: ' + serviceInstallFolder); - return installer.installService(runtime); - }, delError => { - console.log('failed to delete the install folder error: ' + delError); - }); - }); -} - -gulp.task('install-ssmsmin', () => { - return installSsmsMin(); -}); diff --git a/package.json b/package.json index e336503187..ca3d4a4349 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "@angular/platform-browser-dynamic": "~4.1.3", "@angular/router": "~4.1.3", "@angular/upgrade": "~4.1.3", - "@types/plotly.js": "^1.44.9", "angular2-grid": "2.0.6", "angular2-slickgrid": "github:Microsoft/angular2-slickgrid#1.4.6", "ansi_up": "^3.0.0", @@ -70,6 +69,7 @@ "slickgrid": "github:anthonydresser/SlickGrid#2.3.30", "spdlog": "^0.9.0", "sudo-prompt": "9.0.0", + "underscore": "^1.8.2", "v8-inspect-profiler": "^0.0.20", "vscode-chokidar": "2.1.7", "vscode-proxy-agent": "0.4.0", @@ -97,6 +97,7 @@ "@types/sinon": "^1.16.36", "@types/webpack": "^4.4.10", "@types/winreg": "^1.2.30", + "@types/plotly.js": "^1.44.9", "ansi-colors": "^3.2.3", "asar": "^0.14.0", "chromium-pickle-js": "^0.2.0", @@ -168,7 +169,6 @@ "typescript": "3.5.2", "typescript-formatter": "7.1.0", "uglify-es": "^3.0.18", - "underscore": "^1.8.2", "vinyl": "^2.0.0", "vinyl-fs": "^3.0.0", "vsce": "1.48.0", diff --git a/src/bootstrap-window.js b/src/bootstrap-window.js index a761a18941..0dae048aa4 100644 --- a/src/bootstrap-window.js +++ b/src/bootstrap-window.js @@ -103,9 +103,6 @@ exports.load = function (modulePaths, resultCallback, options) { nodeModules: [/*BUILD->INSERT_NODE_MODULES*/] }; - // {{SQL CARBON EDIT}} - require('reflect-metadata'); - require('chart.js'); loaderConfig.nodeModules = loaderConfig.nodeModules.concat([ '@angular/common', '@angular/core', @@ -115,7 +112,13 @@ exports.load = function (modulePaths, resultCallback, options) { '@angular/router', 'rxjs/Observable', 'rxjs/Subject', - 'rxjs/Observer' + 'rxjs/Observer', + 'slickgrid/lib/jquery.event.drag-2.3.0', + 'slickgrid/lib/jquery-ui-1.9.2', + 'slickgrid/slick.core', + 'slickgrid/slick.grid', + 'slickgrid/slick.editors', + 'slickgrid/slick.dataview' ]); // {{SQL CARBON EDIT}} - End diff --git a/src/sql/setup.js b/src/sql/setup.js new file mode 100644 index 0000000000..f99eaeae51 --- /dev/null +++ b/src/sql/setup.js @@ -0,0 +1,22 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +define(["require", "exports"], function (require) { + const jquerylib = require.__$__nodeRequire('jquery'); + + window['jQuery'] = jquerylib; + window['$'] = jquerylib; + + require.__$__nodeRequire('slickgrid/lib/jquery.event.drag-2.3.0'); + require.__$__nodeRequire('slickgrid/lib/jquery-ui-1.9.2'); + const underscore = require.__$__nodeRequire('underscore'); + window['_'] = underscore; + require.__$__nodeRequire('slickgrid/slick.core'); + require.__$__nodeRequire('slickgrid/slick.grid'); + require.__$__nodeRequire('slickgrid/slick.editors'); + require.__$__nodeRequire('slickgrid/slick.dataview'); + require.__$__nodeRequire('reflect-metadata'); + require.__$__nodeRequire('zone.js'); + require.__$__nodeRequire('chart.js'); +}); diff --git a/src/vs/code/electron-browser/workbench/workbench.js b/src/vs/code/electron-browser/workbench/workbench.js index ffff29ac06..77ce5491cb 100644 --- a/src/vs/code/electron-browser/workbench/workbench.js +++ b/src/vs/code/electron-browser/workbench/workbench.js @@ -14,25 +14,6 @@ const bootstrapWindow = require('../../../../bootstrap-window'); // Setup shell environment process['lazyEnv'] = getLazyEnv(); -// {{SQL CARBON EDIT}} - -/* eslint-disable */ - -// SQL global imports -const jQuery = require('jquery'); -const $ = jQuery; -require('slickgrid/lib/jquery.event.drag-2.3.0'); -require('slickgrid/lib/jquery-ui-1.9.2'); -const _ = require('underscore')._; -require('slickgrid/slick.core'); -const Slick = window.Slick; -require('slickgrid/slick.grid'); -require('slickgrid/slick.editors'); -require('slickgrid/slick.dataview'); -require('reflect-metadata'); -require('zone.js'); -// {{SQL CARBON EDIT}} - End - // Load workbench main bootstrapWindow.load([ 'vs/workbench/workbench.main', diff --git a/src/vs/workbench/workbench.main.ts b/src/vs/workbench/workbench.main.ts index 7b165fc4e3..bf6f2b9cfe 100644 --- a/src/vs/workbench/workbench.main.ts +++ b/src/vs/workbench/workbench.main.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ //#region --- workbench/editor core - +import 'sql/setup'; // {{SQL CARBON EDIT}} import 'vs/editor/editor.all'; import 'vs/workbench/api/browser/extensionHost.contribution';