Releases: Nick2bad4u/Stylelint-Config-Inspector
Release list
v2.3.4
[2.3.4] - 2026-06-03
🎨 Styling
ab30161— 🎨 [style] Improve formatting of background metrics assertions for readability
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
91a5d8c— 🎨 [style] Update inspector viewport state styles for improved layout and responsiveness -
Add class to div elements for consistent styling
-
Change block-size to min-block-size for better adaptability
-
Ensure background properties are set for inspector viewport state
🧪 [test] Add test for root background spanning long pages without viewport tiling -
Verify background repeat and size properties
-
Check scroll and body height against viewport height
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧪 Testing
55533a4— Allow firefox background-size serialization
🧹 Chores
a57799c— Release v2.3.4
👷 CI/CD
5853321— Make codecov uploads non-blocking
v2.3.3
[2.3.3] - 2026-06-01
🛠️ Bug Fixes
bb286ac— Correct git-cliff release notes target
🎨 Styling
-
307473f— 🎨 [style] Update .stylelintrc configuration for improved readability and structure -
Refactored the rules section for better clarity and organization.
-
Changed the format of the "rules" and "overrides" sections to use consistent array notation.
-
Ensured that the "declaration-block-no-duplicate-properties" rule maintains its functionality while improving its structure.
-
Updated the "selector-class-pattern" rule to enhance maintainability.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧪 Testing
-
4099412— 🧪 [test] Enhance stylelint adapter tests for dependency tracking -
Add tests to verify tracking of root config imports as dependencies for live updates.
-
Implement tests for tracking imported shared config packages as dependencies.
-
Include tests for extended shared configs to ensure they are tracked correctly.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧹 Chores
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
v2.3.2
[2.3.2] - 2026-05-28
🎨 Styling
-
68b7503— 🎨 [style] Refactor HTML structure and improve accessibility in components -
Change
<div>to<nav>in NavBar for semantic navigation -
Update
<div>to<span>in RuleLevelIcon for better inline display -
Modify loading template from
<div>to<output>for semantic loading indication -
Remove unnecessary roles and improve ARIA attributes for better accessibility
-
Update CSS styles for inspector summary and experimental pills for better visual consistency
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧹 Chores
260fd47— Release v2.3.2
v2.3.1
[2.3.1] - 2026-05-27
✨ Features
-
ae53658— ✨ [feat] Enhance inspector UI with new styles and functionality -
🎨 Add inspector-specific styles for inputs, summary pills, and panels to improve visual consistency across the application.
-
✨ Introduce new components like
inspector-input,inspector-summary-pill, andinspector-panelfor better user experience. -
🐛 Fix overflow behavior in rule state rail to show hidden states on hover, enhancing usability.
-
🧪 Add tests to ensure inspector UI elements are styled correctly and function as expected across various pages.
-
🧹 Clean up unused styles and improve overall code organization for maintainability.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
bb0974c— ✨ [feat] (loading) Add SPA loading template for Stylelint Config Inspector
📝 [docs] (agents) Update AGENTS.md for improved guidelines on scripts
📝 [docs] (src) Revise AGENTS.md to clarify source rules for Stylelint Config Inspector
🧪 [test] (e2e) Enhance e2e tests for rules page with new filter and selection scenarios
🔧 [chore] (package) Update dependencies and scripts in package.json for better performance and compatibility
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🛠️ Bug Fixes
dc3a89e— 🐛 [fix] (ui) Harden inspector UI and release validation
🐛 [fix] Keep rule-state panels neutral outside popovers
-
Add an explicit RuleStateItem popover variant so selected-rule traces and inline state cards do not inherit dropdown chrome.
-
Reset rule option tab state when live payload updates change option availability.
-
Make overloaded state badges keyboard-focusable while preserving hover popovers.
♿️ [fix] Improve accessible UI semantics
-
Add combobox/listbox wiring to filepath autocomplete.
-
Avoid empty target-blank links in deprecated-rule metadata and add noopener rels.
-
Add alt handling for Stylelint brand and decorative images.
🎨 [style] Standardize popover theming
-
Move shared popover panel, header, action, section, and chip styling into global inspector primitives.
-
Load Floating Vue and global app CSS through Nuxt config for explicit CSS ordering.
🔇 [fix] Remove noisy payload console logging
- Keep websocket error reporting while removing routine payload/update logs from normal app use.
🔧 [build] Strengthen release checks
-
Include Stylelint in the app check path.
-
Make package lint validation check-only instead of mutating package order.
-
Extend release:check with package validation and npm pack dry-run.
🧪 [test] Cover rule-state rail regressions
- Assert overloaded state rails keep stable sizing, expand on hover, and do not emit console noise.
📝 [docs] Update release gate documentation
- Document the stricter release:check chain used before publishing.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
📦 Dependencies
897b464— [dependency] Update qs in the npm_and_yarn group across 1 directory
[dependency] Updates the npm_and_yarn group with 1 update in the / directory: qs.
Updates qs from 6.15.1 to 6.15.2
updated-dependencies:
- dependency-name: qs
dependency-version: 6.15.2
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] support@github.com
82c224c— [dependency] Update nuxt in the npm_and_yarn group across 1 directory
[dependency] Updates the npm_and_yarn group with 1 update in the / directory: nuxt.
Updates nuxt from 4.4.5 to 4.4.6
updated-dependencies:
- dependency-name: nuxt
dependency-version: 4.4.6
dependency-type: direct:development
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] support@github.com
b9a02d5— [dependency] Update fast-uri in the npm_and_yarn group across 1 directory
[dependency] Updates the npm_and_yarn group with 1 update in the / directory: fast-uri.
Updates fast-uri from 3.1.0 to 3.1.2
updated-dependencies:
- dependency-name: fast-uri
dependency-version: 3.1.2
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] support@github.com
🧹 Chores
a8f0d09— Release v2.3.1
v2.3.0
v2.1.2
v2.1.1
[2.1.1] - 2026-04-17
🚜 Refactor
-
accd559— 🚜 [refactor] Update CI workflow for test coverage reporting -
Change coverage reporter from clover to lcovonly for better compatibility
-
Update coverage artifact verification to check for lcov.info instead of clover.xml
-
Remove upload token from Codecov bundle analysis step for cleaner configuration
-
Adjust coverage upload step to reference lcov.info
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
63c0857— 🚜 [refactor] Improve CI workflow with test report cleanup and coverage checks -
Add step to clean test report outputs if the job is not cancelled
-
Update test command to include clover coverage reporter for lts node
-
Enhance coverage artifact verification to check for freshness
-
Adjust Codecov upload conditions for pull requests and pushes
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
b6f48c4— 🚜 [refactor] Enhance CI configuration and Codecov settings -
Update test job permissions to include id-token write access
-
Add Codecov flags computation for OS and Node versions
-
Modify test execution command to use Vitest with JUnit reporter
-
Introduce conditional upload for Nuxt bundle analysis to Codecov
-
Expand Codecov configuration with additional OS and Node flags
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧹 Chores
cf6e4dc— Release v2.1.1
v2.1.0
[2.1.0] - 2026-04-16
🛡️ Security
1596b8d— 🧹 [chore] Update project dependencies
🧹 [chore] Updates various development dependencies to their latest minor versions
-
📦 Updates @double-great/stylelint-a11y from 3.4.9 to 3.4.10
-
📦 Updates @eslint/config-inspector from 1.5.0 to 2.0.0
-
📦 Updates npm-check-updates from 21.0.1 to 21.0.2
-
📦 Updates rolldown from 1.0.0-rc.15 to 1.0.0-rc.16
-
📦 Updates tsdown from 0.21.8 to 0.21.9
-
📦 Updates eslint-plugin-sonarjs from 4.0.2 to 4.0.3
These updates ensure the project benefits from the latest bug fixes, security patches, and feature improvements across the development toolchain.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🚜 Refactor
-
f73f268— 🚜 [refactor] Enhance file indexing and grouping logic in payload processing -
Introduce
ensureMappedSetValuefor managing Set values in maps -
Implement
buildFileIndexesto create cross-index maps for files -
Add
computeMatchedGroupIdfor stable group ID computation -
Refactor file grouping functions for improved clarity and efficiency
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
c009e8f— 🚜 [refactor] Remove unnecessary environment variable from scorecards workflow and improve type safety in payload
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
020411a— 🚜 [refactor] Update config element handling with data attribute -
Replace Map with data attribute for config item indexing
-
Simplify element selection using querySelector
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
ff23250— 🚜 [refactor] (payload) reduce resolvePayload cognitive complexity and clean test typing -
extract rule-state aggregation, glob mapping, map-init, and open-state sync
into small helpers to simplifyresolvePayloadcontrol flow -
preserve existing behavior for ruleToState/globToConfigs construction and
config card default open/collapsed state -
remove final redundant
as ResolvedPayloadassertion in
tests/payload_resolve.test.tsand drop the unused imported type -
keep payload resolve tests green after refactor (no behavior change)
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🎨 Styling
be2968c— 🎨 [style] Update link formatting in RuleDeprecatedInfo component
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧹 Chores
c082fa9— Release v2.1.0
v2.0.5
[2.0.5] - 2026-04-16
🛠️ Bug Fixes
14500ca— 🛠️ [fix] Removes unnecessary test flag in check script
🛠️ [fix] Updates the check script command in package.json
-
Removes the
-- --runflag from the npm test command -
Fixes potential issues with the test execution in the check workflow
-
Streamlines the build verification process by using the default test runner behavior
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
54de1a2— 🚨 [fix] (eslint) Disable two more Prettier-conflicting Vue rules -
Add
vue/singleline-html-element-content-newline: offand
vue/multiline-html-element-content-newline: offto the Antfu Vue
overrides block in eslint.config.js -
Both rules enforce newline placement inside HTML element content that
Prettier already controls, causing 43 spurious warnings across 7 Vue
files (ConfigItem, RuleDeprecatedInfo, RuleStateItem, configs, dev,
extends, rules) -
Entries kept in alphabetical order alongside the existing four
Prettier-conflict overrides
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
e90bbad— (eslint) Silence Prettier-conflicting Vue and JSONC rules -
954aab7— 🛠️ [fix] Updates property access notation and adds test coverage
🛠️ [fix] Changes dot notation to bracket notation for property access throughout the codebase to avoid potential conflicts with reserved words and ensure consistent property access patterns
🧪 [test] Adds comprehensive test coverage reporting by:
-
Adding codecov configuration file with detailed settings for coverage thresholds and component management
-
Updating test scripts to support coverage reporting with vitest
-
Adding @vitest/coverage-v8 dependency for enhanced coverage reporting
📝 [docs] Enhances README presentation by:
-
Adding comprehensive badge section displaying license, downloads, release info, stars, forks, issues, and codecov status
-
Removing redundant favicon SVG reference
🧹 [chore] Cleans up package configuration by:
-
Removing package overrides section
-
Updating npm-check-updates to latest version
-
Adding test report file to gitignore
⚙️ [build] Updates ESLint configuration to disable dot-notation rule to align with the new bracket notation approach
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🛡️ Security
95e8448— 🔒️ [fix] Fix CI deprecations, CWE-116 security issue, and Sonar code-quality findings
👷 [ci] Upgrade GitHub Actions workflows to Node 24 and CodeQL v4
-
Add
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"env to codeql, playwright,
and scorecards workflows to opt in to Node 24 action runners -
Migrate all
github/codeql-action/*pins from @V3 → @v4 across
codeql.yml and scorecards.yml -
Deduplicate CodeQL language matrix: remove redundant
typescriptentry
(TypeScript is analysed as part of thejavascriptcategory) -
Update
actions/checkoutpins to v6.0.2 across all three workflows -
Remove duplicate checkout step in playwright.yml
🔒️ [fix] (security) Fix CWE-116 incomplete sanitization in bootstrap script
-
Correct shell-escaping order in
scripts/bootstrap-eslint-repo.mjs:
backslashes were escaped after double-quotes, allowing\"sequences to
survive unescaped into shell commands -
Migrate
replace(regex)→replaceAll(string)usingString.rawtemplate
literals for clarity and correctness
🚨 [fix] (quality) Resolve all 32 open Sonar code-quality findings
-
app/composables/state.ts: convertFONT_SCALE_VALUESfrom
readonly FontScale[]toReadonlySet<FontScale>for O(1).has()lookup;
remove redundantas unknowncast insetStateFilters -
app/composables/shiki.ts,strings.ts,src/cli.ts: replace all
.replace(regex/string)with.replaceAll()throughout (S5734) -
app/pages/configs.vue: remove!non-null assertion onfilters.rule;
refactor?.scrollIntoView(…)optional chain to explicit null guard -
app/pages/rules.vue: extract assignment from return expression to
early-return pattern (S1121) -
shared/config-plugin-filters.ts: replaceRegExp.test()calls with
String.startsWith()for static-prefix matching (S7780/S7781) -
src/inspectors/stylelint.ts: extract two nested ternary expressions to
explicitlet+if/elseblocks; replacestr.match(regex)with
regex.exec(str); migratereplace()→replaceAll()for
QUOTED_GENERATED_PLACEHOLDER_REandMULTIPLE_WHITESPACE_RE;
useString.rawtemplate literals for regex escape strings -
src/server.ts: replace!stats || !stats.isFile()with
!stats?.isFile()optional chain
🧪 [test] Remove unnecessary type assertions and fix non-deterministic sort
-
tests/payload_resolve.test.ts: remove 4 redundantas ResolvedPayload
assertions —resolvePayloadalready returnsResolvedPayload(S4325) -
tests/stylelint_adapter.test.ts: supply explicit string comparator to
toSorted()for locale-stable, deterministic rule-name ordering
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
93a9792— (security) Escape backslashes before double-quotes in bootstrap script
🛠️ Other Changes
2b1ae29— # 🦺 fix: strict TypeScript compliance and code quality audit
Apply exactOptionalPropertyTypes, noPropertyAccessFromIndexSignature, and
isolatedDeclarations to tsconfig.cli.json and fix all resulting type errors across the codebase.
Follow with a targeted quality audit to eliminate any, remove unnecessary async wrappers, and tighten annotations.
🔒 TypeScript strict‑mode fixes
- 🧱 src/cli.ts — bracket notation for
process.env['HOST']/process.env['PORT']to satisfynoPropertyAccessFromIndexSignature - 🎨 src/inspectors/stylelint.ts — convert all index‑signature accesses to bracket notation; use conditional spread
...(x !== undefined && { key: x })on every optional field to satisfyexactOptionalPropertyTypes - 🌐 src/server.ts — extract
mimeTypevariable and spread conditionally; add explicitPromise<Server>return type forisolatedDeclarations - 🔌 src/ws.ts — conditional spread for
targetFilePath; introduceWsServerHandleinterface; explicitPromise<WsServerHandle>return type - 🧩 src/errors.ts — explicit
prettyPrint(): voidreturn types on all three classes; tightenconfigFilenamestoreadonly string[] - 📦 src/constants.ts — explicit
readonly string[]/stringtype annotations on all exported constants - 📁 src/dirs.ts — explicit
stringtype annotations ondataDiranddistDir - ⚙️ src/configs.ts — explicit
Promise<ResolvedConfigPath>/Promise<InspectorReadResult>return types; remove redundant async/await wrappers - 🔁 shared/configs.ts — explicit return types on all exported functions
🧹 Code quality audit
- ⚙️ src/configs.ts — drop async/await from promise‑forwarding functions with no try/catch; async wrapper adds a gratuitous microtask hop
- 🚮 server/api/payload.json.ts — remove async/
return awaitfrom inner event handler - 📏 shared/rules.ts — add explicit
RuleLevelreturn type togetRuleLevel; importRuleLeveltype - 🧼 shared/configs.ts — rename unused
basePathparameter to_basePathinmatchFile, removing the void‑operator hack - 🧽 app/composables/options.ts — replace all
anywithunknown; useundefinedinstead ofvoid 0; add explicit return types throughout - ✨ app/composables/strings.ts — replace
anywithunknown; add explicitstringreturn types tostringifyOptionsandstringifyUnquoted - 📐 app/composables/payload.ts — replace
meta: {} as anywith a typedINITIAL_PAYLOADconstant satisfying all requiredPayloadMetafields; remove non‑null assertion!; changegetRuleDefaultOptionsreturn type fromany[]tounknown[]
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🧹 Chores
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
9fd0b26— 🧹 chore(eslint): disable stylistic rules and drop direct stylistic plugin -
disable stylistic rules in Antfu ESLint config
-
disable stylistic rules in Nuxt ESLint config
-
remove direct @stylistic/eslint-plugin dependency
-
remove stale style/* ESLint overrides and IDE customizations
-
update bootstrap dependency list and lockfile
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
910f92f— 🧹 [chore] run new prettier formatting
Signed-off-...
v2.0.3
[2.0.3] - 2026-03-24
🛡️ Security
-
c3bbca6— 🔧 [chore] Update permissions in scorecards.yml and stale.yml workflows -
Set permissions to read-only in scorecards.yml for enhanced security
-
Pin stale.yml workflow to a specific commit for stability
🧪 [test] Improve sorting of fixture filenames in stylelint_adapter.test.ts -
Use localeCompare for consistent alphabetical sorting of fixture filenames
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🛠️ Other Changes
fc0110f— Add SonarCloud configuration for project analysis
🧹 Chores
-
7720d71— Release v2.0.3 -
f20437a— 🔥 [remove] Remove gh-fix-ci skill and associated script -
Deleted SKILL.md and inspect_pr_checks.py files to streamline repository
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
-
d050586— 🔧 [chore] Update dependencies and configuration -
🆕 Upgrade
rolldownto version1.0.0-rc.11androllupto4.60.0 -
🔄 Update
viteto version8.0.2 -
🔄 Upgrade
h3to version2.0.1-rc.19,ts-extrasto0.19.0, andwsto8.20.0 -
🔄 Update
@double-great/stylelint-a11yto3.4.7,@eslint/jsonto1.2.0, andknipto6.0.4 -
🔄 Upgrade
eslintto10.1.0,typedocto0.28.18, andtypescriptto6.0.2 -
🔄 Update
vitestto4.1.1andstylelint-define-configto17.5.0 -
🔄 Upgrade
stylelint-plugin-use-baselineto1.4.1andeslint-plugin-testing-libraryto7.16.2 -
🔄 Update optional dependencies for
@secretlintrules to version11.4.0 -
🔄 Upgrade
@typescript-eslintpackages to version8.57.2
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com