Skip to content

Commit

Permalink
4.1.0 (#158)
Browse files Browse the repository at this point in the history
* Bump deps

* Add prefer-no-dependencies rule

Closes #134

* Add prefer-no-optionalDependencies rule

Closes #135

* Add prefer-no-peerDependencies rule

Closes #136

* Generate v4.1.0 docs

* Remove exceptions from docs since they aren't valid for these rules

Switch rules to standard rules
  • Loading branch information
tclindner committed Nov 10, 2019
1 parent 279c63f commit 928a1d3
Show file tree
Hide file tree
Showing 19 changed files with 683 additions and 59 deletions.
3 changes: 3 additions & 0 deletions docs/rules.md
Expand Up @@ -138,4 +138,7 @@ Rules allow npm-package-json-lint to be fully customizable. npm-package-json-lin
> Generates an error if the node is present
* [prefer-no-engineStrict](rules/disallowed-nodes/prefer-no-engineStrict)
* [prefer-no-dependencies](rules/disallowed-nodes/prefer-no-dependencies)
* [prefer-no-devDependencies](rules/disallowed-nodes/prefer-no-devDependencies)
* [prefer-no-optionalDependencies](rules/disallowed-nodes/prefer-no-optionalDependencies)
* [prefer-no-peerDependencies](rules/disallowed-nodes/prefer-no-peerDependencies)
40 changes: 40 additions & 0 deletions docs/rules/disallowed-nodes/prefer-no-dependencies.md
@@ -0,0 +1,40 @@
---
id: prefer-no-dependencies
title: prefer-no-dependencies
---

Enabling this rule will result in an error being generated if `dependencies` is present.

## Example .npmpackagejsonlintrc configuration

```json
{
"rules": {
"prefer-no-dependencies": "error"
}
}
```

## Rule Details

### *Incorrect* example(s)

```json
{
"dependencies": {
"npm-package-json-lint-config-default": "^0.3.0"
}
}
```

### *Correct* example(s)

```json
{

}
```

## History

* Introduced in version 4.1.0
19 changes: 4 additions & 15 deletions docs/rules/disallowed-nodes/prefer-no-devDependencies.md
Expand Up @@ -15,34 +15,23 @@ Enabling this rule will result in an error being generated if `devDependencies`
}
```

With exceptions

```json
{
"rules": {
"prefer-no-devDependencies": ["error", {
"exceptions": ["myModule"]
}]
}
}
```


## Rule Details

### *Incorrect* example(s)

```json
{
"devDependencies": "dummy-value"
"devDependencies": {
"npm-package-json-lint-config-default": "^0.3.0"
}
}
```

### *Correct* example(s)

```json
{
"prefer-no-devDependencies": "error"

}
```

Expand Down
40 changes: 40 additions & 0 deletions docs/rules/disallowed-nodes/prefer-no-optionalDependencies.md
@@ -0,0 +1,40 @@
---
id: prefer-no-optionalDependencies
title: prefer-no-optionalDependencies
---

Enabling this rule will result in an error being generated if `optionalDependencies` is present.

## Example .npmpackagejsonlintrc configuration

```json
{
"rules": {
"prefer-no-optionalDependencies": "error"
}
}
```

## Rule Details

### *Incorrect* example(s)

```json
{
"optionalDependencies": {
"npm-package-json-lint-config-default": "^0.3.0"
}
}
```

### *Correct* example(s)

```json
{

}
```

## History

* Introduced in version 4.1.0
41 changes: 41 additions & 0 deletions docs/rules/disallowed-nodes/prefer-no-peerDependencies.md
@@ -0,0 +1,41 @@
---
id: prefer-no-peerDependencies
title: prefer-no-peerDependencies
---

Enabling this rule will result in an error being generated if `peerDependencies` is present.

## Example .npmpackagejsonlintrc configuration

```json
{
"rules": {
"prefer-no-peerDependencies": "error"
}
}
```


## Rule Details

### *Incorrect* example(s)

```json
{
"peerDependencies": {
"npm-package-json-lint-config-default": "^0.3.0"
}
}
```

### *Correct* example(s)

```json
{

}
```

## History

* Introduced in version 4.1.0
73 changes: 33 additions & 40 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "npm-package-json-lint",
"version": "4.0.5",
"version": "4.1.0",
"description": "Configurable linter for package.json files.",
"keywords": [
"lint",
Expand Down Expand Up @@ -51,16 +51,16 @@
},
"devDependencies": {
"eslint": "^6.6.0",
"eslint-config-tc": "^8.1.0",
"eslint-config-tc": "^9.0.0",
"eslint-formatter-pretty": "^2.1.1",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jest": "^22.20.1",
"eslint-plugin-jest": "^23.0.3",
"eslint-plugin-prettier": "^3.1.1",
"figures": "^3.1.0",
"jest": "^24.9.0",
"npm-package-json-lint-config-default": "^2.0.0",
"npm-package-json-lint-config-tc": "^3.0.0",
"prettier": "^1.18.2"
"prettier": "^1.19.1"
},
"engines": {
"node": ">=8.0.0",
Expand Down
20 changes: 20 additions & 0 deletions src/rules/prefer-no-dependencies.js
@@ -0,0 +1,20 @@
const {exists} = require('../validators/property');
const LintIssue = require('../LintIssue');

const lintId = 'prefer-no-dependencies';
const nodeName = 'dependencies';
const message = 'dependencies should not be defined';
const ruleType = 'standard';

const lint = (packageJsonData, severity) => {
if (exists(packageJsonData, nodeName)) {
return new LintIssue(lintId, severity, nodeName, message);
}

return true;
};

module.exports = {
lint,
ruleType
};
20 changes: 20 additions & 0 deletions src/rules/prefer-no-optionalDependencies.js
@@ -0,0 +1,20 @@
const {exists} = require('../validators/property');
const LintIssue = require('../LintIssue');

const lintId = 'prefer-no-optionalDependencies';
const nodeName = 'optionalDependencies';
const message = 'optionalDependencies should not be defined';
const ruleType = 'standard';

const lint = (packageJsonData, severity) => {
if (exists(packageJsonData, nodeName)) {
return new LintIssue(lintId, severity, nodeName, message);
}

return true;
};

module.exports = {
lint,
ruleType
};
20 changes: 20 additions & 0 deletions src/rules/prefer-no-peerDependencies.js
@@ -0,0 +1,20 @@
const {exists} = require('../validators/property');
const LintIssue = require('../LintIssue');

const lintId = 'prefer-no-peerDependencies';
const nodeName = 'peerDependencies';
const message = 'peerDependencies should not be defined';
const ruleType = 'standard';

const lint = (packageJsonData, severity) => {
if (exists(packageJsonData, nodeName)) {
return new LintIssue(lintId, severity, nodeName, message);
}

return true;
};

module.exports = {
lint,
ruleType
};

0 comments on commit 928a1d3

Please sign in to comment.