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/node | @nrwl/jest | @nrwl/workspace |
|
||||||
| @nrwl/react | @nrwl/cypress, @nrwl/jest, @nrwl/web | @nrwl/workspace |
|
| @nrwl/react | @nrwl/cypress, @nrwl/jest, @nrwl/web | @nrwl/workspace |
|
||||||
| @nrwl/web | @nrwl/cypress, @nrwl/jest | @nrwl/workspace |
|
| @nrwl/web | @nrwl/cypress, @nrwl/jest | @nrwl/workspace |
|
||||||
| @nrwl/workspace | | |
|
| @nrwl/workspace | @nrwl/cli | |
|
||||||
|
|
||||||
## Angular
|
## Angular
|
||||||
|
|
||||||
|
|||||||
@ -76,7 +76,7 @@
|
|||||||
"fs-extra": "7.0.1",
|
"fs-extra": "7.0.1",
|
||||||
"graphviz": "^0.0.8",
|
"graphviz": "^0.0.8",
|
||||||
"html-webpack-plugin": "^3.2.0",
|
"html-webpack-plugin": "^3.2.0",
|
||||||
"husky": "^1.0.0-rc.13",
|
"husky": "^3.0.0",
|
||||||
"identity-obj-proxy": "3.0.0",
|
"identity-obj-proxy": "3.0.0",
|
||||||
"ignore": "^5.0.4",
|
"ignore": "^5.0.4",
|
||||||
"jasmine-core": "~2.99.1",
|
"jasmine-core": "~2.99.1",
|
||||||
|
|||||||
@ -7,12 +7,11 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Angular",
|
|
||||||
"Workspace",
|
|
||||||
"Monorepo",
|
"Monorepo",
|
||||||
"Schematics",
|
"Angular",
|
||||||
"Nx",
|
"Jest",
|
||||||
"Angular CLI"
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "bundles/nrwl-angular.umd.js",
|
"main": "bundles/nrwl-angular.umd.js",
|
||||||
"types": "nrwl-angular.d.ts",
|
"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]
|
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"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"RxJS",
|
"Monorepo",
|
||||||
"Angular",
|
"Angular",
|
||||||
"Workspace",
|
"React",
|
||||||
"NgRx",
|
"Web",
|
||||||
"Schematics",
|
"Node",
|
||||||
"Angular CLI"
|
"Nest",
|
||||||
|
"Jest",
|
||||||
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"bin": {
|
"bin": {
|
||||||
"create-nx-workspace": "./bin/create-nx-workspace.js"
|
"create-nx-workspace": "./bin/create-nx-workspace.js"
|
||||||
|
|||||||
@ -7,13 +7,15 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Cypress",
|
|
||||||
"E2E Testing",
|
|
||||||
"Workspace",
|
|
||||||
"Monorepo",
|
"Monorepo",
|
||||||
"Schematics",
|
"Angular",
|
||||||
"Nx",
|
"React",
|
||||||
"Angular CLI"
|
"Web",
|
||||||
|
"Node",
|
||||||
|
"Nest",
|
||||||
|
"Jest",
|
||||||
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
@ -7,13 +7,12 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
"Monorepo",
|
||||||
"Node",
|
"Node",
|
||||||
"Express",
|
"Express",
|
||||||
"Workspace",
|
"Jest",
|
||||||
"Monorepo",
|
"Cypress",
|
||||||
"Schematics",
|
"CLI"
|
||||||
"Nx",
|
|
||||||
"Angular CLI"
|
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
@ -7,13 +7,15 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
"Monorepo",
|
||||||
|
"Angular",
|
||||||
|
"React",
|
||||||
|
"Web",
|
||||||
|
"Node",
|
||||||
|
"Nest",
|
||||||
"Jest",
|
"Jest",
|
||||||
"Unit Testing",
|
"Unit Testing",
|
||||||
"Workspace",
|
"CLI"
|
||||||
"Monorepo",
|
|
||||||
"Schematics",
|
|
||||||
"Nx",
|
|
||||||
"Angular CLI"
|
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
@ -7,12 +7,12 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Nest",
|
|
||||||
"Workspace",
|
|
||||||
"Monorepo",
|
"Monorepo",
|
||||||
"Schematics",
|
"Node",
|
||||||
"Nx",
|
"Nest",
|
||||||
"Angular CLI"
|
"Jest",
|
||||||
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
@ -7,12 +7,12 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"node",
|
|
||||||
"Workspace",
|
|
||||||
"Monorepo",
|
"Monorepo",
|
||||||
"Schematics",
|
"Node",
|
||||||
"Nx",
|
"Nest",
|
||||||
"Angular CLI"
|
"Jest",
|
||||||
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
@ -7,12 +7,12 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"React",
|
|
||||||
"Workspace",
|
|
||||||
"Monorepo",
|
"Monorepo",
|
||||||
"Schematics",
|
"React",
|
||||||
"Nx",
|
"Web",
|
||||||
"Angular CLI"
|
"Jest",
|
||||||
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
@ -7,12 +7,15 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"RxJS",
|
"Monorepo",
|
||||||
"Angular",
|
"Angular",
|
||||||
"Workspace",
|
"React",
|
||||||
"NgRx",
|
"Web",
|
||||||
"Schematics",
|
"Node",
|
||||||
"Angular CLI"
|
"Nest",
|
||||||
|
"Jest",
|
||||||
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.js",
|
"types": "index.d.js",
|
||||||
|
|||||||
@ -7,12 +7,11 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Web",
|
|
||||||
"Workspace",
|
|
||||||
"Monorepo",
|
"Monorepo",
|
||||||
"Schematics",
|
"Web",
|
||||||
"Nx",
|
"Jest",
|
||||||
"Angular CLI"
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"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,
|
ExistingPrettierConfig,
|
||||||
resolveUserExistingPrettierConfig
|
resolveUserExistingPrettierConfig
|
||||||
} from './src/utils/common';
|
} 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 { readAngularJson, readNxJson, NxJson } from './src/command-line/shared';
|
||||||
export {
|
export {
|
||||||
readJsonInTree,
|
readJsonInTree,
|
||||||
@ -48,6 +51,7 @@ export {
|
|||||||
|
|
||||||
export { getWorkspace, updateWorkspace } from './src/utils/workspace';
|
export { getWorkspace, updateWorkspace } from './src/utils/workspace';
|
||||||
|
|
||||||
|
export { closestCli } from './src/utils/app-root';
|
||||||
export { formatFiles } from './src/utils/rules/format-files';
|
export { formatFiles } from './src/utils/rules/format-files';
|
||||||
export { deleteFile } from './src/utils/rules/deleteFile';
|
export { deleteFile } from './src/utils/rules/deleteFile';
|
||||||
export * from './src/utils/rules/ng-add';
|
export * from './src/utils/rules/ng-add';
|
||||||
|
|||||||
@ -7,11 +7,15 @@
|
|||||||
"url": "git+https://github.com/nrwl/nx.git"
|
"url": "git+https://github.com/nrwl/nx.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Workspace",
|
|
||||||
"Monorepo",
|
"Monorepo",
|
||||||
"Schematics",
|
"Angular",
|
||||||
"Nx",
|
"React",
|
||||||
"Angular CLI"
|
"Web",
|
||||||
|
"Node",
|
||||||
|
"Nest",
|
||||||
|
"Jest",
|
||||||
|
"Cypress",
|
||||||
|
"CLI"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
@ -20,10 +24,6 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/nrwl/nx/issues"
|
"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",
|
"homepage": "https://nx.dev",
|
||||||
"schematics": "./collection.json",
|
"schematics": "./collection.json",
|
||||||
"builders": "./builders.json",
|
"builders": "./builders.json",
|
||||||
@ -57,6 +57,7 @@
|
|||||||
"viz.js": "^1.8.1",
|
"viz.js": "^1.8.1",
|
||||||
"yargs-parser": "10.0.0",
|
"yargs-parser": "10.0.0",
|
||||||
"yargs": "^11.0.0",
|
"yargs": "^11.0.0",
|
||||||
"prettier": "1.16.4"
|
"prettier": "1.16.4",
|
||||||
|
"@nrwl/cli": "*"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,14 +19,13 @@ import {
|
|||||||
printArgsWarning
|
printArgsWarning
|
||||||
} from './shared';
|
} from './shared';
|
||||||
import { generateGraph } from './dep-graph';
|
import { generateGraph } from './dep-graph';
|
||||||
import { GlobalNxArgs } from './nx';
|
|
||||||
import { WorkspaceResults } from './workspace-results';
|
import { WorkspaceResults } from './workspace-results';
|
||||||
|
|
||||||
export interface YargsAffectedOptions
|
export interface YargsAffectedOptions
|
||||||
extends yargs.Arguments,
|
extends yargs.Arguments,
|
||||||
AffectedOptions {}
|
AffectedOptions {}
|
||||||
|
|
||||||
export interface AffectedOptions extends GlobalNxArgs {
|
export interface AffectedOptions {
|
||||||
target?: string;
|
target?: string;
|
||||||
parallel?: boolean;
|
parallel?: boolean;
|
||||||
maxParallel?: number;
|
maxParallel?: number;
|
||||||
@ -41,6 +40,9 @@ export interface AffectedOptions extends GlobalNxArgs {
|
|||||||
'only-failed'?: boolean;
|
'only-failed'?: boolean;
|
||||||
'max-parallel'?: boolean;
|
'max-parallel'?: boolean;
|
||||||
verbose?: boolean;
|
verbose?: boolean;
|
||||||
|
help?: boolean;
|
||||||
|
version?: boolean;
|
||||||
|
quiet?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commands that can do `ng [command]`
|
// 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
|
./node_modules/.bin/tsc
|
||||||
echo "Compiled Typescript"
|
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
|
#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.js
|
||||||
sed -i.bak "s/define(\[/define('@nrwl\/angular',\[/" build/packages/angular/bundles/nrwl-angular.umd.min.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
|
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/create-nx-workspace/bin/create-nx-workspace.js
|
||||||
chmod +x build/packages/workspace/src/command-line/nx.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/install
|
||||||
rm -rf build/packages/nx/dist
|
rm -rf build/packages/nx/dist
|
||||||
rm -rf build/packages/nx/spec
|
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/angular
|
||||||
cp README.md build/packages/jest
|
cp README.md build/packages/jest
|
||||||
cp README.md build/packages/cypress
|
cp README.md build/packages/cypress
|
||||||
|
cp README.md build/packages/cli
|
||||||
cp LICENSE build/packages/builders
|
cp LICENSE build/packages/builders
|
||||||
cp LICENSE build/packages/schematics
|
cp LICENSE build/packages/schematics
|
||||||
cp LICENSE build/packages/nx
|
cp LICENSE build/packages/nx
|
||||||
@ -66,6 +63,7 @@ cp LICENSE build/packages/react
|
|||||||
cp LICENSE build/packages/angular
|
cp LICENSE build/packages/angular
|
||||||
cp LICENSE build/packages/jest
|
cp LICENSE build/packages/jest
|
||||||
cp LICENSE build/packages/cypress
|
cp LICENSE build/packages/cypress
|
||||||
|
cp LICENSE build/packages/cli
|
||||||
|
|
||||||
echo "Nx libraries available at build/packages:"
|
echo "Nx libraries available at build/packages:"
|
||||||
ls build/packages
|
ls build/packages
|
||||||
|
|||||||
@ -160,7 +160,8 @@ const options = {
|
|||||||
'build/npm/node/package.json',
|
'build/npm/node/package.json',
|
||||||
'build/npm/express/package.json',
|
'build/npm/express/package.json',
|
||||||
'build/npm/nest/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,
|
increment: parsedVersion.version,
|
||||||
requireUpstream: false,
|
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
|
sed -E -i "s/\"@nrwl\/([^\"]+)\": \"\\*\"/\"@nrwl\/\1\": \"file:..\/\1\"/" {schematics,jest,web,react,node,express,nest,cypress,angular,workspace}/package.json
|
||||||
fi
|
fi
|
||||||
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"
|
parse-json "^4.0.0"
|
||||||
require-from-string "^2.0.1"
|
require-from-string "^2.0.1"
|
||||||
|
|
||||||
cosmiconfig@^5.0.7:
|
cosmiconfig@^5.2.1:
|
||||||
version "5.2.0"
|
version "5.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8"
|
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
|
||||||
integrity sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==
|
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
|
||||||
dependencies:
|
dependencies:
|
||||||
import-fresh "^2.0.0"
|
import-fresh "^2.0.0"
|
||||||
is-directory "^0.3.1"
|
is-directory "^0.3.1"
|
||||||
js-yaml "^3.13.0"
|
js-yaml "^3.13.1"
|
||||||
parse-json "^4.0.0"
|
parse-json "^4.0.0"
|
||||||
|
|
||||||
cp-file@^6.0.0:
|
cp-file@^6.0.0:
|
||||||
@ -5880,6 +5880,14 @@ find-up@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
locate-path "^3.0.0"
|
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:
|
findup-sync@0.4.2:
|
||||||
version "0.4.2"
|
version "0.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.2.tgz#a8117d0f73124f5a4546839579fe52d7129fb5e5"
|
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"
|
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
|
||||||
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
|
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
|
||||||
|
|
||||||
get-stdin@^6.0.0:
|
get-stdin@^7.0.0:
|
||||||
version "6.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
|
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
|
||||||
integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
|
integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
|
||||||
|
|
||||||
get-stream@3.0.0, get-stream@^3.0.0:
|
get-stream@3.0.0, get-stream@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
@ -6752,21 +6760,21 @@ humanize-ms@^1.2.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.0.0"
|
ms "^2.0.0"
|
||||||
|
|
||||||
husky@^1.0.0-rc.13:
|
husky@^3.0.0:
|
||||||
version "1.3.1"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0"
|
resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.0.tgz#de63821a7049dc412b1afd753c259e2f6e227562"
|
||||||
integrity sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg==
|
integrity sha512-lKMEn7bRK+7f5eWPNGclDVciYNQt0GIkAQmhKl+uHP1qFzoN0h92kmH9HZ8PCwyVA2EQPD8KHf0FYWqnTxau+Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
cosmiconfig "^5.0.7"
|
cosmiconfig "^5.2.1"
|
||||||
execa "^1.0.0"
|
execa "^1.0.0"
|
||||||
find-up "^3.0.0"
|
get-stdin "^7.0.0"
|
||||||
get-stdin "^6.0.0"
|
|
||||||
is-ci "^2.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"
|
please-upgrade-node "^3.1.1"
|
||||||
read-pkg "^4.0.1"
|
read-pkg "^5.1.1"
|
||||||
run-node "^1.0.0"
|
run-node "^1.0.0"
|
||||||
slash "^2.0.0"
|
slash "^3.0.0"
|
||||||
|
|
||||||
iconv-lite@0.4.19:
|
iconv-lite@0.4.19:
|
||||||
version "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"
|
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||||
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
|
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"
|
version "3.13.1"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
||||||
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
|
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
|
||||||
@ -8544,6 +8552,13 @@ locate-path@^3.0.0:
|
|||||||
p-locate "^3.0.0"
|
p-locate "^3.0.0"
|
||||||
path-exists "^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:
|
lodash._reinterpolate@~3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
|
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
|
||||||
@ -9709,7 +9724,7 @@ open@6.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-wsl "^1.1.0"
|
is-wsl "^1.1.0"
|
||||||
|
|
||||||
opencollective-postinstall@^2.0.1:
|
opencollective-postinstall@^2.0.1, opencollective-postinstall@^2.0.2:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
|
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
|
||||||
integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
|
integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
|
||||||
@ -9927,6 +9942,13 @@ p-locate@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
p-limit "^2.0.0"
|
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:
|
p-map@^1.1.1:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
|
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"
|
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
|
||||||
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
|
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:
|
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
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:
|
dependencies:
|
||||||
find-up "^3.0.0"
|
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:
|
please-upgrade-node@^3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac"
|
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"
|
normalize-package-data "^2.3.2"
|
||||||
path-type "^3.0.0"
|
path-type "^3.0.0"
|
||||||
|
|
||||||
read-pkg@^4.0.1:
|
read-pkg@^5.0.0, read-pkg@^5.1.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:
|
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5"
|
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5"
|
||||||
integrity sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w==
|
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"
|
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
|
||||||
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
|
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:
|
slice-ansi@0.0.4:
|
||||||
version "0.0.4"
|
version "0.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
|
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user