From c84f7da674abd7b4476bf7f2987a9e9405d3d3e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zsef=20Kanczler?= Date: Tue, 13 Aug 2019 17:09:35 +0200 Subject: [PATCH] support node.js args (#92) * support node.js args * Updated documentation --- DETAILS.md | 3 + GitVersion.yml | 2 +- README.md | 3 + package.json | 2 +- tasks/webpack-build-task/index.ts | 4 +- tasks/webpack-build-task/package.json | 6 +- tasks/webpack-build-task/task.json | 13 +++- .../shared/ITestRunConfiguration.ts | 1 + .../shared/testTaskRunner.ts | 5 ++ .../shouldBeAbleToUseNodeArgs.ts | 8 ++ .../shouldBeAbleToUseNodeArgs.ts | 22 ++++++ .../tests/integrationTests/suite.ts | 6 ++ .../webpackCompiler/WebpackCliExecutor.ts | 8 +- .../webpackCompiler/WebpackCompiler.ts | 10 ++- tasks/webpack-build-task/yarn.lock | 20 ++--- vss-extension.json | 2 +- yarn.lock | 75 ++++++++++++------- 17 files changed, 138 insertions(+), 52 deletions(-) create mode 100644 tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shouldBeAbleToUseNodeArgs.ts create mode 100644 tasks/webpack-build-task/tests/integrationTests/shouldBeAbleToUseNodeArgs.ts diff --git a/DETAILS.md b/DETAILS.md index d84f033..45abfad 100644 --- a/DETAILS.md +++ b/DETAILS.md @@ -96,12 +96,15 @@ Name | Required | Default Value | Description webpack cli arguments | false | | Arguments to pass to the webpack cli. treat errors as | true | errors | How to treat errors. Options are: errors (breaks build) / warnings (marks build as partially succeeded) / info (reports errors as info). treat warnings as | true | warnings | How to treat warnings. Options are: errors (breaks build) / warnings (marks build partially succeeded) / info (reports warnings as info). +node cli arguments | false | | Arguments to pass to the node cli. workingFolder | false | | Working folder where webpack compilation is run. If you leave it blank it is the root of the repository. webpack cli location | true | ./node_modules/webpack/bin/webpack.js | Location of the webpack cli. By default it's the locally installed webpack cli. stats.js Location | true | ./node_modules/webpack/lib/Stats.js | Location of the Stats.js. By default it's the Stats.js from the locally installed webpack. ## Release Notes +* 4.2.0 (13/08/2019) + * Node.js arguments are supported. * 4.1.6 (21/06/2019) * Security warnings are fixed * 4.1.5 (18/06/2019) diff --git a/GitVersion.yml b/GitVersion.yml index 81d0d7e..9391249 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,2 +1,2 @@ -next-version: 4.1.6 +next-version: 4.2.0 assembly-informational-format: '{SemVer}' diff --git a/README.md b/README.md index 04f2055..9f88900 100644 --- a/README.md +++ b/README.md @@ -96,12 +96,15 @@ Name | Required | Default Value | Description webpack cli arguments | false | | Arguments to pass to the webpack cli. treat errors as | true | errors | How to treat errors. Options are: errors (breaks build) / warnings (marks build as partially succeeded) / info (reports errors as info). treat warnings as | true | warnings | How to treat warnings. Options are: errors (breaks build) / warnings (marks build partially succeeded) / info (reports warnings as info). +node cli arguments | false | | Arguments to pass to the node cli. workingFolder | false | | Working folder where webpack compilation is run. If you leave it blank it is the root of the repository. webpack cli location | true | ./node_modules/webpack/bin/webpack.js | Location of the webpack cli. By default it's the locally installed webpack cli. stats.js Location | true | ./node_modules/webpack/lib/Stats.js | Location of the Stats.js. By default it's the Stats.js from the locally installed webpack. ## Release Notes +* 4.2.0 (13/08/2019) + * Node.js arguments are supported. * 4.1.6 (21/06/2019) * Security warnings are fixed * 4.1.5 (18/06/2019) diff --git a/package.json b/package.json index d755bbb..7a71809 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wepback-vsts-extension", - "version": "4.1.6", + "version": "4.2.0", "description": "webpack Visual Studio Team System (VSTS) Extension", "main": "index.js", "scripts": { diff --git a/tasks/webpack-build-task/index.ts b/tasks/webpack-build-task/index.ts index 800ea96..b4331af 100644 --- a/tasks/webpack-build-task/index.ts +++ b/tasks/webpack-build-task/index.ts @@ -15,6 +15,7 @@ async function run(): Promise { let workingFolder = tl.getPathInput("workingFolder", false); const webpackCliLocation = tl.getInput("webpackCliLocation", true); const webpackCliArguments = tl.getInput("webpackCliArguments", false); + const nodeCliArguments = tl.getInput("nodeCliArguments", false); const webpackStatsJsLocation = tl.getInput("statsjsLocation", true); const treatErrorsAs = tl.getInput("treatErrorsAs", true); const treatWarningsAs = tl.getInput("treatWarningsAs", true); @@ -29,6 +30,7 @@ async function run(): Promise { console.log(`workingFolder: ${workingFolder}`); console.log(`webpackCliLocation: ${webpackCliLocation}`); console.log(`webpackCliArguments: ${webpackCliArguments}`); + console.log(`nodeCliArguments: ${nodeCliArguments}`); console.log(`statsjsLocation: ${webpackStatsJsLocation}`); console.log(`treatErrorsAs: ${treatErrorsAs}`); @@ -37,7 +39,7 @@ async function run(): Promise { tl.cd(workingFolder); process.chdir(workingFolder); - const result = compile(workingFolder, webpackCliLocation, webpackCliArguments, webpackStatsJsLocation); + const result = compile(workingFolder, webpackCliLocation, webpackCliArguments, webpackStatsJsLocation, nodeCliArguments); await publishTaskResult(taskDisplayName, result, treatErrorsAs, treatWarningsAs, workingFolder, webpackStatsJsLocation, enablePullRequestComments); } catch (err) { diff --git a/tasks/webpack-build-task/package.json b/tasks/webpack-build-task/package.json index 1fe01a8..4183616 100644 --- a/tasks/webpack-build-task/package.json +++ b/tasks/webpack-build-task/package.json @@ -1,6 +1,6 @@ { "name": "webpack-build-task", - "version": "4.1.6", + "version": "4.2.0", "description": "Webpack build task for Visual Studio Team System (VSTS)", "main": "index.js", "scripts": {}, @@ -15,9 +15,9 @@ "author": "Dealogic", "license": "MIT", "dependencies": { - "filenamify": "2.1.0", + "filenamify": "4.1.0", "vso-node-api": "6.5.0", - "vsts-task-lib": "2.6.0" + "vsts-task-lib": "2.7.0" }, "devDependencies": {} } diff --git a/tasks/webpack-build-task/task.json b/tasks/webpack-build-task/task.json index 873829b..510645b 100644 --- a/tasks/webpack-build-task/task.json +++ b/tasks/webpack-build-task/task.json @@ -16,8 +16,8 @@ ], "version": { "Major": 4, - "Minor": 1, - "Patch": 6 + "Minor": 2, + "Patch": 0 }, "minimumAgentVersion": "1.95.0", "groups": [ @@ -63,6 +63,15 @@ "info": "info" } }, + { + "name": "nodeCliArguments", + "type": "string", + "label": "node cli arguments", + "defaultValue": "", + "required": false, + "helpMarkDown": "Arguments for node cli.", + "groupName": "advanced" + }, { "name": "workingFolder", "type": "filePath", diff --git a/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/ITestRunConfiguration.ts b/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/ITestRunConfiguration.ts index db3dcc3..ba1f7ff 100644 --- a/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/ITestRunConfiguration.ts +++ b/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/ITestRunConfiguration.ts @@ -4,6 +4,7 @@ export interface ITestRunConfiguration { workingFolder?: string; webpackCliLocation?: string; webpackCliArguments?: string; + nodeCliArguments?: string; statsjsLocation?: string; treatErrorsAs?: string; treatWarningsAs?: string; diff --git a/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/testTaskRunner.ts b/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/testTaskRunner.ts index 23862f3..bef1b77 100644 --- a/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/testTaskRunner.ts +++ b/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shared/testTaskRunner.ts @@ -27,6 +27,10 @@ const runTestTask = (testRunConfiguration: ITestRunConfiguration) => { testRunConfiguration.webpackCliArguments = ""; } + if (!testRunConfiguration.nodeCliArguments) { + testRunConfiguration.nodeCliArguments = ""; + } + if (!testRunConfiguration.statsjsLocation) { testRunConfiguration.statsjsLocation = "./node_modules/webpack/lib/Stats.js"; } @@ -43,6 +47,7 @@ const runTestTask = (testRunConfiguration: ITestRunConfiguration) => { taskMockRunner.setInput("webpackCliLocation", testRunConfiguration.webpackCliLocation); taskMockRunner.setInput("webpackCliArguments", testRunConfiguration.webpackCliArguments); + taskMockRunner.setInput("nodeCliArguments", testRunConfiguration.nodeCliArguments); taskMockRunner.setInput("statsjsLocation", testRunConfiguration.statsjsLocation); taskMockRunner.setInput("workingFolder", testRunConfiguration.workingFolder); taskMockRunner.setInput("treatErrorsAs", testRunConfiguration.treatErrorsAs); diff --git a/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shouldBeAbleToUseNodeArgs.ts b/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shouldBeAbleToUseNodeArgs.ts new file mode 100644 index 0000000..774233e --- /dev/null +++ b/tasks/webpack-build-task/tests/integrationTests/mockRunnerDefinitions/shouldBeAbleToUseNodeArgs.ts @@ -0,0 +1,8 @@ +import runTestTask from "./shared/testTaskRunner"; +import * as path from "path"; + +runTestTask({ + nodeCliArguments: "--max_old_space_size=4096", + workingFolder: path.resolve(__dirname, "../../../../../samples/webpack-ts-config"), + mockWriteFile: true +}); diff --git a/tasks/webpack-build-task/tests/integrationTests/shouldBeAbleToUseNodeArgs.ts b/tasks/webpack-build-task/tests/integrationTests/shouldBeAbleToUseNodeArgs.ts new file mode 100644 index 0000000..c1420df --- /dev/null +++ b/tasks/webpack-build-task/tests/integrationTests/shouldBeAbleToUseNodeArgs.ts @@ -0,0 +1,22 @@ +import * as path from "path"; +import { MockTestRunner } from "vsts-task-lib/mock-test"; +import { assert } from "chai"; + +const mockRunnerDefinitions = "mockRunnerDefinitions"; + +export function executeTest(done: MochaDone): void { + // tslint:disable-next-line:no-invalid-this + this.timeout(60000); + + const testPath = path.join(__dirname, mockRunnerDefinitions, "shouldBeAbleToUseNodeArgs.js"); + const testRunner = new MockTestRunner(testPath); + + testRunner.run(); + console.log(testRunner.stdout); + + assert.isTrue(testRunner.succeeded, "webpack task should be succeeded"); + + assert.include(testRunner.stdout, "executing the command: node --max_old_space_size=4096", "node args is not included"); + + done(); +} diff --git a/tasks/webpack-build-task/tests/integrationTests/suite.ts b/tasks/webpack-build-task/tests/integrationTests/suite.ts index c823fb2..bcbb954 100644 --- a/tasks/webpack-build-task/tests/integrationTests/suite.ts +++ b/tasks/webpack-build-task/tests/integrationTests/suite.ts @@ -24,6 +24,7 @@ import * as shouldSucceedIfNoDisplayNameDefined from "./shouldSucceedIfNoDisplay import * as shouldSucceedIfNoErrorsAndWarnings from "./shouldSucceedIfNoErrorsAndWarnings"; import * as shouldSucceedIfThereAreErrorsButTreatedAsInfo from "./shouldSucceedIfThereAreErrorsButTreatedAsInfo"; import * as shouldSucceedIfThereAreWarningsButTreatedAsInfo from "./shouldSucceedIfThereAreWarningsButTreatedAsInfo"; +import * as shouldBeAbleToUseNodeArgs from "./shouldBeAbleToUseNodeArgs"; describe("webpack build task", () => { after((done: MochaDone) => { @@ -157,4 +158,9 @@ describe("webpack build task", () => { it( "should succeed if there are warnings, but those are treated as info", shouldSucceedIfThereAreWarningsButTreatedAsInfo.executeTest); + + it( + "should be able to use node args", + shouldBeAbleToUseNodeArgs.executeTest + ); }); diff --git a/tasks/webpack-build-task/webpackCompiler/WebpackCliExecutor.ts b/tasks/webpack-build-task/webpackCompiler/WebpackCliExecutor.ts index 4d9f96d..8b49626 100644 --- a/tasks/webpack-build-task/webpackCompiler/WebpackCliExecutor.ts +++ b/tasks/webpack-build-task/webpackCompiler/WebpackCliExecutor.ts @@ -2,16 +2,20 @@ import * as path from "path"; import { execSync, ExecOptionsWithStringEncoding } from "child_process"; import * as tl from "vsts-task-lib/task"; -const executeWebpackCli = (workingFolder: string, webpackCliLocation: string, webpackCliArguments: string) => { +const executeWebpackCli = (workingFolder: string, webpackCliLocation: string, webpackCliArguments: string, nodeCliArguments: string) => { if (webpackCliArguments) { webpackCliArguments = `--json ${webpackCliArguments}`; } else { webpackCliArguments = "--json"; } + if (!nodeCliArguments) { + nodeCliArguments = ""; + } + tl.cd(workingFolder); webpackCliLocation = path.resolve(workingFolder, webpackCliLocation); - const webpackCliCommand = `node "${webpackCliLocation}" ${webpackCliArguments}`; + const webpackCliCommand = `node ${nodeCliArguments} "${webpackCliLocation}" ${webpackCliArguments}`; console.log(`executing the command: ${webpackCliCommand}`); diff --git a/tasks/webpack-build-task/webpackCompiler/WebpackCompiler.ts b/tasks/webpack-build-task/webpackCompiler/WebpackCompiler.ts index 972d305..50d27a6 100644 --- a/tasks/webpack-build-task/webpackCompiler/WebpackCompiler.ts +++ b/tasks/webpack-build-task/webpackCompiler/WebpackCompiler.ts @@ -35,7 +35,13 @@ const decorateWithShowErrorsAndShowWarnings = (result: IWebpackCompilationResult } }; -export function compile(workingFolder: string, webpackCliLocation: string, webpackCliArguments: string, statsjsLocation: string): IWebpackCompilationResult { +export function compile( + workingFolder: string, + webpackCliLocation: string, + webpackCliArguments: string, + statsjsLocation: string, + nodeCliArguments: string): IWebpackCompilationResult { + console.log("compilation of the webpack project is started"); let stdout: string; @@ -43,7 +49,7 @@ export function compile(workingFolder: string, webpackCliLocation: string, webpa let error: any; try { - stdout = executeWebpackCli(workingFolder, webpackCliLocation, webpackCliArguments); + stdout = executeWebpackCli(workingFolder, webpackCliLocation, webpackCliArguments, nodeCliArguments); } catch (executeWebpackCliError) { error = executeWebpackCliError; stdout = executeWebpackCliError.stdout; diff --git a/tasks/webpack-build-task/yarn.lock b/tasks/webpack-build-task/yarn.lock index 4087074..024f8a3 100644 --- a/tasks/webpack-build-task/yarn.lock +++ b/tasks/webpack-build-task/yarn.lock @@ -30,13 +30,13 @@ filename-reserved-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= -filenamify@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-2.1.0.tgz#88faf495fb1b47abfd612300002a16228c677ee9" - integrity sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA== +filenamify@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.1.0.tgz#54d110810ae74eebfe115c1b995bd07e03cf2184" + integrity sha512-KQV/uJDI9VQgN7sHH1Zbk6+42cD6mnQ2HONzkXUfPJ+K2FC8GZ1dpewbbHw0Sz8Tf5k3EVdHVayM4DoAwWlmtg== dependencies: filename-reserved-regex "^2.0.0" - strip-outer "^1.0.0" + strip-outer "^1.0.1" trim-repeated "^1.0.0" minimatch@3.0.4: @@ -66,7 +66,7 @@ shelljs@^0.3.0: resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1" integrity sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E= -strip-outer@^1.0.0: +strip-outer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== @@ -112,10 +112,10 @@ vso-node-api@6.5.0: typed-rest-client "^0.12.0" underscore "1.8.3" -vsts-task-lib@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/vsts-task-lib/-/vsts-task-lib-2.6.0.tgz#c82007e66829a1cd3a24ce031f153410256bf0a8" - integrity sha512-ja2qX4BIUvswcNbGtIoGo1SM5mRVc3Yaf7oM4oY64bNHs04chKfvH6f3cDDG0pd44OrZIGQE9LgECzeau6z2wA== +vsts-task-lib@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/vsts-task-lib/-/vsts-task-lib-2.7.0.tgz#742973d2e9d6ad2fc30b732061088cdb6c7d2709" + integrity sha512-zQqgneIZG3VY84RoIzkQr07r9fDH3lPpj6Qp07K89co/vyFznWJYpkjcdxubQm1YvgNu/P0yWYLdDruHyGGdtA== dependencies: minimatch "3.0.4" mockery "^1.7.0" diff --git a/vss-extension.json b/vss-extension.json index 15f2d54..8c5a1d1 100644 --- a/vss-extension.json +++ b/vss-extension.json @@ -1,7 +1,7 @@ { "manifestVersion": 1, "id": "webpack-vsts-extension", - "version": "4.1.6", + "version": "4.2.0", "name": "webpack", "description": "bundle your assets, scripts, images, styles", "publisher": "Dealogic", diff --git a/yarn.lock b/yarn.lock index 2bd3ae5..b0795f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -109,11 +109,11 @@ async@^1.4.0: integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= async@^2.0.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== dependencies: - lodash "^4.17.11" + lodash "^4.17.14" babel-code-frame@^6.22.0: version "6.26.0" @@ -130,9 +130,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== bl@^1.0.0: version "1.2.2" @@ -179,9 +179,9 @@ buffer-fill@^1.0.0: integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" - integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + version "5.3.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.3.0.tgz#5f9fa5fefe3939888d0fdbf7d964e2a8531fd69c" + integrity sha512-XykNc84nIOC32vZ9euOKbmGAP69JUkXDtBQfLq88c8/6J/gZi/t14A+l/p/9EM2TcT5xNC1MKPCrvO3LVUpVPw== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -539,9 +539,9 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.3: path-is-absolute "^1.0.0" graceful-fs@^4.1.0, graceful-fs@^4.1.2: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + version "4.2.1" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" + integrity sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw== growl@1.10.5: version "1.10.5" @@ -578,9 +578,9 @@ he@1.1.1: integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= hosted-git-info@^2.1.4: - version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + version "2.8.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" + integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== i@0.3.x: version "0.3.6" @@ -763,10 +763,10 @@ lodash@^3.3.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@^4.17.11, lodash@^4.8.0, lodash@~4.17.0: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +lodash@^4.17.14, lodash@^4.8.0, lodash@~4.17.0: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== loud-rejection@^1.0.0: version "1.6.0" @@ -1122,7 +1122,14 @@ remove-trailing-separator@^1.0.1: resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= -resolve@^1.10.0, resolve@^1.3.2: +resolve@^1.10.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.3.2: version "1.11.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== @@ -1146,7 +1153,12 @@ rx@^2.4.3: resolved "https://registry.yarnpkg.com/rx/-/rx-2.5.3.tgz#21adc7d80f02002af50dae97fd9dbf248755f566" integrity sha1-Ia3H2A8CACr1Da6X/Z2/JIdV9WY= -safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -1161,7 +1173,12 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -"semver@2 || 3 || 4 || 5", semver@^5.3.0: +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^5.3.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== @@ -1198,9 +1215,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" - integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== sprintf-js@~1.0.2: version "1.0.3" @@ -1508,9 +1525,9 @@ xmlbuilder@~9.0.1: integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= xtend@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== yargs-parser@^10.0.0: version "10.1.0"