eslint-plugin-typefest 1.0.5 → 1.0.7

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.
Files changed (92) hide show
  1. package/README.md +19 -3
  2. package/dist/_internal/constrained-type-at-location.d.ts.map +1 -1
  3. package/dist/_internal/constrained-type-at-location.js.map +1 -1
  4. package/dist/_internal/function-type-reference-patterns.d.ts +34 -0
  5. package/dist/_internal/function-type-reference-patterns.d.ts.map +1 -0
  6. package/dist/_internal/function-type-reference-patterns.js +103 -0
  7. package/dist/_internal/function-type-reference-patterns.js.map +1 -0
  8. package/dist/_internal/rule-catalog.d.ts.map +1 -1
  9. package/dist/_internal/rule-catalog.js +11 -0
  10. package/dist/_internal/rule-catalog.js.map +1 -1
  11. package/dist/_internal/rules-registry.d.ts.map +1 -1
  12. package/dist/_internal/rules-registry.js +22 -0
  13. package/dist/_internal/rules-registry.js.map +1 -1
  14. package/dist/_internal/set-membership.d.ts.map +1 -1
  15. package/dist/_internal/set-membership.js.map +1 -1
  16. package/dist/_internal/type-checker-compat.d.ts.map +1 -1
  17. package/dist/_internal/type-checker-compat.js.map +1 -1
  18. package/dist/_internal/type-reference-node.d.ts +8 -0
  19. package/dist/_internal/type-reference-node.d.ts.map +1 -1
  20. package/dist/_internal/type-reference-node.js +14 -0
  21. package/dist/_internal/type-reference-node.js.map +1 -1
  22. package/dist/_internal/typefest-config-references.d.ts +2 -1
  23. package/dist/_internal/typefest-config-references.d.ts.map +1 -1
  24. package/dist/_internal/typefest-config-references.js +11 -2
  25. package/dist/_internal/typefest-config-references.js.map +1 -1
  26. package/dist/_internal/typescript-eslint-node-autofix.js.map +1 -1
  27. package/dist/plugin.cjs +1094 -138
  28. package/dist/plugin.cjs.map +4 -4
  29. package/dist/plugin.d.ts.map +1 -1
  30. package/dist/plugin.js +5 -0
  31. package/dist/plugin.js.map +1 -1
  32. package/dist/rules/prefer-ts-extras-object-map-values.d.ts +14 -0
  33. package/dist/rules/prefer-ts-extras-object-map-values.d.ts.map +1 -0
  34. package/dist/rules/prefer-ts-extras-object-map-values.js +227 -0
  35. package/dist/rules/prefer-ts-extras-object-map-values.js.map +1 -0
  36. package/dist/rules/prefer-type-fest-asyncify.d.ts +7 -0
  37. package/dist/rules/prefer-type-fest-asyncify.d.ts.map +1 -0
  38. package/dist/rules/prefer-type-fest-asyncify.js +79 -0
  39. package/dist/rules/prefer-type-fest-asyncify.js.map +1 -0
  40. package/dist/rules/prefer-type-fest-conditional-except.d.ts +7 -0
  41. package/dist/rules/prefer-type-fest-conditional-except.d.ts.map +1 -0
  42. package/dist/rules/prefer-type-fest-conditional-except.js +94 -0
  43. package/dist/rules/prefer-type-fest-conditional-except.js.map +1 -0
  44. package/dist/rules/prefer-type-fest-conditional-keys.d.ts +7 -0
  45. package/dist/rules/prefer-type-fest-conditional-keys.d.ts.map +1 -0
  46. package/dist/rules/prefer-type-fest-conditional-keys.js +78 -0
  47. package/dist/rules/prefer-type-fest-conditional-keys.js.map +1 -0
  48. package/dist/rules/prefer-type-fest-distributed-omit.d.ts +7 -0
  49. package/dist/rules/prefer-type-fest-distributed-omit.d.ts.map +1 -0
  50. package/dist/rules/prefer-type-fest-distributed-omit.js +67 -0
  51. package/dist/rules/prefer-type-fest-distributed-omit.js.map +1 -0
  52. package/dist/rules/prefer-type-fest-distributed-pick.d.ts +7 -0
  53. package/dist/rules/prefer-type-fest-distributed-pick.d.ts.map +1 -0
  54. package/dist/rules/prefer-type-fest-distributed-pick.js +95 -0
  55. package/dist/rules/prefer-type-fest-distributed-pick.js.map +1 -0
  56. package/dist/rules/prefer-type-fest-merge.d.ts +7 -0
  57. package/dist/rules/prefer-type-fest-merge.d.ts.map +1 -0
  58. package/dist/rules/prefer-type-fest-merge.js +93 -0
  59. package/dist/rules/prefer-type-fest-merge.js.map +1 -0
  60. package/dist/rules/prefer-type-fest-pick-index-signature.d.ts +7 -0
  61. package/dist/rules/prefer-type-fest-pick-index-signature.d.ts.map +1 -0
  62. package/dist/rules/prefer-type-fest-pick-index-signature.js +98 -0
  63. package/dist/rules/prefer-type-fest-pick-index-signature.js.map +1 -0
  64. package/dist/rules/prefer-type-fest-set-return-type.d.ts +7 -0
  65. package/dist/rules/prefer-type-fest-set-return-type.d.ts.map +1 -0
  66. package/dist/rules/prefer-type-fest-set-return-type.js +53 -0
  67. package/dist/rules/prefer-type-fest-set-return-type.js.map +1 -0
  68. package/dist/rules/prefer-type-fest-stringified.d.ts +7 -0
  69. package/dist/rules/prefer-type-fest-stringified.d.ts.map +1 -0
  70. package/dist/rules/prefer-type-fest-stringified.js +73 -0
  71. package/dist/rules/prefer-type-fest-stringified.js.map +1 -0
  72. package/dist/rules/prefer-type-fest-union-to-intersection.d.ts +7 -0
  73. package/dist/rules/prefer-type-fest-union-to-intersection.d.ts.map +1 -0
  74. package/dist/rules/prefer-type-fest-union-to-intersection.js +114 -0
  75. package/dist/rules/prefer-type-fest-union-to-intersection.js.map +1 -0
  76. package/docs/rules/getting-started.md +2 -1
  77. package/docs/rules/guides/preset-selection-strategy.md +7 -0
  78. package/docs/rules/overview.md +1 -0
  79. package/docs/rules/prefer-ts-extras-object-map-values.md +146 -0
  80. package/docs/rules/prefer-type-fest-asyncify.md +93 -0
  81. package/docs/rules/prefer-type-fest-conditional-except.md +141 -0
  82. package/docs/rules/prefer-type-fest-conditional-keys.md +93 -0
  83. package/docs/rules/prefer-type-fest-distributed-omit.md +92 -0
  84. package/docs/rules/prefer-type-fest-distributed-pick.md +92 -0
  85. package/docs/rules/prefer-type-fest-merge.md +161 -0
  86. package/docs/rules/prefer-type-fest-pick-index-signature.md +93 -0
  87. package/docs/rules/prefer-type-fest-set-return-type.md +93 -0
  88. package/docs/rules/prefer-type-fest-stringified.md +134 -0
  89. package/docs/rules/prefer-type-fest-union-to-intersection.md +118 -0
  90. package/docs/rules/presets/experimental.md +163 -0
  91. package/docs/rules/presets/index.md +13 -0
  92. package/package.json +50 -48
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://www.schemastore.org/package.json",
3
3
  "name": "eslint-plugin-typefest",
4
- "version": "1.0.5",
4
+ "version": "1.0.7",
5
5
  "private": false,
6
6
  "description": "ESLint rules for adopting type-fest and ts-extras conventions.",
7
7
  "keywords": [
@@ -215,10 +215,10 @@
215
215
  "jsonc-eslint-parser": "$jsonc-eslint-parser"
216
216
  },
217
217
  "dependencies": {
218
- "@typescript-eslint/parser": "^8.57.1",
219
- "@typescript-eslint/type-utils": "^8.57.1",
220
- "@typescript-eslint/utils": "^8.57.1",
221
- "ts-extras": "^0.17.0",
218
+ "@typescript-eslint/parser": "^8.57.2",
219
+ "@typescript-eslint/type-utils": "^8.57.2",
220
+ "@typescript-eslint/utils": "^8.57.2",
221
+ "ts-extras": "^0.19.0",
222
222
  "type-fest": "^5.5.0"
223
223
  },
224
224
  "devDependencies": {
@@ -226,7 +226,7 @@
226
226
  "@csstools/stylelint-formatter-github": "^2.0.0",
227
227
  "@docusaurus/eslint-plugin": "^3.9.2",
228
228
  "@double-great/remark-lint-alt-text": "^1.1.1",
229
- "@double-great/stylelint-a11y": "^3.4.6",
229
+ "@double-great/stylelint-a11y": "^3.4.7",
230
230
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
231
231
  "@eslint-react/eslint-plugin": "^3.0.0",
232
232
  "@eslint/compat": "^2.0.3",
@@ -234,26 +234,26 @@
234
234
  "@eslint/config-inspector": "^1.5.0",
235
235
  "@eslint/css": "^1.0.0",
236
236
  "@eslint/js": "^10.0.1",
237
- "@eslint/json": "^1.1.0",
237
+ "@eslint/json": "^1.2.0",
238
238
  "@eslint/markdown": "^7.5.1",
239
239
  "@html-eslint/eslint-plugin": "^0.58.1",
240
240
  "@html-eslint/parser": "^0.58.1",
241
241
  "@microsoft/eslint-plugin-sdl": "^1.1.0",
242
242
  "@microsoft/tsdoc-config": "^0.18.1",
243
- "@secretlint/secretlint-rule-anthropic": "^11.3.1",
244
- "@secretlint/secretlint-rule-aws": "^11.3.1",
245
- "@secretlint/secretlint-rule-database-connection-string": "^11.3.1",
246
- "@secretlint/secretlint-rule-gcp": "^11.3.1",
247
- "@secretlint/secretlint-rule-github": "^11.3.1",
248
- "@secretlint/secretlint-rule-no-dotenv": "^11.3.1",
249
- "@secretlint/secretlint-rule-no-homedir": "^11.3.1",
250
- "@secretlint/secretlint-rule-npm": "^11.3.1",
251
- "@secretlint/secretlint-rule-openai": "^11.3.1",
252
- "@secretlint/secretlint-rule-pattern": "^11.3.1",
253
- "@secretlint/secretlint-rule-preset-recommend": "^11.3.1",
254
- "@secretlint/secretlint-rule-privatekey": "^11.3.1",
255
- "@secretlint/secretlint-rule-secp256k1-privatekey": "^11.3.1",
256
- "@secretlint/types": "^11.3.1",
243
+ "@secretlint/secretlint-rule-anthropic": "^11.4.0",
244
+ "@secretlint/secretlint-rule-aws": "^11.4.0",
245
+ "@secretlint/secretlint-rule-database-connection-string": "^11.4.0",
246
+ "@secretlint/secretlint-rule-gcp": "^11.4.0",
247
+ "@secretlint/secretlint-rule-github": "^11.4.0",
248
+ "@secretlint/secretlint-rule-no-dotenv": "^11.4.0",
249
+ "@secretlint/secretlint-rule-no-homedir": "^11.4.0",
250
+ "@secretlint/secretlint-rule-npm": "^11.4.0",
251
+ "@secretlint/secretlint-rule-openai": "^11.4.0",
252
+ "@secretlint/secretlint-rule-pattern": "^11.4.0",
253
+ "@secretlint/secretlint-rule-preset-recommend": "^11.4.0",
254
+ "@secretlint/secretlint-rule-privatekey": "^11.4.0",
255
+ "@secretlint/secretlint-rule-secp256k1-privatekey": "^11.4.0",
256
+ "@secretlint/types": "^11.4.0",
257
257
  "@softonus/prettier-plugin-duplicate-remover": "^1.1.2",
258
258
  "@stryker-ignorer/console-all": "^0.3.2",
259
259
  "@stryker-mutator/core": "^9.6.0",
@@ -276,11 +276,11 @@
276
276
  "@types/postcss-normalize": "^9.0.4",
277
277
  "@types/postcss-reporter": "^7.0.5",
278
278
  "@types/sloc": "^0.2.3",
279
- "@typescript-eslint/eslint-plugin": "^8.57.1",
280
- "@typescript-eslint/rule-tester": "^8.57.1",
281
- "@vitest/coverage-v8": "^4.1.0",
282
- "@vitest/eslint-plugin": "^1.6.12",
283
- "@vitest/ui": "^4.1.0",
279
+ "@typescript-eslint/eslint-plugin": "^8.57.2",
280
+ "@typescript-eslint/rule-tester": "^8.57.2",
281
+ "@vitest/coverage-v8": "^4.1.1",
282
+ "@vitest/eslint-plugin": "^1.6.13",
283
+ "@vitest/ui": "^4.1.1",
284
284
  "actionlint": "^2.0.6",
285
285
  "all-contributors-cli": "^6.26.1",
286
286
  "cognitive-complexity-ts": "^0.8.1",
@@ -289,8 +289,8 @@
289
289
  "cross-env": "^10.1.0",
290
290
  "depcheck": "^1.4.7",
291
291
  "detect-secrets": "^1.0.6",
292
- "eslint": "^10.0.3",
293
- "eslint-config-flat-gitignore": "^2.2.1",
292
+ "eslint": "^10.1.0",
293
+ "eslint-config-flat-gitignore": "^2.3.0",
294
294
  "eslint-config-prettier": "^10.1.8",
295
295
  "eslint-formatter-unix": "^9.0.1",
296
296
  "eslint-import-resolver-typescript": "^4.4.4",
@@ -298,26 +298,27 @@
298
298
  "eslint-plugin-canonical": "^5.1.3",
299
299
  "eslint-plugin-case-police": "^2.2.0",
300
300
  "eslint-plugin-comment-length": "^2.3.0",
301
+ "eslint-plugin-copilot": "^1.0.5",
301
302
  "eslint-plugin-css-modules": "^2.12.0",
302
303
  "eslint-plugin-de-morgan": "^2.1.1",
303
304
  "eslint-plugin-depend": "^1.5.0",
304
305
  "eslint-plugin-eslint-plugin": "^7.3.2",
305
306
  "eslint-plugin-etc": "^2.0.3",
306
- "eslint-plugin-etc-misc": "^1.0.3",
307
+ "eslint-plugin-etc-misc": "^1.0.4",
307
308
  "eslint-plugin-file-progress-2": "^3.4.3",
309
+ "eslint-plugin-github-actions-2": "^1.0.0",
308
310
  "eslint-plugin-html": "^8.1.4",
311
+ "eslint-plugin-immutable-2": "^1.0.6",
309
312
  "eslint-plugin-import-x": "^4.16.2",
310
313
  "eslint-plugin-jsdoc": "^62.8.0",
311
314
  "eslint-plugin-jsonc": "^3.1.2",
312
315
  "eslint-plugin-jsx-a11y": "^6.10.2",
313
316
  "eslint-plugin-listeners": "^1.5.1",
314
- "eslint-plugin-loadable-imports": "^1.0.1",
315
317
  "eslint-plugin-math": "^0.13.1",
316
318
  "eslint-plugin-module-interop": "^0.3.1",
317
319
  "eslint-plugin-n": "^17.24.0",
318
320
  "eslint-plugin-nitpick": "^0.12.0",
319
321
  "eslint-plugin-no-barrel-files": "^1.2.2",
320
- "eslint-plugin-no-explicit-type-exports": "^0.12.1",
321
322
  "eslint-plugin-no-function-declare-after-return": "^1.1.0",
322
323
  "eslint-plugin-no-lookahead-lookbehind-regexp": "^0.4.0",
323
324
  "eslint-plugin-no-only-tests": "^3.3.0",
@@ -327,25 +328,26 @@
327
328
  "eslint-plugin-node-dependencies": "^2.2.0",
328
329
  "eslint-plugin-package-json": "^0.91.0",
329
330
  "eslint-plugin-perfectionist": "^5.7.0",
330
- "eslint-plugin-prefer-arrow": "^1.2.3",
331
331
  "eslint-plugin-prettier": "^5.5.5",
332
332
  "eslint-plugin-promise": "^7.2.1",
333
333
  "eslint-plugin-redos": "^4.5.0",
334
334
  "eslint-plugin-regexp": "^3.1.0",
335
335
  "eslint-plugin-require-jsdoc": "^1.0.4",
336
+ "eslint-plugin-sdl-2": "^1.0.4",
336
337
  "eslint-plugin-security": "^4.0.0",
337
338
  "eslint-plugin-sonarjs": "^4.0.2",
338
339
  "eslint-plugin-sort-class-members": "^1.21.0",
339
- "eslint-plugin-testing-library": "^7.16.1",
340
+ "eslint-plugin-testing-library": "^7.16.2",
340
341
  "eslint-plugin-toml": "^1.3.1",
341
342
  "eslint-plugin-total-functions": "^7.1.0",
342
343
  "eslint-plugin-tsdoc": "^0.5.2",
343
- "eslint-plugin-tsdoc-require-2": "^1.0.5",
344
- "eslint-plugin-typefest": "^1.0.4",
344
+ "eslint-plugin-tsdoc-require-2": "^1.0.6",
345
+ "eslint-plugin-typefest": "^1.0.6",
345
346
  "eslint-plugin-undefined-css-classes": "^0.1.5",
346
347
  "eslint-plugin-unicorn": "^63.0.0",
347
348
  "eslint-plugin-unused-imports": "^4.4.1",
348
349
  "eslint-plugin-write-good-comments": "^0.2.0",
350
+ "eslint-plugin-write-good-comments-2": "^1.0.4",
349
351
  "eslint-plugin-yml": "^3.3.1",
350
352
  "eslint-rule-benchmark": "^0.8.0",
351
353
  "fast-check": "^4.6.0",
@@ -355,7 +357,7 @@
355
357
  "htmlhint": "^1.9.2",
356
358
  "jscpd": "^4.0.8",
357
359
  "jsonc-eslint-parser": "^3.1.0",
358
- "knip": "^5.88.1",
360
+ "knip": "^6.0.4",
359
361
  "leasot": "^14.4.0",
360
362
  "madge": "^8.0.0",
361
363
  "markdown-link-check": "^3.14.2",
@@ -375,7 +377,7 @@
375
377
  "postcss-reporter": "^7.1.0",
376
378
  "postcss-round-subpixels": "^2.0.0",
377
379
  "postcss-scss": "^4.0.9",
378
- "postcss-sort-media-queries": "^6.3.2",
380
+ "postcss-sort-media-queries": "^6.3.3",
379
381
  "postcss-styled-jsx": "^1.0.1",
380
382
  "postcss-styled-syntax": "^0.7.1",
381
383
  "postcss-viewport-height-correction": "^1.1.1",
@@ -499,7 +501,7 @@
499
501
  "remark-validate-links": "^13.1.0",
500
502
  "remark-wiki-link": "^2.0.1",
501
503
  "rimraf": "^6.1.3",
502
- "secretlint": "^11.3.1",
504
+ "secretlint": "^11.4.0",
503
505
  "sloc": "^0.3.2",
504
506
  "sort-package-json": "^3.6.1",
505
507
  "stylelint": "^17.5.0",
@@ -508,7 +510,7 @@
508
510
  "stylelint-codeframe-formatter": "^1.2.0",
509
511
  "stylelint-config-alphabetical-order": "^2.0.0",
510
512
  "stylelint-config-idiomatic-order": "^10.0.0",
511
- "stylelint-config-inspector": "^2.0.1",
513
+ "stylelint-config-inspector": "^2.0.2",
512
514
  "stylelint-config-recess-order": "^7.7.0",
513
515
  "stylelint-config-recommended": "^18.0.0",
514
516
  "stylelint-config-sass-guidelines": "^13.0.0",
@@ -517,7 +519,7 @@
517
519
  "stylelint-config-tailwindcss": "^1.0.1",
518
520
  "stylelint-declaration-block-no-ignored-properties": "^3.0.0",
519
521
  "stylelint-declaration-strict-value": "^1.11.1",
520
- "stylelint-define-config": "^17.2.0",
522
+ "stylelint-define-config": "^17.5.0",
521
523
  "stylelint-find-new-rules": "^6.0.0",
522
524
  "stylelint-formatter-gitlab-code-quality-report": "^1.1.0",
523
525
  "stylelint-formatter-pretty": "^4.0.1",
@@ -533,7 +535,7 @@
533
535
  "stylelint-order": "^8.1.1",
534
536
  "stylelint-plugin-defensive-css": "^2.8.0",
535
537
  "stylelint-plugin-logical-css": "^2.0.2",
536
- "stylelint-plugin-use-baseline": "^1.2.7",
538
+ "stylelint-plugin-use-baseline": "^1.4.1",
537
539
  "stylelint-prettier": "^5.0.3",
538
540
  "stylelint-react-native": "^2.7.0",
539
541
  "stylelint-scales": "^5.0.0",
@@ -542,20 +544,20 @@
542
544
  "stylelint-value-no-unknown-custom-properties": "^6.1.1",
543
545
  "toml-eslint-parser": "^1.0.3",
544
546
  "ts-unused-exports": "^11.0.1",
545
- "typedoc": "^0.28.17",
546
- "typescript": "^5.9.3",
547
- "typescript-eslint": "^8.57.1",
547
+ "typedoc": "^0.28.18",
548
+ "typescript": "^6.0.2",
549
+ "typescript-eslint": "^8.57.2",
548
550
  "typesync": "^0.14.3",
549
551
  "vfile": "^6.0.3",
550
- "vite": "^8.0.1",
552
+ "vite": "^8.0.2",
551
553
  "vite-tsconfig-paths": "^6.1.1",
552
- "vitest": "^4.1.0",
554
+ "vitest": "^4.1.1",
553
555
  "yaml-eslint-parser": "^2.0.0",
554
556
  "yamllint-js": "^0.2.4"
555
557
  },
556
558
  "peerDependencies": {
557
- "eslint": "^9.0.0 || ^10.0.3",
558
- "typescript": ">=5.0.0"
559
+ "eslint": "^9.0.0 || ^10.1.0",
560
+ "typescript": "^5.0.0 || ^6.0.0"
559
561
  },
560
562
  "packageManager": "npm@11.12.0",
561
563
  "engines": {