@style-contract/binary-win32-x64 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -77,6 +77,7 @@ With no explicit `--config`, StyleContract automatically loads `./style-contract
77
77
  "naming-convention-global": "off",
78
78
  "empty-rule": "warning",
79
79
  "class-leak": "warning",
80
+ "leaked-class-usage": "warning",
80
81
  },
81
82
  }
82
83
  ```
@@ -94,8 +95,11 @@ Supported rules:
94
95
  - `dynamic-reference`
95
96
  - `empty-rule`
96
97
  - `class-leak`
98
+ - `leaked-class-usage`
97
99
 
98
- All enabled rules are errors except `naming-convention-local`, `naming-convention-global`, `dynamic-reference`, `empty-rule`, and `class-leak`, which are warnings. Naming-convention rules do not emit findings in `none` mode. `unused-dependent-class` is disabled by default; when enabled, it verifies that classes declared in same-element compound selectors are used together with a complete prerequisite class path in one JSX `className` expression or `clsx(...)` call. `empty-rule` reports selector blocks that contain only whitespace or comments; empty `:export` and structural at-rule blocks are not reported. `class-leak` reports a CSS Module's direct `@use`, `@forward`, and `@import` dependencies when the imported file declares classes. This includes ordinary stylesheets as well as other CSS Modules, because those classes are emitted into the importing module. Keep shared Sass dependencies class-free; when another CSS Module's classes are needed in TypeScript, import that module independently from the TS or TSX file.
100
+ All enabled rules are errors except `naming-convention-local`, `naming-convention-global`, `dynamic-reference`, `empty-rule`, `class-leak`, and `leaked-class-usage`, which are warnings. Naming-convention rules do not emit findings in `none` mode. `unused-dependent-class` is disabled by default; when enabled, it verifies that classes declared in same-element compound selectors are used together with a complete prerequisite class path in one JSX `className` expression or `clsx(...)` call. `empty-rule` reports selector blocks that contain only whitespace or comments; empty `:export` and structural at-rule blocks are not reported.
101
+
102
+ `class-leak` reports a CSS Module's direct `@use`, `@forward`, and `@import` dependencies when the imported file declares classes. This includes ordinary stylesheets as well as other CSS Modules, because those classes are emitted into the importing module. `leaked-class-usage` reports TS/TSX references that rely on one of those leaked classes. Such references work at runtime, so they are not also reported as `missing-symbol`, and the source declaration counts as used. Keep shared Sass dependencies class-free; move shared classes into an explicit CSS Module and import that module independently from the TS or TSX file.
99
103
 
100
104
  ### Targeted suppressions
101
105
 
@@ -141,7 +145,7 @@ The MVP supports `.ts`, `.tsx`, `.css`, and `.scss`, default or namespace CSS Mo
141
145
 
142
146
  Classes in `.module.css` and `.module.scss` are local by default. Classes in other stylesheets are global by default. With an explicit convention, global classes are checked against the warning-level global convention rule, but are not CSS Module exports and therefore do not participate in missing or unused checks.
143
147
 
144
- Dynamic Sass-generated selectors and computed accesses such as `styles[name]` produce warnings. Because their complete usage cannot be proven, unused-symbol findings are suppressed for that stylesheet. StyleContract detects direct class leaks from resolvable Sass dependencies but does not evaluate Sass, follow transitive Sass imports, or flatten imported classes into the importing module's symbol table. Sass evaluation and `composes` evaluation remain outside the MVP.
148
+ Dynamic Sass-generated selectors and computed accesses such as `styles[name]` produce warnings. Because their complete usage cannot be proven, unused-symbol findings are suppressed for that stylesheet. StyleContract detects direct class leaks from resolvable Sass dependencies and recognizes their statically referenced classes, but it does not evaluate Sass or follow transitive Sass imports. Sass evaluation and `composes` evaluation remain outside the MVP.
145
149
 
146
150
  ## Development
147
151
 
@@ -156,5 +160,5 @@ cargo build --release
156
160
 
157
161
  Releases are published from version tags. Before the first release, create or claim the `@style-contract` organization on npm, grant the publisher access to it, and add an npm automation token to the GitHub repository as the `NPM_TOKEN` Actions secret.
158
162
 
159
- Keep the version in `package.json`, `Cargo.toml`, `Cargo.lock`, and every platform package dependency identical. The release verifier enforces this. Push a tag matching that version, such as `v0.9.0`; the release workflow builds and publishes all eight platform packages before publishing `style-contract`.
163
+ Keep the version in `package.json`, `Cargo.toml`, `Cargo.lock`, and every platform package dependency identical. The release verifier enforces this. Push a tag matching that version, such as `v0.9.1`; the release workflow builds and publishes all eight platform packages before publishing `style-contract`.
160
164
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@style-contract/binary-win32-x64",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Precompiled StyleContract binary for win32/x64",
5
5
  "repository": {
6
6
  "type": "git",
Binary file