diff --git a/extensions/ql-vscode/gulpfile.ts/index.ts b/extensions/ql-vscode/gulpfile.ts/index.ts index 6f2d4a708fe..561f7807205 100644 --- a/extensions/ql-vscode/gulpfile.ts/index.ts +++ b/extensions/ql-vscode/gulpfile.ts/index.ts @@ -1,5 +1,5 @@ import * as gulp from 'gulp'; -import { compileTypeScript, watchTypeScript, copyViewCss } from './typescript'; +import { compileTypeScript, watchTypeScript, copyViewCss, cleanOutput } from './typescript'; import { compileTextMateGrammar } from './textmate'; import { copyTestData } from './tests'; import { compileView } from './webpack'; @@ -7,9 +7,12 @@ import { packageExtension } from './package'; import { injectAppInsightsKey } from './appInsights'; export const buildWithoutPackage = - gulp.parallel( - compileTypeScript, compileTextMateGrammar, compileView, copyTestData, copyViewCss + gulp.series( + cleanOutput, + gulp.parallel( + compileTypeScript, compileTextMateGrammar, compileView, copyTestData, copyViewCss + ) ); -export { compileTextMateGrammar, watchTypeScript, compileTypeScript, copyTestData, injectAppInsightsKey }; +export { cleanOutput, compileTextMateGrammar, watchTypeScript, compileTypeScript, copyTestData, injectAppInsightsKey }; export default gulp.series(buildWithoutPackage, injectAppInsightsKey, packageExtension); diff --git a/extensions/ql-vscode/gulpfile.ts/typescript.ts b/extensions/ql-vscode/gulpfile.ts/typescript.ts index 1c80f5a69a9..ddd534f05fc 100644 --- a/extensions/ql-vscode/gulpfile.ts/typescript.ts +++ b/extensions/ql-vscode/gulpfile.ts/typescript.ts @@ -2,6 +2,7 @@ import * as colors from 'ansi-colors'; import * as gulp from 'gulp'; import * as sourcemaps from 'gulp-sourcemaps'; import * as ts from 'gulp-typescript'; +import * as del from 'del'; function goodReporter(): ts.reporter.Reporter { return { @@ -20,6 +21,10 @@ function goodReporter(): ts.reporter.Reporter { const tsProject = ts.createProject('tsconfig.json'); +export function cleanOutput() { + return tsProject.projectDirectory ? del(tsProject.projectDirectory + '/out/*') : Promise.resolve(); +} + export function compileTypeScript() { return tsProject.src() .pipe(sourcemaps.init()) diff --git a/extensions/ql-vscode/package-lock.json b/extensions/ql-vscode/package-lock.json index 43f8b143219..ea13d6de660 100644 --- a/extensions/ql-vscode/package-lock.json +++ b/extensions/ql-vscode/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "vscode-codeql", - "version": "1.5.8", + "version": "1.5.10", "license": "MIT", "dependencies": { "@octokit/rest": "^18.5.6", @@ -40,6 +40,7 @@ "@types/chai-as-promised": "~7.1.2", "@types/child-process-promise": "^2.2.1", "@types/classnames": "~2.2.9", + "@types/del": "^4.0.0", "@types/fs-extra": "^9.0.6", "@types/glob": "^7.1.1", "@types/google-protobuf": "^3.2.7", @@ -73,6 +74,7 @@ "chai": "^4.2.0", "chai-as-promised": "~7.1.1", "css-loader": "~3.1.0", + "del": "^6.0.0", "eslint": "~6.8.0", "eslint-plugin-react": "~7.19.0", "glob": "^7.1.4", @@ -503,6 +505,16 @@ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, + "node_modules/@types/del": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/del/-/del-4.0.0.tgz", + "integrity": "sha512-LDE5atstX5kKnTobWknpmGHC52DH/tp8pIVsD2SSxaOFqW3AQr0EpdzYIfkZ331xe7l9Vn9NlJsBG6viU3mjBA==", + "deprecated": "This is a stub types definition. del provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "del": "*" + } + }, "node_modules/@types/eslint": { "version": "7.2.7", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.7.tgz", @@ -3336,6 +3348,43 @@ "node": ">=0.10.0" } }, + "node_modules/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -5886,6 +5935,24 @@ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", "dev": true }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -12253,6 +12320,15 @@ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, + "@types/del": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/del/-/del-4.0.0.tgz", + "integrity": "sha512-LDE5atstX5kKnTobWknpmGHC52DH/tp8pIVsD2SSxaOFqW3AQr0EpdzYIfkZ331xe7l9Vn9NlJsBG6viU3mjBA==", + "dev": true, + "requires": { + "del": "*" + } + }, "@types/eslint": { "version": "7.2.7", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.7.tgz", @@ -14609,6 +14685,33 @@ } } }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -16684,6 +16787,18 @@ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", "dev": true }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index 982d2d2e59e..f70e57956dc 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -1016,6 +1016,7 @@ "@types/chai-as-promised": "~7.1.2", "@types/child-process-promise": "^2.2.1", "@types/classnames": "~2.2.9", + "@types/del": "^4.0.0", "@types/fs-extra": "^9.0.6", "@types/glob": "^7.1.1", "@types/google-protobuf": "^3.2.7", @@ -1049,6 +1050,7 @@ "chai": "^4.2.0", "chai-as-promised": "~7.1.1", "css-loader": "~3.1.0", + "del": "^6.0.0", "eslint": "~6.8.0", "eslint-plugin-react": "~7.19.0", "glob": "^7.1.4", diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index bfc3b41d803..00000000000 --- a/package-lock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "vscode-codeql", - "lockfileVersion": 2, - "requires": true, - "packages": {} -}