feat(linter): improve support for mixed linters when using IDEs (#2620)
This commit is contained in:
parent
13302f099e
commit
fef54fae4b
@ -4,6 +4,7 @@ tmp
|
||||
node_modules
|
||||
/package.json
|
||||
packages/workspace/src/schematics/**/files/**/*.json
|
||||
packages/workspace/src/core/dep-graph/vendor.js
|
||||
packages/web/src/schematics/**/files/**/*.json
|
||||
packages/node/src/schematics/**/files/**/*.json
|
||||
packages/express/src/schematics/**/files/**/*.json
|
||||
|
||||
@ -132,7 +132,7 @@
|
||||
"cz-customizable": "^6.2.0",
|
||||
"document-register-element": "^1.13.1",
|
||||
"dotenv": "6.2.0",
|
||||
"eslint": "6.1.0",
|
||||
"eslint": "6.8.0",
|
||||
"eslint-config-prettier": "6.0.0",
|
||||
"eslint-plugin-import": "^2.20.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
@ -223,7 +223,7 @@
|
||||
"tsconfig-paths-webpack-plugin": "^3.2.0",
|
||||
"tsickle": "^0.37.0",
|
||||
"tslib": "^1.9.3",
|
||||
"tslint": "5.11.0",
|
||||
"tslint": "6.0.0",
|
||||
"typescript": "~3.7.4",
|
||||
"url-loader": "^3.0.0",
|
||||
"verdaccio": "^4.4.2",
|
||||
|
||||
@ -442,6 +442,9 @@ function updateLinting(options: NormalizedSchema): Rule {
|
||||
}),
|
||||
updateJsonInTree(`${options.appProjectRoot}/tslint.json`, json => {
|
||||
json.extends = `${offsetFromRoot(options.appProjectRoot)}tslint.json`;
|
||||
json.linterOptions = {
|
||||
exclude: ['!**/*']
|
||||
};
|
||||
return json;
|
||||
})
|
||||
]);
|
||||
|
||||
@ -379,7 +379,10 @@ function updateProject(options: NormalizedSchema): Rule {
|
||||
updateJsonInTree(`${options.projectRoot}/tslint.json`, json => {
|
||||
return {
|
||||
...json,
|
||||
extends: `${offsetFromRoot(options.projectRoot)}tslint.json`
|
||||
extends: `${offsetFromRoot(options.projectRoot)}tslint.json`,
|
||||
linterOptions: {
|
||||
exclude: ['!**/*']
|
||||
}
|
||||
};
|
||||
}),
|
||||
updateJsonInTree(`/nx.json`, json => {
|
||||
|
||||
@ -57,8 +57,13 @@
|
||||
},
|
||||
"update-9-1-0": {
|
||||
"version": "9.1.0-beta.1",
|
||||
"description": "Update prettier to 1.19.1 with support for typescript 3.7",
|
||||
"factory": "./src/migrations/update-9-0-0/update-9-0-0"
|
||||
"description": "Update prettier to 1.19.1 with support for typescript 3.7; Update eslint and tslint",
|
||||
"factory": "./src/migrations/update-9-1-0/update-9-1-0"
|
||||
},
|
||||
"update-lint-config-9-1-0": {
|
||||
"version": "9.1.0-beta.1",
|
||||
"description": "Update eslint and tslint config to provide better IDE support",
|
||||
"factory": "./src/migrations/update-9-1-0/update-lint-config"
|
||||
}
|
||||
},
|
||||
"packageJsonUpdates": {
|
||||
@ -396,11 +401,17 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"9.0.0": {
|
||||
"version": "9.0.0-beta.1",
|
||||
"9.1.0": {
|
||||
"version": "9.1.0-beta.1",
|
||||
"packages": {
|
||||
"eslint": {
|
||||
"version": "6.8.0"
|
||||
},
|
||||
"prettier": {
|
||||
"version": "1.19.1"
|
||||
},
|
||||
"tslint": {
|
||||
"version": "6.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,6 @@ const updatePackages = updatePackagesInPackageJson(
|
||||
join(__dirname, '../../../', 'migrations.json'),
|
||||
'9.1.0'
|
||||
);
|
||||
|
||||
export default function() {
|
||||
return chain([updatePackages]);
|
||||
}
|
||||
@ -0,0 +1,120 @@
|
||||
import { chain, Tree } from '@angular-devkit/schematics';
|
||||
import { readJsonInTree, updateJsonInTree } from '@nrwl/workspace';
|
||||
import { createEmptyWorkspace } from '@nrwl/workspace/testing';
|
||||
import { callRule, runMigration } from '../../utils/testing';
|
||||
import { updateWorkspace } from '@nrwl/workspace/src/utils/workspace';
|
||||
|
||||
describe('Update 9.1.0', () => {
|
||||
let tree: Tree;
|
||||
|
||||
beforeEach(async () => {
|
||||
tree = Tree.empty();
|
||||
tree = createEmptyWorkspace(tree);
|
||||
});
|
||||
|
||||
it('should update tslint.json', async () => {
|
||||
tree = await callRule(
|
||||
chain([
|
||||
updateWorkspace(workspace => {
|
||||
workspace.projects.add({
|
||||
name: 'proj1',
|
||||
root: 'proj1',
|
||||
architect: {
|
||||
lint: {
|
||||
builder: '@angular-devkit/build-angular:tslint'
|
||||
}
|
||||
}
|
||||
});
|
||||
workspace.projects.add({
|
||||
name: 'proj2',
|
||||
root: 'proj2',
|
||||
architect: {
|
||||
lint: {
|
||||
builder: '@angular-devkit/build-angular:tslint'
|
||||
}
|
||||
}
|
||||
});
|
||||
}),
|
||||
updateJsonInTree('proj1/tslint.json', () => ({
|
||||
rules: {}
|
||||
})),
|
||||
updateJsonInTree('proj2/tslint.json', () => ({
|
||||
rules: {},
|
||||
linterOptions: {
|
||||
exclude: ['whatever']
|
||||
}
|
||||
}))
|
||||
]),
|
||||
tree
|
||||
);
|
||||
|
||||
const result = await runMigration('update-lint-config-9-1-0', {}, tree);
|
||||
|
||||
expect(readJsonInTree(result, 'proj1/tslint.json')).toEqual({
|
||||
rules: {},
|
||||
linterOptions: {
|
||||
exclude: ['!**/*']
|
||||
}
|
||||
});
|
||||
|
||||
expect(readJsonInTree(result, 'proj2/tslint.json')).toEqual({
|
||||
rules: {},
|
||||
linterOptions: {
|
||||
exclude: ['!**/*', 'whatever']
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('should update .eslintrc', async () => {
|
||||
tree = await callRule(
|
||||
chain([
|
||||
updateWorkspace(workspace => {
|
||||
workspace.projects.add({
|
||||
name: 'proj1',
|
||||
root: 'proj1',
|
||||
architect: {
|
||||
lint: {
|
||||
builder: '@nrwl/linter:lint',
|
||||
options: {
|
||||
config: 'proj1/.eslintrc'
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
workspace.projects.add({
|
||||
name: 'proj2',
|
||||
root: 'proj2',
|
||||
architect: {
|
||||
lint: {
|
||||
builder: '@nrwl/linter:lint',
|
||||
options: {
|
||||
config: 'proj2/.eslintrc'
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}),
|
||||
updateJsonInTree('proj1/.eslintrc', () => ({
|
||||
rules: {}
|
||||
})),
|
||||
updateJsonInTree('proj2/.eslintrc', () => ({
|
||||
rules: {},
|
||||
ignorePatterns: ['whatever']
|
||||
}))
|
||||
]),
|
||||
tree
|
||||
);
|
||||
|
||||
const result = await runMigration('update-lint-config-9-1-0', {}, tree);
|
||||
|
||||
expect(readJsonInTree(result, 'proj1/.eslintrc')).toEqual({
|
||||
rules: {},
|
||||
ignorePatterns: ['!**/*']
|
||||
});
|
||||
|
||||
expect(readJsonInTree(result, 'proj2/.eslintrc')).toEqual({
|
||||
rules: {},
|
||||
ignorePatterns: ['!**/*', 'whatever']
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,56 @@
|
||||
import { SchematicContext, Tree } from '@angular-devkit/schematics';
|
||||
import { readWorkspace, updateJsonInTree } from '@nrwl/workspace';
|
||||
|
||||
function updateLintConfigurations(host: Tree, context: SchematicContext) {
|
||||
const workspaceJson = readWorkspace(host);
|
||||
Object.values(workspaceJson.projects).forEach((config: any) => {
|
||||
if (!config.architect || !config.architect.lint) return;
|
||||
if (config.architect.lint.builder === '@nrwl/linter:lint') {
|
||||
updateJson(
|
||||
json => {
|
||||
// Prefix it so that previously ignored files will override the whitelist.
|
||||
json.ignorePatterns = ['!**/*', ...(json.ignorePatterns || [])];
|
||||
return json;
|
||||
},
|
||||
config.architect.lint.options.config,
|
||||
host,
|
||||
context
|
||||
);
|
||||
}
|
||||
if (
|
||||
config.architect.lint.builder === '@angular-devkit/build-angular:tslint'
|
||||
) {
|
||||
updateJson(
|
||||
json => {
|
||||
json.linterOptions = {
|
||||
...json.linterOptions,
|
||||
// Prefix it so that previously ignored files will override the whitelist.
|
||||
exclude: [
|
||||
'!**/*',
|
||||
...((json.linterOptions && json.linterOptions.exclude) || [])
|
||||
]
|
||||
};
|
||||
return json;
|
||||
},
|
||||
`${config.root}/tslint.json`,
|
||||
host,
|
||||
context
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateJson(visitor, path, host, context) {
|
||||
try {
|
||||
if (host.exists(path)) {
|
||||
// In case tslint.json does not exist we don't want to create it.
|
||||
updateJsonInTree(path, visitor)(host, context);
|
||||
}
|
||||
} catch {
|
||||
context.logger.warn(`Could not update ${path}`);
|
||||
}
|
||||
}
|
||||
|
||||
export default function() {
|
||||
return updateLintConfigurations;
|
||||
}
|
||||
@ -222,7 +222,10 @@ describe('lib', () => {
|
||||
const tslintJson = readJsonInTree(tree, 'libs/my-dir/my-lib/tslint.json');
|
||||
expect(tslintJson).toEqual({
|
||||
extends: '../../../tslint.json',
|
||||
rules: {}
|
||||
rules: {},
|
||||
linterOptions: {
|
||||
exclude: ['!**/*']
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
"@types/node": "~8.9.4",
|
||||
"dotenv": "6.2.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"tslint": "~5.11.0",
|
||||
"tslint": "~6.0.0",
|
||||
"eslint": "<%= eslintVersion %>",
|
||||
"typescript": "<%= typescriptVersion %>",
|
||||
"prettier": "<%= prettierVersion %>"
|
||||
|
||||
@ -80,6 +80,10 @@ export function addLintFiles(
|
||||
join(projectRoot as any, `tslint.json`),
|
||||
JSON.stringify({
|
||||
extends: `${offsetFromRoot(projectRoot)}tslint.json`,
|
||||
// Include project files to be linted since the global one excludes all files.
|
||||
linterOptions: {
|
||||
exclude: ['!**/*']
|
||||
},
|
||||
rules: {}
|
||||
})
|
||||
);
|
||||
@ -134,6 +138,8 @@ export function addLintFiles(
|
||||
rules: {}
|
||||
};
|
||||
}
|
||||
// Include all project files to be linted (since they are turned off in the root eslintrc file).
|
||||
configJson.ignorePatterns = ['!**/*'];
|
||||
host.create(
|
||||
join(projectRoot as any, `.eslintrc`),
|
||||
JSON.stringify(configJson)
|
||||
@ -149,6 +155,9 @@ export function addLintFiles(
|
||||
const globalTsLint = `
|
||||
{
|
||||
"rulesDirectory": ["node_modules/@nrwl/workspace/src/tslint"],
|
||||
"linterOptions": {
|
||||
"exclude": ["**/*"]
|
||||
},
|
||||
"rules": {
|
||||
"arrow-return-shorthand": true,
|
||||
"callable-types": true,
|
||||
@ -220,6 +229,7 @@ const globalESLint = `
|
||||
"sourceType": "module",
|
||||
"project": "./tsconfig.json"
|
||||
},
|
||||
"ignorePatterns": ["**/*"],
|
||||
"plugins": ["@typescript-eslint", "@nrwl/nx"],
|
||||
"extends": [
|
||||
'eslint:recommended',
|
||||
|
||||
@ -4,5 +4,5 @@ export const angularCliVersion = '9.0.1';
|
||||
export const typescriptVersion = '~3.7.4';
|
||||
export const prettierVersion = '1.19.1';
|
||||
export const typescriptESLintVersion = '2.19.2';
|
||||
export const eslintVersion = '6.1.0';
|
||||
export const eslintVersion = '6.8.0';
|
||||
export const eslintConfigPrettierVersion = '6.0.0';
|
||||
|
||||
110
yarn.lock
110
yarn.lock
@ -5126,10 +5126,10 @@ acorn-globals@^4.1.0, acorn-globals@^4.3.2:
|
||||
acorn "^6.0.1"
|
||||
acorn-walk "^6.0.1"
|
||||
|
||||
acorn-jsx@^5.0.2:
|
||||
version "5.0.2"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f"
|
||||
integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==
|
||||
acorn-jsx@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
|
||||
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
|
||||
|
||||
acorn-walk@^6.0.1:
|
||||
version "6.2.0"
|
||||
@ -9629,11 +9629,6 @@ diff-sequences@^25.1.0:
|
||||
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32"
|
||||
integrity sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw==
|
||||
|
||||
diff@^3.2.0:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
|
||||
integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff"
|
||||
@ -10366,13 +10361,6 @@ eslint-scope@^5.0.0:
|
||||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
||||
eslint-utils@^1.3.1:
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
|
||||
integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
|
||||
eslint-utils@^1.4.3:
|
||||
version "1.4.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
|
||||
@ -10380,15 +10368,15 @@ eslint-utils@^1.4.3:
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
|
||||
eslint-visitor-keys@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
|
||||
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
|
||||
|
||||
eslint@6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646"
|
||||
integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ==
|
||||
eslint@6.8.0:
|
||||
version "6.8.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
|
||||
integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
ajv "^6.10.0"
|
||||
@ -10397,19 +10385,19 @@ eslint@6.1.0:
|
||||
debug "^4.0.1"
|
||||
doctrine "^3.0.0"
|
||||
eslint-scope "^5.0.0"
|
||||
eslint-utils "^1.3.1"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
espree "^6.0.0"
|
||||
eslint-utils "^1.4.3"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
espree "^6.1.2"
|
||||
esquery "^1.0.1"
|
||||
esutils "^2.0.2"
|
||||
file-entry-cache "^5.0.1"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
glob-parent "^5.0.0"
|
||||
globals "^11.7.0"
|
||||
globals "^12.1.0"
|
||||
ignore "^4.0.6"
|
||||
import-fresh "^3.0.0"
|
||||
imurmurhash "^0.1.4"
|
||||
inquirer "^6.4.1"
|
||||
inquirer "^7.0.0"
|
||||
is-glob "^4.0.0"
|
||||
js-yaml "^3.13.1"
|
||||
json-stable-stringify-without-jsonify "^1.0.1"
|
||||
@ -10418,7 +10406,7 @@ eslint@6.1.0:
|
||||
minimatch "^3.0.4"
|
||||
mkdirp "^0.5.1"
|
||||
natural-compare "^1.4.0"
|
||||
optionator "^0.8.2"
|
||||
optionator "^0.8.3"
|
||||
progress "^2.0.0"
|
||||
regexpp "^2.0.1"
|
||||
semver "^6.1.2"
|
||||
@ -10428,13 +10416,13 @@ eslint@6.1.0:
|
||||
text-table "^0.2.0"
|
||||
v8-compile-cache "^2.0.3"
|
||||
|
||||
espree@^6.0.0:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de"
|
||||
integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==
|
||||
espree@^6.1.2:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.0.tgz#349fef01a202bbab047748300deb37fa44da79d7"
|
||||
integrity sha512-Xs8airJ7RQolnDIbLtRutmfvSsAe0xqMMAantCN/GMoqf81TFbeI1T7Jpd56qYu1uuh32dOG5W/X9uO+ghPXzA==
|
||||
dependencies:
|
||||
acorn "^7.0.0"
|
||||
acorn-jsx "^5.0.2"
|
||||
acorn "^7.1.0"
|
||||
acorn-jsx "^5.2.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
esprima@^3.1.3:
|
||||
@ -10782,7 +10770,7 @@ fast-json-stable-stringify@2.0.0, fast-json-stable-stringify@2.x, fast-json-stab
|
||||
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
|
||||
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
|
||||
|
||||
fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4:
|
||||
fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4, fast-levenshtein@~2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
||||
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
|
||||
@ -11647,11 +11635,18 @@ global@^4.3.2, global@^4.4.0:
|
||||
min-document "^2.19.0"
|
||||
process "^0.11.10"
|
||||
|
||||
globals@^11.1.0, globals@^11.7.0:
|
||||
globals@^11.1.0:
|
||||
version "11.12.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
||||
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
||||
|
||||
globals@^12.1.0:
|
||||
version "12.3.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13"
|
||||
integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==
|
||||
dependencies:
|
||||
type-fest "^0.8.1"
|
||||
|
||||
globals@^9.18.0:
|
||||
version "9.18.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
|
||||
@ -12606,7 +12601,7 @@ inquirer@7.0.0:
|
||||
strip-ansi "^5.1.0"
|
||||
through "^2.3.6"
|
||||
|
||||
inquirer@^6.3.1, inquirer@^6.4.1:
|
||||
inquirer@^6.3.1:
|
||||
version "6.5.2"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
|
||||
integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
|
||||
@ -14118,7 +14113,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.1, js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9.0:
|
||||
js-yaml@3.13.1, js-yaml@^3.13.1, 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==
|
||||
@ -16653,7 +16648,7 @@ optional@0.1.4:
|
||||
resolved "https://registry.yarnpkg.com/optional/-/optional-0.1.4.tgz#cdb1a9bedc737d2025f690ceeb50e049444fd5b3"
|
||||
integrity sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==
|
||||
|
||||
optionator@^0.8.1, optionator@^0.8.2:
|
||||
optionator@^0.8.1:
|
||||
version "0.8.2"
|
||||
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
|
||||
integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
|
||||
@ -16665,6 +16660,18 @@ optionator@^0.8.1, optionator@^0.8.2:
|
||||
type-check "~0.3.2"
|
||||
wordwrap "~1.0.0"
|
||||
|
||||
optionator@^0.8.3:
|
||||
version "0.8.3"
|
||||
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
|
||||
integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
|
||||
dependencies:
|
||||
deep-is "~0.1.3"
|
||||
fast-levenshtein "~2.0.6"
|
||||
levn "~0.3.0"
|
||||
prelude-ls "~1.1.2"
|
||||
type-check "~0.3.2"
|
||||
word-wrap "~1.2.3"
|
||||
|
||||
ora@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ora/-/ora-3.0.0.tgz#8179e3525b9aafd99242d63cc206fd64732741d0"
|
||||
@ -21764,7 +21771,7 @@ tsickle@^0.37.0:
|
||||
mkdirp "^0.5.1"
|
||||
source-map "^0.7.3"
|
||||
|
||||
tslib@1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
|
||||
tslib@1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
||||
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
|
||||
@ -21774,30 +21781,31 @@ tslib@^1.10.0:
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.0.tgz#f1f3528301621a53220d58373ae510ff747a66bc"
|
||||
integrity sha512-BmndXUtiTn/VDDrJzQE7Mm22Ix3PxgLltW9bSNLoeCY31gnG2OPx0QqJnuc9oMIKioYrz487i6K9o4Pdn0j+Kg==
|
||||
|
||||
tslint@5.11.0:
|
||||
version "5.11.0"
|
||||
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.11.0.tgz#98f30c02eae3cde7006201e4c33cb08b48581eed"
|
||||
integrity sha1-mPMMAurjzecAYgHkwzywi0hYHu0=
|
||||
tslint@6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.0.0.tgz#1c0148beac4779924216302f192cdaa153618310"
|
||||
integrity sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA==
|
||||
dependencies:
|
||||
babel-code-frame "^6.22.0"
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
builtin-modules "^1.1.1"
|
||||
chalk "^2.3.0"
|
||||
commander "^2.12.1"
|
||||
diff "^3.2.0"
|
||||
diff "^4.0.1"
|
||||
glob "^7.1.1"
|
||||
js-yaml "^3.7.0"
|
||||
js-yaml "^3.13.1"
|
||||
minimatch "^3.0.4"
|
||||
mkdirp "^0.5.1"
|
||||
resolve "^1.3.2"
|
||||
semver "^5.3.0"
|
||||
tslib "^1.8.0"
|
||||
tsutils "^2.27.2"
|
||||
tslib "^1.10.0"
|
||||
tsutils "^2.29.0"
|
||||
|
||||
tsscmp@1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"
|
||||
integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==
|
||||
|
||||
tsutils@^2.27.2:
|
||||
tsutils@^2.29.0:
|
||||
version "2.29.0"
|
||||
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99"
|
||||
integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==
|
||||
@ -21855,7 +21863,7 @@ type-fest@^0.6.0:
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
|
||||
integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
|
||||
|
||||
type-fest@^0.8.0:
|
||||
type-fest@^0.8.0, type-fest@^0.8.1:
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
|
||||
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
|
||||
@ -22814,7 +22822,7 @@ windows-release@^3.1.0:
|
||||
dependencies:
|
||||
execa "^1.0.0"
|
||||
|
||||
word-wrap@^1.0.3, word-wrap@^1.2.3:
|
||||
word-wrap@^1.0.3, word-wrap@^1.2.3, word-wrap@~1.2.3:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user