[1.0.7] - 2026-03-24
✨ 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 ruleprefer-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'sStringified<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'sConditionalExcept<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>overExcept<Destination, keyof Source> & Sourcewhen 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, andprefer-type-fest-mergein 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, andprefer-type-fest-mergeto 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) Introduceprefer-ts-extras-object-map-valuesrule -
Implement a new ESLint rule to suggest using
objectMapValuesfromts-extrasinstead ofobjectFromEntries(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
objectFromEntrieswith 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-valuesrule 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.pyfor 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.pyto 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, andtypescript-eslintto version8.57.2. -
🔄 Upgrade
ts-extrasto version0.19.0andknipto version6.0.4. -
🔄 Upgrade
typescriptto version6.0.2. -
🔄 Refactor type casting in various files to simplify the code:
-
In
constrained-type-at-location.ts, removed unnecessary type parameters insafeCastTo. -
In
set-membership.ts, simplified the call tosetHas. -
In
type-checker-compat.ts, streamlined multiple type checker functions by removing redundant type parameters insafeCastTo. -
In
typescript-eslint-node-autofix.ts, simplified the initialization ofpendingTypes. -
🧪 [test] Update type assertions in
plugin-public-types.test-d.tsto 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