diff --git a/docs/api/home.md b/docs/api/home.md index 7b9637cff2..eecec39617 100644 --- a/docs/api/home.md +++ b/docs/api/home.md @@ -13,7 +13,7 @@ can see, for each package its dependencies. | @nrwl/node | @nrwl/jest | @nrwl/workspace | | @nrwl/react | @nrwl/cypress, @nrwl/jest, @nrwl/web | @nrwl/workspace | | @nrwl/web | @nrwl/cypress, @nrwl/jest | @nrwl/workspace | -| @nrwl/workspace | | | +| @nrwl/workspace | @nrwl/cli | | ## Angular diff --git a/package.json b/package.json index d00c106a2c..2abb17e8ee 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "fs-extra": "7.0.1", "graphviz": "^0.0.8", "html-webpack-plugin": "^3.2.0", - "husky": "^1.0.0-rc.13", + "husky": "^3.0.0", "identity-obj-proxy": "3.0.0", "ignore": "^5.0.4", "jasmine-core": "~2.99.1", diff --git a/packages/angular/package.json b/packages/angular/package.json index 457c9db328..33207f0bcd 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -7,12 +7,11 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "Angular", - "Workspace", "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "Angular", + "Jest", + "Cypress", + "CLI" ], "main": "bundles/nrwl-angular.umd.js", "types": "nrwl-angular.d.ts", diff --git a/packages/cli/bin/nx.ts b/packages/cli/bin/nx.ts new file mode 100644 index 0000000000..9ccf04d54d --- /dev/null +++ b/packages/cli/bin/nx.ts @@ -0,0 +1,49 @@ +#!/usr/bin/env node +import { statSync } from 'fs'; +import * as path from 'path'; + +function isLocalProject(dir: string): boolean { + if (path.dirname(dir) === dir) return false; + const configPath = path.join(dir, 'angular.json'); + if (fileExists(configPath)) { + return true; + } else { + return isLocalProject(path.dirname(dir)); + } +} + +function findLocalNx(dir: string): string { + if (path.dirname(dir) === dir) return null; + const nxPath = path.join(dir, 'node_modules', '.bin', 'nx'); + if (fileExists(nxPath)) { + return nxPath; + } else { + return findLocalNx(path.dirname(dir)); + } +} + +function fileExists(filePath: string): boolean { + try { + return statSync(filePath).isFile(); + } catch (err) { + return false; + } +} + +const inLocal = isLocalProject(__dirname); +if (inLocal) { + /** + * The commandsObject is a Yargs object declared in `nx-commands.ts`, + * It is exposed and bootstrapped here to provide CLI features. + */ + const w = require('@nrwl/workspace'); + if (w.supportedNxCommands.includes(process.argv[2])) { + // The commandsObject is a Yargs object declared in `nx-commands.ts`, + // It is exposed and bootstrapped here to provide CLI features. + w.commandsObject.argv; + } else { + require(w.closestCli(__dirname)); + } +} else { + require(findLocalNx(process.cwd())); +} diff --git a/packages/cli/package.json b/packages/cli/package.json new file mode 100644 index 0000000000..970a3e2377 --- /dev/null +++ b/packages/cli/package.json @@ -0,0 +1,34 @@ +{ + "name": "@nrwl/cli", + "version": "0.0.2", + "description": "", + "repository": { + "type": "git", + "url": "git+https://github.com/nrwl/nx.git" + }, + "keywords": [ + "Monorepo", + "Angular", + "React", + "Web", + "Node", + "Nest", + "Jest", + "Cypress", + "CLI" + ], + "bin": { + "nx": "./bin/nx.js" + }, + "author": "Victor Savkin", + "license": "MIT", + "bugs": { + "url": "https://github.com/nrwl/nx/issues" + }, + "homepage": "https://nx.dev", + "dependencies": { + "tmp": "0.0.33", + "yargs-parser": "10.0.0", + "yargs": "^11.0.0" + } +} diff --git a/packages/create-nx-workspace/bin/create-nx-workspace.ts b/packages/create-nx-workspace/bin/create-nx-workspace.ts index 0a12eead1f..ffe3666527 100644 --- a/packages/create-nx-workspace/bin/create-nx-workspace.ts +++ b/packages/create-nx-workspace/bin/create-nx-workspace.ts @@ -102,3 +102,18 @@ execSync( stdio: [0, 1, 2] } ); + +try { + execSync('nx --version'); +} catch (e) { + // no nx found + console.log('-----------------------------------------------------------'); + console.log(`It looks like you don't have the Nx CLI installed globally.`); + console.log( + `This means that you might have to use "yarn nx" or "npm nx" to execute commands in your workspace.` + ); + console.log( + `If you want to execute the nx command directly, run "yarn global add @nrwl/cli" or "npm install -g @nrwl/cli"` + ); + console.log('-----------------------------------------------------------'); +} diff --git a/packages/create-nx-workspace/package.json b/packages/create-nx-workspace/package.json index c11f64cd76..ca1de0f16e 100644 --- a/packages/create-nx-workspace/package.json +++ b/packages/create-nx-workspace/package.json @@ -7,12 +7,15 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "RxJS", + "Monorepo", "Angular", - "Workspace", - "NgRx", - "Schematics", - "Angular CLI" + "React", + "Web", + "Node", + "Nest", + "Jest", + "Cypress", + "CLI" ], "bin": { "create-nx-workspace": "./bin/create-nx-workspace.js" diff --git a/packages/cypress/package.json b/packages/cypress/package.json index dc3ed17707..ac4af1ec37 100644 --- a/packages/cypress/package.json +++ b/packages/cypress/package.json @@ -7,13 +7,15 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "Cypress", - "E2E Testing", - "Workspace", "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "Angular", + "React", + "Web", + "Node", + "Nest", + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.ts", diff --git a/packages/express/package.json b/packages/express/package.json index 88750e3454..52862fb8e4 100644 --- a/packages/express/package.json +++ b/packages/express/package.json @@ -7,13 +7,12 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ + "Monorepo", "Node", "Express", - "Workspace", - "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.ts", diff --git a/packages/jest/package.json b/packages/jest/package.json index 4eb785a982..fee445097c 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -7,13 +7,15 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ + "Monorepo", + "Angular", + "React", + "Web", + "Node", + "Nest", "Jest", "Unit Testing", - "Workspace", - "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "CLI" ], "main": "index.js", "types": "index.d.ts", diff --git a/packages/nest/package.json b/packages/nest/package.json index 45c51132aa..d62054fdf4 100644 --- a/packages/nest/package.json +++ b/packages/nest/package.json @@ -7,12 +7,12 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "Nest", - "Workspace", "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "Node", + "Nest", + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.ts", diff --git a/packages/node/package.json b/packages/node/package.json index e0afa824ab..84e1253fe8 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -7,12 +7,12 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "node", - "Workspace", "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "Node", + "Nest", + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.ts", diff --git a/packages/react/package.json b/packages/react/package.json index fb00eb5f39..31e87cde24 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -7,12 +7,12 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "React", - "Workspace", "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "React", + "Web", + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.ts", diff --git a/packages/schematics/package.json b/packages/schematics/package.json index 98fb9c4f8a..1618e98186 100644 --- a/packages/schematics/package.json +++ b/packages/schematics/package.json @@ -7,12 +7,15 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "RxJS", + "Monorepo", "Angular", - "Workspace", - "NgRx", - "Schematics", - "Angular CLI" + "React", + "Web", + "Node", + "Nest", + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.js", diff --git a/packages/web/package.json b/packages/web/package.json index 4633ff5407..ab00215140 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -7,12 +7,11 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "Web", - "Workspace", "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "Web", + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.ts", diff --git a/packages/workspace/bin/create-nx-workspace.ts b/packages/workspace/bin/create-nx-workspace.ts deleted file mode 100644 index 15a41752d5..0000000000 --- a/packages/workspace/bin/create-nx-workspace.ts +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env node - -import { execSync } from 'child_process'; -import { dirSync } from 'tmp'; -import { writeFileSync } from 'fs'; -import * as path from 'path'; -import * as yargsParser from 'yargs-parser'; - -const parsedArgs = yargsParser(process.argv, { - string: ['directory'], - boolean: ['help'] -}); - -if (parsedArgs.help) { - console.log(` - Usage: create-nx-workspace [options] [ng new options] - - Create a new Nx workspace - - Options: - - directory path to the workspace root directory - - [ng new options] any 'ng new' options - run 'ng new --help' for more information - `); - process.exit(0); -} - -const nxTool = { - name: 'Nx Workspace', - packageName: '@nrwl/workspace' -}; - -let packageManager: string; -try { - packageManager = execSync('ng config -g cli.packageManager', { - stdio: ['ignore', 'pipe', 'ignore'] - }) - .toString() - .trim(); -} catch (e) { - packageManager = 'yarn'; -} -try { - execSync(`${packageManager} --version`, { - stdio: ['ignore', 'ignore', 'ignore'] - }); -} catch (e) { - packageManager = 'npm'; -} - -const projectName = parsedArgs._[2]; - -// check that the workspace name is passed in -if (!projectName) { - console.error( - 'Please provide a project name (e.g., create-nx-workspace nrwl-proj)' - ); - process.exit(1); -} - -// creating the sandbox -console.log(`Creating a sandbox with Nx...`); -const tmpDir = dirSync().name; - -const nxVersion = 'NX_VERSION'; -const cliVersion = 'ANGULAR_CLI_VERSION'; -const typescriptVersion = 'TYPESCRIPT_VERSION'; - -writeFileSync( - path.join(tmpDir, 'package.json'), - JSON.stringify({ - dependencies: { - [nxTool.packageName]: nxVersion, - '@angular/cli': cliVersion, - typescript: typescriptVersion - }, - license: 'MIT' - }) -); - -execSync(`${packageManager} install --silent`, { - cwd: tmpDir, - stdio: [0, 1, 2] -}); - -// creating the app itself -const args = process.argv - .slice(2) - .map(a => `"${a}"`) - .join(' '); -console.log(`ng new ${args} --collection=${nxTool.packageName}`); -execSync( - `"${path.join( - tmpDir, - 'node_modules', - '.bin', - 'ng' - )}" new ${args} --collection=${nxTool.packageName}`, - { - stdio: [0, 1, 2] - } -); diff --git a/packages/workspace/index.ts b/packages/workspace/index.ts index c51aec382c..e816c0ef9e 100644 --- a/packages/workspace/index.ts +++ b/packages/workspace/index.ts @@ -19,7 +19,10 @@ export { ExistingPrettierConfig, resolveUserExistingPrettierConfig } from './src/utils/common'; -export { commandsObject } from './src/command-line/nx-commands'; +export { + commandsObject, + supportedNxCommands +} from './src/command-line/nx-commands'; export { readAngularJson, readNxJson, NxJson } from './src/command-line/shared'; export { readJsonInTree, @@ -48,6 +51,7 @@ export { export { getWorkspace, updateWorkspace } from './src/utils/workspace'; +export { closestCli } from './src/utils/app-root'; export { formatFiles } from './src/utils/rules/format-files'; export { deleteFile } from './src/utils/rules/deleteFile'; export * from './src/utils/rules/ng-add'; diff --git a/packages/workspace/package.json b/packages/workspace/package.json index 5568f0e840..657cca8f67 100644 --- a/packages/workspace/package.json +++ b/packages/workspace/package.json @@ -7,11 +7,15 @@ "url": "git+https://github.com/nrwl/nx.git" }, "keywords": [ - "Workspace", "Monorepo", - "Schematics", - "Nx", - "Angular CLI" + "Angular", + "React", + "Web", + "Node", + "Nest", + "Jest", + "Cypress", + "CLI" ], "main": "index.js", "types": "index.d.ts", @@ -20,10 +24,6 @@ "bugs": { "url": "https://github.com/nrwl/nx/issues" }, - "bin": { - "create-nx-workspace": "./bin/create-nx-workspace.js", - "nx": "./src/command-line/nx.js" - }, "homepage": "https://nx.dev", "schematics": "./collection.json", "builders": "./builders.json", @@ -57,6 +57,7 @@ "viz.js": "^1.8.1", "yargs-parser": "10.0.0", "yargs": "^11.0.0", - "prettier": "1.16.4" + "prettier": "1.16.4", + "@nrwl/cli": "*" } } diff --git a/packages/workspace/src/command-line/affected.ts b/packages/workspace/src/command-line/affected.ts index cec25a3db8..ba6cc0cce7 100644 --- a/packages/workspace/src/command-line/affected.ts +++ b/packages/workspace/src/command-line/affected.ts @@ -19,14 +19,13 @@ import { printArgsWarning } from './shared'; import { generateGraph } from './dep-graph'; -import { GlobalNxArgs } from './nx'; import { WorkspaceResults } from './workspace-results'; export interface YargsAffectedOptions extends yargs.Arguments, AffectedOptions {} -export interface AffectedOptions extends GlobalNxArgs { +export interface AffectedOptions { target?: string; parallel?: boolean; maxParallel?: number; @@ -41,6 +40,9 @@ export interface AffectedOptions extends GlobalNxArgs { 'only-failed'?: boolean; 'max-parallel'?: boolean; verbose?: boolean; + help?: boolean; + version?: boolean; + quiet?: boolean; } // Commands that can do `ng [command]` diff --git a/packages/workspace/src/command-line/nx.ts b/packages/workspace/src/command-line/nx.ts deleted file mode 100644 index 94f47de4c2..0000000000 --- a/packages/workspace/src/command-line/nx.ts +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env node -import { commandsObject, supportedNxCommands } from './nx-commands'; -import { closestCli } from '../utils/app-root'; - -export interface GlobalNxArgs { - help?: boolean; - version?: boolean; - quiet?: boolean; -} - -if (supportedNxCommands.includes(process.argv[2])) { - // The commandsObject is a Yargs object declared in `nx-commands.ts`, - // It is exposed and bootstrapped here to provide CLI features. - commandsObject.argv; // .argv bootstraps the CLI creation; -} else { - require(closestCli(__dirname)); -} diff --git a/scripts/build.sh b/scripts/build.sh index 02920b0023..a7cf65a102 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -14,11 +14,6 @@ echo "Compiling Typescript..." ./node_modules/.bin/tsc echo "Compiled Typescript" -# rm build/packages/angular/testing/nrwl-angular-testing.metadata.json -# rm build/packages/angular/testing/index.metadata.json -# rm build/packages/workspace/index.metadata.json -# rm build/packages/workspace/testing.metadata.json - #TODO This is a temporary hack until we can publish named umds sed -i.bak "s/define(\[/define('@nrwl\/angular',\[/" build/packages/angular/bundles/nrwl-angular.umd.js sed -i.bak "s/define(\[/define('@nrwl\/angular',\[/" build/packages/angular/bundles/nrwl-angular.umd.min.js @@ -34,9 +29,10 @@ rm -rf build/packages/angular/bundles/nrwl-angular-testing.umd.min.js.bak rsync -a --exclude=*.ts packages/ build/packages -chmod +x build/packages/workspace/bin/create-nx-workspace.js chmod +x build/packages/create-nx-workspace/bin/create-nx-workspace.js chmod +x build/packages/workspace/src/command-line/nx.js +chmod +x build/packages/cli/bin/nx.js + rm -rf build/packages/install rm -rf build/packages/nx/dist rm -rf build/packages/nx/spec @@ -53,6 +49,7 @@ cp README.md build/packages/react cp README.md build/packages/angular cp README.md build/packages/jest cp README.md build/packages/cypress +cp README.md build/packages/cli cp LICENSE build/packages/builders cp LICENSE build/packages/schematics cp LICENSE build/packages/nx @@ -66,6 +63,7 @@ cp LICENSE build/packages/react cp LICENSE build/packages/angular cp LICENSE build/packages/jest cp LICENSE build/packages/cypress +cp LICENSE build/packages/cli echo "Nx libraries available at build/packages:" ls build/packages diff --git a/scripts/nx-release.js b/scripts/nx-release.js index c903dd9ca9..6cc575df35 100755 --- a/scripts/nx-release.js +++ b/scripts/nx-release.js @@ -160,7 +160,8 @@ const options = { 'build/npm/node/package.json', 'build/npm/express/package.json', 'build/npm/nest/package.json', - 'build/npm/workspace/package.json' + 'build/npm/workspace/package.json', + 'build/npm/cli/package.json' ], increment: parsedVersion.version, requireUpstream: false, diff --git a/scripts/package.sh b/scripts/package.sh index ee6b482d46..fd5504b9ae 100755 --- a/scripts/package.sh +++ b/scripts/package.sh @@ -42,7 +42,3 @@ if [[ $NX_VERSION == "*" ]]; then sed -E -i "s/\"@nrwl\/([^\"]+)\": \"\\*\"/\"@nrwl\/\1\": \"file:..\/\1\"/" {schematics,jest,web,react,node,express,nest,cypress,angular,workspace}/package.json fi fi - -tar -czf nx.tgz nx -tar -czf schematics.tgz schematics -tar -czf create-nx-workspace.tgz create-nx-workspace diff --git a/yarn.lock b/yarn.lock index c2efe6e2e3..13af354ea9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4255,14 +4255,14 @@ cosmiconfig@^4.0.0: parse-json "^4.0.0" require-from-string "^2.0.1" -cosmiconfig@^5.0.7: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8" - integrity sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g== +cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" - js-yaml "^3.13.0" + js-yaml "^3.13.1" parse-json "^4.0.0" cp-file@^6.0.0: @@ -5880,6 +5880,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + findup-sync@0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.2.tgz#a8117d0f73124f5a4546839579fe52d7129fb5e5" @@ -6106,10 +6114,10 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== get-stream@3.0.0, get-stream@^3.0.0: version "3.0.0" @@ -6752,21 +6760,21 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@^1.0.0-rc.13: - version "1.3.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0" - integrity sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg== +husky@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.0.tgz#de63821a7049dc412b1afd753c259e2f6e227562" + integrity sha512-lKMEn7bRK+7f5eWPNGclDVciYNQt0GIkAQmhKl+uHP1qFzoN0h92kmH9HZ8PCwyVA2EQPD8KHf0FYWqnTxau+Q== dependencies: - cosmiconfig "^5.0.7" + cosmiconfig "^5.2.1" execa "^1.0.0" - find-up "^3.0.0" - get-stdin "^6.0.0" + get-stdin "^7.0.0" is-ci "^2.0.0" - pkg-dir "^3.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^4.2.0" please-upgrade-node "^3.1.1" - read-pkg "^4.0.1" + read-pkg "^5.1.1" run-node "^1.0.0" - slash "^2.0.0" + slash "^3.0.0" iconv-lite@0.4.19: version "0.4.19" @@ -8021,7 +8029,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9.0: +js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9.0: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -8544,6 +8552,13 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -9709,7 +9724,7 @@ open@6.2.0: dependencies: is-wsl "^1.1.0" -opencollective-postinstall@^2.0.1: +opencollective-postinstall@^2.0.1, opencollective-postinstall@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== @@ -9927,6 +9942,13 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" @@ -10138,6 +10160,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -10246,6 +10273,13 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + please-upgrade-node@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" @@ -10780,16 +10814,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -read-pkg@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" - integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= - dependencies: - normalize-package-data "^2.3.2" - parse-json "^4.0.0" - pify "^3.0.0" - -read-pkg@^5.0.0: +read-pkg@^5.0.0, read-pkg@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5" integrity sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w== @@ -11751,6 +11776,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"