github Nick2bad4u/eslint-plugin-typefest v1.0.7

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

[1.0.7] - 2026-03-24

cd7f013...5c8f0f6

✨ Features

  • d5e0ea7 — ✨ [feat] Add fixture validity tests for prefer-type-fest-set-readonly rule

  • Introduce fixtureSafePatternsValidCase to validate fixture-safe patterns

  • Implement new test suite for fixture validity with timeout settings

  • Remove redundant valid case from existing tests

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

  • 1503a4d — ✨ [feat] Add fixture validity tests for prefer-type-fest-required-deep rule

  • Introduce new test case for fixture-safe patterns

  • Implement RuleTester for validating fixture behavior

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

  • e8a0fee — ✨ [feat] (rules) Add new TypeFest rules and corresponding tests

  • Introduced rules: prefer-type-fest-asyncify, prefer-type-fest-conditional-keys, prefer-type-fest-distributed-omit, prefer-type-fest-distributed-pick, prefer-type-fest-pick-index-signature, prefer-type-fest-set-return-type, prefer-type-fest-union-to-intersection

  • Updated rule metadata snapshots to include new rules

  • Enhanced plugin source configs to wire new rules correctly

  • Added comprehensive tests for each new rule to ensure functionality and adherence to expected behavior

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

  • de24d4e — ✨ [feat] Add ESLint rule prefer-type-fest-stringified

  • Introduced a new rule to report manual mapped types of the form { [K in keyof T]: string } that can likely use TypeFest's Stringified<T>.

  • Implemented logic to detect the specific shape of mapped types and report them with a suggestion to use Stringified<T> instead.

  • Added comprehensive tests to validate the rule's behavior, including both valid and invalid cases.

✨ [feat] Add ESLint rule prefer-type-fest-conditional-except

  • Implemented a new rule to report usages of Except<T, ConditionalKeys<T, Condition>> that can be replaced with TypeFest's ConditionalExcept<Base, Condition>.

  • Created tests to ensure the rule correctly identifies and reports the intended patterns.

✨ [feat] Add ESLint rule prefer-type-fest-merge

  • Developed a rule to suggest using TypeFest's Merge<Destination, Source> over Except<Destination, keyof Source> & Source when the latter is used for object merging.

  • Included tests to cover various scenarios where the rule should trigger.

📝 [docs] Update documentation for new rules

  • Added documentation entries for prefer-type-fest-stringified, prefer-type-fest-conditional-except, and prefer-type-fest-merge in the rule metadata and README.

  • Updated snapshots to reflect the new rules and their configurations.

🧪 [test] Enhance test coverage for new rules

  • Created dedicated test files for prefer-type-fest-stringified, prefer-type-fest-conditional-except, and prefer-type-fest-merge to ensure robust validation of rule behavior.

  • Updated existing tests to include references to the new rules in various configurations.

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

  • 861e069 — ✨ [feat] (rule) Introduce prefer-ts-extras-object-map-values rule

  • Implement a new ESLint rule to suggest using objectMapValues from ts-extras instead of objectFromEntries(objectEntries(...).map(...)) when the mapping callback preserves keys and only remaps values.

  • Add comprehensive logic to handle various callback patterns and ensure correct identification of key-preserving mappings.

  • Include metadata for the new rule, detailing its purpose and usage.

🧪 [test] (rule) Add tests for prefer-ts-extras-object-map-values

  • Create valid and invalid test fixtures to validate the behavior of the new rule.

  • Ensure that the rule correctly identifies and reports on improper usage of objectFromEntries with key-preserving mappings.

  • Validate that the rule ignores acceptable patterns that do not preserve keys.

📝 [docs] (readme) Update documentation for new rule

  • Add the prefer-ts-extras-object-map-values rule to the README and documentation snapshots.

  • Ensure that the rule is included in the experimental preset section of the documentation.

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

  • 94bd765 — ✨ [feat] (sonar) Introduce new scripts for managing Sonar issues and projects

  • 🆕 Add sonar_manage_issues.py for issue management functionalities including fetching, commenting, assigning, and transitioning issues.

  • 🆕 Add sonar_manage_project.py for project management functionalities including fetching project info, quality gates, and settings.

  • 🆕 Add sonar_manage_render.py for rendering output in a user-friendly format.

  • 🔧 Update sonar-project.properties to restrict TypeScript program discovery to relevant configs.

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

  • 78a7450 — ✨ [feat] (ci) Enhance release workflow with environment variable for branch resolution
    🧹 [chore] Clean up lint-actionlint script by removing unnecessary line
    🔧 [fix] (docs) Update sonar-project.properties to refine test and exclusion configurations

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

  • d31a74d — ✨ [feat] (ci) Enhance CI workflows with improved naming, concurrency, and permissions

  • Updated CI workflow names for clarity and consistency

  • Added run-name for better visibility in GitHub Actions

  • Implemented concurrency settings to manage workflow runs

  • Adjusted permissions for various jobs to ensure proper access

  • Refined job names and added defaults for shell execution

  • Improved overall structure and readability of workflow files

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

  • cd7f013 — ✨ [feat] (dependencies) Add eslint-plugin-github-actions-2 for enhanced GitHub Actions support

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

📦 Dependencies

  • 2dd5ece — [dependency] Update h3 in the npm_and_yarn group across 1 directory

[dependency] Updates the npm_and_yarn group with 1 update in the / directory: h3.

Updates h3 from 1.15.8 to 1.15.9


updated-dependencies:

  • dependency-name: h3
    dependency-version: 1.15.9
    dependency-type: indirect
    dependency-group: npm_and_yarn
    ...

Signed-off-by: dependabot[bot] support@github.com

🛡️ Security

  • 9bdfad6 — 🚜 [refactor] Update ESLint configuration for improved plugin integration

  • Replace immutable functional-lite config with all configs

  • Switch typefest rules from experimental to all

  • Add new SDL security rules for enhanced code safety

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

  • 8ff3c96 — ✨ [feat] (security) Add GitHub security alerts management script

  • Introduced manage_github_security_alerts.py for inspecting and managing GitHub repository security alerts.

  • Implemented command-line interface (CLI) for user interaction and error handling.

  • Integrated JSON output for error reporting and command results.

✨ [feat] (render) Add rendering functionality for security alerts

  • Created github_security_render.py to format various security alert outputs into human-readable text.

  • Implemented functions for rendering summaries, alert lists, and detailed views for code scanning, dependabot, malware, and secret scanning alerts.

  • Enhanced output with structured JSON formatting for better readability and usability.

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

📝 Documentation

  • 26a7ea6 — 📝 [docs] Update documentation for ESLint rules to clarify requirements

  • Updated descriptions for multiple ESLint rules to emphasize the requirement of using TypeFest utilities over manual implementations.

  • Changes include rules: prefer-ts-extras-object-map-values, prefer-type-fest-asyncify, prefer-type-fest-conditional-except, prefer-type-fest-conditional-keys, prefer-type-fest-distributed-omit, prefer-type-fest-distributed-pick, prefer-type-fest-merge, prefer-type-fest-pick-index-signature, prefer-type-fest-set-return-type, prefer-type-fest-stringified, and prefer-type-fest-union-to-intersection.

  • Adjusted test files to reflect updated documentation for corresponding rules.

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

  • 40acbdb — 📝 [docs] (instructions) Update guidelines for handling temporary and debug files

  • Clarify that temporary command outputs and debug logs must be stored in temp/ only

  • Emphasize not to create transient log/debug artifacts in the repository root

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

🎨 Styling

  • 841e69c — 🎨 [style] Improve formatting and readability in scripts

  • Adjust spacing in log-prompt.sh for consistency

  • Update environment variable access syntax in run-typedoc-docs.mjs
    🧹 [chore] Update .secretlintignore to ignore logs directory

  • Change specific log file ignore to broader logs directory

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

🧹 Chores

  • 5c8f0f6 — Release v1.0.7

  • dd3bdc0 — 🔧 [chore] Update eslint-plugin-testing-library to version 7.16.2 in package.json and package-lock.json
    🧪 [test] Add fixture validity tests for prefer-ts-extras-assert-defined rule

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

  • 07c0350 — 🔧 [chore] Update eslint-config-flat-gitignore to version 2.3.0 and remove cacheFile from .ncurc.json
    🧪 [test] Add fixture validity tests for prefer-ts-extras-is-integer rule

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

  • 2c2ecf9 — 🔧 [chore] Update TypeScript peer dependency to support version 6.0.0

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

  • 2a996a1 — 🔧 [chore] Upgrade dependencies and refactor type casting

  • 🔄 Upgrade @typescript-eslint/parser, @typescript-eslint/type-utils, @typescript-eslint/utils, and typescript-eslint to version 8.57.2.

  • 🔄 Upgrade ts-extras to version 0.19.0 and knip to version 6.0.4.

  • 🔄 Upgrade typescript to version 6.0.2.

  • 🔄 Refactor type casting in various files to simplify the code:

  • In constrained-type-at-location.ts, removed unnecessary type parameters in safeCastTo.

  • In set-membership.ts, simplified the call to setHas.

  • In type-checker-compat.ts, streamlined multiple type checker functions by removing redundant type parameters in safeCastTo.

  • In typescript-eslint-node-autofix.ts, simplified the initialization of pendingTypes.

  • 🧪 [test] Update type assertions in plugin-public-types.test-d.ts to remove unnecessary type parameters.

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

  • 98234c0 — 🔥 [remove] (scripts) Remove sonar_manage_issues, sonar_manage_project, and sonar_manage_render scripts

  • Deleted sonar_manage_issues.py, which handled issue management functionalities including fetching issues, adding comments, and transitioning issues.

  • Removed sonar_manage_project.py, which managed project-related functionalities such as quality gates, quality profiles, and project settings.

  • Eliminated sonar_manage_render.py, responsible for rendering output from the management scripts.

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

  • e1da3fc — 🔧 [chore] Update dependencies in package.json

  • Upgraded "@vitest/coverage-v8" from "^4.1.0" to "^4.1.1" for improved coverage reporting.

  • Upgraded "@vitest/ui" from "^4.1.0" to "^4.1.1" to ensure compatibility with the latest features.

  • Upgraded "knip" from "^6.0.2" to "^6.0.3" for better code analysis.

  • Upgraded "typedoc" from "^0.28.17" to "^0.28.18" to benefit from the latest documentation improvements.

  • Upgraded "vite" from "^8.0.1" to "^8.0.2" for performance enhancements and bug fixes.

  • Upgraded "vitest" from "^4.1.0" to "^4.1.1" to leverage the latest testing capabilities.

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

  • dff3ea7 — 🔧 [chore] Update dependencies in package.json and package-lock.json

  • Upgrade ts-extras to version 0.18.0

  • Upgrade @double-great/stylelint-a11y to version 3.4.7

  • Upgrade @vitest/eslint-plugin to version 1.6.13

  • Upgrade eslint-plugin-immutable-2 to version 1.0.6

  • Upgrade knip to version 6.0.2

  • Upgrade postcss-sort-media-queries to version 6.3.3

  • Upgrade stylelint-plugin-use-baseline to version 1.4.1

  • Upgrade typedoc-plugin-dt-links to version 2.0.47

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

  • 7eed046 — 🔥 [chore] Remove npm-badges.json file

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

👷 CI/CD

  • 52c6772 — 👷 [ci] Update CI timeout to 60 minutes for improved build stability

  • Increased the timeout for CI jobs from 25 to 60 minutes to accommodate longer build processes and prevent premature job termination.

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

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

NewReleases is sending notifications on new releases.