feat(nx): implement global nx cli to remove the need to use yarn nx
This commit is contained in:
parent
518d91d0ad
commit
c16f250136
@ -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
|
||||
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
49
packages/cli/bin/nx.ts
Normal file
49
packages/cli/bin/nx.ts
Normal file
@ -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()));
|
||||
}
|
||||
34
packages/cli/package.json
Normal file
34
packages/cli/package.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
||||
@ -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('-----------------------------------------------------------');
|
||||
}
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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 <directory> [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]
|
||||
}
|
||||
);
|
||||
@ -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';
|
||||
|
||||
@ -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": "*"
|
||||
}
|
||||
}
|
||||
|
||||
@ -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]`
|
||||
|
||||
@ -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));
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
92
yarn.lock
92
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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user