eslint-plugin-package-json 0.85.0 → 0.86.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,67 +1,73 @@
1
1
  # Changelog
2
2
 
3
- # [0.85.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.84.0...v0.85.0) (2025-11-18)
3
+ ## [0.86.0](///compare/v0.85.0...v0.86.0) (2025-12-30)
4
4
 
5
+ ### Features
6
+
7
+ * remove deprecated valid-local-dependency rule ([#1450](undefined/undefined/undefined/issues/1450)) 3e36e30, closes #1168
8
+ * **valid-module:** add rule to validate `module` ([#1462](undefined/undefined/undefined/issues/1462)) ee376e0, closes #1034
9
+
10
+ ## [0.85.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.84.0...v0.85.0) (2025-11-18)
5
11
 
6
12
  ### Features
7
13
 
8
- * **valid-sideEffects:** add new rule for validating `sideEffects` ([#1414](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1414)) ([04b86b1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/04b86b1a5e86cae4187ca1629ba916066d49b086)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000)
14
+ - **valid-sideEffects:** add new rule for validating `sideEffects` ([#1414](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1414)) ([04b86b1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/04b86b1a5e86cae4187ca1629ba916066d49b086)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000)
9
15
 
10
- # [0.84.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.83.0...v0.84.0) (2025-11-18)
16
+ ## [0.84.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.83.0...v0.84.0) (2025-11-18)
11
17
 
12
18
  ### Features
13
19
 
14
20
  - add new `recommended-publishable` config ([#1413](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1413)) ([ba313a6](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/ba313a6ca0b701c152986a83a377b9541c2b20c8)), closes [#1403](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1403)
15
21
 
16
- # [0.83.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.82.0...v0.83.0) (2025-11-17)
22
+ ## [0.83.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.82.0...v0.83.0) (2025-11-17)
17
23
 
18
24
  ### Features
19
25
 
20
26
  - **specify-peers-locally:** add rule to require all peers are declared as dev dependencies ([#1407](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1407)) ([5a102ec](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/5a102ecd0f6fb025f42e838492844e2fa32ba786)), closes [#1053](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1053)
21
27
 
22
- # [0.82.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.81.0...v0.82.0) (2025-11-17)
28
+ ## [0.82.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.81.0...v0.82.0) (2025-11-17)
23
29
 
24
30
  ### Features
25
31
 
26
32
  - **require-sideEffects:** add new rule for requiring `sideEffects` ([#1406](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1406)) ([0a8388d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0a8388d6be21e6d4d7c0203fd65be96751ca5f29)), closes [#1405](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1405)
27
33
 
28
- # [0.81.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.80.0...v0.81.0) (2025-11-17)
34
+ ## [0.81.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.80.0...v0.81.0) (2025-11-17)
29
35
 
30
36
  ### Features
31
37
 
32
38
  - **require-attribution:** add new rule to require proper attribution ([#1408](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1408)) ([e646f94](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/e646f941bfc8ac2e4cb7c28509a8bd800b912442)), closes [#1404](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1404)
33
39
 
34
- # [0.80.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.79.0...v0.80.0) (2025-11-17)
40
+ ## [0.80.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.79.0...v0.80.0) (2025-11-17)
35
41
 
36
42
  ### Features
37
43
 
38
44
  - **require-exports:** add new rule to require `exports` ([#1410](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1410)) ([c8fd152](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/c8fd1525b4d25c4d1fbdb488a7a604037e352361)), closes [#1409](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1409)
39
45
 
40
- # [0.79.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.78.0...v0.79.0) (2025-11-15)
46
+ ## [0.79.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.78.0...v0.79.0) (2025-11-15)
41
47
 
42
48
  ### Features
43
49
 
44
50
  - deprecate `valid-package-definition` ([#1400](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1400)) ([dca815a](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/dca815ae441d7d0667fcd54933eee868197b31d7)), closes [#1399](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1399)
45
51
 
46
- # [0.78.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.77.0...v0.78.0) (2025-11-15)
52
+ ## [0.78.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.77.0...v0.78.0) (2025-11-15)
47
53
 
48
54
  ### Features
49
55
 
50
56
  - **valid-repository:** add new rule for validating `repository` ([#1393](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1393)) ([2b38e88](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/2b38e881f60d357f9f73ad7a1aff159682542c42)), closes [#838](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/838)
51
57
 
52
- # [0.77.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.76.0...v0.77.0) (2025-11-15)
58
+ ## [0.77.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.76.0...v0.77.0) (2025-11-15)
53
59
 
54
60
  ### Features
55
61
 
56
62
  - **unique-dependencies:** report cross-group duplicates ([#1398](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1398)) ([94b690e](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/94b690e1996ec271ba743225ccecf66691f97e01)), closes [#1007](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1007)
57
63
 
58
- # [0.76.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.75.0...v0.76.0) (2025-11-15)
64
+ ## [0.76.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.75.0...v0.76.0) (2025-11-15)
59
65
 
60
66
  ### Features
61
67
 
62
68
  - **valid-engines:** add new rule for validating `engines` ([#1397](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1397)) ([ba834f0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/ba834f00651b64f2bc0cf58cf41d768bd6cee5eb)), closes [#826](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/826)
63
69
 
64
- # [0.75.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.73.0...v0.75.0) (2025-11-15)
70
+ ## [0.75.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.73.0...v0.75.0) (2025-11-15)
65
71
 
66
72
  ### Features
67
73
 
@@ -69,55 +75,55 @@
69
75
  - **valid-publishConfig:** add new rule for validating `publishConfig` ([#1388](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1388)) ([6d1fab4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/6d1fab4e4b6c59e7bcfc582ef75a0e07a5c8ea08)), closes [#841](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/841)
70
76
  - **valid-workspaces:** add new rule for validating `workspaces` ([#1396](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1396)) ([2eeca42](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/2eeca42701a8636704e3d6b896cf3eec21531779)), closes [#843](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/843)
71
77
 
72
- # [0.74.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.73.0...v0.74.0) (2025-11-14)
78
+ ## [0.74.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.73.0...v0.74.0) (2025-11-14)
73
79
 
74
80
  ### Features
75
81
 
76
82
  - **valid-publishConfig:** add new rule for validating `publishConfig` ([#1388](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1388)) ([6d1fab4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/6d1fab4e4b6c59e7bcfc582ef75a0e07a5c8ea08)), closes [#841](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/841)
77
83
 
78
- # [0.73.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.72.0...v0.73.0) (2025-11-13)
84
+ ## [0.73.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.72.0...v0.73.0) (2025-11-13)
79
85
 
80
86
  ### Features
81
87
 
82
88
  - **order-properties:** lexicographically sort non-standard properties ([#1375](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1375)) ([f7c0d01](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/f7c0d019b91aab831f7506e213cc1176bd5dac75)), closes [#1374](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1374)
83
89
 
84
- # [0.72.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.71.0...v0.72.0) (2025-11-13)
90
+ ## [0.72.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.71.0...v0.72.0) (2025-11-13)
85
91
 
86
92
  ### Features
87
93
 
88
94
  - **valid-contributors:** add new rule for validating `contributors` ([#1387](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1387)) ([82a844c](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/82a844cf472a06f2da036a39137f79f3ca1e6c5d)), closes [#1372](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1372)
89
95
 
90
- # [0.71.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.70.0...v0.71.0) (2025-11-13)
96
+ ## [0.71.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.70.0...v0.71.0) (2025-11-13)
91
97
 
92
98
  ### Features
93
99
 
94
100
  - **valid-os:** add new rule for validating `os` ([#1383](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1383)) ([896cd53](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/896cd53fee7b1c881102de62f9f7e032a3673ea8)), closes [#834](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/834)
95
101
 
96
- # [0.70.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.69.0...v0.70.0) (2025-11-13)
102
+ ## [0.70.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.69.0...v0.70.0) (2025-11-13)
97
103
 
98
104
  ### Features
99
105
 
100
106
  - **valid-private:** add new rule for validating `private` ([#1384](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1384)) ([9a9b3d2](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/9a9b3d27c5553088cdb224861f122a341acd01bf)), closes [#837](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/837)
101
107
 
102
- # [0.69.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.68.0...v0.69.0) (2025-11-12)
108
+ ## [0.69.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.68.0...v0.69.0) (2025-11-12)
103
109
 
104
110
  ### Features
105
111
 
106
112
  - **valid-main:** add new rule for validating `main` ([#1382](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1382)) ([bc54025](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/bc54025bda030013b9129dfb31332327369ad6e7)), closes [#831](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/831)
107
113
 
108
- # [0.68.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.67.0...v0.68.0) (2025-11-12)
114
+ ## [0.68.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.67.0...v0.68.0) (2025-11-12)
109
115
 
110
116
  ### Features
111
117
 
112
118
  - **valid-keywords:** add new rule for validating `keywords` ([#1381](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1381)) ([a227184](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a2271843a104288376da9b1fbc89e1de33444a38)), closes [#829](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/829)
113
119
 
114
- # [0.67.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.66.0...v0.67.0) (2025-11-12)
120
+ ## [0.67.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.66.0...v0.67.0) (2025-11-12)
115
121
 
116
122
  ### Features
117
123
 
118
124
  - **valid-files:** add new rule for validating `files` ([#1380](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1380)) ([d2a81d3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/d2a81d3c1c86a24c675fb2ff8483a7e01400b294)), closes [#827](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/827)
119
125
 
120
- # [0.66.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.65.3...v0.66.0) (2025-11-11)
126
+ ## [0.66.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.65.3...v0.66.0) (2025-11-11)
121
127
 
122
128
  ### Features
123
129
 
@@ -141,7 +147,7 @@
141
147
 
142
148
  - **scripts-name-casing:** ignore `prepublishOnly` built-in script ([#1369](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1369)) ([b672551](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/b67255122ac753d1c3f9d7ef310a72dca029f2a3)), closes [#1368](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1368)
143
149
 
144
- # [0.65.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.64.0...v0.65.0) (2025-11-08)
150
+ ## [0.65.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.64.0...v0.65.0) (2025-11-08)
145
151
 
146
152
  ### Bug Fixes
147
153
 
@@ -151,31 +157,31 @@
151
157
 
152
158
  - **no-redundant-publishConfig:** add new rule ([#1366](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1366)) ([8d3680c](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/8d3680c5fb0df0af37744cf86201163aee372bab)), closes [#1365](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1365)
153
159
 
154
- # [0.64.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.63.0...v0.64.0) (2025-11-04)
160
+ ## [0.64.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.63.0...v0.64.0) (2025-11-04)
155
161
 
156
162
  ### Features
157
163
 
158
164
  - **bin-name-casing:** add new rule ([#1343](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1343)) ([0e10e87](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0e10e875eb4cc5f680e154e6ea2333e5902d4c4c)), closes [#1346](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1346)
159
165
 
160
- # [0.63.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.62.0...v0.63.0) (2025-11-04)
166
+ ## [0.63.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.62.0...v0.63.0) (2025-11-04)
161
167
 
162
168
  ### Features
163
169
 
164
170
  - **restrict-private-properties:** add new rule ([#1336](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1336)) ([e1225cf](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/e1225cf991be2f3829cdddcae8b06cef8196f070)), closes [#1323](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1323)
165
171
 
166
- # [0.62.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.61.0...v0.62.0) (2025-11-03)
172
+ ## [0.62.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.61.0...v0.62.0) (2025-11-03)
167
173
 
168
174
  ### Features
169
175
 
170
176
  - **scripts-name-casing:** add new rule ([#1344](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1344)) ([e735595](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/e735595537e6857c771eac12a1efcd55cb2d3564)), closes [#61](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/61)
171
177
 
172
- # [0.61.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.60.0...v0.61.0) (2025-11-03)
178
+ ## [0.61.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.60.0...v0.61.0) (2025-11-03)
173
179
 
174
180
  ### Features
175
181
 
176
182
  - add new stylistic config ([#1342](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1342)) ([3d01cce](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3d01cce99a1718a7485669c7b8cf6143a255b094)), closes [#1341](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1341)
177
183
 
178
- # [0.60.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.59.1...v0.60.0) (2025-11-03)
184
+ ## [0.60.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.59.1...v0.60.0) (2025-11-03)
179
185
 
180
186
  ### Features
181
187
 
@@ -187,19 +193,19 @@
187
193
 
188
194
  - **deps:** update dependency validate-npm-package-name to v7 ([#1353](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1353)) ([be9970a](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/be9970a18c73521906d1564ca461d94159e88807))
189
195
 
190
- # [0.59.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.58.0...v0.59.0) (2025-10-25)
196
+ ## [0.59.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.58.0...v0.59.0) (2025-10-25)
191
197
 
192
198
  ### Features
193
199
 
194
200
  - **exports-subpaths-style:** add new rule ([#1328](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1328)) ([d1a82ed](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/d1a82edf78b7b4bd446018f1ea3bb77e1bc9c772)), closes [#1322](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1322)
195
201
 
196
- # [0.58.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.57.0...v0.58.0) (2025-10-22)
202
+ ## [0.58.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.57.0...v0.58.0) (2025-10-22)
197
203
 
198
204
  ### Features
199
205
 
200
206
  - mark `legacy-recommended` config deprecated ([#1331](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1331)) ([5e20411](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/5e204118f4b6ae4a50f9a50a1c2a64a5bf84a5a7)), closes [#1329](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1329) [#1253](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1253)
201
207
 
202
- # [0.57.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.56.4...v0.57.0) (2025-10-16)
208
+ ## [0.57.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.56.4...v0.57.0) (2025-10-16)
203
209
 
204
210
  ### Features
205
211
 
@@ -229,25 +235,25 @@
229
235
 
230
236
  - **deps:** update dependency package-json-validator to ~0.30.0 ([#1241](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1241)) ([c3d247c](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/c3d247cc416d4bb0eee629fde3440224fe39eb59))
231
237
 
232
- # [0.56.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.55.0...v0.56.0) (2025-08-25)
238
+ ## [0.56.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.55.0...v0.56.0) (2025-08-25)
233
239
 
234
240
  ### Features
235
241
 
236
242
  - **valid-directories:** add new rule for validating `directories` ([#1224](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1224)) ([b1cc676](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/b1cc6762f7e46162e4a6bf067dd29af2983462c8)), closes [#825](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/825)
237
243
 
238
- # [0.55.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.54.0...v0.55.0) (2025-08-22)
244
+ ## [0.55.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.54.0...v0.55.0) (2025-08-22)
239
245
 
240
246
  ### Features
241
247
 
242
248
  - add no-redundant-files to recommended ([#1232](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1232)) ([2a52f87](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/2a52f8797bff236f88232d139e2a9526c24e4b4c)), closes [#1231](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1231)
243
249
 
244
- # [0.54.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.53.0...v0.54.0) (2025-08-15)
250
+ ## [0.54.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.53.0...v0.54.0) (2025-08-15)
245
251
 
246
252
  ### Features
247
253
 
248
254
  - **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)
249
255
 
250
- # [0.53.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.52.1...v0.53.0) (2025-08-13)
256
+ ## [0.53.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.52.1...v0.53.0) (2025-08-13)
251
257
 
252
258
  ### Features
253
259
 
@@ -259,31 +265,31 @@
259
265
 
260
266
  - **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)
261
267
 
262
- # [0.52.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.51.0...v0.52.0) (2025-08-07)
268
+ ## [0.52.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.51.0...v0.52.0) (2025-08-07)
263
269
 
264
270
  ### Features
265
271
 
266
272
  - **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)
267
273
 
268
- # [0.51.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.50.0...v0.51.0) (2025-08-05)
274
+ ## [0.51.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.50.0...v0.51.0) (2025-08-05)
269
275
 
270
276
  ### Features
271
277
 
272
278
  - 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)
273
279
 
274
- # [0.50.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.49.0...v0.50.0) (2025-08-05)
280
+ ## [0.50.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.49.0...v0.50.0) (2025-08-05)
275
281
 
276
282
  ### Features
277
283
 
278
284
  - 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)
279
285
 
280
- # [0.49.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.48.0...v0.49.0) (2025-08-05)
286
+ ## [0.49.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.48.0...v0.49.0) (2025-08-05)
281
287
 
282
288
  ### Features
283
289
 
284
290
  - **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)
285
291
 
286
- # [0.48.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.47.1...v0.48.0) (2025-07-31)
292
+ ## [0.48.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.47.1...v0.48.0) (2025-07-31)
287
293
 
288
294
  ### Features
289
295
 
@@ -295,13 +301,13 @@
295
301
 
296
302
  - **no-empty-fields:** don't throw error on empty object ([#1190](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1190)) ([8a9ba8a](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/8a9ba8acb1d68fd1040a008dfdb185b6908284a2)), closes [#1188](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1188)
297
303
 
298
- # [0.47.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.46.0...v0.47.0) (2025-07-25)
304
+ ## [0.47.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.46.0...v0.47.0) (2025-07-25)
299
305
 
300
306
  ### Features
301
307
 
302
308
  - **no-empty-fields:** Add `ignoreProperties` option ([#1186](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1186)) ([91e7156](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/91e7156d9f4569e8fee6f1124c4c1bb18ffdfbe0)), closes [#1182](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1182)
303
309
 
304
- # [0.46.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.45.2...v0.46.0) (2025-07-24)
310
+ ## [0.46.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.45.2...v0.46.0) (2025-07-24)
305
311
 
306
312
  ### Features
307
313
 
@@ -319,7 +325,7 @@
319
325
 
320
326
  - **valid-repository-directory:** use correct path separator when on windows ([#1177](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1177)) ([0688419](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/06884197a028a258c31db0104d8db1dc86f53345)), closes [#1175](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1175)
321
327
 
322
- # [0.45.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.44.1...v0.45.0) (2025-07-17)
328
+ ## [0.45.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.44.1...v0.45.0) (2025-07-17)
323
329
 
324
330
  ### Features
325
331
 
@@ -331,7 +337,7 @@
331
337
 
332
338
  - **deps:** update dependency package-json-validator to ~0.20.0 ([#1170](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1170)) ([941cf73](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/941cf734557db103da915d36de5adc18083a22a1))
333
339
 
334
- # [0.44.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.43.4...v0.44.0) (2025-07-09)
340
+ ## [0.44.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.43.4...v0.44.0) (2025-07-09)
335
341
 
336
342
  ### Features
337
343
 
@@ -361,7 +367,7 @@
361
367
 
362
368
  - disallow extra properties in rule options ([#1156](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1156)) ([4186e96](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4186e960c17a5397ac916184fc4341f9b26fc3d0))
363
369
 
364
- # [0.43.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.42.1...v0.43.0) (2025-07-02)
370
+ ## [0.43.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.42.1...v0.43.0) (2025-07-02)
365
371
 
366
372
  ### Features
367
373
 
@@ -373,13 +379,13 @@
373
379
 
374
380
  - **deps:** update dependency package-json-validator to ~0.17.0 ([#1152](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1152)) ([16239d0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/16239d084c245836549071a4e8ac2879b4f53f3e))
375
381
 
376
- # [0.42.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.41.0...v0.42.0) (2025-06-25)
382
+ ## [0.42.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.41.0...v0.42.0) (2025-06-25)
377
383
 
378
384
  ### Features
379
385
 
380
386
  - remove deprecated `valid-package-def` rule ([#1111](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1111)) ([946a585](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/946a585c2c9344ac227463cf234714fc204f1746)), closes [#1110](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1110) [#711](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/711)
381
387
 
382
- # [0.41.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.40.5...v0.41.0) (2025-06-24)
388
+ ## [0.41.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.40.5...v0.41.0) (2025-06-24)
383
389
 
384
390
  ### Features
385
391
 
@@ -415,7 +421,7 @@
415
421
 
416
422
  - **deps:** update dependency eslint-fix-utils to ^0.3.0 ([#1124](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1124)) ([1e30861](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1e3086136f2449e0be6c4397af2de15287899da0))
417
423
 
418
- # [0.40.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.39.2...v0.40.0) (2025-06-16)
424
+ ## [0.40.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.39.2...v0.40.0) (2025-06-16)
419
425
 
420
426
  ### Features
421
427
 
@@ -433,7 +439,7 @@
433
439
 
434
440
  - **deps:** update dependency @altano/repository-tools to v1 ([#1006](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1006)) ([da63ce3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/da63ce37654652690aa2bc3ea2a042a3ac7ff465))
435
441
 
436
- # [0.39.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.38.1...v0.39.0) (2025-06-13)
442
+ ## [0.39.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.38.1...v0.39.0) (2025-06-13)
437
443
 
438
444
  ### Features
439
445
 
@@ -445,19 +451,19 @@
445
451
 
446
452
  - **valid-local-dependency:** don't flag archives as invalid ([#1109](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1109)) ([3d89865](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3d89865bba6e3ecab02576cde131336a7dc8c169)), closes [#1086](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1086)
447
453
 
448
- # [0.38.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.37.0...v0.38.0) (2025-06-13)
454
+ ## [0.38.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.37.0...v0.38.0) (2025-06-13)
449
455
 
450
456
  ### Features
451
457
 
452
458
  - add `valid-author` rule ([#1079](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1079)) ([b8e8b40](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/b8e8b40065a0aa0bfa9e38697ab5fe3241b7d6d7)), closes [#840](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/840)
453
459
 
454
- # [0.37.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.36.0...v0.37.0) (2025-06-12)
460
+ ## [0.37.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.36.0...v0.37.0) (2025-06-12)
455
461
 
456
462
  ### Features
457
463
 
458
464
  - **valid-bin:** add new rule for validating bin ([#1082](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1082)) ([e9cc86e](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/e9cc86ec5827a4374f81886865b578f40823c5b8)), closes [#818](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/818) [#1077](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1077)
459
465
 
460
- # [0.36.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.35.1...v0.36.0) (2025-06-11)
466
+ ## [0.36.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.35.1...v0.36.0) (2025-06-11)
461
467
 
462
468
  ### Features
463
469
 
@@ -469,13 +475,13 @@
469
475
 
470
476
  - **deps:** update dependency detect-indent to v7 ([#874](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/874)) ([65300dc](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/65300dc30dfdc79ab789a144f251f0b8ba96ea22))
471
477
 
472
- # [0.35.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.34.0...v0.35.0) (2025-06-10)
478
+ ## [0.35.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.34.0...v0.35.0) (2025-06-10)
473
479
 
474
480
  ### Features
475
481
 
476
482
  - remove support for node 18 ([#1097](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1097)) ([257659a](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/257659af4fda63e2143d1ab250546dd3cb0932e7)), closes [#1074](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1074)
477
483
 
478
- # [0.34.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.33.2...v0.34.0) (2025-06-10)
484
+ ## [0.34.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.33.2...v0.34.0) (2025-06-10)
479
485
 
480
486
  ### Features
481
487
 
@@ -493,23 +499,24 @@
493
499
 
494
500
  - add CHANGELOG to package ([#1075](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1075)) ([eb13030](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/eb130302b6dfcc456dfeaf49fdfd61bd4fa495d1)), closes [#1070](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1070)
495
501
 
496
- # [0.33.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.32.0...v0.33.0) (2025-05-31)
502
+ ## [0.33.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.32.0...v0.33.0) (2025-05-31)
497
503
 
498
504
  ### Features
499
505
 
500
506
  - add `require-type` rule ([#1065](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1065)) ([9c092be](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/9c092beb546407c4b8b43426058c56696a88b7c3)), closes [#1032](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1032)
501
507
 
502
- # [0.32.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.31.0...v0.32.0) (2025-05-31)
508
+ ## [0.32.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.31.0...v0.32.0) (2025-05-31)
503
509
 
504
- No meaningful change. CI error.
510
+ No meaningful change.
511
+ CI error.
505
512
 
506
- # [0.31.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.30.0...v0.31.0) (2025-04-26)
513
+ ## [0.31.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.30.0...v0.31.0) (2025-04-26)
507
514
 
508
515
  ### Features
509
516
 
510
517
  - add require-description rule ([#1024](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1024)) ([0c00c62](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0c00c62cc3b68ff9eae8d3f3bf20d8b4fbbb3926)), closes [#864](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/864)
511
518
 
512
- # [0.30.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.29.1...v0.30.0) (2025-04-22)
519
+ ## [0.30.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.29.1...v0.30.0) (2025-04-22)
513
520
 
514
521
  ### Features
515
522
 
@@ -521,19 +528,19 @@ No meaningful change. CI error.
521
528
 
522
529
  - bump to create-typescript-app@2 with transitions action ([#993](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/993)) ([5b5c298](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/5b5c2989dda36b43e85a14056120e863ef4fec3f)), closes [#969](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/969)
523
530
 
524
- # [0.29.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.28.0...v0.29.0) (2025-03-17)
531
+ ## [0.29.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.28.0...v0.29.0) (2025-03-17)
525
532
 
526
533
  ### Features
527
534
 
528
535
  - **require-types:** add new rule ([#958](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/958)) ([63305af](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/63305afcac6fa57030b13de2ae9f26c108c979c0)), closes [#816](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/816) [#816](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/816)
529
536
 
530
- # [0.28.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.27.0...v0.28.0) (2025-03-17)
537
+ ## [0.28.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.27.0...v0.28.0) (2025-03-17)
531
538
 
532
539
  ### Features
533
540
 
534
541
  - **require-engines:** add new rule ([#954](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/954)) ([9093b28](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/9093b280c77770512ac88631e4903e17d5275bec)), closes [#868](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/868)
535
542
 
536
- # [0.27.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.26.4...v0.27.0) (2025-03-17)
543
+ ## [0.27.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.26.4...v0.27.0) (2025-03-17)
537
544
 
538
545
  ### Features
539
546
 
@@ -559,19 +566,19 @@ No meaningful change. CI error.
559
566
 
560
567
  - **deps:** update dependency sort-package-json to v2.15.0 ([#925](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/925)) ([3ce4286](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3ce4286442f45c74d09dcc60e040bafb879a75f2))
561
568
 
562
- # [0.26.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.25.0...v0.26.0) (2025-02-10)
569
+ ## [0.26.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.25.0...v0.26.0) (2025-02-10)
563
570
 
564
571
  ### Features
565
572
 
566
573
  - **require-files:** add require-files rule ([#887](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/887)) ([4de33de](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4de33de2715579c0d217609cd576d1b3b843d457)), closes [#803](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/803)
567
574
 
568
- # [0.25.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.24.0...v0.25.0) (2025-02-09)
575
+ ## [0.25.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.24.0...v0.25.0) (2025-02-09)
569
576
 
570
577
  ### Features
571
578
 
572
579
  - **require-keywords:** add require-keywords rule ([#884](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/884)) ([99237f0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/99237f0dc5902bda417345cba681f23a328c5bbe)), closes [#866](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/866)
573
580
 
574
- # [0.24.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.23.1...v0.24.0) (2025-02-08)
581
+ ## [0.24.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.23.1...v0.24.0) (2025-02-08)
575
582
 
576
583
  ### Features
577
584
 
@@ -583,13 +590,13 @@ No meaningful change. CI error.
583
590
 
584
591
  - **deps:** update dependency semver to v7.7.1 ([#880](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/880)) ([152cfc1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/152cfc10e9cc9e34803e609ec3b12855395093c6))
585
592
 
586
- # [0.23.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.22.0...v0.23.0) (2025-02-04)
593
+ ## [0.23.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.22.0...v0.23.0) (2025-02-04)
587
594
 
588
595
  ### Features
589
596
 
590
597
  - **require-version:** add require-version rule ([#861](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/861)) ([848377d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/848377dea379ed23d22d8fc5acd2e84c472ebb1b))
591
598
 
592
- # [0.22.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.21.1...v0.22.0) (2025-02-03)
599
+ ## [0.22.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.21.1...v0.22.0) (2025-02-03)
593
600
 
594
601
  ### Features
595
602
 
@@ -601,7 +608,7 @@ No meaningful change. CI error.
601
608
 
602
609
  - **no-redundant-files:** detect variations of README.md as redundant ([#765](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/765)) ([7453095](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/745309536c3d2c175591582147028754f9287b1d)), closes [#763](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/763) [#763](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/763)
603
610
 
604
- # [0.21.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.20.1...v0.21.0) (2025-01-23)
611
+ ## [0.21.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.20.1...v0.21.0) (2025-01-23)
605
612
 
606
613
  ### Features
607
614
 
@@ -613,31 +620,31 @@ No meaningful change. CI error.
613
620
 
614
621
  - bump package-json-validator dep to 0.8 ([#735](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/735)) ([29a9722](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/29a9722c15d39984ea99c2be346e20c2f4f9c76e)), closes [#734](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/734)
615
622
 
616
- # [0.20.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.19.0...v0.20.0) (2025-01-17)
623
+ ## [0.20.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.19.0...v0.20.0) (2025-01-17)
617
624
 
618
625
  ### Features
619
626
 
620
627
  - **no-redundant-files:** add new rule ([#721](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/721)) ([1167f5e](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1167f5ea698bf09e2dfe77147464cc3a3d5ee6e7)), closes [#686](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/686) [#686](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/686)
621
628
 
622
- # [0.19.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.18.0...v0.19.0) (2024-12-31)
629
+ ## [0.19.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.18.0...v0.19.0) (2024-12-31)
623
630
 
624
631
  ### Features
625
632
 
626
633
  - **valid-package-definition:** rename rule from valid-package-def ([#711](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/711)) ([4f3907b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4f3907b83ce1ddadcfbb572e70559e22b9c4a917)), closes [#132](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/132) [#132](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/132)
627
634
 
628
- # [0.18.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.17.0...v0.18.0) (2024-12-05)
635
+ ## [0.18.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.17.0...v0.18.0) (2024-12-05)
629
636
 
630
637
  ### Features
631
638
 
632
639
  - update sort-package-json to 12 ([#680](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/680)) ([566e85b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/566e85b27ecff4997cd08e1fa00611b1b0e61db0)), closes [#679](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/679)
633
640
 
634
- # [0.17.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.16.0...v0.17.0) (2024-11-30)
641
+ ## [0.17.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.16.0...v0.17.0) (2024-11-30)
635
642
 
636
643
  ### Features
637
644
 
638
645
  - sort alphabetically with co-located hooks for `scripts` ([#632](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/632)) ([4ccae4f](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4ccae4f58e1695b792dd3d0daf46cedc134d9541)), closes [#499](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499) [#499](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499)
639
646
 
640
- # [0.16.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.6...v0.16.0) (2024-11-30)
647
+ ## [0.16.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.6...v0.16.0) (2024-11-30)
641
648
 
642
649
  ### Features
643
650
 
@@ -679,13 +686,13 @@ No meaningful change. CI error.
679
686
 
680
687
  - update package-json-validator ([#456](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/456)) ([1a8bda4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1a8bda47891c14c7434ad6242f33f9ad7c2e940f)), closes [#250](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/250)
681
688
 
682
- # [0.15.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.14.0...v0.15.0) (2024-06-17)
689
+ ## [0.15.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.14.0...v0.15.0) (2024-06-17)
683
690
 
684
691
  ### Features
685
692
 
686
693
  - **order-properties:** more precise error reporting ([#328](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/328)) ([4a3fbc8](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4a3fbc8046d4286ca950b1de9000f12bdadfa961)), closes [#320](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/320)
687
694
 
688
- # [0.14.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.13.1...v0.14.0) (2024-05-31)
695
+ ## [0.14.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.13.1...v0.14.0) (2024-05-31)
689
696
 
690
697
  ### Features
691
698
 
@@ -697,7 +704,7 @@ No meaningful change. CI error.
697
704
 
698
705
  - rule order-properties not work ([#315](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/315)) ([3a477f5](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3a477f5f9e6223bff49d0a3b3cb33633bed7b76e)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000)
699
706
 
700
- # [0.13.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.12.1...v0.13.0) (2024-04-29)
707
+ ## [0.13.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.12.1...v0.13.0) (2024-04-29)
701
708
 
702
709
  ### Bug Fixes
703
710
 
@@ -713,13 +720,13 @@ No meaningful change. CI error.
713
720
 
714
721
  - **valid-package-def:** ignore pnpm workspace protocol ([#258](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/258)) ([4b061e6](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4b061e6540fb914d004337bb89a90fedfb94b0f7)), closes [#251](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/251)
715
722
 
716
- # [0.12.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.11.0...v0.12.0) (2024-03-25)
723
+ ## [0.12.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.11.0...v0.12.0) (2024-03-25)
717
724
 
718
725
  ### Features
719
726
 
720
727
  - switch prefer-repository-shorthand to repository-shorthand ([#248](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/248)) ([580edb3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/580edb3957cd4d8229bf73c10b1f7f65f79dc53f)), closes [#223](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/223)
721
728
 
722
- # [0.11.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.10.4...v0.11.0) (2024-03-24)
729
+ ## [0.11.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.10.4...v0.11.0) (2024-03-24)
723
730
 
724
731
  ### Features
725
732
 
@@ -749,13 +756,13 @@ No meaningful change. CI error.
749
756
 
750
757
  - incorrect example in 'sort-collections' ([#137](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/137)) ([88a94a0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/88a94a06e0db5624f83fab22144d7096a0cd1a3a)), closes [#136](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/136)
751
758
 
752
- # [0.10.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.9.0...v0.10.0) (2024-01-20)
759
+ ## [0.10.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.9.0...v0.10.0) (2024-01-20)
753
760
 
754
761
  ### Features
755
762
 
756
763
  - added valid-version rule ([#135](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/135)) ([6e8b6fb](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/6e8b6fbe777d03731f5552c980eaad4e5f8d4dad)), closes [#130](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/130)
757
764
 
758
- # [0.9.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.8.1...v0.9.0) (2024-01-20)
765
+ ## [0.9.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.8.1...v0.9.0) (2024-01-20)
759
766
 
760
767
  ### Features
761
768
 
@@ -767,31 +774,31 @@ No meaningful change. CI error.
767
774
 
768
775
  - correct order-properties key checks ([#129](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/129)) ([a635c27](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a635c279552beea4b0e5a611321d9f92083416e4)), closes [#127](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/127) [#128](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/128) [#127](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/127) [#128](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/128)
769
776
 
770
- # [0.8.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.7.0...v0.8.0) (2024-01-20)
777
+ ## [0.8.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.7.0...v0.8.0) (2024-01-20)
771
778
 
772
779
  ### Features
773
780
 
774
781
  - added unique-dependencies rule ([#126](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/126)) ([a9417d1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a9417d1685808dd8e4c27eff9e3b9c7399be6e1b)), closes [#50](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/50)
775
782
 
776
- # [0.7.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.6.0...v0.7.0) (2024-01-20)
783
+ ## [0.7.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.6.0...v0.7.0) (2024-01-20)
777
784
 
778
785
  ### Features
779
786
 
780
787
  - added valid-repository-directory rule ([#123](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/123)) ([84035c3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/84035c3f2bac376567eef767ba21f354a0d93f54)), closes [#53](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/53)
781
788
 
782
- # [0.6.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.5.0...v0.6.0) (2024-01-20)
789
+ ## [0.6.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.5.0...v0.6.0) (2024-01-20)
783
790
 
784
791
  ### Features
785
792
 
786
793
  - change order-properties order default to sort-package-json ([#122](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/122)) ([246261d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/246261dff5838c42add53fd45c03a5eadc495d83)), closes [#58](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/58)
787
794
 
788
- # [0.5.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.4.0...v0.5.0) (2024-01-20)
795
+ ## [0.5.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.4.0...v0.5.0) (2024-01-20)
789
796
 
790
797
  ### Features
791
798
 
792
799
  - add prefer-repository-shorthand rule ([#70](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/70)) ([0c7fb19](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0c7fb199cdf0ba001bd996f6da2c4ba8cbbc7d0f)), closes [#71](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/71)
793
800
 
794
- # [0.4.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.1.3...v0.4.0) (2024-01-20)
801
+ ## [0.4.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.1.3...v0.4.0) (2024-01-20)
795
802
 
796
803
  ### Bug Fixes
797
804
 
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  <p align="center">
9
9
  <!-- prettier-ignore-start -->
10
10
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
11
- <a href="#contributors" target="_blank"><img alt="👪 All Contributors: 32" src="https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-32-21bb42.svg" /></a>
11
+ <a href="#contributors" target="_blank"><img alt="👪 All Contributors: 35" src="https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-35-21bb42.svg" /></a>
12
12
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
13
13
  <!-- prettier-ignore-end -->
14
14
  <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/main/.github/CODE_OF_CONDUCT.md" target="_blank"><img alt="🤝 Code of Conduct: Kept" src="https://img.shields.io/badge/%F0%9F%A4%9D_code_of_conduct-kept-21bb42" /></a>
@@ -35,11 +35,12 @@ This plugin's recommended configuration enables its rules on `**/package.json` f
35
35
  ```ts
36
36
  // eslint.config.ts
37
37
  import packageJson from "eslint-plugin-package-json";
38
+ import { defineConfig } from "eslint/config";
38
39
 
39
- export default [
40
+ export default defineConfig([
40
41
  // your other ESLint configurations
41
42
  packageJson.configs.recommended,
42
- ];
43
+ ]);
43
44
  ```
44
45
 
45
46
  If you want to override the recommended rules:
@@ -47,16 +48,18 @@ If you want to override the recommended rules:
47
48
  ```ts
48
49
  // eslint.config.ts
49
50
  import packageJson from "eslint-plugin-package-json";
51
+ import { defineConfig } from "eslint/config";
50
52
 
51
- export default [
53
+ export default defineConfig([
52
54
  // your other ESLint configurations
53
- packageJson.configs.recommended,
54
55
  {
56
+ extends: [packageJson.configs.recommended],
57
+ files: ["package.json"],
55
58
  rules: {
56
- "package-json/valid-package-definition": "off",
59
+ "package-json/require-author": "error",
57
60
  },
58
61
  },
59
- ];
62
+ ]);
60
63
  ```
61
64
 
62
65
  See [ESLint's _Configuration Files_ guide](https://eslint.org/docs/latest/use/configure/configuration-files-new) for details on how to customize your rules and other config settings.
@@ -68,11 +71,12 @@ The `recommended-publishable` configuration has everything in it from the standa
68
71
  ```ts
69
72
  // eslint.config.ts
70
73
  import packageJson from "eslint-plugin-package-json";
74
+ import { defineConfig } from "eslint/config";
71
75
 
72
- export default [
76
+ export default defineConfig([
73
77
  // your other ESLint configurations
74
78
  packageJson.configs["recommended-publishable"],
75
- ];
79
+ ]);
76
80
  ```
77
81
 
78
82
  ### Stylistic Config
@@ -83,12 +87,13 @@ This can be used in addition to the recommended config, or on its own.
83
87
  ```ts
84
88
  // eslint.config.ts
85
89
  import packageJson from "eslint-plugin-package-json";
90
+ import { defineConfig } from "eslint/config";
86
91
 
87
- export default [
92
+ export default defineConfig([
88
93
  // your other ESLint configurations
89
94
  packageJson.configs.recommended, // or packageJson.configs["recommended-publishable"]
90
95
  packageJson.configs.stylistic,
91
- ];
96
+ ]);
92
97
  ```
93
98
 
94
99
  ### Legacy Recommended Config (deprecated)
@@ -141,8 +146,9 @@ Example:
141
146
  ```ts
142
147
  // eslint.config.ts
143
148
  import packageJson from "eslint-plugin-package-json";
149
+ import { defineConfig } from "eslint/config";
144
150
 
145
- export default {
151
+ export default defineConfig({
146
152
  plugins: {
147
153
  "package-json": packageJson,
148
154
  },
@@ -155,7 +161,7 @@ export default {
155
161
  enforceForPrivate: false,
156
162
  },
157
163
  },
158
- };
164
+ });
159
165
  ```
160
166
 
161
167
  #### `enforceForPrivate`
@@ -246,9 +252,9 @@ The default settings don't conflict, and Prettier plugins can quickly fix up ord
246
252
  | [valid-homepage](docs/rules/valid-homepage.md) | Enforce that the `homepage` property is valid. | ✔️ ✅ 📦 | | | |
247
253
  | [valid-keywords](docs/rules/valid-keywords.md) | Enforce that the `keywords` property is valid. | ✔️ ✅ 📦 | | | |
248
254
  | [valid-license](docs/rules/valid-license.md) | Enforce that the `license` property is valid. | ✔️ ✅ 📦 | | | |
249
- | [valid-local-dependency](docs/rules/valid-local-dependency.md) | Checks existence of local dependencies in the package.json | | | | ❌ |
250
255
  | [valid-main](docs/rules/valid-main.md) | Enforce that the `main` property is valid. | ✔️ ✅ 📦 | | | |
251
256
  | [valid-man](docs/rules/valid-man.md) | Enforce that the `man` property is valid. | ✔️ ✅ 📦 | | | |
257
+ | [valid-module](docs/rules/valid-module.md) | Enforce that the `module` property is valid. | ✔️ ✅ 📦 | | | |
252
258
  | [valid-name](docs/rules/valid-name.md) | Enforce that package names are valid npm package names | ✔️ ✅ 📦 | | | |
253
259
  | [valid-optionalDependencies](docs/rules/valid-optionalDependencies.md) | Enforce that the `optionalDependencies` property is valid. | ✔️ ✅ 📦 | | | |
254
260
  | [valid-os](docs/rules/valid-os.md) | Enforce that the `os` property is valid. | ✔️ ✅ 📦 | | | |
@@ -304,41 +310,44 @@ Thanks! 🗂
304
310
  <tbody>
305
311
  <tr>
306
312
  <td align="center" valign="top" width="14.28%"><a href="https://alan.norbauer.com"><img src="https://avatars.githubusercontent.com/u/1009?v=4?s=100" width="100px;" alt="Alan"/><br /><sub><b>Alan</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Aaltano" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=altano" title="Code">💻</a></td>
313
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/AlexMan123456"><img src="https://avatars.githubusercontent.com/u/172595284?v=4?s=100" width="100px;" alt="AlexTheMan"/><br /><sub><b>AlexTheMan</b></sub></a><br /><a href="#ideas-AlexMan123456" title="Ideas, Planning, & Feedback">🤔</a></td>
307
314
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/AndreasLindbergPAF"><img src="https://avatars.githubusercontent.com/u/59874563?v=4?s=100" width="100px;" alt="Andreas Lindberg"/><br /><sub><b>Andreas Lindberg</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Aandreaslindbergpaf" title="Bug reports">🐛</a></td>
308
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/andreww2012"><img src="https://avatars.githubusercontent.com/u/6554045?v=4?s=100" width="100px;" alt="Andrew Kazakov"/><br /><sub><b>Andrew Kazakov</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Aandreww2012" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=andreww2012" title="Code">💻</a> <a href="#ideas-andreww2012" title="Ideas, Planning, & Feedback">🤔</a></td>
315
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/andreww2012"><img src="https://avatars.githubusercontent.com/u/6554045?v=4?s=100" width="100px;" alt="Andrew Kazakov"/><br /><sub><b>Andrew Kazakov</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Aandreww2012" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=andreww2012" title="Code">💻</a> <a href="#ideas-andreww2012" title="Ideas, Planning, & Feedback">🤔</a> <a href="#tool-andreww2012" title="Tools">🔧</a></td>
309
316
  <td align="center" valign="top" width="14.28%"><a href="http://technotes.khitrenovich.com/"><img src="https://avatars.githubusercontent.com/u/3424762?v=4?s=100" width="100px;" alt="Anton Khitrenovich"/><br /><sub><b>Anton Khitrenovich</b></sub></a><br /><a href="#ideas-khitrenovich" title="Ideas, Planning, & Feedback">🤔</a></td>
310
317
  <td align="center" valign="top" width="14.28%"><a href="https://azat.io"><img src="https://avatars.githubusercontent.com/u/5698350?v=4?s=100" width="100px;" alt="Azat S."/><br /><sub><b>Azat S.</b></sub></a><br /><a href="#ideas-azat-io" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=azat-io" title="Code">💻</a></td>
311
318
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/anomiex"><img src="https://avatars.githubusercontent.com/u/1030580?v=4?s=100" width="100px;" alt="Brad Jorsch"/><br /><sub><b>Brad Jorsch</b></sub></a><br /><a href="#ideas-anomiex" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Aanomiex" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=anomiex" title="Code">💻</a></td>
312
- <td align="center" valign="top" width="14.28%"><a href="https://christopher-buss.gitbook.io/portfolio"><img src="https://avatars.githubusercontent.com/u/32301681?v=4?s=100" width="100px;" alt="Christopher Buss"/><br /><sub><b>Christopher Buss</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Achristopher-buss" title="Bug reports">🐛</a> <a href="#ideas-christopher-buss" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=christopher-buss" title="Code">💻</a></td>
313
319
  </tr>
314
320
  <tr>
321
+ <td align="center" valign="top" width="14.28%"><a href="https://christopher-buss.gitbook.io/portfolio"><img src="https://avatars.githubusercontent.com/u/32301681?v=4?s=100" width="100px;" alt="Christopher Buss"/><br /><sub><b>Christopher Buss</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Achristopher-buss" title="Bug reports">🐛</a> <a href="#ideas-christopher-buss" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=christopher-buss" title="Code">💻</a></td>
315
322
  <td align="center" valign="top" width="14.28%"><a href="http://www.curtisjewell.dev/"><img src="https://avatars.githubusercontent.com/u/67483?v=4?s=100" width="100px;" alt="Curtis Jewell"/><br /><sub><b>Curtis Jewell</b></sub></a><br /><a href="#ideas-csjewell" title="Ideas, Planning, & Feedback">🤔</a></td>
316
323
  <td align="center" valign="top" width="14.28%"><a href="https://davidlj95.com"><img src="https://avatars.githubusercontent.com/u/8050648?v=4?s=100" width="100px;" alt="David LJ"/><br /><sub><b>David LJ</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=davidlj95" title="Documentation">📖</a></td>
317
324
  <td align="center" valign="top" width="14.28%"><a href="http://lishaduck.github.io"><img src="https://avatars.githubusercontent.com/u/88557639?v=4?s=100" width="100px;" alt="Eli"/><br /><sub><b>Eli</b></sub></a><br /><a href="#ideas-lishaduck" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Alishaduck" title="Bug reports">🐛</a></td>
318
325
  <td align="center" valign="top" width="14.28%"><a href="http://heggria.site"><img src="https://avatars.githubusercontent.com/u/34475327?v=4?s=100" width="100px;" alt="Heggria"/><br /><sub><b>Heggria</b></sub></a><br /><a href="#ideas-heggria" title="Ideas, Planning, & Feedback">🤔</a></td>
319
326
  <td align="center" valign="top" width="14.28%"><a href="https://hirok.io"><img src="https://avatars.githubusercontent.com/u/1075694?v=4?s=100" width="100px;" alt="Hiroki Osame"/><br /><sub><b>Hiroki Osame</b></sub></a><br /><a href="#ideas-privatenumber" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=privatenumber" title="Code">💻</a></td>
320
327
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Zamiell"><img src="https://avatars.githubusercontent.com/u/5511220?v=4?s=100" width="100px;" alt="James"/><br /><sub><b>James</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=Zamiell" title="Code">💻</a> <a href="#ideas-Zamiell" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3AZamiell" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=Zamiell" title="Documentation">📖</a></td>
321
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/zetlen"><img src="https://avatars.githubusercontent.com/u/1643758?v=4?s=100" width="100px;" alt="James Zetlen"/><br /><sub><b>James Zetlen</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=zetlen" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Azetlen" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=zetlen" title="Documentation">📖</a> <a href="#infra-zetlen" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-zetlen" title="Maintenance">🚧</a> <a href="#tool-zetlen" title="Tools">🔧</a></td>
322
328
  </tr>
323
329
  <tr>
330
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/zetlen"><img src="https://avatars.githubusercontent.com/u/1643758?v=4?s=100" width="100px;" alt="James Zetlen"/><br /><sub><b>James Zetlen</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=zetlen" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Azetlen" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=zetlen" title="Documentation">📖</a> <a href="#infra-zetlen" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-zetlen" title="Maintenance">🚧</a> <a href="#tool-zetlen" title="Tools">🔧</a></td>
324
331
  <td align="center" valign="top" width="14.28%"><a href="https://piranna.github.io/"><img src="https://avatars.githubusercontent.com/u/532414?v=4?s=100" width="100px;" alt="Jesús Leganés-Combarro"/><br /><sub><b>Jesús Leganés-Combarro</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=piranna" title="Code">💻</a></td>
325
332
  <td align="center" valign="top" width="14.28%"><a href="http://www.joshuakgoldberg.com/"><img src="https://avatars.githubusercontent.com/u/3335181?v=4?s=100" width="100px;" alt="Josh Goldberg ✨"/><br /><sub><b>Josh Goldberg ✨</b></sub></a><br /><a href="#tool-JoshuaKGoldberg" title="Tools">🔧</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3AJoshuaKGoldberg" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=JoshuaKGoldberg" title="Code">💻</a> <a href="#infra-JoshuaKGoldberg" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=JoshuaKGoldberg" title="Documentation">📖</a> <a href="#maintenance-JoshuaKGoldberg" title="Maintenance">🚧</a> <a href="#ideas-JoshuaKGoldberg" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-JoshuaKGoldberg" title="Content">🖋</a> <a href="#projectManagement-JoshuaKGoldberg" title="Project Management">📆</a></td>
326
333
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/kendallgassner"><img src="https://avatars.githubusercontent.com/u/15275462?v=4?s=100" width="100px;" alt="Kendall Gassner"/><br /><sub><b>Kendall Gassner</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=kendallgassner" title="Code">💻</a> <a href="#maintenance-kendallgassner" title="Maintenance">🚧</a></td>
327
334
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/KristjanESPERANTO"><img src="https://avatars.githubusercontent.com/u/35647502?v=4?s=100" width="100px;" alt="Kristjan ESPERANTO"/><br /><sub><b>Kristjan ESPERANTO</b></sub></a><br /><a href="#ideas-kristjanesperanto" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Akristjanesperanto" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=kristjanesperanto" title="Code">💻</a></td>
328
335
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/lo1tuma"><img src="https://avatars.githubusercontent.com/u/169170?v=4?s=100" width="100px;" alt="Mathias Schreck"/><br /><sub><b>Mathias Schreck</b></sub></a><br /><a href="#ideas-lo1tuma" title="Ideas, Planning, & Feedback">🤔</a></td>
329
336
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Cellule"><img src="https://avatars.githubusercontent.com/u/4157103?v=4?s=100" width="100px;" alt="Michael "Mike" Ferris"/><br /><sub><b>Michael "Mike" Ferris</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=cellule" title="Code">💻</a></td>
330
- <td align="center" valign="top" width="14.28%"><a href="https://morrisoncole.co.uk"><img src="https://avatars.githubusercontent.com/u/963368?v=4?s=100" width="100px;" alt="Morrison Cole"/><br /><sub><b>Morrison Cole</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3AMorrisonCole" title="Bug reports">🐛</a></td>
331
337
  </tr>
332
338
  <tr>
339
+ <td align="center" valign="top" width="14.28%"><a href="https://morrisoncole.co.uk"><img src="https://avatars.githubusercontent.com/u/963368?v=4?s=100" width="100px;" alt="Morrison Cole"/><br /><sub><b>Morrison Cole</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3AMorrisonCole" title="Bug reports">🐛</a></td>
333
340
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/nschonni"><img src="https://avatars.githubusercontent.com/u/1297909?v=4?s=100" width="100px;" alt="Nick Schonning"/><br /><sub><b>Nick Schonning</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=nschonni" title="Code">💻</a></td>
341
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/OlivierZal"><img src="https://avatars.githubusercontent.com/u/88216225?v=4?s=100" width="100px;" alt="Olivier Zalmanski"/><br /><sub><b>Olivier Zalmanski</b></sub></a><br /><a href="#maintenance-olivierzal" title="Maintenance">🚧</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=olivierzal" title="Documentation">📖</a></td>
342
+ <td align="center" valign="top" width="14.28%"><a href="http://patrikcsak.com"><img src="https://avatars.githubusercontent.com/u/4766244?v=4?s=100" width="100px;" alt="Patrik Csak"/><br /><sub><b>Patrik Csak</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Apatrik-csak" title="Bug reports">🐛</a></td>
334
343
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/rakleed"><img src="https://avatars.githubusercontent.com/u/19418601?v=4?s=100" width="100px;" alt="Pavel"/><br /><sub><b>Pavel</b></sub></a><br /><a href="#ideas-rakleed" title="Ideas, Planning, & Feedback">🤔</a> <a href="#tool-rakleed" title="Tools">🔧</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=rakleed" title="Documentation">📖</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=rakleed" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Arakleed" title="Bug reports">🐛</a></td>
335
344
  <td align="center" valign="top" width="14.28%"><a href="https://sasial.dev"><img src="https://avatars.githubusercontent.com/u/44125644?v=4?s=100" width="100px;" alt="Sasial"/><br /><sub><b>Sasial</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=sasial-dev" title="Code">💻</a></td>
336
345
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/sirugh"><img src="https://avatars.githubusercontent.com/u/1278869?v=4?s=100" width="100px;" alt="Stephen"/><br /><sub><b>Stephen</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=sirugh" title="Code">💻</a></td>
346
+ </tr>
347
+ <tr>
337
348
  <td align="center" valign="top" width="14.28%"><a href="https://hyoban.cc"><img src="https://avatars.githubusercontent.com/u/38493346?v=4?s=100" width="100px;" alt="Stephen Zhou"/><br /><sub><b>Stephen Zhou</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Ahyoban" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=hyoban" title="Code">💻</a> <a href="#ideas-hyoban" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=hyoban" title="Documentation">📖</a></td>
338
349
  <td align="center" valign="top" width="14.28%"><a href="https://ota-meshi.github.io/"><img src="https://avatars.githubusercontent.com/u/16508807?v=4?s=100" width="100px;" alt="Yosuke Ota"/><br /><sub><b>Yosuke Ota</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Aota-meshi" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=ota-meshi" title="Code">💻</a></td>
339
350
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/b3rnhard"><img src="https://avatars.githubusercontent.com/u/10774404?v=4?s=100" width="100px;" alt="b3rnhard"/><br /><sub><b>b3rnhard</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Ab3rnhard" title="Bug reports">🐛</a></td>
340
- </tr>
341
- <tr>
342
351
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/chouchouji"><img src="https://avatars.githubusercontent.com/u/70570907?v=4?s=100" width="100px;" alt="chouchouji"/><br /><sub><b>chouchouji</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=chouchouji" title="Code">💻</a></td>
343
352
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/michaelfaith"><img src="https://avatars.githubusercontent.com/u/8071845?v=4?s=100" width="100px;" alt="michael faith"/><br /><sub><b>michael faith</b></sub></a><br /><a href="#infra-michaelfaith" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=michaelfaith" title="Code">💻</a> <a href="#maintenance-michaelfaith" title="Maintenance">🚧</a> <a href="#ideas-michaelfaith" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Amichaelfaith" title="Bug reports">🐛</a> <a href="#tool-michaelfaith" title="Tools">🔧</a> <a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=michaelfaith" title="Documentation">📖</a></td>
344
353
  <td align="center" valign="top" width="14.28%"><a href="https://roottool.vercel.app"><img src="https://avatars.githubusercontent.com/u/11808736?v=4?s=100" width="100px;" alt="roottool"/><br /><sub><b>roottool</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commits?author=roottool" title="Code">💻</a></td>
package/lib/plugin.mjs CHANGED
@@ -13,17 +13,16 @@ import { rule as rule$10 } from "./rules/scripts-name-casing.mjs";
13
13
  import { rule as rule$11 } from "./rules/sort-collections.mjs";
14
14
  import { rule as rule$12 } from "./rules/specify-peers-locally.mjs";
15
15
  import { rule as rule$13 } from "./rules/unique-dependencies.mjs";
16
- import { rule as rule$14 } from "./rules/valid-local-dependency.mjs";
17
- import { rule as rule$15 } from "./rules/valid-name.mjs";
18
- import { rule as rule$16 } from "./rules/valid-package-definition.mjs";
16
+ import { rule as rule$14 } from "./rules/valid-name.mjs";
17
+ import { rule as rule$15 } from "./rules/valid-package-definition.mjs";
19
18
  import { rules as rules$1 } from "./rules/valid-properties.mjs";
20
- import { rule as rule$17 } from "./rules/valid-repository-directory.mjs";
21
- import { rule as rule$18 } from "./rules/valid-version.mjs";
19
+ import { rule as rule$16 } from "./rules/valid-repository-directory.mjs";
20
+ import { rule as rule$17 } from "./rules/valid-version.mjs";
22
21
  import { createRequire } from "node:module";
23
22
  import * as parserJsonc from "jsonc-eslint-parser";
24
23
 
25
24
  //#region src/plugin.ts
26
- const { name, version } = createRequire(import.meta.url)("../package.json");
25
+ const require = createRequire(import.meta.url);
27
26
  const rules$2 = {
28
27
  "bin-name-casing": rule,
29
28
  "exports-subpaths-style": rule$1,
@@ -41,18 +40,18 @@ const rules$2 = {
41
40
  "specify-peers-locally": rule$12,
42
41
  "unique-dependencies": rule$13,
43
42
  ...rules$1,
44
- "valid-local-dependency": rule$14,
45
- "valid-name": rule$15,
46
- "valid-package-definition": rule$16,
47
- "valid-repository-directory": rule$17,
48
- "valid-version": rule$18
43
+ "valid-name": rule$14,
44
+ "valid-package-definition": rule$15,
45
+ "valid-repository-directory": rule$16,
46
+ "valid-version": rule$17
49
47
  };
50
- const recommendedRules = { ...Object.fromEntries(Object.entries(rules$2).filter(([, rule$19]) => rule$19.meta.docs?.recommended).map(([name$1]) => ["package-json/" + name$1, "error"])) };
48
+ const recommendedRules = { ...Object.fromEntries(Object.entries(rules$2).filter(([, rule$18]) => rule$18.meta.docs?.recommended).map(([name$1]) => ["package-json/" + name$1, "error"])) };
51
49
  const recommendedPublishableRules = {
52
50
  ...recommendedRules,
53
- ...Object.fromEntries(Object.entries(rules$2).filter(([, rule$19]) => rule$19.meta.docs?.category === "Publishable").map(([name$1]) => ["package-json/" + name$1, "error"]))
51
+ ...Object.fromEntries(Object.entries(rules$2).filter(([, rule$18]) => rule$18.meta.docs?.category === "Publishable").map(([name$1]) => ["package-json/" + name$1, "error"]))
54
52
  };
55
- const stylisticRules = { ...Object.fromEntries(Object.entries(rules$2).filter(([, rule$19]) => rule$19.meta.docs?.category === "Stylistic").map(([name$1]) => ["package-json/" + name$1, "error"])) };
53
+ const stylisticRules = { ...Object.fromEntries(Object.entries(rules$2).filter(([, rule$18]) => rule$18.meta.docs?.category === "Stylistic").map(([name$1]) => ["package-json/" + name$1, "error"])) };
54
+ const { name, version } = require("../package.json");
56
55
  const plugin = {
57
56
  configs: {
58
57
  "legacy-recommended": {
@@ -54,7 +54,6 @@ const changeVersionRange = (version, rangeType) => {
54
54
  if (/^workspace:[~^*]$/.test(version)) switch (rangeType) {
55
55
  case "caret": return "workspace:^";
56
56
  case "pin": return "workspace:*";
57
- case "tilde":
58
57
  default: return "workspace:~";
59
58
  }
60
59
  return version.replace(/^(workspace:)?(\^|~|<=?|>=?)?/, `$1${SYMBOLS[rangeType]}`);
@@ -73,7 +72,7 @@ const capitalize = (str) => {
73
72
  const rule = createRule({
74
73
  create(context) {
75
74
  if (!context.options[0]) return {};
76
- const optionsArray = (Array.isArray(context.options[0]) ? [...context.options[0]].reverse() : [context.options[0]]).map((option) => ({
75
+ const optionsArray = (Array.isArray(context.options[0]) ? context.options[0].toReversed() : [context.options[0]]).map((option) => ({
77
76
  ...option,
78
77
  forPackages: option.forPackages?.map((pattern) => new RegExp(pattern)),
79
78
  rangeTypes: Array.isArray(option.rangeType) ? option.rangeType : [option.rangeType]
@@ -26,15 +26,14 @@ const rule = createRule({
26
26
  if (!toSort.has(key)) return;
27
27
  const currentOrder = collection.properties;
28
28
  let desiredOrder;
29
- if (keyPartsReversed.at(-1) !== "scripts") desiredOrder = currentOrder.slice().sort((a, b) => {
30
- return a.key.value > b.key.value ? 1 : -1;
31
- });
32
- else {
29
+ if (keyPartsReversed.at(-1) === "scripts") {
33
30
  const scriptsSource = context.sourceCode.getText(node);
34
31
  const { scripts: sortedScripts } = sortPackageJson(JSON.parse(`{${scriptsSource}}`));
35
32
  const propertyNodeMap = Object.fromEntries(collection.properties.map((prop) => [prop.key.value, prop]));
36
33
  desiredOrder = Object.keys(sortedScripts).map((prop) => propertyNodeMap[prop]);
37
- }
34
+ } else desiredOrder = currentOrder.toSorted((a, b) => {
35
+ return a.key.value > b.key.value ? 1 : -1;
36
+ });
38
37
  if (currentOrder.some((property, i) => desiredOrder[i] !== property)) context.report({
39
38
  data: { key },
40
39
  fix(fixer) {
@@ -22,15 +22,15 @@ const rule = createRule({
22
22
  const trackForCrossGroupUniqueness = Object.keys(dependenciesCache);
23
23
  function check(elements, getNodeToRemove) {
24
24
  const seen = /* @__PURE__ */ new Set();
25
- for (const element of elements.filter(isNotNullish).filter(isJSONStringLiteral).reverse()) if (seen.has(element.value)) report(element, elements);
25
+ for (const element of elements.filter(isNotNullish).filter(isJSONStringLiteral).reverse()) if (seen.has(element.value)) report(element);
26
26
  else seen.add(element.value);
27
- function report(node, elements$1) {
27
+ function report(node) {
28
28
  const removal = getNodeToRemove(node);
29
29
  context.report({
30
30
  messageId: "overridden",
31
31
  node,
32
32
  suggest: [{
33
- fix: removal.type === "JSONProperty" ? fixRemoveObjectProperty(context, removal) : fixRemoveArrayElement(context, removal, elements$1),
33
+ fix: removal.type === "JSONProperty" ? fixRemoveObjectProperty(context, removal) : fixRemoveArrayElement(context, removal, elements),
34
34
  messageId: "remove"
35
35
  }]
36
36
  });
@@ -39,14 +39,11 @@ const rule = createRule({
39
39
  return {
40
40
  "Program > JSONExpressionStatement > JSONObjectExpression > JSONProperty[key.type=JSONLiteral]"(node) {
41
41
  if (!dependencyPropertyNames.has(node.key.value)) return;
42
- switch (node.value.type) {
43
- case "JSONArrayExpression":
44
- check(node.value.elements, (element) => element);
45
- break;
46
- case "JSONObjectExpression":
47
- check(node.value.properties.map((property) => property.key), (property) => property.parent);
48
- if (trackForCrossGroupUniqueness.includes(node.key.value)) dependenciesCache[node.key.value] = node.value.properties;
49
- break;
42
+ const nodeValueType = node.value.type;
43
+ if (nodeValueType === "JSONArrayExpression") check(node.value.elements, (element) => element);
44
+ if (nodeValueType === "JSONObjectExpression") {
45
+ check(node.value.properties.map((property) => property.key), (property) => property.parent);
46
+ if (trackForCrossGroupUniqueness.includes(node.key.value)) dependenciesCache[node.key.value] = node.value.properties;
50
47
  }
51
48
  },
52
49
  "Program:exit"() {
@@ -13,12 +13,12 @@ const rule = createRule({
13
13
  return;
14
14
  }
15
15
  const privateField = node.parent.properties.find((p) => p.key.type === "JSONLiteral" && p.key.value === "private");
16
- if (privateField && privateField.value.type === "JSONLiteral" && (privateField.value.value === true || privateField.value.value === "true")) return;
16
+ if (privateField?.value.type === "JSONLiteral" && (privateField.value.value === true || privateField.value.value === "true")) return;
17
17
  const { errors, warnings } = validate(node.value.value);
18
18
  const complaints = [...errors ?? [], ...warnings ?? []];
19
19
  if (!complaints.length) return;
20
20
  context.report({
21
- data: { complaints: complaints.map((error) => error.substring(0, error.length)).join("; ") },
21
+ data: { complaints: complaints.map((error) => error.slice(0, Math.max(0, error.length))).join("; ") },
22
22
  messageId: "invalid",
23
23
  node: node.value
24
24
  });
@@ -24,6 +24,7 @@ const properties = [
24
24
  ["license", validateLicense],
25
25
  ["main", validateMain],
26
26
  ["man", validateMan],
27
+ ["module", validateMain],
27
28
  ["optionalDependencies", validateDependencies],
28
29
  ["os", validateOs],
29
30
  ["peerDependencies", validateDependencies],
@@ -1,7 +1,7 @@
1
1
  import { createRule } from "../createRule.mjs";
2
2
  import { findPropertyWithKeyValue } from "../utils/findPropertyWithKeyValue.mjs";
3
- import * as path$1 from "node:path";
4
3
  import { findRootSync } from "@altano/repository-tools";
4
+ import path from "node:path";
5
5
  import { sep } from "node:path/posix";
6
6
 
7
7
  //#region src/rules/valid-repository-directory.ts
@@ -13,11 +13,11 @@ import { sep } from "node:path/posix";
13
13
  * @example '/a/b/c', 'd' => false
14
14
  */
15
15
  function pathEndsWith(parent, child) {
16
- const segments = parent.split(path$1.sep);
16
+ const segments = parent.split(path.sep);
17
17
  if (parent === child) return true;
18
18
  let pathToCheck = "";
19
19
  return segments.reverse().some((segment) => {
20
- pathToCheck = path$1.join(segment, pathToCheck);
20
+ pathToCheck = path.join(segment, pathToCheck);
21
21
  if (pathToCheck === child) return true;
22
22
  });
23
23
  }
@@ -27,15 +27,15 @@ const rule = createRule({
27
27
  const directoryProperty = findPropertyWithKeyValue(node.value.properties, "directory");
28
28
  if (directoryProperty?.value.type !== "JSONLiteral" || typeof directoryProperty.value.value !== "string") return;
29
29
  const directoryValue = directoryProperty.value.value;
30
- const fileDirectory = path$1.normalize(path$1.dirname(context.filename));
30
+ const fileDirectory = path.normalize(path.dirname(context.filename));
31
31
  const repositoryRoot = findRootSync(fileDirectory);
32
32
  if (repositoryRoot == null) {
33
- if (!pathEndsWith(fileDirectory, path$1.normalize(directoryValue))) context.report({
33
+ if (!pathEndsWith(fileDirectory, path.normalize(directoryValue))) context.report({
34
34
  messageId: "mismatched",
35
35
  node: directoryProperty.value
36
36
  });
37
37
  } else {
38
- const expected = path$1.relative(repositoryRoot, fileDirectory).replaceAll(path$1.sep, sep);
38
+ const expected = path.relative(repositoryRoot, fileDirectory).replaceAll(path.sep, sep);
39
39
  if (expected !== directoryValue) context.report({
40
40
  messageId: "mismatched",
41
41
  node: directoryProperty.value,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-package-json",
3
- "version": "0.85.0",
3
+ "version": "0.86.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": {
@@ -47,7 +47,6 @@
47
47
  "lint": "eslint . --max-warnings 0",
48
48
  "lint:docs": "eslint-doc-generator --check",
49
49
  "lint:knip": "knip",
50
- "lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line",
51
50
  "prepare": "husky",
52
51
  "test": "vitest",
53
52
  "typecheck": "tsc"
@@ -70,51 +69,50 @@
70
69
  "devDependencies": {
71
70
  "@eslint-community/eslint-plugin-eslint-comments": "4.5.0",
72
71
  "@eslint/js": "9.39.1",
73
- "@release-it/conventional-changelog": "10.0.0",
74
- "@types/estree": "1.0.7",
75
- "@types/node": "24.10.0",
76
- "@types/semver": "7.7.0",
72
+ "@eslint/markdown": "7.5.1",
73
+ "@release-it/conventional-changelog": "10.0.2",
74
+ "@types/estree": "1.0.8",
75
+ "@types/node": "24.10.1",
76
+ "@types/semver": "7.7.1",
77
77
  "@types/validate-npm-package-name": "4.0.2",
78
- "@vitest/coverage-v8": "4.0.4",
79
- "@vitest/eslint-plugin": "1.4.0",
80
- "console-fail-test": "0.5.0",
78
+ "@vitest/coverage-v8": "4.0.13",
79
+ "@vitest/eslint-plugin": "1.6.1",
80
+ "console-fail-test": "0.6.0",
81
81
  "eslint": "9.39.1",
82
- "eslint-doc-generator": "2.3.0",
82
+ "eslint-doc-generator": "2.4.0",
83
83
  "eslint-plugin-eslint-plugin": "7.2.0",
84
- "eslint-plugin-jsdoc": "61.1.0",
84
+ "eslint-plugin-jsdoc": "61.5.0",
85
85
  "eslint-plugin-jsonc": "2.21.0",
86
+ "eslint-plugin-markdown-links": "0.7.1",
86
87
  "eslint-plugin-n": "17.23.1",
87
- "eslint-plugin-perfectionist": "4.15.0",
88
+ "eslint-plugin-node-dependencies": "1.3.0",
89
+ "eslint-plugin-perfectionist": "5.1.0",
88
90
  "eslint-plugin-regexp": "2.10.0",
91
+ "eslint-plugin-unicorn": "62.0.0",
89
92
  "eslint-plugin-yml": "1.19.0",
90
93
  "husky": "9.1.7",
91
- "jiti": "2.6.0",
94
+ "jiti": "2.6.1",
92
95
  "json-schema-to-ts": "3.1.1",
93
96
  "jsonc-eslint-parser": "2.4.1",
94
- "knip": "5.69.0",
95
- "lint-staged": "16.2.0",
96
- "markdownlint": "0.39.0",
97
- "markdownlint-cli": "0.45.0",
98
- "prettier": "3.6.0",
97
+ "knip": "5.78.0",
98
+ "lint-staged": "16.2.7",
99
+ "prettier": "3.7.0",
99
100
  "prettier-plugin-curly": "0.4.0",
100
- "prettier-plugin-packagejson": "2.5.10",
101
+ "prettier-plugin-packagejson": "2.5.19",
102
+ "prettier-plugin-sentences-per-line": "0.2.0",
101
103
  "prettier-plugin-sh": "0.18.0",
102
- "release-it": "19.0.1",
103
- "sentences-per-line": "0.3.0",
104
- "tsdown": "0.16.0",
105
- "typescript": "5.9.2",
106
- "typescript-eslint": "8.46.0",
107
- "vitest": "4.0.4"
104
+ "release-it": "19.2.0",
105
+ "tsdown": "0.18.0",
106
+ "typescript": "5.9.3",
107
+ "typescript-eslint": "8.50.0",
108
+ "vitest": "4.0.13"
108
109
  },
109
110
  "peerDependencies": {
110
111
  "eslint": ">=8.0.0",
111
112
  "jsonc-eslint-parser": "^2.0.0"
112
113
  },
113
- "packageManager": "pnpm@10.21.0",
114
+ "packageManager": "pnpm@10.26.0",
114
115
  "engines": {
115
116
  "node": "^20.19.0 || >=22.12.0"
116
- },
117
- "publishConfig": {
118
- "provenance": true
119
117
  }
120
118
  }
@@ -1,6 +0,0 @@
1
- import { PackageJsonRuleModule } from "../createRule.mjs";
2
-
3
- //#region src/rules/valid-local-dependency.d.ts
4
- declare const rule: PackageJsonRuleModule<[], []>;
5
- //#endregion
6
- export { rule };
@@ -1,53 +0,0 @@
1
- import { createRule } from "../createRule.mjs";
2
- import { createRequire } from "node:module";
3
- import path from "node:path";
4
-
5
- //#region src/rules/valid-local-dependency.ts
6
- const require = createRequire(import.meta.url);
7
- const fileRegex = /^file:/;
8
- const linkRegex = /^link:/;
9
- const rule = createRule({
10
- create(context) {
11
- return { "Program:exit"() {
12
- const { dependencies, devDependencies, peerDependencies } = JSON.parse(context.sourceCode.text);
13
- const depObjs = [
14
- Object.entries(dependencies ?? {}),
15
- Object.entries(peerDependencies ?? {}),
16
- Object.entries(devDependencies ?? {})
17
- ];
18
- for (const obj of depObjs) for (const [key, value] of obj) {
19
- const response = (pathToken) => {
20
- const filePath = path.join(context.filename.replace("package.json", ""), value.replace(pathToken, ""));
21
- try {
22
- require.resolve(filePath);
23
- } catch {
24
- context.report({
25
- data: {
26
- package: key,
27
- path: value
28
- },
29
- messageId: "invalidPath",
30
- node: context.sourceCode.ast
31
- });
32
- }
33
- };
34
- if (value.startsWith("link:")) response(linkRegex);
35
- if (value.startsWith("file:")) response(fileRegex);
36
- }
37
- } };
38
- },
39
- meta: {
40
- deprecated: true,
41
- docs: {
42
- category: "Best Practices",
43
- description: "Checks existence of local dependencies in the package.json"
44
- },
45
- messages: { invalidPath: "The package {{package}} does not exist given the specified path: {{path}}." },
46
- schema: [],
47
- type: "problem"
48
- },
49
- name: "valid-local-dependency"
50
- });
51
-
52
- //#endregion
53
- export { rule };