eslint-plugin-package-json 0.52.1 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -2
- package/README.md +1 -0
- package/lib/createRule.d.ts +28 -28
- package/lib/createRule.js +18 -12
- package/lib/index.d.ts +33 -35
- package/lib/index.js +6 -6
- package/lib/plugin.d.ts +33 -34
- package/lib/plugin.js +62 -80
- package/lib/rules/no-empty-fields.d.ts +6 -11
- package/lib/rules/no-empty-fields.js +80 -114
- package/lib/rules/no-redundant-files.d.ts +5 -10
- package/lib/rules/no-redundant-files.js +93 -136
- package/lib/rules/order-properties.d.ts +6 -11
- package/lib/rules/order-properties.js +92 -118
- package/lib/rules/repository-shorthand.d.ts +6 -11
- package/lib/rules/repository-shorthand.js +79 -114
- package/lib/rules/require-properties.d.ts +7 -12
- package/lib/rules/require-properties.js +31 -27
- package/lib/rules/restrict-dependency-ranges.d.ts +9 -14
- package/lib/rules/restrict-dependency-ranges.js +137 -195
- package/lib/rules/sort-collections.d.ts +5 -10
- package/lib/rules/sort-collections.js +71 -116
- package/lib/rules/unique-dependencies.d.ts +5 -10
- package/lib/rules/unique-dependencies.js +58 -82
- package/lib/rules/valid-bin.d.ts +6 -11
- package/lib/rules/valid-bin.js +59 -79
- package/lib/rules/valid-local-dependency.d.ts +5 -10
- package/lib/rules/valid-local-dependency.js +49 -57
- package/lib/rules/valid-name.d.ts +5 -10
- package/lib/rules/valid-name.js +41 -48
- package/lib/rules/valid-package-definition.d.ts +6 -11
- package/lib/rules/valid-package-definition.js +41 -52
- package/lib/rules/valid-properties.d.ts +7 -7
- package/lib/rules/valid-properties.js +34 -55
- package/lib/rules/valid-repository-directory.d.ts +5 -10
- package/lib/rules/valid-repository-directory.js +65 -80
- package/lib/rules/valid-version.d.ts +5 -10
- package/lib/rules/valid-version.js +35 -36
- package/lib/types/estree.d.ts +8 -0
- package/lib/utils/createSimpleRequirePropertyRule.d.ts +19 -18
- package/lib/utils/createSimpleRequirePropertyRule.js +48 -53
- package/lib/utils/createSimpleValidPropertyRule.d.ts +6 -8
- package/lib/utils/createSimpleValidPropertyRule.js +45 -39
- package/lib/utils/findPropertyWithKeyValue.d.ts +6 -5
- package/lib/utils/findPropertyWithKeyValue.js +5 -6
- package/lib/utils/formatErrors.d.ts +3 -2
- package/lib/utils/formatErrors.js +11 -7
- package/lib/utils/isPackageJson.d.ts +3 -2
- package/lib/utils/isPackageJson.js +4 -3
- package/lib/utils/predicates.d.ts +4 -3
- package/lib/utils/predicates.js +6 -6
- package/package.json +5 -6
- package/lib/tests/rules/ruleTester.d.ts +0 -15
- package/lib/tests/rules/ruleTester.js +0 -25
- package/lib/types/estree.d.d.ts +0 -7
- package/lib/types/estree.d.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# [0.54.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.53.0...v0.54.0) (2025-08-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **valid-exports:** add new rule for validating `exports` ([#1220](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1220)) ([2af10da](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/2af10dae3398832819c6dd37730ffef5ee3329b7)), closes [#1033](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1033)
|
|
4
9
|
|
|
10
|
+
# [0.53.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.52.1...v0.53.0) (2025-08-13)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- add docs url to all rules ([#1218](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1218)) ([d456b13](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/d456b13d2c30e71d11294a315282859c66a4b1b7)), closes [#1217](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1217)
|
|
15
|
+
|
|
16
|
+
## [0.52.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.52.0...v0.52.1) (2025-08-07)
|
|
5
17
|
|
|
6
18
|
### Bug Fixes
|
|
7
19
|
|
|
8
|
-
|
|
20
|
+
- **sort-collections:** align sorting of scripts with `prettier-plugin-packagejson` ([#1203](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1203)) ([1f5c590](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1f5c590adc846194766127ab962f8efa72942d06)), closes [#753](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/753)
|
|
9
21
|
|
|
10
22
|
# [0.52.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.51.0...v0.52.0) (2025-08-07)
|
|
11
23
|
|
package/README.md
CHANGED
|
@@ -185,6 +185,7 @@ The default settings don't conflict, and Prettier plugins can quickly fix up ord
|
|
|
185
185
|
| [valid-dependencies](docs/rules/valid-dependencies.md) | Enforce that the `dependencies` property is valid. | ✔️ ✅ | | | |
|
|
186
186
|
| [valid-description](docs/rules/valid-description.md) | Enforce that the `description` property is valid. | ✔️ ✅ | | | |
|
|
187
187
|
| [valid-devDependencies](docs/rules/valid-devDependencies.md) | Enforce that the `devDependencies` property is valid. | ✔️ ✅ | | | |
|
|
188
|
+
| [valid-exports](docs/rules/valid-exports.md) | Enforce that the `exports` property is valid. | ✔️ ✅ | | | |
|
|
188
189
|
| [valid-license](docs/rules/valid-license.md) | Enforce that the `license` property is valid. | ✔️ ✅ | | | |
|
|
189
190
|
| [valid-local-dependency](docs/rules/valid-local-dependency.md) | Checks existence of local dependencies in the package.json | | | | ❌ |
|
|
190
191
|
| [valid-name](docs/rules/valid-name.md) | Enforce that package names are valid npm package names | ✔️ ✅ | | | |
|
package/lib/createRule.d.ts
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { AST,
|
|
1
|
+
import { AST, RuleListener } from "jsonc-eslint-parser";
|
|
2
|
+
import * as ESTree from "estree";
|
|
3
|
+
import { AST as AST$1, Rule, SourceCode } from "eslint";
|
|
4
4
|
|
|
5
|
+
//#region src/createRule.d.ts
|
|
5
6
|
type JsonAstBodyExpression = ESTree.Expression & {
|
|
6
|
-
|
|
7
|
+
properties: JsonAstBodyProperty[];
|
|
7
8
|
};
|
|
8
9
|
type JsonAstBodyProperty = AST.JSONProperty & {
|
|
9
|
-
|
|
10
|
+
value: string;
|
|
10
11
|
};
|
|
11
12
|
interface JsonAstBodyStatement extends ESTree.ExpressionStatement {
|
|
12
|
-
|
|
13
|
+
expression: JsonAstBodyExpression;
|
|
13
14
|
}
|
|
14
15
|
interface PackageJsonAst extends AST$1.Program {
|
|
15
|
-
|
|
16
|
+
body: [JsonAstBodyStatement];
|
|
16
17
|
}
|
|
17
18
|
interface PackageJsonPluginSettings {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Whether `require-*` rules, if used, should enforce the presence of
|
|
21
|
+
* the corresponding property *in package.json files with `"private": true`*.
|
|
22
|
+
*
|
|
23
|
+
* If not specified, it will not enforce the presence only of `name` and `version` properties.
|
|
24
|
+
*/
|
|
25
|
+
enforceForPrivate?: boolean;
|
|
25
26
|
}
|
|
26
27
|
interface PackageJsonRuleContext<Options extends unknown[] = unknown[]> extends Rule.RuleContext {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
options: Options;
|
|
29
|
+
settings: {
|
|
30
|
+
packageJson?: PackageJsonPluginSettings;
|
|
31
|
+
};
|
|
32
|
+
sourceCode: PackageJsonSourceCode;
|
|
32
33
|
}
|
|
33
34
|
interface PackageJsonRuleModule<Options extends unknown[] = unknown[]> {
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
create(context: PackageJsonRuleContext<Options>): RuleListener;
|
|
36
|
+
meta: Rule.RuleMetaData;
|
|
36
37
|
}
|
|
37
38
|
interface PackageJsonSourceCode extends SourceCode {
|
|
38
|
-
|
|
39
|
+
ast: PackageJsonAst;
|
|
39
40
|
}
|
|
40
|
-
declare function createRule<Options extends unknown[]>(rule: PackageJsonRuleModule<Options>
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
export { type JsonAstBodyExpression, type JsonAstBodyProperty, type JsonAstBodyStatement, type PackageJsonAst, type PackageJsonPluginSettings, type PackageJsonRuleContext, type PackageJsonRuleModule, type PackageJsonSourceCode, createRule };
|
|
41
|
+
declare function createRule<Options extends unknown[]>(rule: PackageJsonRuleModule<Options> & {
|
|
42
|
+
name: string;
|
|
43
|
+
}): PackageJsonRuleModule<Options>;
|
|
44
|
+
//#endregion
|
|
45
|
+
export { JsonAstBodyExpression, JsonAstBodyProperty, JsonAstBodyStatement, PackageJsonAst, PackageJsonPluginSettings, PackageJsonRuleContext, PackageJsonRuleModule, PackageJsonSourceCode, createRule };
|
package/lib/createRule.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { isPackageJson } from "./utils/isPackageJson.js";
|
|
2
|
+
|
|
3
|
+
//#region src/createRule.ts
|
|
2
4
|
function createRule(rule) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
return {
|
|
6
|
+
create(context) {
|
|
7
|
+
if (!isPackageJson(context.filename)) return {};
|
|
8
|
+
return rule.create(context);
|
|
9
|
+
},
|
|
10
|
+
meta: {
|
|
11
|
+
...rule.meta,
|
|
12
|
+
docs: {
|
|
13
|
+
...rule.meta.docs,
|
|
14
|
+
url: `https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/${rule.name}.md`
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
12
18
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { createRule };
|
package/lib/index.d.ts
CHANGED
|
@@ -1,42 +1,40 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { plugin } from './plugin.js';
|
|
5
|
-
import 'estree';
|
|
6
|
-
import 'eslint';
|
|
1
|
+
import { PackageJsonPluginSettings, PackageJsonRuleModule } from "./createRule.js";
|
|
2
|
+
import { plugin } from "./plugin.js";
|
|
3
|
+
import * as jsonc_eslint_parser0 from "jsonc-eslint-parser";
|
|
7
4
|
|
|
5
|
+
//#region src/index.d.ts
|
|
8
6
|
declare const rules: Record<string, PackageJsonRuleModule<unknown[]>>;
|
|
9
7
|
declare const configs: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
8
|
+
"legacy-recommended": {
|
|
9
|
+
plugins: string[];
|
|
10
|
+
rules: {
|
|
11
|
+
"package-json/valid-package-definition": ["error", {
|
|
12
|
+
ignoreProperties: string[];
|
|
13
|
+
}];
|
|
17
14
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
rules: Record<string, PackageJsonRuleModule<unknown[]>>;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
rules: {
|
|
35
|
-
"package-json/valid-package-definition": ["error", {
|
|
36
|
-
ignoreProperties: string[];
|
|
37
|
-
}];
|
|
15
|
+
};
|
|
16
|
+
recommended: {
|
|
17
|
+
files: string[];
|
|
18
|
+
languageOptions: {
|
|
19
|
+
parser: typeof jsonc_eslint_parser0;
|
|
20
|
+
};
|
|
21
|
+
name: string;
|
|
22
|
+
plugins: {
|
|
23
|
+
readonly "package-json": {
|
|
24
|
+
configs: /*elided*/any;
|
|
25
|
+
meta: {
|
|
26
|
+
name: string;
|
|
27
|
+
version: string;
|
|
38
28
|
};
|
|
29
|
+
rules: Record<string, PackageJsonRuleModule<unknown[]>>;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
rules: {
|
|
33
|
+
"package-json/valid-package-definition": ["error", {
|
|
34
|
+
ignoreProperties: string[];
|
|
35
|
+
}];
|
|
39
36
|
};
|
|
37
|
+
};
|
|
40
38
|
};
|
|
41
|
-
|
|
42
|
-
export { configs, plugin as default, rules };
|
|
39
|
+
//#endregion
|
|
40
|
+
export { type PackageJsonPluginSettings, configs, plugin as default, rules };
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { plugin } from "./plugin.js";
|
|
2
|
+
|
|
3
|
+
//#region src/index.ts
|
|
2
4
|
const rules = plugin.rules;
|
|
3
5
|
const configs = plugin.configs;
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
rules
|
|
9
|
-
};
|
|
6
|
+
var src_default = plugin;
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { configs, src_default as default, rules };
|
package/lib/plugin.d.ts
CHANGED
|
@@ -1,39 +1,38 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import 'estree';
|
|
4
|
-
import 'eslint';
|
|
1
|
+
import { PackageJsonRuleModule } from "./createRule.js";
|
|
2
|
+
import * as parserJsonc from "jsonc-eslint-parser";
|
|
5
3
|
|
|
4
|
+
//#region src/plugin.d.ts
|
|
6
5
|
declare const plugin: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
recommended: {
|
|
17
|
-
files: string[];
|
|
18
|
-
languageOptions: {
|
|
19
|
-
parser: typeof jsonc_eslint_parser;
|
|
20
|
-
};
|
|
21
|
-
name: string;
|
|
22
|
-
plugins: {
|
|
23
|
-
readonly "package-json": /*elided*/ any;
|
|
24
|
-
};
|
|
25
|
-
rules: {
|
|
26
|
-
"package-json/valid-package-definition": ["error", {
|
|
27
|
-
ignoreProperties: string[];
|
|
28
|
-
}];
|
|
29
|
-
};
|
|
30
|
-
};
|
|
6
|
+
configs: {
|
|
7
|
+
"legacy-recommended": {
|
|
8
|
+
plugins: string[];
|
|
9
|
+
rules: {
|
|
10
|
+
"package-json/valid-package-definition": ["error", {
|
|
11
|
+
ignoreProperties: string[];
|
|
12
|
+
}];
|
|
13
|
+
};
|
|
31
14
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
recommended: {
|
|
16
|
+
files: string[];
|
|
17
|
+
languageOptions: {
|
|
18
|
+
parser: typeof parserJsonc;
|
|
19
|
+
};
|
|
20
|
+
name: string;
|
|
21
|
+
plugins: {
|
|
22
|
+
readonly "package-json": /*elided*/any;
|
|
23
|
+
};
|
|
24
|
+
rules: {
|
|
25
|
+
"package-json/valid-package-definition": ["error", {
|
|
26
|
+
ignoreProperties: string[];
|
|
27
|
+
}];
|
|
28
|
+
};
|
|
35
29
|
};
|
|
36
|
-
|
|
30
|
+
};
|
|
31
|
+
meta: {
|
|
32
|
+
name: string;
|
|
33
|
+
version: string;
|
|
34
|
+
};
|
|
35
|
+
rules: Record<string, PackageJsonRuleModule<unknown[]>>;
|
|
37
36
|
};
|
|
38
|
-
|
|
39
|
-
export { plugin };
|
|
37
|
+
//#endregion
|
|
38
|
+
export { plugin };
|
package/lib/plugin.js
CHANGED
|
@@ -1,86 +1,68 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { rule } from "./rules/no-empty-fields.js";
|
|
2
|
+
import { rule as rule$1 } from "./rules/no-redundant-files.js";
|
|
3
|
+
import { rule as rule$2 } from "./rules/order-properties.js";
|
|
4
|
+
import { rule as rule$3 } from "./rules/repository-shorthand.js";
|
|
5
|
+
import { rules } from "./rules/require-properties.js";
|
|
6
|
+
import { rule as rule$4 } from "./rules/restrict-dependency-ranges.js";
|
|
7
|
+
import { rule as rule$5 } from "./rules/sort-collections.js";
|
|
8
|
+
import { rule as rule$6 } from "./rules/unique-dependencies.js";
|
|
9
|
+
import { rule as rule$7 } from "./rules/valid-bin.js";
|
|
10
|
+
import { rule as rule$8 } from "./rules/valid-local-dependency.js";
|
|
11
|
+
import { rule as rule$9 } from "./rules/valid-name.js";
|
|
12
|
+
import { rule as rule$10 } from "./rules/valid-package-definition.js";
|
|
13
|
+
import { rules as rules$1 } from "./rules/valid-properties.js";
|
|
14
|
+
import { rule as rule$11 } from "./rules/valid-repository-directory.js";
|
|
15
|
+
import { rule as rule$12 } from "./rules/valid-version.js";
|
|
2
16
|
import { createRequire } from "node:module";
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
...requireRules,
|
|
25
|
-
"repository-shorthand": preferRepositoryShorthand,
|
|
26
|
-
"restrict-dependency-ranges": restrictDependencyRanges,
|
|
27
|
-
"sort-collections": sortCollections,
|
|
28
|
-
"unique-dependencies": uniqueDependencies,
|
|
29
|
-
...basicValidRules,
|
|
30
|
-
"valid-bin": validBin,
|
|
31
|
-
"valid-local-dependency": validLocalDependency,
|
|
32
|
-
"valid-name": validName,
|
|
33
|
-
"valid-package-definition": validPackageDefinition,
|
|
34
|
-
"valid-repository-directory": validRepositoryDirectory,
|
|
35
|
-
"valid-version": validVersion
|
|
36
|
-
};
|
|
37
|
-
const baseRecommendedRules = {
|
|
38
|
-
...Object.fromEntries(
|
|
39
|
-
Object.entries(rules).filter(([, rule]) => rule.meta.docs?.recommended).map(([name2]) => ["package-json/" + name2, "error"])
|
|
40
|
-
)
|
|
17
|
+
import * as parserJsonc from "jsonc-eslint-parser";
|
|
18
|
+
|
|
19
|
+
//#region src/plugin.ts
|
|
20
|
+
const require = createRequire(import.meta.url);
|
|
21
|
+
const { name, version } = require("../package.json");
|
|
22
|
+
const rules$2 = {
|
|
23
|
+
"no-empty-fields": rule,
|
|
24
|
+
"no-redundant-files": rule$1,
|
|
25
|
+
"order-properties": rule$2,
|
|
26
|
+
...rules,
|
|
27
|
+
"repository-shorthand": rule$3,
|
|
28
|
+
"restrict-dependency-ranges": rule$4,
|
|
29
|
+
"sort-collections": rule$5,
|
|
30
|
+
"unique-dependencies": rule$6,
|
|
31
|
+
...rules$1,
|
|
32
|
+
"valid-bin": rule$7,
|
|
33
|
+
"valid-local-dependency": rule$8,
|
|
34
|
+
"valid-name": rule$9,
|
|
35
|
+
"valid-package-definition": rule$10,
|
|
36
|
+
"valid-repository-directory": rule$11,
|
|
37
|
+
"valid-version": rule$12
|
|
41
38
|
};
|
|
39
|
+
const baseRecommendedRules = { ...Object.fromEntries(Object.entries(rules$2).filter(([, rule$13]) => rule$13.meta.docs?.recommended).map(([name$1]) => ["package-json/" + name$1, "error"])) };
|
|
42
40
|
const recommendedRules = {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// also reporting the same errors.
|
|
46
|
-
"package-json/valid-package-definition": [
|
|
47
|
-
"error",
|
|
48
|
-
{
|
|
49
|
-
// Create a list of properties to ignore based on the valid-* rules
|
|
50
|
-
// we currently have. Once we've fully covered what `valid-package-definition`
|
|
51
|
-
// checks, we can remove it from the `recommended` config entirely.
|
|
52
|
-
ignoreProperties: Object.entries(baseRecommendedRules).filter(
|
|
53
|
-
([name2]) => name2.startsWith("package-json/valid-") && name2 !== "package-json/valid-package-definition"
|
|
54
|
-
).map(([name2]) => name2.replace("package-json/valid-", ""))
|
|
55
|
-
}
|
|
56
|
-
]
|
|
41
|
+
...baseRecommendedRules,
|
|
42
|
+
"package-json/valid-package-definition": ["error", { ignoreProperties: Object.entries(baseRecommendedRules).filter(([name$1]) => name$1.startsWith("package-json/valid-") && name$1 !== "package-json/valid-package-definition").map(([name$1]) => name$1.replace("package-json/valid-", "")) }]
|
|
57
43
|
};
|
|
58
44
|
const plugin = {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
name,
|
|
80
|
-
version
|
|
81
|
-
},
|
|
82
|
-
rules
|
|
83
|
-
};
|
|
84
|
-
export {
|
|
85
|
-
plugin
|
|
45
|
+
configs: {
|
|
46
|
+
"legacy-recommended": {
|
|
47
|
+
plugins: ["package-json"],
|
|
48
|
+
rules: recommendedRules
|
|
49
|
+
},
|
|
50
|
+
recommended: {
|
|
51
|
+
files: ["**/package.json"],
|
|
52
|
+
languageOptions: { parser: parserJsonc },
|
|
53
|
+
name: "package-json/recommended",
|
|
54
|
+
plugins: { get "package-json"() {
|
|
55
|
+
return plugin;
|
|
56
|
+
} },
|
|
57
|
+
rules: recommendedRules
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
meta: {
|
|
61
|
+
name,
|
|
62
|
+
version
|
|
63
|
+
},
|
|
64
|
+
rules: rules$2
|
|
86
65
|
};
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
export { plugin };
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as jsonc_eslint_parser from 'jsonc-eslint-parser';
|
|
3
|
-
import { PackageJsonRuleContext } from '../createRule.js';
|
|
4
|
-
import 'estree';
|
|
1
|
+
import { PackageJsonRuleModule } from "../createRule.js";
|
|
5
2
|
|
|
3
|
+
//#region src/rules/no-empty-fields.d.ts
|
|
6
4
|
interface Option {
|
|
7
|
-
|
|
5
|
+
ignoreProperties?: string[];
|
|
8
6
|
}
|
|
9
7
|
type Options = [Option?];
|
|
10
|
-
declare const rule:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { rule };
|
|
8
|
+
declare const rule: PackageJsonRuleModule<Options>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { rule };
|