eslint-plugin-package-json 0.49.0 → 0.51.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 CHANGED
@@ -1,11 +1,23 @@
1
1
  # Changelog
2
2
 
3
- # [0.49.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.48.0...v0.49.0) (2025-08-05)
3
+ # [0.51.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.50.0...v0.51.0) (2025-08-05)
4
+
5
+
6
+ ### Features
7
+
8
+ * add `ignorePrivate` option to all `require-*` rules ([#1158](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1158)) ([055009b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/055009bf864c9f8db153bf0c5bb9568d023abe12)), closes [#1092](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1092)
4
9
 
10
+ # [0.50.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.49.0...v0.50.0) (2025-08-05)
11
+
12
+ ### Features
13
+
14
+ - add new `require-` rules for `bugs`, `bundleDependencies`, `dependencies`, and more ([#1197](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1197)) ([0a06664](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0a0666404d5659ea8eb8717516aa3c3b6374af26)), closes [#862](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/862) [#863](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/863) [#811](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/811) [#809](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/809) [#801](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/801) [#797](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/797)
15
+
16
+ # [0.49.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.48.0...v0.49.0) (2025-08-05)
5
17
 
6
18
  ### Features
7
19
 
8
- * **valid-dependencies:** add new rule for validating dependencies ([#1196](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1196)) ([73af8e2](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/73af8e214d99df618d5d8c4eb9bfdfefc062ef84)), closes [#822](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/822) [#824](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/824) [#833](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/833) [#835](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/835)
20
+ - **valid-dependencies:** add new rule for validating dependencies ([#1196](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1196)) ([73af8e2](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/73af8e214d99df618d5d8c4eb9bfdfefc062ef84)), closes [#822](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/822) [#824](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/824) [#833](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/833) [#835](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/835)
9
21
 
10
22
  # [0.48.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.47.1...v0.48.0) (2025-07-31)
11
23
 
package/README.md CHANGED
@@ -101,6 +101,40 @@ module.exports = {
101
101
  };
102
102
  ```
103
103
 
104
+ ### Settings
105
+
106
+ Some rules can be configured in ESLint shared settings.
107
+ You can set them in `settings.packageJson` in an ESLint flat config.
108
+
109
+ Example:
110
+
111
+ ```ts
112
+ // eslint.config.ts
113
+ import packageJson from "eslint-plugin-package-json";
114
+
115
+ export default {
116
+ plugins: {
117
+ "package-json": packageJson,
118
+ },
119
+ rules: {
120
+ // `description` won't be required in package.json with `"private": true`
121
+ "package-json/require-description": "error",
122
+ },
123
+ settings: {
124
+ packageJson: {
125
+ enforceForPrivate: false,
126
+ },
127
+ },
128
+ };
129
+ ```
130
+
131
+ #### `enforceForPrivate`
132
+
133
+ **Type:** `boolean`
134
+
135
+ Determines whether `require-*` rules, if used, should enforce the presence of the corresponding property in package.json files with `"private": true`.
136
+ By default, all `require-*` rules except for [`require-name`](docs/rules/require-name.md) and [`require-version`](docs/rules/require-version.md) will report if the corresponding property is missing in package.json with `"private": true`.
137
+
104
138
  ### Usage Alongside Prettier
105
139
 
106
140
  **[`prettier-plugin-packagejson`](https://github.com/matzkoh/prettier-plugin-packagejson)** is a [Prettier plugin](https://prettier.io/docs/en/plugins) that enforces the same `package.json` keys ordering as the [`order-properties`](docs/rules/order-properties.md) and [sort-collections](docs/rules/sort-collections.md) rules with default options.
@@ -119,41 +153,47 @@ The default settings don't conflict, and Prettier plugins can quickly fix up ord
119
153
  💡 Manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions).\
120
154
  ❌ Deprecated.
121
155
 
122
- | Name                       | Description | 💼 | 🔧 | 💡 | ❌ |
123
- | :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | :--- | :- | :- | :- |
124
- | [no-empty-fields](docs/rules/no-empty-fields.md) | Reports on unnecessary empty arrays and objects. | ✔️ ✅ | | 💡 | |
125
- | [no-redundant-files](docs/rules/no-redundant-files.md) | Prevents adding unnecessary / redundant files. | | | 💡 | |
126
- | [order-properties](docs/rules/order-properties.md) | Package properties must be declared in standard order | ✔️ ✅ | 🔧 | | |
127
- | [repository-shorthand](docs/rules/repository-shorthand.md) | Enforce either object or shorthand declaration for repository. | ✔️ ✅ | 🔧 | | |
128
- | [require-author](docs/rules/require-author.md) | Requires the `author` property to be present. | | | | |
129
- | [require-description](docs/rules/require-description.md) | Requires the `description` property to be present. | ✔️ ✅ | | | |
130
- | [require-engines](docs/rules/require-engines.md) | Requires the `engines` property to be present. | | | | |
131
- | [require-files](docs/rules/require-files.md) | Requires the `files` property to be present. | | | | |
132
- | [require-keywords](docs/rules/require-keywords.md) | Requires the `keywords` property to be present. | | | | |
133
- | [require-name](docs/rules/require-name.md) | Requires the `name` property to be present. | ✔️ ✅ | | | |
134
- | [require-type](docs/rules/require-type.md) | Requires the `type` property to be present. | ✔️ ✅ | | | |
135
- | [require-types](docs/rules/require-types.md) | Requires the `types` property to be present. | | | | |
136
- | [require-version](docs/rules/require-version.md) | Requires the `version` property to be present. | ✔️ ✅ | | | |
137
- | [restrict-dependency-ranges](docs/rules/restrict-dependency-ranges.md) | Restricts the range of dependencies to allow or disallow specific types of ranges. | | | 💡 | |
138
- | [sort-collections](docs/rules/sort-collections.md) | Dependencies, scripts, and configuration values must be declared in alphabetical order. | ✔️ ✅ | 🔧 | | |
139
- | [unique-dependencies](docs/rules/unique-dependencies.md) | Checks a dependency isn't specified more than once (i.e. in `dependencies` and `devDependencies`) | ✔️ ✅ | | 💡 | |
140
- | [valid-author](docs/rules/valid-author.md) | Enforce that the `author` property is valid. | ✔️ ✅ | | | |
141
- | [valid-bin](docs/rules/valid-bin.md) | Enforce that the `bin` property is valid. | ✔️ ✅ | | 💡 | |
142
- | [valid-bundleDependencies](docs/rules/valid-bundleDependencies.md) | Enforce that the `bundleDependencies` (also: `bundledDependencies`) property is valid. | ✔️ ✅ | | | |
143
- | [valid-config](docs/rules/valid-config.md) | Enforce that the `config` property is valid. | ✔️ | | | |
144
- | [valid-cpu](docs/rules/valid-cpu.md) | Enforce that the `cpu` property is valid. | ✔️ ✅ | | | |
145
- | [valid-dependencies](docs/rules/valid-dependencies.md) | Enforce that the `dependencies` property is valid. | ✔️ ✅ | | | |
146
- | [valid-devDependencies](docs/rules/valid-devDependencies.md) | Enforce that the `devDependencies` property is valid. | ✔️ ✅ | | | |
147
- | [valid-license](docs/rules/valid-license.md) | Enforce that the `license` property is valid. | ✔️ ✅ | | | |
148
- | [valid-local-dependency](docs/rules/valid-local-dependency.md) | Checks existence of local dependencies in the package.json | | | ||
149
- | [valid-name](docs/rules/valid-name.md) | Enforce that package names are valid npm package names | ✔️ ✅ | | | |
150
- | [valid-optionalDependencies](docs/rules/valid-optionalDependencies.md) | Enforce that the `optionalDependencies` property is valid. | ✔️ ✅ | | | |
151
- | [valid-package-definition](docs/rules/valid-package-definition.md) | Enforce that package.json has all properties required by the npm spec | ✔️ ✅ | | | |
152
- | [valid-peerDependencies](docs/rules/valid-peerDependencies.md) | Enforce that the `peerDependencies` property is valid. | ✔️ ✅ | | | |
153
- | [valid-repository-directory](docs/rules/valid-repository-directory.md) | Enforce that if repository directory is specified, it matches the path to the package.json file | ✔️ ✅ | | 💡 | |
154
- | [valid-scripts](docs/rules/valid-scripts.md) | Enforce that the `scripts` property is valid. | ✔️ ✅ | | | |
155
- | [valid-type](docs/rules/valid-type.md) | Enforce that the `type` property is valid. | ✔️ ✅ | | | |
156
- | [valid-version](docs/rules/valid-version.md) | Enforce that package versions are valid semver specifiers | ✔️ ✅ | | | |
156
+ | Name                         | Description | 💼 | 🔧 | 💡 | ❌ |
157
+ | :------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | :--- | :- | :- | :- |
158
+ | [no-empty-fields](docs/rules/no-empty-fields.md) | Reports on unnecessary empty arrays and objects. | ✔️ ✅ | | 💡 | |
159
+ | [no-redundant-files](docs/rules/no-redundant-files.md) | Prevents adding unnecessary / redundant files. | | | 💡 | |
160
+ | [order-properties](docs/rules/order-properties.md) | Package properties must be declared in standard order | ✔️ ✅ | 🔧 | | |
161
+ | [repository-shorthand](docs/rules/repository-shorthand.md) | Enforce either object or shorthand declaration for repository. | ✔️ ✅ | 🔧 | | |
162
+ | [require-author](docs/rules/require-author.md) | Requires the `author` property to be present. | | | | |
163
+ | [require-bugs](docs/rules/require-bugs.md) | Requires the `bugs` property to be present. | | | | |
164
+ | [require-bundleDependencies](docs/rules/require-bundleDependencies.md) | Requires the `bundleDependencies` property to be present. | | | | |
165
+ | [require-dependencies](docs/rules/require-dependencies.md) | Requires the `dependencies` property to be present. | | | | |
166
+ | [require-description](docs/rules/require-description.md) | Requires the `description` property to be present. | ✔️ ✅ | | | |
167
+ | [require-devDependencies](docs/rules/require-devDependencies.md) | Requires the `devDependencies` property to be present. | | | | |
168
+ | [require-engines](docs/rules/require-engines.md) | Requires the `engines` property to be present. | | | | |
169
+ | [require-files](docs/rules/require-files.md) | Requires the `files` property to be present. | | | | |
170
+ | [require-keywords](docs/rules/require-keywords.md) | Requires the `keywords` property to be present. | | | | |
171
+ | [require-name](docs/rules/require-name.md) | Requires the `name` property to be present. | ✔️ | | | |
172
+ | [require-optionalDependencies](docs/rules/require-optionalDependencies.md) | Requires the `optionalDependencies` property to be present. | | | | |
173
+ | [require-peerDependencies](docs/rules/require-peerDependencies.md) | Requires the `peerDependencies` property to be present. | | | | |
174
+ | [require-type](docs/rules/require-type.md) | Requires the `type` property to be present. | ✔️ ✅ | | | |
175
+ | [require-types](docs/rules/require-types.md) | Requires the `types` property to be present. | | | | |
176
+ | [require-version](docs/rules/require-version.md) | Requires the `version` property to be present. | ✔️ ✅ | | | |
177
+ | [restrict-dependency-ranges](docs/rules/restrict-dependency-ranges.md) | Restricts the range of dependencies to allow or disallow specific types of ranges. | | | 💡 | |
178
+ | [sort-collections](docs/rules/sort-collections.md) | Dependencies, scripts, and configuration values must be declared in alphabetical order. | ✔️ ✅ | 🔧 | | |
179
+ | [unique-dependencies](docs/rules/unique-dependencies.md) | Checks a dependency isn't specified more than once (i.e. in `dependencies` and `devDependencies`) | ✔️ ✅ | | 💡 | |
180
+ | [valid-author](docs/rules/valid-author.md) | Enforce that the `author` property is valid. | ✔️ ✅ | | | |
181
+ | [valid-bin](docs/rules/valid-bin.md) | Enforce that the `bin` property is valid. | ✔️ ✅ | | 💡 | |
182
+ | [valid-bundleDependencies](docs/rules/valid-bundleDependencies.md) | Enforce that the `bundleDependencies` (also: `bundledDependencies`) property is valid. | ✔️ ✅ | | | |
183
+ | [valid-config](docs/rules/valid-config.md) | Enforce that the `config` property is valid. | ✔️ ✅ | | | |
184
+ | [valid-cpu](docs/rules/valid-cpu.md) | Enforce that the `cpu` property is valid. | ✔️ ✅ | | | |
185
+ | [valid-dependencies](docs/rules/valid-dependencies.md) | Enforce that the `dependencies` property is valid. | ✔️ ✅ | | | |
186
+ | [valid-devDependencies](docs/rules/valid-devDependencies.md) | Enforce that the `devDependencies` property is valid. | ✔️ ✅ | | | |
187
+ | [valid-license](docs/rules/valid-license.md) | Enforce that the `license` property is valid. | ✔️ ✅ | | | |
188
+ | [valid-local-dependency](docs/rules/valid-local-dependency.md) | Checks existence of local dependencies in the package.json | | | ||
189
+ | [valid-name](docs/rules/valid-name.md) | Enforce that package names are valid npm package names | ✔️ ✅ | | | |
190
+ | [valid-optionalDependencies](docs/rules/valid-optionalDependencies.md) | Enforce that the `optionalDependencies` property is valid. | ✔️ ✅ | | | |
191
+ | [valid-package-definition](docs/rules/valid-package-definition.md) | Enforce that package.json has all properties required by the npm spec | ✔️ ✅ | | | |
192
+ | [valid-peerDependencies](docs/rules/valid-peerDependencies.md) | Enforce that the `peerDependencies` property is valid. | ✔️ ✅ | | | |
193
+ | [valid-repository-directory](docs/rules/valid-repository-directory.md) | Enforce that if repository directory is specified, it matches the path to the package.json file | ✔️ ✅ | | 💡 | |
194
+ | [valid-scripts](docs/rules/valid-scripts.md) | Enforce that the `scripts` property is valid. | ✔️ ✅ | | | |
195
+ | [valid-type](docs/rules/valid-type.md) | Enforce that the `type` property is valid. | ✔️ ✅ | | | |
196
+ | [valid-version](docs/rules/valid-version.md) | Enforce that package versions are valid semver specifiers | ✔️ ✅ | | | |
157
197
 
158
198
  <!-- end auto-generated rules list -->
159
199
  <!-- prettier-ignore-end -->
@@ -14,8 +14,20 @@ interface JsonAstBodyStatement extends ESTree.ExpressionStatement {
14
14
  interface PackageJsonAst extends AST$1.Program {
15
15
  body: [JsonAstBodyStatement];
16
16
  }
17
+ 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;
25
+ }
17
26
  interface PackageJsonRuleContext<Options extends unknown[] = unknown[]> extends Rule.RuleContext {
18
27
  options: Options;
28
+ settings: {
29
+ packageJson?: PackageJsonPluginSettings;
30
+ };
19
31
  sourceCode: PackageJsonSourceCode;
20
32
  }
21
33
  interface PackageJsonRuleModule<Options extends unknown[] = unknown[]> {
@@ -30,4 +42,4 @@ declare function createRule<Options extends unknown[]>(rule: PackageJsonRuleModu
30
42
  meta: Rule.RuleMetaData;
31
43
  };
32
44
 
33
- export { type JsonAstBodyExpression, type JsonAstBodyProperty, type JsonAstBodyStatement, type PackageJsonAst, type PackageJsonRuleContext, type PackageJsonRuleModule, type PackageJsonSourceCode, createRule };
45
+ export { type JsonAstBodyExpression, type JsonAstBodyProperty, type JsonAstBodyStatement, type PackageJsonAst, type PackageJsonPluginSettings, type PackageJsonRuleContext, type PackageJsonRuleModule, type PackageJsonSourceCode, createRule };
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as jsonc_eslint_parser from 'jsonc-eslint-parser';
2
2
  import { PackageJsonRuleModule } from './createRule.js';
3
+ export { PackageJsonPluginSettings } from './createRule.js';
3
4
  import { plugin } from './plugin.js';
4
5
  import 'estree';
5
6
  import 'eslint';
@@ -1,9 +1,15 @@
1
- import { PackageJsonRuleModule } from '../createRule.js';
1
+ import * as eslint from 'eslint';
2
+ import * as jsonc_eslint_parser from 'jsonc-eslint-parser';
3
+ import { PackageJsonRuleContext } from '../createRule.js';
2
4
  import 'estree';
3
- import 'eslint';
4
- import 'jsonc-eslint-parser';
5
5
 
6
- /** All require- flavor rules */
7
- declare const rules: Record<string, PackageJsonRuleModule<unknown[]>>;
6
+ declare const rules: {
7
+ [k: string]: {
8
+ create(context: PackageJsonRuleContext<[({
9
+ ignorePrivate?: boolean;
10
+ } | undefined)?]>): jsonc_eslint_parser.RuleListener;
11
+ meta: eslint.Rule.RuleMetaData;
12
+ };
13
+ };
8
14
 
9
15
  export { rules };
@@ -1,25 +1,28 @@
1
- import { createSimpleRequirePropertyRule } from "../utils/createSimpleRequirePropertyRule.js";
1
+ import {
2
+ createSimpleRequirePropertyRule
3
+ } from "../utils/createSimpleRequirePropertyRule.js";
2
4
  const properties = [
3
- ["author", false],
4
- ["description", true],
5
- ["engines", false],
6
- ["files", false],
7
- ["keywords", false],
8
- ["name", true],
9
- ["type", true],
10
- ["types", false],
11
- ["version", true]
12
- // TODO: More to come!
5
+ ["author"],
6
+ ["bugs"],
7
+ ["bundleDependencies"],
8
+ ["dependencies"],
9
+ ["description", { isRecommended: true }],
10
+ ["devDependencies"],
11
+ ["engines"],
12
+ ["files"],
13
+ ["keywords"],
14
+ ["name", { ignorePrivateDefault: true, isRecommended: true }],
15
+ ["optionalDependencies"],
16
+ ["peerDependencies"],
17
+ ["type", { isRecommended: true }],
18
+ ["types"],
19
+ ["version", { ignorePrivateDefault: true, isRecommended: true }]
13
20
  ];
14
- const rules = properties.reduce(
15
- (acc, [propertyName, isRecommended]) => {
16
- acc[`require-${propertyName}`] = createSimpleRequirePropertyRule(
17
- propertyName,
18
- isRecommended
19
- );
20
- return acc;
21
- },
22
- {}
21
+ const rules = Object.fromEntries(
22
+ properties.map(([propertyName, options]) => [
23
+ `require-${propertyName}`,
24
+ createSimpleRequirePropertyRule(propertyName, options)
25
+ ])
23
26
  );
24
27
  export {
25
28
  rules
@@ -3,15 +3,28 @@ import * as jsonc_eslint_parser from 'jsonc-eslint-parser';
3
3
  import { PackageJsonRuleContext } from '../createRule.js';
4
4
  import 'estree';
5
5
 
6
+ interface CreateRequirePropertyRuleOptions {
7
+ /**
8
+ * The default value of `ignorePrivate` rule option.
9
+ */
10
+ ignorePrivateDefault?: boolean;
11
+ /**
12
+ * Whether the rule should be included in the recommended config.
13
+ */
14
+ isRecommended?: boolean;
15
+ }
16
+ type Options = [{
17
+ ignorePrivate?: boolean;
18
+ }?];
6
19
  /**
7
20
  * Given a top-level property name, create a rule that requires that property to be present.
8
21
  * Optionally, include it in the recommended config.
9
22
  * Note: this will only create a basic require rule, with no options. If you need
10
23
  * to create a more complex rule, create it in its own file.
11
24
  */
12
- declare const createSimpleRequirePropertyRule: (propertyName: string, isRecommended?: boolean) => {
13
- create(context: PackageJsonRuleContext<unknown[]>): jsonc_eslint_parser.RuleListener;
25
+ declare const createSimpleRequirePropertyRule: (propertyName: string, { ignorePrivateDefault, isRecommended, }?: CreateRequirePropertyRuleOptions) => {
26
+ create(context: PackageJsonRuleContext<Options>): jsonc_eslint_parser.RuleListener;
14
27
  meta: eslint.Rule.RuleMetaData;
15
28
  };
16
29
 
17
- export { createSimpleRequirePropertyRule };
30
+ export { type CreateRequirePropertyRuleOptions, createSimpleRequirePropertyRule };
@@ -1,10 +1,20 @@
1
1
  import { createRule } from "../createRule.js";
2
2
  import { isJSONStringLiteral } from "./predicates.js";
3
- const createSimpleRequirePropertyRule = (propertyName, isRecommended = false) => {
3
+ const createSimpleRequirePropertyRule = (propertyName, {
4
+ ignorePrivateDefault = false,
5
+ isRecommended
6
+ } = {}) => {
4
7
  return createRule({
5
8
  create(context) {
9
+ const enforceForPrivate = context.settings.packageJson?.enforceForPrivate;
10
+ const ignorePrivate = context.options[0]?.ignorePrivate ?? (typeof enforceForPrivate === "boolean" ? !enforceForPrivate : ignorePrivateDefault);
6
11
  return {
7
12
  "Program > JSONExpressionStatement > JSONObjectExpression"(node) {
13
+ if (ignorePrivate && node.properties.some(
14
+ (property) => isJSONStringLiteral(property.key) && property.key.value === "private" && property.value.type === "JSONLiteral" && property.value.value === true
15
+ )) {
16
+ return;
17
+ }
8
18
  if (!node.properties.some(
9
19
  (property) => isJSONStringLiteral(property.key) && property.key.value === propertyName
10
20
  )) {
@@ -25,7 +35,18 @@ const createSimpleRequirePropertyRule = (propertyName, isRecommended = false) =>
25
35
  messages: {
26
36
  missing: "Property '{{property}}' is required."
27
37
  },
28
- schema: [],
38
+ schema: [
39
+ {
40
+ additionalProperties: false,
41
+ properties: {
42
+ ignorePrivate: {
43
+ default: ignorePrivateDefault,
44
+ type: "boolean"
45
+ }
46
+ },
47
+ type: "object"
48
+ }
49
+ ],
29
50
  type: "suggestion"
30
51
  }
31
52
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-package-json",
3
- "version": "0.49.0",
3
+ "version": "0.51.0",
4
4
  "description": "Rules for consistent, readable, and valid package.json files. 🗂️",
5
5
  "homepage": "https://github.com/JoshuaKGoldberg/eslint-plugin-package-json#readme",
6
6
  "bugs": {
@@ -61,7 +61,7 @@
61
61
  "@release-it/conventional-changelog": "10.0.0",
62
62
  "@types/eslint-plugin-markdown": "2.0.2",
63
63
  "@types/estree": "1.0.7",
64
- "@types/node": "22.16.0",
64
+ "@types/node": "22.17.0",
65
65
  "@types/semver": "7.7.0",
66
66
  "@types/sort-object-keys": "1.1.3",
67
67
  "@types/validate-npm-package-name": "4.0.2",