eslint-plugin-package-json 0.52.0 → 0.53.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/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 -112
- 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 -116
- package/lib/rules/repository-shorthand.d.ts +6 -11
- package/lib/rules/repository-shorthand.js +79 -112
- 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 -189
- package/lib/rules/sort-collections.d.ts +5 -10
- package/lib/rules/sort-collections.js +71 -124
- 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 -78
- 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 -50
- package/lib/rules/valid-properties.d.ts +7 -7
- package/lib/rules/valid-properties.js +33 -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 +8 -8
- 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
|
-
# [0.
|
|
3
|
+
# [0.53.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.52.1...v0.53.0) (2025-08-13)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* 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)
|
|
4
9
|
|
|
10
|
+
## [0.52.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.52.0...v0.52.1) (2025-08-07)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **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)
|
|
15
|
+
|
|
16
|
+
# [0.52.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.51.0...v0.52.0) (2025-08-07)
|
|
5
17
|
|
|
6
18
|
### Features
|
|
7
19
|
|
|
8
|
-
|
|
20
|
+
- **valid-description:** add new rule for validating `description` ([#1204](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1204)) ([4acb265](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4acb26563c0cacb5834c8b53dae68fb291c0ffd1)), closes [#823](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/823)
|
|
9
21
|
|
|
10
22
|
# [0.51.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.50.0...v0.51.0) (2025-08-05)
|
|
11
23
|
|
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 };
|