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.
Files changed (56) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/README.md +1 -0
  3. package/lib/createRule.d.ts +28 -28
  4. package/lib/createRule.js +18 -12
  5. package/lib/index.d.ts +33 -35
  6. package/lib/index.js +6 -6
  7. package/lib/plugin.d.ts +33 -34
  8. package/lib/plugin.js +62 -80
  9. package/lib/rules/no-empty-fields.d.ts +6 -11
  10. package/lib/rules/no-empty-fields.js +80 -114
  11. package/lib/rules/no-redundant-files.d.ts +5 -10
  12. package/lib/rules/no-redundant-files.js +93 -136
  13. package/lib/rules/order-properties.d.ts +6 -11
  14. package/lib/rules/order-properties.js +92 -118
  15. package/lib/rules/repository-shorthand.d.ts +6 -11
  16. package/lib/rules/repository-shorthand.js +79 -114
  17. package/lib/rules/require-properties.d.ts +7 -12
  18. package/lib/rules/require-properties.js +31 -27
  19. package/lib/rules/restrict-dependency-ranges.d.ts +9 -14
  20. package/lib/rules/restrict-dependency-ranges.js +137 -195
  21. package/lib/rules/sort-collections.d.ts +5 -10
  22. package/lib/rules/sort-collections.js +71 -116
  23. package/lib/rules/unique-dependencies.d.ts +5 -10
  24. package/lib/rules/unique-dependencies.js +58 -82
  25. package/lib/rules/valid-bin.d.ts +6 -11
  26. package/lib/rules/valid-bin.js +59 -79
  27. package/lib/rules/valid-local-dependency.d.ts +5 -10
  28. package/lib/rules/valid-local-dependency.js +49 -57
  29. package/lib/rules/valid-name.d.ts +5 -10
  30. package/lib/rules/valid-name.js +41 -48
  31. package/lib/rules/valid-package-definition.d.ts +6 -11
  32. package/lib/rules/valid-package-definition.js +41 -52
  33. package/lib/rules/valid-properties.d.ts +7 -7
  34. package/lib/rules/valid-properties.js +34 -55
  35. package/lib/rules/valid-repository-directory.d.ts +5 -10
  36. package/lib/rules/valid-repository-directory.js +65 -80
  37. package/lib/rules/valid-version.d.ts +5 -10
  38. package/lib/rules/valid-version.js +35 -36
  39. package/lib/types/estree.d.ts +8 -0
  40. package/lib/utils/createSimpleRequirePropertyRule.d.ts +19 -18
  41. package/lib/utils/createSimpleRequirePropertyRule.js +48 -53
  42. package/lib/utils/createSimpleValidPropertyRule.d.ts +6 -8
  43. package/lib/utils/createSimpleValidPropertyRule.js +45 -39
  44. package/lib/utils/findPropertyWithKeyValue.d.ts +6 -5
  45. package/lib/utils/findPropertyWithKeyValue.js +5 -6
  46. package/lib/utils/formatErrors.d.ts +3 -2
  47. package/lib/utils/formatErrors.js +11 -7
  48. package/lib/utils/isPackageJson.d.ts +3 -2
  49. package/lib/utils/isPackageJson.js +4 -3
  50. package/lib/utils/predicates.d.ts +4 -3
  51. package/lib/utils/predicates.js +6 -6
  52. package/package.json +5 -6
  53. package/lib/tests/rules/ruleTester.d.ts +0 -15
  54. package/lib/tests/rules/ruleTester.js +0 -25
  55. package/lib/types/estree.d.d.ts +0 -7
  56. package/lib/types/estree.d.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,11 +1,23 @@
1
1
  # Changelog
2
2
 
3
- ## [0.52.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.52.0...v0.52.1) (2025-08-07)
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
- * **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)
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 | ✔️ ✅ | | | |
@@ -1,45 +1,45 @@
1
- import * as ESTree from 'estree';
2
- import { AST as AST$1, Rule, SourceCode } from 'eslint';
3
- import { AST, RuleListener } from 'jsonc-eslint-parser';
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
- properties: JsonAstBodyProperty[];
7
+ properties: JsonAstBodyProperty[];
7
8
  };
8
9
  type JsonAstBodyProperty = AST.JSONProperty & {
9
- value: string;
10
+ value: string;
10
11
  };
11
12
  interface JsonAstBodyStatement extends ESTree.ExpressionStatement {
12
- expression: JsonAstBodyExpression;
13
+ expression: JsonAstBodyExpression;
13
14
  }
14
15
  interface PackageJsonAst extends AST$1.Program {
15
- body: [JsonAstBodyStatement];
16
+ body: [JsonAstBodyStatement];
16
17
  }
17
18
  interface PackageJsonPluginSettings {
18
- /**
19
- * Whether `require-*` rules, if used, should enforce the presence of
20
- * the corresponding property *in package.json files with `"private": true`*.
21
- *
22
- * If not specified, it will not enforce the presence only of `name` and `version` properties.
23
- */
24
- enforceForPrivate?: boolean;
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
- options: Options;
28
- settings: {
29
- packageJson?: PackageJsonPluginSettings;
30
- };
31
- sourceCode: PackageJsonSourceCode;
28
+ options: Options;
29
+ settings: {
30
+ packageJson?: PackageJsonPluginSettings;
31
+ };
32
+ sourceCode: PackageJsonSourceCode;
32
33
  }
33
34
  interface PackageJsonRuleModule<Options extends unknown[] = unknown[]> {
34
- create(context: PackageJsonRuleContext<Options>): RuleListener;
35
- meta: Rule.RuleMetaData;
35
+ create(context: PackageJsonRuleContext<Options>): RuleListener;
36
+ meta: Rule.RuleMetaData;
36
37
  }
37
38
  interface PackageJsonSourceCode extends SourceCode {
38
- ast: PackageJsonAst;
39
+ ast: PackageJsonAst;
39
40
  }
40
- declare function createRule<Options extends unknown[]>(rule: PackageJsonRuleModule<Options>): {
41
- create(context: PackageJsonRuleContext<Options>): RuleListener;
42
- meta: Rule.RuleMetaData;
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
- return {
4
- ...rule,
5
- create(context) {
6
- if (!isPackageJson(context.filename)) {
7
- return {};
8
- }
9
- return rule.create(context);
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
- export {
14
- createRule
15
- };
19
+
20
+ //#endregion
21
+ export { createRule };
package/lib/index.d.ts CHANGED
@@ -1,42 +1,40 @@
1
- import * as jsonc_eslint_parser from 'jsonc-eslint-parser';
2
- import { PackageJsonRuleModule } from './createRule.js';
3
- export { PackageJsonPluginSettings } from './createRule.js';
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
- "legacy-recommended": {
11
- plugins: string[];
12
- rules: {
13
- "package-json/valid-package-definition": ["error", {
14
- ignoreProperties: string[];
15
- }];
16
- };
8
+ "legacy-recommended": {
9
+ plugins: string[];
10
+ rules: {
11
+ "package-json/valid-package-definition": ["error", {
12
+ ignoreProperties: string[];
13
+ }];
17
14
  };
18
- recommended: {
19
- files: string[];
20
- languageOptions: {
21
- parser: typeof jsonc_eslint_parser;
22
- };
23
- name: string;
24
- plugins: {
25
- readonly "package-json": {
26
- configs: /*elided*/ any;
27
- meta: {
28
- name: string;
29
- version: string;
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 index_default = plugin;
5
- export {
6
- configs,
7
- index_default as default,
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 * as jsonc_eslint_parser from 'jsonc-eslint-parser';
2
- import { PackageJsonRuleModule } from './createRule.js';
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
- configs: {
8
- "legacy-recommended": {
9
- plugins: string[];
10
- rules: {
11
- "package-json/valid-package-definition": ["error", {
12
- ignoreProperties: string[];
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
- meta: {
33
- name: string;
34
- version: string;
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
- rules: Record<string, PackageJsonRuleModule<unknown[]>>;
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 * as parserJsonc from "jsonc-eslint-parser";
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 { rule as noEmptyFields } from "./rules/no-empty-fields.js";
4
- import { rule as noRedundantFiles } from "./rules/no-redundant-files.js";
5
- import { rule as orderProperties } from "./rules/order-properties.js";
6
- import { rule as preferRepositoryShorthand } from "./rules/repository-shorthand.js";
7
- import { rules as requireRules } from "./rules/require-properties.js";
8
- import { rule as restrictDependencyRanges } from "./rules/restrict-dependency-ranges.js";
9
- import { rule as sortCollections } from "./rules/sort-collections.js";
10
- import { rule as uniqueDependencies } from "./rules/unique-dependencies.js";
11
- import { rule as validBin } from "./rules/valid-bin.js";
12
- import { rule as validLocalDependency } from "./rules/valid-local-dependency.js";
13
- import { rule as validName } from "./rules/valid-name.js";
14
- import { rule as validPackageDefinition } from "./rules/valid-package-definition.js";
15
- import { rules as basicValidRules } from "./rules/valid-properties.js";
16
- import { rule as validRepositoryDirectory } from "./rules/valid-repository-directory.js";
17
- import { rule as validVersion } from "./rules/valid-version.js";
18
- const require2 = createRequire(import.meta.url);
19
- const { name, version } = require2("../package.json");
20
- const rules = {
21
- "no-empty-fields": noEmptyFields,
22
- "no-redundant-files": noRedundantFiles,
23
- "order-properties": orderProperties,
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
- ...baseRecommendedRules,
44
- // As we add more `valid-*` rules, we should prevent this legacy rule from
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
- configs: {
60
- "legacy-recommended": {
61
- plugins: ["package-json"],
62
- rules: recommendedRules
63
- },
64
- recommended: {
65
- files: ["**/package.json"],
66
- languageOptions: {
67
- parser: parserJsonc
68
- },
69
- name: "package-json/recommended",
70
- plugins: {
71
- get "package-json"() {
72
- return plugin;
73
- }
74
- },
75
- rules: recommendedRules
76
- }
77
- },
78
- meta: {
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 * as eslint from 'eslint';
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
- ignoreProperties?: string[];
5
+ ignoreProperties?: string[];
8
6
  }
9
7
  type Options = [Option?];
10
- declare const rule: {
11
- create(context: PackageJsonRuleContext<Options>): jsonc_eslint_parser.RuleListener;
12
- meta: eslint.Rule.RuleMetaData;
13
- };
14
-
15
- export { rule };
8
+ declare const rule: PackageJsonRuleModule<Options>;
9
+ //#endregion
10
+ export { rule };