eslint-plugin-package-json 0.10.2 → 0.10.3

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/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  <a href="#contributors" target="_blank">
7
7
  <!-- prettier-ignore-start -->
8
8
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
9
- <img alt="All Contributors: 13 👪" src="https://img.shields.io/badge/all_contributors-13_👪-21bb42.svg" />
9
+ <img alt="All Contributors: 14 👪" src="https://img.shields.io/badge/all_contributors-14_👪-21bb42.svg" />
10
10
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
11
11
  <!-- prettier-ignore-end -->
12
12
  </a>
@@ -117,6 +117,7 @@ They can lint `package.json` files at project root and in any subfolder of the p
117
117
  <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>
118
118
  <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>
119
119
  <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>
120
+ <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></td>
120
121
  <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>
121
122
  <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>
122
123
  </tr>
@@ -25,7 +25,7 @@ var import_package_json_validator = require("package-json-validator");
25
25
  var import_createRule = require("../createRule.js");
26
26
  const unusedErrorPatterns = [
27
27
  /^Url not valid/i,
28
- /^Invalid version range for .+?: file:/i,
28
+ /^Invalid version range for .+?: (?:file|npm):/i,
29
29
  /^author field should have name/i
30
30
  ];
31
31
  const isUsableError = (errorText) => unusedErrorPatterns.every((pattern) => !pattern.test(errorText));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/rules/valid-package-def.ts"],"sourcesContent":["import { PJV as PackageValidator } from \"package-json-validator\";\n\nimport { createRule } from \"../createRule.js\";\n\n// package-json-validator does not correctly recognize shorthand for repositories and alternate dependency statements, so we discard those values.\n// it also enforces a stricter code for npm than is really appropriate,\n// so we disable some other errors here.\nconst unusedErrorPatterns = [\n\t/^Url not valid/i,\n\t/^Invalid version range for .+?: file:/i,\n\t/^author field should have name/i,\n];\n\nconst isUsableError = (errorText: string) =>\n\tunusedErrorPatterns.every((pattern) => !pattern.test(errorText));\n\nexport default createRule({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst validation = PackageValidator.validate(\n\t\t\t\t\tcontext.sourceCode.text,\n\t\t\t\t) as PackageValidator.ValidationSuccessResult;\n\n\t\t\t\tvalidation.errors?.filter(isUsableError).forEach((message) => {\n\t\t\t\t\tif (message) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Enforce that package.json has all properties required by the npm spec\",\n\t\t\trecommended: true,\n\t\t},\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAwC;AAExC,wBAA2B;AAK3B,MAAM,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACD;AAEA,MAAM,gBAAgB,CAAC,cACtB,oBAAoB,MAAM,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC;AAEhE,IAAO,gCAAQ,8BAAW;AAAA,EACzB,OAAO,SAAS;AACf,WAAO;AAAA,MACN,iBAAiB;AAChB,cAAM,aAAa,8BAAAA,IAAiB;AAAA,UACnC,QAAQ,WAAW;AAAA,QACpB;AAEA,mBAAW,QAAQ,OAAO,aAAa,EAAE,QAAQ,CAAC,YAAY;AAC7D,cAAI,SAAS;AACZ,oBAAQ,OAAO;AAAA,cACd;AAAA,cACA,MAAM,QAAQ,WAAW;AAAA,YAC1B,CAAC;AAAA,UACF;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM;AAAA,IACL,MAAM;AAAA,MACL,UAAU;AAAA,MACV,aACC;AAAA,MACD,aAAa;AAAA,IACd;AAAA,EACD;AACD,CAAC;","names":["PackageValidator"]}
1
+ {"version":3,"sources":["../../src/rules/valid-package-def.ts"],"sourcesContent":["import { PJV as PackageValidator } from \"package-json-validator\";\n\nimport { createRule } from \"../createRule.js\";\n\n// package-json-validator does not correctly recognize shorthand for repositories and alternate dependency statements, so we discard those values.\n// it also enforces a stricter code for npm than is really appropriate,\n// so we disable some other errors here.\nconst unusedErrorPatterns = [\n\t/^Url not valid/i,\n\t/^Invalid version range for .+?: (?:file|npm):/i,\n\t/^author field should have name/i,\n];\n\nconst isUsableError = (errorText: string) =>\n\tunusedErrorPatterns.every((pattern) => !pattern.test(errorText));\n\nexport default createRule({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst validation = PackageValidator.validate(\n\t\t\t\t\tcontext.sourceCode.text,\n\t\t\t\t) as PackageValidator.ValidationSuccessResult;\n\n\t\t\t\tvalidation.errors?.filter(isUsableError).forEach((message) => {\n\t\t\t\t\tif (message) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Enforce that package.json has all properties required by the npm spec\",\n\t\t\trecommended: true,\n\t\t},\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAwC;AAExC,wBAA2B;AAK3B,MAAM,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACD;AAEA,MAAM,gBAAgB,CAAC,cACtB,oBAAoB,MAAM,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC;AAEhE,IAAO,gCAAQ,8BAAW;AAAA,EACzB,OAAO,SAAS;AACf,WAAO;AAAA,MACN,iBAAiB;AAChB,cAAM,aAAa,8BAAAA,IAAiB;AAAA,UACnC,QAAQ,WAAW;AAAA,QACpB;AAEA,mBAAW,QAAQ,OAAO,aAAa,EAAE,QAAQ,CAAC,YAAY;AAC7D,cAAI,SAAS;AACZ,oBAAQ,OAAO;AAAA,cACd;AAAA,cACA,MAAM,QAAQ,WAAW;AAAA,YAC1B,CAAC;AAAA,UACF;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM;AAAA,IACL,MAAM;AAAA,MACL,UAAU;AAAA,MACV,aACC;AAAA,MACD,aAAa;AAAA,IACd;AAAA,EACD;AACD,CAAC;","names":["PackageValidator"]}
@@ -2,7 +2,7 @@ import { PJV as PackageValidator } from "package-json-validator";
2
2
  import { createRule } from "../createRule.js";
3
3
  const unusedErrorPatterns = [
4
4
  /^Url not valid/i,
5
- /^Invalid version range for .+?: file:/i,
5
+ /^Invalid version range for .+?: (?:file|npm):/i,
6
6
  /^author field should have name/i
7
7
  ];
8
8
  const isUsableError = (errorText) => unusedErrorPatterns.every((pattern) => !pattern.test(errorText));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/rules/valid-package-def.ts"],"sourcesContent":["import { PJV as PackageValidator } from \"package-json-validator\";\n\nimport { createRule } from \"../createRule.js\";\n\n// package-json-validator does not correctly recognize shorthand for repositories and alternate dependency statements, so we discard those values.\n// it also enforces a stricter code for npm than is really appropriate,\n// so we disable some other errors here.\nconst unusedErrorPatterns = [\n\t/^Url not valid/i,\n\t/^Invalid version range for .+?: file:/i,\n\t/^author field should have name/i,\n];\n\nconst isUsableError = (errorText: string) =>\n\tunusedErrorPatterns.every((pattern) => !pattern.test(errorText));\n\nexport default createRule({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst validation = PackageValidator.validate(\n\t\t\t\t\tcontext.sourceCode.text,\n\t\t\t\t) as PackageValidator.ValidationSuccessResult;\n\n\t\t\t\tvalidation.errors?.filter(isUsableError).forEach((message) => {\n\t\t\t\t\tif (message) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Enforce that package.json has all properties required by the npm spec\",\n\t\t\trecommended: true,\n\t\t},\n\t},\n});\n"],"mappings":"AAAA,SAAS,OAAO,wBAAwB;AAExC,SAAS,kBAAkB;AAK3B,MAAM,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACD;AAEA,MAAM,gBAAgB,CAAC,cACtB,oBAAoB,MAAM,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC;AAEhE,IAAO,4BAAQ,WAAW;AAAA,EACzB,OAAO,SAAS;AACf,WAAO;AAAA,MACN,iBAAiB;AAChB,cAAM,aAAa,iBAAiB;AAAA,UACnC,QAAQ,WAAW;AAAA,QACpB;AAEA,mBAAW,QAAQ,OAAO,aAAa,EAAE,QAAQ,CAAC,YAAY;AAC7D,cAAI,SAAS;AACZ,oBAAQ,OAAO;AAAA,cACd;AAAA,cACA,MAAM,QAAQ,WAAW;AAAA,YAC1B,CAAC;AAAA,UACF;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM;AAAA,IACL,MAAM;AAAA,MACL,UAAU;AAAA,MACV,aACC;AAAA,MACD,aAAa;AAAA,IACd;AAAA,EACD;AACD,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/rules/valid-package-def.ts"],"sourcesContent":["import { PJV as PackageValidator } from \"package-json-validator\";\n\nimport { createRule } from \"../createRule.js\";\n\n// package-json-validator does not correctly recognize shorthand for repositories and alternate dependency statements, so we discard those values.\n// it also enforces a stricter code for npm than is really appropriate,\n// so we disable some other errors here.\nconst unusedErrorPatterns = [\n\t/^Url not valid/i,\n\t/^Invalid version range for .+?: (?:file|npm):/i,\n\t/^author field should have name/i,\n];\n\nconst isUsableError = (errorText: string) =>\n\tunusedErrorPatterns.every((pattern) => !pattern.test(errorText));\n\nexport default createRule({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst validation = PackageValidator.validate(\n\t\t\t\t\tcontext.sourceCode.text,\n\t\t\t\t) as PackageValidator.ValidationSuccessResult;\n\n\t\t\t\tvalidation.errors?.filter(isUsableError).forEach((message) => {\n\t\t\t\t\tif (message) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Enforce that package.json has all properties required by the npm spec\",\n\t\t\trecommended: true,\n\t\t},\n\t},\n});\n"],"mappings":"AAAA,SAAS,OAAO,wBAAwB;AAExC,SAAS,kBAAkB;AAK3B,MAAM,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACD;AAEA,MAAM,gBAAgB,CAAC,cACtB,oBAAoB,MAAM,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC;AAEhE,IAAO,4BAAQ,WAAW;AAAA,EACzB,OAAO,SAAS;AACf,WAAO;AAAA,MACN,iBAAiB;AAChB,cAAM,aAAa,iBAAiB;AAAA,UACnC,QAAQ,WAAW;AAAA,QACpB;AAEA,mBAAW,QAAQ,OAAO,aAAa,EAAE,QAAQ,CAAC,YAAY;AAC7D,cAAI,SAAS;AACZ,oBAAQ,OAAO;AAAA,cACd;AAAA,cACA,MAAM,QAAQ,WAAW;AAAA,YAC1B,CAAC;AAAA,UACF;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM;AAAA,IACL,MAAM;AAAA,MACL,UAAU;AAAA,MACV,aACC;AAAA,MACD,aAAa;AAAA,IACd;AAAA,EACD;AACD,CAAC;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-package-json",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
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": {
@@ -63,8 +63,8 @@
63
63
  "@types/package-json-validator": "^0.6.1",
64
64
  "@types/semver": "^7.5.6",
65
65
  "@types/validate-npm-package-name": "^4.0.2",
66
- "@typescript-eslint/eslint-plugin": "^6.19.0",
67
- "@typescript-eslint/parser": "^6.19.0",
66
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
67
+ "@typescript-eslint/parser": "^7.0.0",
68
68
  "@vitest/coverage-v8": "^1.2.1",
69
69
  "console-fail-test": "^0.2.3",
70
70
  "cspell": "^8.3.2",
@@ -81,9 +81,9 @@
81
81
  "eslint-plugin-regexp": "^2.2.0",
82
82
  "eslint-plugin-vitest": "^0.3.20",
83
83
  "eslint-plugin-yml": "^1.12.2",
84
- "husky": "^8.0.3",
84
+ "husky": "^9.0.0",
85
85
  "jsonc-eslint-parser": "^2.4.0",
86
- "knip": "^4.0.4",
86
+ "knip": "^5.0.0",
87
87
  "lint-staged": "^15.2.0",
88
88
  "markdownlint": "^0.33.0",
89
89
  "markdownlint-cli": "^0.39.0",
@@ -103,7 +103,7 @@
103
103
  "eslint": ">=8.0.0",
104
104
  "jsonc-eslint-parser": "^2.0.0"
105
105
  },
106
- "packageManager": "pnpm@8.14.3",
106
+ "packageManager": "pnpm@8.15.3",
107
107
  "engines": {
108
108
  "node": ">=18"
109
109
  },