Releases: mizdra/css-modules-kit
Release 2026-02-23T13:25Z
@css-modules-kit/codegen@0.10.0
Patch Changes
@css-modules-kit/core@0.10.0
Patch Changes
@css-modules-kit/eslint-plugin@0.10.0
Patch Changes
@css-modules-kit/stylelint-plugin@0.10.0
Minor Changes
Patch Changes
@css-modules-kit/ts-plugin@0.10.0
Patch Changes
-
#337
b857cc8- docs(ts-plugin): improve Neovim/Emacs setup guide in README -
Updated dependencies [
727f295,70660f4]:- @css-modules-kit/core@0.10.0
css-modules-kit-vscode@0.10.0
Patch Changes
Release 2026-02-07T14:32Z
Notable Changes
Support non-JavaScript identifier token in default export (#330)
Previously, CSS Modules Kit did not allow tokens with names that were invalid as JavaScript identifiers. For example, class selectors containing hyphens, such as .a-1 {...}, could not be used.
Starting with this version, this is now permitted only when cmkOptions.namedExports is set to false. You can reference class selectors with hyphens, like styles['a-1'].
However, note that these tokens remain disallowed when cmkOptions.namedExports is set to true. Additionally, case conversion is not supported (meaning .foo-bar {...} will not be exported as fooBar). We hope to relax these restrictions in the future, though the technical feasibility remains unclear.
@apple-yagi created a proof of concept in #309 and #320, demonstrating that this feature is feasible. He also provided key ideas for implementing this feature, specifically the concept of multiple mapping objects, alongside me (ref: #309 (comment)). Thank you!
Ignore node_modules and .git directories in watch mode (#335)
We fixed an issue where node_modules and .git were watched in watch mode, causing EMFILE errors.
@css-modules-kit/codegen@0.9.0
Patch Changes
-
#335
01e89eb- fix(codegen): ignorenode_modulesand.gitdirectories in watch mode to prevent EMFILE errors -
Updated dependencies [
d89f583,9b9aeae,9ca81da,61f228a]:- @css-modules-kit/core@0.9.0
@css-modules-kit/core@0.9.0
Minor Changes
Patch Changes
-
#333
9b9aeae- fix(core): usematchAllinstead ofexecinfindUsedTokenNamesto avoid potentiallastIndexstate issues -
#334
9ca81da- fix(core): supportstyles['foo']andstyles["foo"]bracket notation infindUsedTokenNames -
#326
61f228a- fix(core): fix the incorrect position of the diagnostics for the escaped class selectors
@css-modules-kit/eslint-plugin@0.9.0
Patch Changes
@css-modules-kit/stylelint-plugin@0.9.0
Patch Changes
@css-modules-kit/ts-plugin@0.9.0
Minor Changes
Patch Changes
-
#336
6115ee6- docs(ts-plugin): fix typo in Zed settings path in README -
Updated dependencies [
d89f583,9b9aeae,9ca81da,61f228a]:- @css-modules-kit/core@0.9.0
css-modules-kit-vscode@0.9.0
Patch Changes
Release 2026-01-25T10:42Z
Notable Changes
The package versioning rules are changed (#318)
We have changed the package versioning rules. Previously, only packages that had changes were bumped. However, going forward, if any of core, codegen, ts-plugin, stylelint-plugin, or eslint-plugin has changes, all of them will be bumped. Additionally, they will be released with the same version number.
For the detailed background, see #318.
@css-modules-kit/codegen@0.8.1
Patch Changes
-
#318
ece6603- chore: synchronize versions across all packages (except zed) -
Updated dependencies [
61cb7a5,df01b95,707df0c,ece6603]:- @css-modules-kit/core@0.8.1
@css-modules-kit/core@0.8.1
Patch Changes
-
#306
61cb7a5- chore: disable complexity and max-params ESLint rules -
#311
df01b95- fix(core): fix the issue where*.cssimport resolution fails -
#318
ece6603- chore: synchronize versions across all packages (except zed)
@css-modules-kit/eslint-plugin@0.8.1
Patch Changes
-
#318
ece6603- chore: synchronize versions across all packages (except zed) -
Updated dependencies [
61cb7a5,df01b95,707df0c,ece6603]:- @css-modules-kit/core@0.8.1
@css-modules-kit/stylelint-plugin@0.8.1
Patch Changes
-
#318
ece6603- chore: synchronize versions across all packages (except zed) -
Updated dependencies [
61cb7a5,df01b95,707df0c,ece6603]:- @css-modules-kit/core@0.8.1
@css-modules-kit/ts-plugin@0.8.1
Patch Changes
-
#306
61cb7a5- chore: disable complexity and max-params ESLint rules -
#315
f5a008a- fix(ts-plugin): fix incorrect Definition Preview -
#318
ece6603- chore: synchronize versions across all packages (except zed) -
Updated dependencies [
61cb7a5,df01b95,707df0c,ece6603]:- @css-modules-kit/core@0.8.1
css-modules-kit-vscode@0.8.1
Patch Changes
Release 2026-01-13T01:47Z
Notable Changes
Add --preserveWatchOutput option (#288)
An option has been added to prevent the terminal from being cleared each time a file change is detected in watch mode.
Change how to resolve specifiers (#296, #298 #297)
The resolution method for specifiers in @import '<specifier>' and @value ... from '<specifier>' has been modified. For detailed information, please refer to issues #296, #298, and #297.
As a result, @import statements that previously did not produce errors may now generate the diagnostic message "Cannot import module". To avoid this issue, please refer to the instructions in the "Limitations" section.
Prevent tsserver from crashing when adding new files (#305)
Previously, tsserver would crash when new files were added. This issue affected projects not using CSS Modules as well, meaning many users may have experienced this problem.
This issue has been resolved in #305.
Add cmkOptions.enabled (#290, #299)
Currently, the language features of ts-plugin are enabled automatically. This means they are enabled in all TypeScript projects. Consequently, Code Actions for CSS Modules appear in projects not using CSS Modules Kit, such as the following:
This can be annoying for some users.
We have now added the cmkOptions.enabled configuration option, which allows disabling both the ts-plugin and codegen. When cmkOptions.enabled is omitted, codegen will issue a warning.
Currently, omitting cmkOptions.enabled still enables both the ts-plugin and codegen, but this behavior may change in the future, requiring explicit setting to true for functionality to continue.
@css-modules-kit/codegen@0.8.0
Minor Changes
-
#290
d75f75f- feat: exit with error whencmkOptions.enabledis false -
#302
32ecdc2- feat!: include types in .d.ts files for unresolved or unmatched module imports -
#290
d75f75f- feat: warn whencmkOptions.enabledis not set
Patch Changes
-
Updated dependencies [
673b45a,b5cdd4a,92d7918,0128985,32ecdc2,b5cdd4a,4318015,b5cdd4a,352f53c]:- @css-modules-kit/core@0.8.0
@css-modules-kit/core@0.8.0
Minor Changes
-
#302
32ecdc2- feat!: include types in .d.ts files for unresolved or unmatched module imports -
#295
4318015- refactor: consolidatecheckCSSModulearguments intoCheckerArgs
Patch Changes
-
#297
673b45a- fix: prevent URL specifiers from being resolved by import aliases -
#298
92d7918- fix: fix .d.ts generation regression from #296 -
#303
0128985- fix: preventstylesfrom becominganytype when importing unresolvable or unmatched modules -
#296
b5cdd4a- fix: report "Cannot import module" diagnostic for unresolvable bare specifiers -
#296
b5cdd4a- fix: returnundefinedfor non-existent CSS module paths in resolver
@css-modules-kit/eslint-plugin@0.4.0
Minor Changes
Patch Changes
- Updated dependencies [
673b45a,b5cdd4a,92d7918,0128985,32ecdc2,b5cdd4a,4318015,b5cdd4a,352f53c]:- @css-modules-kit/core@0.8.0
@css-modules-kit/stylelint-plugin@0.5.0
Minor Changes
Patch Changes
- Updated dependencies [
673b45a,b5cdd4a,92d7918,0128985,32ecdc2,b5cdd4a,4318015,b5cdd4a,352f53c]:- @css-modules-kit/core@0.8.0
@css-modules-kit/ts-plugin@0.8.0
Minor Changes
-
#299
4c604fe- feat: disable ts-plugin ifcmkConfig.enabledisfalse -
#286
352f53c- chore: migrate modules other than entry points from CJS to ESM -
#302
32ecdc2- feat!: include types in .d.ts files for unresolved or unmatched module imports
Patch Changes
- #305 [
51a78a7](51a78a7751703ae17f38ec7...
Release 2025-12-21T09:41Z
Notable Changes
Watch Mode coming to cmk command (#278)
Previously, the cmk command lacked a watch mode feature. As a result, during development, the contents of *.module.css.d.ts files could become outdated.
This typically isn't problematic because tsserver performs type checking based on *.module.css content rather than *.module.css.d.ts. However, tools like the ESLint Language Server perform type checking based on *.module.css.d.ts. Consequently, this leads to inconsistent type checking results between ESLint Language Server and tsserver, which can confuse users.
To address this issue, we have added a watch mode feature to the cmk command, available via cmk --watch. In watch mode, the tool watches changes to *.module.css files and automatically generates corresponding *.module.css.d.ts files whenever changes are detected.
2025-12-21.19.26.32.mov
Enable cmkOptions completion in tsconfig.json for VS Code (#277)
cmkOptions is now supported for completion. Thanks to @Gehbt for implementing this feature!
@css-modules-kit/codegen@0.7.0
Minor Changes
-
#269
60b7515- feat: generate .d.ts files even if syntax or semantic errors are found -
#272
c36be81- feat!: report an error diagnostic when no files found byinclude/excludepattern
Patch Changes
-
#273
d1c2051- refactor: rename fromcreateDtstogenerateDts -
#274
87e1aef- refactor: include diagnostics withinCSSModuleobject -
Updated dependencies [
d1c2051,60b7515,4d661a1,87e1aef,c36be81]:- @css-modules-kit/core@0.7.0
@css-modules-kit/core@0.7.0
Minor Changes
-
#273
d1c2051- refactor: rename fromcreateDtstogenerateDts -
#269
60b7515- feat: generate .d.ts files even if syntax or semantic errors are found -
#274
87e1aef- refactor: include diagnostics withinCSSModuleobject -
#272
c36be81- feat!: report an error diagnostic when no files found byinclude/excludepattern
@css-modules-kit/eslint-plugin@0.3.1
Patch Changes
@css-modules-kit/stylelint-plugin@0.4.1
Patch Changes
@css-modules-kit/ts-plugin@0.7.0
Minor Changes
-
#269
60b7515- feat: generate .d.ts files even if syntax or semantic errors are found -
#272
c36be81- feat!: report an error diagnostic when no files found byinclude/excludepattern
Patch Changes
-
#273
d1c2051- refactor: rename fromcreateDtstogenerateDts -
#274
87e1aef- refactor: include diagnostics withinCSSModuleobject -
Updated dependencies [
d1c2051,60b7515,4d661a1,87e1aef,c36be81]:- @css-modules-kit/core@0.7.0
css-modules-kit-zed@0.1.1
Patch Changes
css-modules-kit-vscode@0.4.0
Minor Changes
Patch Changes
Release 2025-09-03T01:27Z
Release 2025-09-02T12:38Z
@css-modules-kit/codegen@0.6.0
Minor Changes
Patch Changes
@css-modules-kit/core@0.6.0
Minor Changes
- 1f44d73: feat: add
cmkOptions.keyframesoption
Patch Changes
- b167f2c: fix: fix an issue where
prioritizeNamedImportsis ignored when used withextendsoftsconfig.json
@css-modules-kit/eslint-plugin@0.3.0
Minor Changes
- 2df5729: chore!: make eslint-plugin internal API private
Patch Changes
- f81c8a8: fix: fix eslint crashing due to
composesproperty - Updated dependencies [b167f2c]
- Updated dependencies [1f44d73]
- @css-modules-kit/core@0.6.0
@css-modules-kit/stylelint-plugin@0.4.0
Minor Changes
- 66ea122: feat: allow
require('@css-modules-kit/stylelint-plugin')
Patch Changes
- f81c8a8: refactor: refactor the syntax definition of
composesproperty in stylelint-plugin - Updated dependencies [b167f2c]
- Updated dependencies [1f44d73]
- @css-modules-kit/core@0.6.0
@css-modules-kit/ts-plugin@0.6.0
Minor Changes
- 1f44d73: feat: add
cmkOptions.keyframesoption
Patch Changes
css-modules-kit-vscode@0.2.3
Patch Changes
- Updated dependencies [1f44d73]
- @css-modules-kit/ts-plugin@0.6.0
Release 2025-08-11T06:54Z
Notable Changes
Fix missing quick fix actions in *.ts (#228)
Missing items of Quick Fix Action for *.ts have been fixed.
Add logo (#241)
We added the css-modules-kit logo :)
@css-modules-kit/core@0.5.1
Patch Changes
- d6566f3: deps: update dependencies
@css-modules-kit/ts-plugin@0.5.1
Patch Changes
- e0ebb5b: fix: fix missing quick fix actions
- d6566f3: deps: update dependencies
- Updated dependencies [d6566f3]
- @css-modules-kit/core@0.5.1
css-modules-kit-vscode@0.2.2
Patch Changes
css-modules-kit-zed@0.1.0
Release 2025-08-08T14:44Z
Notable Changes
Support @keyframes (#218)
Names defined with @keyframes are now included in styles. Go to Definition and rename are now available for keyframe names.
2025-08-04.17.28.44.mov
@css-modules-kit/codegen@0.5.0
Minor Changes
- 9c20f15: fix:
defaultis not allowed as names whennamedExportsistrue - 9c20f15: fix:
__proto__is not allowed as names
Patch Changes
- Updated dependencies [9c20f15]
- Updated dependencies [9c20f15]
- Updated dependencies [61e053d]
- Updated dependencies [15dcba8]
- Updated dependencies [b38f9d3]
- Updated dependencies [d0a6685]
- @css-modules-kit/core@0.5.0
@css-modules-kit/core@0.5.0
Minor Changes
- 9c20f15: fix:
defaultis not allowed as names whennamedExportsistrue - 9c20f15: fix:
__proto__is not allowed as names - 15dcba8, 61e053d: feat: improve non-JS identifier error message
- b38f9d3, 69095b7: feat: support
@keyframes
Patch Changes
- d0a6685: fix: disallow non-JavaScript identifier
@value
@css-modules-kit/eslint-plugin@0.2.2
Patch Changes
- Updated dependencies [9c20f15]
- Updated dependencies [9c20f15]
- Updated dependencies [61e053d]
- Updated dependencies [15dcba8]
- Updated dependencies [b38f9d3]
- Updated dependencies [d0a6685]
- @css-modules-kit/core@0.5.0
@css-modules-kit/stylelint-plugin@0.3.2
Patch Changes
- Updated dependencies [9c20f15]
- Updated dependencies [9c20f15]
- Updated dependencies [61e053d]
- Updated dependencies [15dcba8]
- Updated dependencies [b38f9d3]
- Updated dependencies [d0a6685]
- @css-modules-kit/core@0.5.0
@css-modules-kit/ts-plugin@0.5.0
Minor Changes
- 9c20f15: fix:
defaultis not allowed as names whennamedExportsistrue - 9c20f15: fix:
__proto__is not allowed as names
Patch Changes
- Updated dependencies [9c20f15]
- Updated dependencies [9c20f15]
- Updated dependencies [61e053d]
- Updated dependencies [15dcba8]
- Updated dependencies [b38f9d3]
- Updated dependencies [d0a6685]
- @css-modules-kit/core@0.5.0
