eslint-plugin-package-json 0.41.0 → 0.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,11 +1,23 @@
1
1
  # Changelog
2
2
 
3
- # [0.41.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.40.5...v0.41.0) (2025-06-24)
3
+ ## [0.42.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.42.0...v0.42.1) (2025-07-01)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **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))
4
9
 
10
+ # [0.42.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.41.0...v0.42.0) (2025-06-25)
11
+
12
+ ### Features
13
+
14
+ - 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)
15
+
16
+ # [0.41.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.40.5...v0.41.0) (2025-06-24)
5
17
 
6
18
  ### Features
7
19
 
8
- * **valid-type:** add new rule ([#1120](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1120)) ([7425f27](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/7425f2796560e94420a85fa6494996cb052c06c4)), closes [#842](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/842)
20
+ - **valid-type:** add new rule ([#1120](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/1120)) ([7425f27](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/7425f2796560e94420a85fa6494996cb052c06c4)), closes [#842](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/842)
9
21
 
10
22
  ## [0.40.5](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.40.4...v0.40.5) (2025-06-23)
11
23
 
package/README.md CHANGED
@@ -141,7 +141,6 @@ The default settings don't conflict, and Prettier plugins can quickly fix up ord
141
141
  | [valid-bin](docs/rules/valid-bin.md) | Enforce that the `bin` property is valid. | ✔️ ✅ | | 💡 | |
142
142
  | [valid-local-dependency](docs/rules/valid-local-dependency.md) | Checks existence of local dependencies in the package.json | | | | ❌ |
143
143
  | [valid-name](docs/rules/valid-name.md) | Enforce that package names are valid npm package names | ✔️ ✅ | | | |
144
- | [valid-package-def](docs/rules/valid-package-def.md) | Enforce that package.json has all properties required by the npm spec | | | | ❌ |
145
144
  | [valid-package-definition](docs/rules/valid-package-definition.md) | Enforce that package.json has all properties required by the npm spec | ✔️ ✅ | | | |
146
145
  | [valid-repository-directory](docs/rules/valid-repository-directory.md) | Enforce that if repository directory is specified, it matches the path to the package.json file | ✔️ ✅ | | 💡 | |
147
146
  | [valid-type](docs/rules/valid-type.md) | Enforce that the `type` property is valid. | ✔️ ✅ | | | |
@@ -153,6 +152,25 @@ The default settings don't conflict, and Prettier plugins can quickly fix up ord
153
152
  These rules only run on `package.json` files; they will ignore all other files being linted.
154
153
  They can lint `package.json` files at project root and in any subfolder of the project, making this plugin great for monorepos.
155
154
 
155
+ ## Deprecation Policy
156
+
157
+ We never _want_ to remove things, when we're building them!
158
+ But the reality is that libraries evolve and deprecations are a fact of life.
159
+ Following are the different timeframes that we've defined as it relates to deprecating APIs in this project.
160
+
161
+ ### RFC Timeframe (6 weeks)
162
+
163
+ When some aspect of our API is going to be deprecated (and eventually removed), it must initially go through an RFC phase.
164
+ Whoever's motivating the removal of the api, should create an RFC issue explaining the proposal and inviting feedback from the community.
165
+ That RFC should remain active for at least 6 weeks.
166
+ The RFC text should make clear what the target date is for closing the RFC.
167
+ Once the RFC period is over, if the removal is still moving forward, the API(s) should be officially deprecated.
168
+
169
+ ### Removal Timeframe (6 months)
170
+
171
+ Once an API has been marked as deprecated, it will remain intact for at least 6 months.
172
+ After 6 months from the date of deprecation, the API is subject to removal.
173
+
156
174
  ## Development
157
175
 
158
176
  See [`.github/CONTRIBUTING.md`](./.github/CONTRIBUTING.md), then [`.github/DEVELOPMENT.md`](./.github/DEVELOPMENT.md).
@@ -198,7 +216,7 @@ Thanks! 🗂
198
216
  <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>
199
217
  <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>
200
218
  <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>
201
- <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></td>
219
+ <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>
202
220
  <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>
203
221
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/sunnytsang1998"><img src="https://avatars.githubusercontent.com/u/207208443?v=4?s=100" width="100px;" alt="sunnytsang1998"/><br /><sub><b>sunnytsang1998</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=author%3Asunnytsang1998" title="Bug reports">🐛</a></td>
204
222
  </tr>
package/lib/plugin.js CHANGED
@@ -34,20 +34,7 @@ const rules = {
34
34
  "valid-package-definition": validPackageDefinition,
35
35
  "valid-repository-directory": validRepositoryDirectory,
36
36
  "valid-type": validType,
37
- "valid-version": validVersion,
38
- /** @deprecated use 'valid-package-definition' instead */
39
- "valid-package-def": {
40
- ...validPackageDefinition,
41
- meta: {
42
- ...validPackageDefinition.meta,
43
- deprecated: true,
44
- docs: {
45
- ...validPackageDefinition.meta.docs,
46
- recommended: false
47
- },
48
- replacedBy: ["valid-package-definition"]
49
- }
50
- }
37
+ "valid-version": validVersion
51
38
  };
52
39
  const baseRecommendedRules = {
53
40
  ...Object.fromEntries(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-package-json",
3
- "version": "0.41.0",
3
+ "version": "0.42.1",
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": {
@@ -36,7 +36,6 @@
36
36
  "lint:knip": "knip",
37
37
  "lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line",
38
38
  "lint:packages": "pnpm dedupe --check",
39
- "lint:spelling": "cspell \"**\" \".github/**/*\"",
40
39
  "prepare": "husky",
41
40
  "test": "vitest",
42
41
  "typecheck": "tsc"
@@ -50,7 +49,7 @@
50
49
  "detect-indent": "7.0.1",
51
50
  "detect-newline": "4.0.1",
52
51
  "eslint-fix-utils": "^0.4.0",
53
- "package-json-validator": "~0.16.0",
52
+ "package-json-validator": "~0.17.0",
54
53
  "semver": "^7.5.4",
55
54
  "sort-object-keys": "^1.1.3",
56
55
  "sort-package-json": "^3.0.0",
@@ -70,15 +69,14 @@
70
69
  "@vitest/eslint-plugin": "1.2.0",
71
70
  "console-fail-test": "0.5.0",
72
71
  "create-typescript-app": "2.42.0",
73
- "cspell": "9.1.1",
74
72
  "eslint": "9.29.0",
75
- "eslint-doc-generator": "2.1.2",
76
- "eslint-plugin-eslint-plugin": "6.4.0",
77
- "eslint-plugin-jsdoc": "51.0.1",
73
+ "eslint-doc-generator": "2.2.0",
74
+ "eslint-plugin-eslint-plugin": "6.5.0",
75
+ "eslint-plugin-jsdoc": "51.2.1",
78
76
  "eslint-plugin-jsonc": "2.20.0",
79
77
  "eslint-plugin-markdown": "5.1.0",
80
78
  "eslint-plugin-n": "17.20.0",
81
- "eslint-plugin-perfectionist": "4.14.0",
79
+ "eslint-plugin-perfectionist": "4.15.0",
82
80
  "eslint-plugin-regexp": "2.9.0",
83
81
  "eslint-plugin-yml": "1.18.0",
84
82
  "husky": "9.1.7",
@@ -88,7 +86,7 @@
88
86
  "lint-staged": "16.1.0",
89
87
  "markdownlint": "0.38.0",
90
88
  "markdownlint-cli": "0.45.0",
91
- "prettier": "3.5.3",
89
+ "prettier": "3.6.0",
92
90
  "prettier-plugin-curly": "0.3.1",
93
91
  "prettier-plugin-packagejson": "2.5.10",
94
92
  "prettier-plugin-sh": "0.17.1",
@@ -96,7 +94,7 @@
96
94
  "sentences-per-line": "0.3.0",
97
95
  "tsup": "8.5.0",
98
96
  "typescript": "5.8.2",
99
- "typescript-eslint": "8.34.0",
97
+ "typescript-eslint": "8.35.0",
100
98
  "vitest": "3.2.0"
101
99
  },
102
100
  "peerDependencies": {