github Nick2bad4u/eslint-plugin-typefest v1.0.10

latest releases: v1.2.8, v1.2.7, v1.2.6...
one month ago

[1.0.9] - 2026-04-03

2282a49...56a7902

✨ Features

  • 4c49ace — ✨ [feat] Update rule metadata structure and identifiers

  • Enhance rule metadata to include stable catalog identifiers on public rule docs payloads

  • Remove deprecated ruleCatalogId references from internal logic and tests

  • Adjust tests to reflect changes in rule metadata structure

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

  • d637f86 — ✨ [feat] Update rule catalog and metadata for TypeFest enhancements

  • Added new TypeFest rules to the rule catalog, including:

  • prefer-ts-extras-object-map-values

  • prefer-type-fest-and-all

  • prefer-type-fest-array-length

  • prefer-type-fest-asyncify

  • prefer-type-fest-conditional-except

  • prefer-type-fest-conditional-keys

  • prefer-type-fest-conditional-pick-deep

  • prefer-type-fest-distributed-omit

  • prefer-type-fest-distributed-pick

  • prefer-type-fest-merge

  • prefer-type-fest-optional

  • prefer-type-fest-or-all

  • prefer-type-fest-pick-index-signature

  • prefer-type-fest-set-return-type

  • prefer-type-fest-stringified

  • prefer-type-fest-union-member

  • prefer-type-fest-union-to-intersection

  • prefer-type-fest-union-to-tuple

  • Updated rule metadata snapshots to reflect new rule IDs and numbers, ensuring consistency across tests.

  • Removed deprecated or unused rule IDs from the metadata.

  • Cleaned up runtime harness tests by removing unnecessary eslint-disable comments for better code clarity.

  • Streamlined untyped third-party module declarations by removing unused modules.

  • Enhanced documentation integrity tests by reordering canonical headings for better readability.

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

  • 11f516e — ✨ [feat] Update TypeDoc configuration to include all TypeScript files

  • Adjusted "include" to match all TypeScript files in the src directory

  • Ensured declaration options are set for better type documentation

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

  • 6c4f2a5 — ✨ [feat] Enhance validation for Docusaurus site contracts

  • Introduced new validation functions for package scripts, manifest fields, and source snippets to ensure compliance with specified contracts.

  • Added checks for required package scripts, including existence, inclusion of specific strings, and pattern matching.

  • Implemented validation for manifest fields to ensure required fields match expected values and that the correct number of icons are declared.

  • Created functions to validate source snippets and patterns, ensuring required snippets are present, forbidden snippets are absent, and that snippets appear in the correct order.

  • Refactored existing validation logic to utilize the new functions, improving code readability and maintainability.

  • Enhanced repository metadata extraction to support URL-like strings from package.json.

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

  • 8baf4c8 — ✨ [feat] Add Docusaurus site contract documentation and validation script

  • Introduce a new markdown file for Docusaurus site contract

  • Implement validation checks for Docusaurus configuration and source files

  • Enhance developer experience by providing CLI usage instructions
    🧹 [chore] Add precommit script for README synchronization

  • Ensure README rules table and presets rules matrix are updated before commits

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

  • 86310c1 — ✨ [feat] Update workspace configuration to include all packages

  • Changed workspace path in package.json to include all packages under "packages/*"

  • This allows for easier management and inclusion of new packages in the workspace

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

  • ad64365 — ✨ [feat] (docusaurus-site-contract) Introduce Docusaurus site contract validation package

  • Add package.json and tsconfig.json for the new docusaurus-site-contract package

  • Implement core types and functions for validating Docusaurus site contracts in scripts/docusaurus-site-contract.d.mts

  • Create compatibility wrapper in scripts/docusaurus-site-contract.mjs to expose validation functions

  • Add CLI entry point in scripts/validate-docusaurus-site-contract.mjs for running validations from the command line
    🧪 [test] (docusaurus-site-contract) Add comprehensive tests for Docusaurus site contract validation

  • Implement tests in test/docusaurus-site-contract.test.ts to validate contract functionality and error reporting

  • Include tests for various scenarios including missing assets, configuration structure, and regex pattern checks

  • Ensure tests cover both valid and invalid contract cases, providing detailed output for violations

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

🛡️ Security

  • fcd4301 — ⬆️ [build] Upgrade dependencies in package.json

  • Upgraded @typescript-eslint packages to version 8.58.0 for improved TypeScript support.

  • Updated @eslint/css to version 1.1.0 for enhanced CSS linting capabilities.

  • [dependency] Updateed @eslint/markdown to version 8.0.1 for better markdown support.

  • Upgraded all @secretlint rules to version 11.4.1 for the latest security checks.

  • Updated @stylistic/stylelint-plugin to version 5.1.0 for improved style linting.

  • [dependency] Updateed @typescript-eslint/eslint-plugin and @typescript-eslint/rule-tester to version 8.58.0 for consistency.

  • Upgraded eslint-plugin-copilot to version 1.0.6 for better integration.

  • Updated various eslint plugins and tools to their latest versions for improved functionality and performance.

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

📝 Documentation

  • 2282a49 — 📝 [docs] Update migration policies in bootstrapper prompts to enforce non-destructive practices

  • Add critical migration constraints to preserve existing files and infrastructure

  • Emphasize surgical edits over blanket deletions in both new plugin and repo bootstrapper prompts

  • Clarify requirements for adapting mature files and maintaining quality controls

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

🎨 Styling

  • 3e0cf04 — 🎨 [style] Rearrange canonical heading order in docs-integrity test

  • Adjusted the order of headings for better logical grouping

  • Maintained eslint-disable comments for clarity
    🔧 [chore] Remove unused eslint-plugin-html dependency from package-lock

  • Cleaned up package-lock.json to streamline dependencies

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

🧪 Testing

  • b5730b3 — 🧪 [test] Enforce Vitest strict assertion and lint rules

  • Updates testing baseline to satisfy stricter Vitest policy by adding expect.hasAssertions() in all test cases.

  • Switches numerous legacy toHaveBeenCalledTimes(1) to toHaveBeenCalledOnce() and strict deep checks to toStrictEqual.

  • Adds typed vi.fn<...> factory signatures and precondition guard patterns to keep test coverage robust and reduce false positives.

  • Aligns ESLint config with rules for Vitest assertion usage (no-conditional-expect, no-standalone-expect, prefer-called-*, etc.) to maintain consistent test hygiene.

  • Improves fixture and parser safety assertions through defensive branch handling (e.g., precondition throws) and stable import guard checks.

The result:

  • fewer lint warnings, more deterministic test contracts,
  • easier maintenance of complex autofix/typed-rule test suite behavior.

Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com

🧹 Chores

Don't miss a new eslint-plugin-typefest release

NewReleases is sending notifications on new releases.