Skip to content

Commit

Permalink
Config overrides api (#123)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
tclindner committed Jul 27, 2019
1 parent 42ed0bf commit 8f93878
Show file tree
Hide file tree
Showing 39 changed files with 2,284 additions and 2,898 deletions.
6 changes: 6 additions & 0 deletions .npmpackagejsonlintrc.json
@@ -0,0 +1,6 @@
{
"extends": "npm-package-json-lint-config-tc",
"rules": {
"require-peerDependencies": "off"
}
}
33 changes: 33 additions & 0 deletions CHANGELOG.md
Expand Up @@ -4,12 +4,45 @@ This project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]
### Added
- Added exception support to the following rules:

- [`no-absolute-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-absolute-version-dependencies)
- [`no-absolute-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-absolute-version-devDependencies)
- [`no-caret-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-caret-version-dependencies)
- [`no-caret-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-caret-version-devDependencies)
- [`no-tilde-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-tilde-version-dependencies)
- [`no-tilde-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/no-tilde-version-devDependencies)
- [`prefer-absolute-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-absolute-version-dependencies)
- [`prefer-absolute-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-absolute-version-devDependencies)
- [`prefer-caret-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-caret-version-dependencies)
- [`prefer-caret-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-caret-version-devDependencies)
- [`prefer-no-version-zero-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-no-version-zero-dependencies)
- [`prefer-no-version-zero-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-no-version-zero-devDependencies)
- [`prefer-tilde-version-dependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-tilde-version-dependencies)
- [`prefer-tilde-version-devDependencies`](https://github.com/tclindner/npm-package-json-lint/wiki/prefer-tilde-version-devDependencies)

> Addresses [#93](https://github.com/tclindner/npm-package-json-lint/issues/93)
### Changed
- [`name-format`](https://github.com/tclindner/npm-package-json-lint/wiki/name-format) now checks the following things:

- Name is lowercase
- Name is less than 214 characters. This includes scope.
- Name doesn't start with a `.` or a `_`.

> Addresses [#115](https://github.com/tclindner/npm-package-json-lint/issues/115)
- Improved schema validation that runs against npm-package-json-lint config files. Highlights include:

- Better error messages. Ex: `- severity must be either "off", "warning", or "error".`
- Array type rules now ensure at least one item is passed.
- Array type rules now validate unique items are passed.

### Fixed

### Removed
- Dropped support for Node 6 and 7.


## [3.7.0] - 2019-06-16
### Added
Expand Down
8 changes: 4 additions & 4 deletions jest.config.js
Expand Up @@ -4,10 +4,10 @@ module.exports = {
collectCoverageFrom: ['src/**/*.js'],
coverageThreshold: {
global: {
branches: 92,
functions: 100,
lines: 97,
statements: 97
branches: 87,
functions: 91,
lines: 92,
statements: 92
}
},
restoreMocks: true,
Expand Down
12 changes: 7 additions & 5 deletions package.json
Expand Up @@ -29,19 +29,20 @@
"main": "src/api.js",
"scripts": {
"eslint": "eslint . --format=node_modules/eslint-formatter-pretty",
"lint": "npm run eslint",
"npmpackagejsonlint": "node src/cli.js .",
"lint": "npm run eslint && npm run npmpackagejsonlint",
"test": "jest",
"test:ci": "jest --runInBand"
},
"dependencies": {
"ajv": "^6.10.0",
"ajv-errors": "^1.0.1",
"chalk": "^2.4.2",
"glob": "^7.1.4",
"cosmiconfig": "^5.2.1",
"debug": "^4.1.1",
"globby": "^10.0.1",
"ignore": "^5.1.2",
"is-path-inside": "^2.1.0",
"is-plain-obj": "^2.0.0",
"is-resolvable": "^1.1.0",
"log-symbols": "^3.0.0",
"meow": "^5.0.0",
"plur": "^3.1.1",
Expand All @@ -50,13 +51,14 @@
},
"devDependencies": {
"eslint": "^5.16.0",
"eslint-config-tc": "^6.4.0",
"eslint-config-tc": "^6.5.0",
"eslint-formatter-pretty": "^2.1.1",
"eslint-plugin-import": "^2.17.3",
"eslint-plugin-prettier": "^3.1.0",
"figures": "^3.0.0",
"jest": "^24.8.0",
"npm-package-json-lint-config-default": "^2.0.0",
"npm-package-json-lint-config-tc": "^2.2.0",
"prettier": "^1.18.2"
},
"engines": {
Expand Down

0 comments on commit 8f93878

Please sign in to comment.