Skip to content

Release 2026-06-14T09:32Z

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Jun 09:32
· 1 commit to main since this release
Immutable release. Only release title and notes can be modified.
4296076

@css-modules-kit/codegen@1.3.0

Patch Changes

@css-modules-kit/core@1.3.0

Minor Changes

  • #415 e9315e4 - feat(core): support animation shorthand

  • #412 a247518 - refactor(core): parse @value with postcss-value-parser

    The @value parser is reimplemented on top of postcss-value-parser. Behavior for syntax supported by css-loader is unchanged.

    For syntax that css-loader does not support (where css-modules-kit does not guarantee a specific behavior), the result changed:

    • @value \\c: #000; and @value \'d: #000; are now parsed as a token declaration instead of reporting an error.
    • @value \31 e: #000; is now read as the token name \31 instead of e.
  • #409 4f59d0c - feat(core, ts-plugin): support composes: <name> from '<specifier>'

    Class names referenced via composes: foo from './other.module.css'; are now linked to the .foo {...} declaration in the referenced file. Go to Definition jumps from the reference to the declaration, Find All References lists reference sites across files, and Rename updates the declaration and every reference together.

    Two diagnostics are also emitted in the check phase:

    • Cannot import module '<specifier>' when the specifier cannot be resolved.
    • Module '<specifier>' has no exported token '<name>'. when the referenced file does not export the token.
  • #408 947d06d - feat(core, ts-plugin, eslint-plugin, stylelint-plugin): support composes property

    Class names referenced via composes: foo; are now linked back to the .foo {...} declaration. Go to Definition jumps from a reference to the declaration, Find All References lists every reference site, and Rename updates the declaration and every reference together. Space-separated names (composes: foo bar;), comma-separated names (composes: foo, bar;), and mixes of both are supported. composes: global(foo);, composes: foo from global;, and composes: foo from '<specifier>'; do not produce references (support for from '<specifier>' is planned).

    Two diagnostics are also emitted for invalid usage:

    • Parse phase: a from clause not followed by a quoted specifier or the global keyword is reported.
    • Check phase: references that resolve to neither a locally defined token nor an imported token are reported as Cannot find token '<name>'..

    The no-unused-class-names rule in eslint-plugin and stylelint-plugin now treats names referenced via composes from within the same CSS as used, so they are no longer reported as unused.

Patch Changes

  • #403 f40f511 - refactor: add u flag for configDirTemplate

@css-modules-kit/eslint-plugin@1.3.0

Patch Changes

  • #408 947d06d - feat(core, ts-plugin, eslint-plugin, stylelint-plugin): support composes property

    Class names referenced via composes: foo; are now linked back to the .foo {...} declaration. Go to Definition jumps from a reference to the declaration, Find All References lists every reference site, and Rename updates the declaration and every reference together. Space-separated names (composes: foo bar;), comma-separated names (composes: foo, bar;), and mixes of both are supported. composes: global(foo);, composes: foo from global;, and composes: foo from '<specifier>'; do not produce references (support for from '<specifier>' is planned).

    Two diagnostics are also emitted for invalid usage:

    • Parse phase: a from clause not followed by a quoted specifier or the global keyword is reported.
    • Check phase: references that resolve to neither a locally defined token nor an imported token are reported as Cannot find token '<name>'..

    The no-unused-class-names rule in eslint-plugin and stylelint-plugin now treats names referenced via composes from within the same CSS as used, so they are no longer reported as unused.

  • Updated dependencies [e9315e4, a247518, 4f59d0c, 947d06d, f40f511]:

    • @css-modules-kit/core@1.3.0

@css-modules-kit/stylelint-plugin@1.3.0

Patch Changes

  • #408 947d06d - feat(core, ts-plugin, eslint-plugin, stylelint-plugin): support composes property

    Class names referenced via composes: foo; are now linked back to the .foo {...} declaration. Go to Definition jumps from a reference to the declaration, Find All References lists every reference site, and Rename updates the declaration and every reference together. Space-separated names (composes: foo bar;), comma-separated names (composes: foo, bar;), and mixes of both are supported. composes: global(foo);, composes: foo from global;, and composes: foo from '<specifier>'; do not produce references (support for from '<specifier>' is planned).

    Two diagnostics are also emitted for invalid usage:

    • Parse phase: a from clause not followed by a quoted specifier or the global keyword is reported.
    • Check phase: references that resolve to neither a locally defined token nor an imported token are reported as Cannot find token '<name>'..

    The no-unused-class-names rule in eslint-plugin and stylelint-plugin now treats names referenced via composes from within the same CSS as used, so they are no longer reported as unused.

  • Updated dependencies [e9315e4, a247518, 4f59d0c, 947d06d, f40f511]:

    • @css-modules-kit/core@1.3.0

@css-modules-kit/ts-plugin@1.3.0

Minor Changes

  • #409 4f59d0c - feat(core, ts-plugin): support composes: <name> from '<specifier>'

    Class names referenced via composes: foo from './other.module.css'; are now linked to the .foo {...} declaration in the referenced file. Go to Definition jumps from the reference to the declaration, Find All References lists reference sites across files, and Rename updates the declaration and every reference together.

    Two diagnostics are also emitted in the check phase:

    • Cannot import module '<specifier>' when the specifier cannot be resolved.
    • Module '<specifier>' has no exported token '<name>'. when the referenced file does not export the token.
  • #408 947d06d - feat(core, ts-plugin, eslint-plugin, stylelint-plugin): support composes property

    Class names referenced via composes: foo; are now linked back to the .foo {...} declaration. Go to Definition jumps from a reference to the declaration, Find All References lists every reference site, and Rename updates the declaration and every reference together. Space-separated names (composes: foo bar;), comma-separated names (composes: foo, bar;), and mixes of both are supported. composes: global(foo);, composes: foo from global;, and composes: foo from '<specifier>'; do not produce references (support for from '<specifier>' is planned).

    Two diagnostics are also emitted for invalid usage:

    • Parse phase: a from clause not followed by a quoted specifier or the global keyword is reported.
    • Check phase: references that resolve to neither a locally defined token nor an imported token are reported as Cannot find token '<name>'..

    The no-unused-class-names rule in eslint-plugin and stylelint-plugin now treats names referenced via composes from within the same CSS as used, so they are no longer reported as unused.

Patch Changes

  • #410 41ec0a2 - fix(ts-plugin): omit the default member from namespace member completion

    When namedExports is enabled and prioritizeNamedImports is disabled, completing members of a namespace import (import * as styles from './a.module.css'; styles.) no longer suggests a default member that the CSS module does not export.

  • Updated dependencies [e9315e4, a247518, 4f59d0c, 947d06d, f40f511]:

    • @css-modules-kit/core@1.3.0

css-modules-kit-vscode@1.3.0

Patch Changes