Skip to content

Commit 8f93878

Browse files
authored
Config overrides api (#123)
* Add logic to apply overrides Closes #96 * Update eslint-config-tc * Add cosmicconfig and switch to globby * Add new utils for ignore and file list * Add error handling to config * Add typedef to LintIssue * Add new linter and results helper * Add tests for utils * Tests for new linter * Add test for absolute paths * Add tests for overrides and extends * Add ignore support to cli reporter * Update api now that CLIEngine is no longer exported * Update Reporter.js * Add initial version of transformer * Add config tests * Update CHANGELOG.md Closes #82 * Update cosmicConfigTransformer.js * Ignore lint temporarily for beta * Fix file paths * Update ConfigValidator.test.js * Update ConfigValidator.test.js * Update NpmPackageJsonLint.test.js * Update getFileList.js * Update getFileList.js * Add default for base config directory * Add additional tests for overrides and local build script
1 parent 42ed0bf commit 8f93878

39 files changed

+2284
-2898
lines changed

.npmpackagejsonlintrc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "npm-package-json-lint-config-tc",
3+
"rules": {
4+
"require-peerDependencies": "off"
5+
}
6+
}

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,45 @@ This project adheres to [Semantic Versioning](http://semver.org/).
44

55
## [Unreleased]
66
### Added
7+
- Added exception support to the following rules:
8+
9+
- [`no-absolute-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-absolute-version-dependencies)
10+
- [`no-absolute-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-absolute-version-devDependencies)
11+
- [`no-caret-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-caret-version-dependencies)
12+
- [`no-caret-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-caret-version-devDependencies)
13+
- [`no-tilde-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-tilde-version-dependencies)
14+
- [`no-tilde-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-tilde-version-devDependencies)
15+
- [`prefer-absolute-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-absolute-version-dependencies)
16+
- [`prefer-absolute-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-absolute-version-devDependencies)
17+
- [`prefer-caret-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-caret-version-dependencies)
18+
- [`prefer-caret-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-caret-version-devDependencies)
19+
- [`prefer-no-version-zero-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-no-version-zero-dependencies)
20+
- [`prefer-no-version-zero-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-no-version-zero-devDependencies)
21+
- [`prefer-tilde-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-tilde-version-dependencies)
22+
- [`prefer-tilde-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-tilde-version-devDependencies)
23+
24+
> Addresses [#93](https://github.com/tclindner/npm-package-json-lint/issues/93)
725
826
### Changed
27+
- [`name-format`](https://github.com/tclindner/npm-package-json-lint/wiki/name-format) now checks the following things:
28+
29+
- Name is lowercase
30+
- Name is less than 214 characters. This includes scope.
31+
- Name doesn't start with a `.` or a `_`.
32+
33+
> Addresses [#115](https://github.com/tclindner/npm-package-json-lint/issues/115)
34+
35+
- Improved schema validation that runs against npm-package-json-lint config files. Highlights include:
36+
37+
- Better error messages. Ex: `- severity must be either "off", "warning", or "error".`
38+
- Array type rules now ensure at least one item is passed.
39+
- Array type rules now validate unique items are passed.
940

1041
### Fixed
1142

1243
### Removed
44+
- Dropped support for Node 6 and 7.
45+
1346

1447
## [3.7.0] - 2019-06-16
1548
### Added

jest.config.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ module.exports = {
44
collectCoverageFrom: ['src/**/*.js'],
55
coverageThreshold: {
66
global: {
7-
branches: 92,
8-
functions: 100,
9-
lines: 97,
10-
statements: 97
7+
branches: 87,
8+
functions: 91,
9+
lines: 92,
10+
statements: 92
1111
}
1212
},
1313
restoreMocks: true,

package.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,20 @@
2929
"main": "src/api.js",
3030
"scripts": {
3131
"eslint": "eslint . --format=node_modules/eslint-formatter-pretty",
32-
"lint": "npm run eslint",
32+
"npmpackagejsonlint": "node src/cli.js .",
33+
"lint": "npm run eslint && npm run npmpackagejsonlint",
3334
"test": "jest",
3435
"test:ci": "jest --runInBand"
3536
},
3637
"dependencies": {
3738
"ajv": "^6.10.0",
3839
"ajv-errors": "^1.0.1",
3940
"chalk": "^2.4.2",
40-
"glob": "^7.1.4",
41+
"cosmiconfig": "^5.2.1",
42+
"debug": "^4.1.1",
43+
"globby": "^10.0.1",
4144
"ignore": "^5.1.2",
42-
"is-path-inside": "^2.1.0",
4345
"is-plain-obj": "^2.0.0",
44-
"is-resolvable": "^1.1.0",
4546
"log-symbols": "^3.0.0",
4647
"meow": "^5.0.0",
4748
"plur": "^3.1.1",
@@ -50,13 +51,14 @@
5051
},
5152
"devDependencies": {
5253
"eslint": "^5.16.0",
53-
"eslint-config-tc": "^6.4.0",
54+
"eslint-config-tc": "^6.5.0",
5455
"eslint-formatter-pretty": "^2.1.1",
5556
"eslint-plugin-import": "^2.17.3",
5657
"eslint-plugin-prettier": "^3.1.0",
5758
"figures": "^3.0.0",
5859
"jest": "^24.8.0",
5960
"npm-package-json-lint-config-default": "^2.0.0",
61+
"npm-package-json-lint-config-tc": "^2.2.0",
6062
"prettier": "^1.18.2"
6163
},
6264
"engines": {

0 commit comments

Comments
 (0)