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 +91 -84
- package/README.md +29 -20
- package/lib/plugin.mjs +13 -14
- package/lib/rules/restrict-dependency-ranges.mjs +1 -2
- package/lib/rules/sort-collections.mjs +4 -5
- package/lib/rules/unique-dependencies.mjs +8 -11
- package/lib/rules/valid-name.mjs +2 -2
- package/lib/rules/valid-properties.mjs +1 -0
- package/lib/rules/valid-repository-directory.mjs +6 -6
- package/package.json +27 -29
- package/lib/rules/valid-local-dependency.d.mts +0 -6
- package/lib/rules/valid-local-dependency.mjs +0 -53
package/CHANGELOG.md
CHANGED
|
@@ -1,67 +1,73 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
510
|
+
No meaningful change.
|
|
511
|
+
CI error.
|
|
505
512
|
|
|
506
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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/
|
|
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-
|
|
17
|
-
import { rule as rule$15 } from "./rules/valid-
|
|
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$
|
|
21
|
-
import { rule as rule$
|
|
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
|
|
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-
|
|
45
|
-
"valid-
|
|
46
|
-
"valid-
|
|
47
|
-
"valid-
|
|
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$
|
|
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$
|
|
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$
|
|
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]) ?
|
|
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)
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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"() {
|
package/lib/rules/valid-name.mjs
CHANGED
|
@@ -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
|
|
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.
|
|
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
|
});
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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
|
-
"@
|
|
74
|
-
"@
|
|
75
|
-
"@types/
|
|
76
|
-
"@types/
|
|
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.
|
|
79
|
-
"@vitest/eslint-plugin": "1.
|
|
80
|
-
"console-fail-test": "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.
|
|
82
|
+
"eslint-doc-generator": "2.4.0",
|
|
83
83
|
"eslint-plugin-eslint-plugin": "7.2.0",
|
|
84
|
-
"eslint-plugin-jsdoc": "61.
|
|
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-
|
|
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.
|
|
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.
|
|
95
|
-
"lint-staged": "16.2.
|
|
96
|
-
"
|
|
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.
|
|
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
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"typescript": "
|
|
106
|
-
"
|
|
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.
|
|
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,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 };
|