[1.2.2] - 2026-04-18
✨ Features
b9c3d9a— ✨ feat(rules): add 6 new rules for type-fest v5.6 and ts-extras v1.0 (R097–R102)
New rules:
- ✨ prefer-type-fest-absolute (R097): replace Abs/AbsoluteValue with Absolute
- ✨ prefer-type-fest-non-nullable-deep (R098): replace DeepNonNullable with NonNullableDeep
- ✨ prefer-type-fest-union-length (R099): replace UnionToTuple['length'] with UnionLength
- ✨ prefer-ts-extras-assert-never (R100): replace manual never checks with assertNever()
- ✨ prefer-ts-extras-is-property-defined (R101): replace filter !== undefined callbacks with isPropertyDefined()
- ✨ prefer-ts-extras-is-property-present (R102): replace filter != null callbacks with isPropertyPresent()
Each rule ships with:
- 📝 Rule source with autofix or hasSuggestions support
- 🧪 RuleTester test coverage including fixer output and fast-check parse-safety guards
- 📁 Valid/invalid typed fixture files
- 📖 Docs page with correct catalog ID placement and required heading structure
- 🗂️ Registration in rules-registry and rule-catalog (R097–R102)
- 🔧 Preset membership (recommended, strict, all, type-fest/types, ts-extras/type-guards as appropriate)
Also:
- 🔄 Sync README rules table and presets matrix with new rules
- 📸 Update Vitest snapshots (docs-heading, plugin-contract, rule-metadata, readme-rules-section)
- 🔐 Switch Codecov uploads in ci.yml and codecov.yml from CODECOV_TOKEN to OIDC (use_oidc: true + id-token: write)
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
📦 Dependencies
-
d10b1da— ⬆️ [chore] Upgrade eslint and stylelint-config-inspector dependencies -
[dependency] Update eslint ^10.2.1
-
Update stylelint-config-inspector from ^2.1.0 to ^2.1.1
-
Adjust peer dependency for eslint to ^9.0.0 || ^10.2.1
-
Remove size-limit configuration from package.json
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
993cb97— ⬆️ [chore] Upgrade dependencies for TypeScript and related packages -
[dependency] Update TypeScript version 6.0.3
-
Update ts-extras to version 1.0.0
-
Upgrade type-fest to version 5.6.0
-
Update fast-check to version 4.7.0
-
Upgrade stylelint-config-inspector to version 2.1.0
-
Update stylelint-plugin-docusaurus to version 1.0.2
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
8c06554— ⬆️ [chore] [dependency] Update dev deps and configure new stylelint rules
⬆️ [chore] Upgrade dev dependencies to latest versions
-
@vitest/eslint-plugin: ^1.6.15 → ^1.6.16
-
eslint-plugin-case-police: ^2.2.0 → ^2.2.1
-
eslint-plugin-stylelint-2: ^1.0.11 → ^1.0.13
-
eslint-plugin-typefest: ^1.2.0 → ^1.2.1
-
postcss: ^8.5.9 → ^8.5.10
-
prettier: ^3.8.2 → ^3.8.3
-
stylelint: ^17.7.0 → ^17.8.0
🔧 [chore] (stylelint) Disable new rules from stylelint/plugin upgrades
-
@stylistic/no-multiple-whitespaces: null (handled by Prettier)
-
defensive-css/no-unsafe-clamp-font-size: null
-
defensive-css/no-unsafe-will-change: null
-
defensive-css/no-user-select-none: null
-
defensive-css/require-at-layer: null
-
defensive-css/require-forced-colors-focus: null
-
defensive-css/require-pure-selectors: null
-
defensive-css/require-system-font-fallback: null
-
order/custom-properties-alphabetical-order: null (handled by Prettier)
✨ [chore] (stylelint) Enable new rules from stylelint/plugin upgrades
-
property-layout-mappings: "flow-relative"
-
relative-selector-nesting-notation: "explicit"
-
selector-no-deprecated: true
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
598adda— ⬆️ [chore] [dependency] Update dev deps and configure new stylelint rules
⬆️ [chore] Upgrade dev dependencies to latest versions
-
@vitest/eslint-plugin: ^1.6.15 → ^1.6.16
-
eslint-plugin-case-police: ^2.2.0 → ^2.2.1
-
eslint-plugin-stylelint-2: ^1.0.11 → ^1.0.13
-
eslint-plugin-typefest: ^1.2.0 → ^1.2.1
-
postcss: ^8.5.9 → ^8.5.10
-
prettier: ^3.8.2 → ^3.8.3
-
stylelint: ^17.7.0 → ^17.8.0
🔧 [chore] (stylelint) Disable new rules from stylelint/plugin upgrades
-
@stylistic/no-multiple-whitespaces: null (handled by Prettier)
-
defensive-css/no-unsafe-clamp-font-size: null
-
defensive-css/no-unsafe-will-change: null
-
defensive-css/no-user-select-none: null
-
defensive-css/require-at-layer: null
-
defensive-css/require-forced-colors-focus: null
-
defensive-css/require-pure-selectors: null
-
defensive-css/require-system-font-fallback: null
-
order/custom-properties-alphabetical-order: null (handled by Prettier)
✨ [chore] (stylelint) Enable new rules from stylelint/plugin upgrades
-
property-layout-mappings: "flow-relative"
-
relative-selector-nesting-notation: "explicit"
-
selector-no-deprecated: true
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧹 Chores
-
c99ef2a— Release v1.2.2 -
36f103b— 🧹 [chore] Updates lint tooling and styles -
🎨 Extracts reusable CSS custom properties for homepage sections, cards, and stats blocks to improve consistency and theme flexibility.
-
🔧 Upgrades lint-related dependencies and switches to the newer Docusaurus stylelint ruleset for better compatibility with current tooling.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
👷 CI/CD
-
7a5f9d4— 👷 [ci] Add Codecov integration and update CI configuration -
Introduced CODECOV_TOKEN environment variable for Codecov uploads.
-
Added step to upload bundle analysis to Codecov for improved coverage tracking.
-
Updated CI steps to include conditional upload based on environment variables.
🧹 [chore] Update package.json and package-lock.json for size-limit
-
Added size-limit as a dependency and configured size limits for ESM and CJS bundles.
-
Updated package-lock.json to reflect new dependencies and their versions.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com