sheetom 0.1.1 → 0.2.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/docs/api.md CHANGED
@@ -28,6 +28,13 @@ with constructors from the same returned facade. Initialization and traps use
28
28
  `SheetOMWasmBindingError` with stable `SHEETOM_WASM_*` codes; ordinary CSS and
29
29
  Resource Budget failures retain the native facade contract.
30
30
 
31
+ ## CSS utilities
32
+
33
+ The exported `CSS` object provides `escape(value)` and the two
34
+ `supports(condition)` / `supports(property, value)` overloads. They use the
35
+ revision-pinned authoring capabilities and do not install a global namespace.
36
+ `CSSStyleSheet` inherits from the exported, nonconstructible `StyleSheet` base.
37
+
31
38
  ## Stylesheets and identity
32
39
 
33
40
  `CSSStyleSheet.cssRules` is stable and live. `insertRule` and `deleteRule` use
@@ -157,7 +164,7 @@ with the optional `UNSUPPORTED_SHORTHAND_VALUE` diagnostic.
157
164
  `CSSNamespaceRule` exposes immutable `namespaceURI` and `prefix` values.
158
165
  - `CSSImportRule` never fetches; `media` is live and `href` resolves against the
159
166
  sheet base URL.
160
- - `CSSFontFaceRule`, `CSSPageRule`/`CSSMarginRule`, `CSSPositionTryRule`, and
167
+ - `CSSFontFaceRule`, `CSSPageRule`/`CSSMarginRule`, `CSSPositionTryRule`/`CSSPositionTryDescriptors`, and
161
168
  `CSSNestedDeclarations` expose declaration blocks.
162
169
  - `CSSKeyframesRule` provides `appendRule`, `deleteRule`, and last-match
163
170
  `findRule`; each `CSSKeyframeRule` exposes mutable `keyText` and `style`.
@@ -179,6 +186,17 @@ with the optional `UNSUPPORTED_SHORTHAND_VALUE` diagnostic.
179
186
  or `setProperty()` is a no-op; `cssText` replacement and `removeProperty()`
180
187
  remain live.
181
188
 
189
+ - Experimental `CSSMixinRule` exposes `name`, `contents`, fresh parameter
190
+ records from `getParameters()`, and live grouping mutation.
191
+ - Experimental `CSSApplyBlockRule` / `CSSApplyStatementRule` expose `name`
192
+ and fresh `getArguments()` snapshots. Block applications own live `cssRules`.
193
+ - Experimental `CSSContentsBlockRule` / `CSSContentsStatementRule` distinguish
194
+ a fallback block from a statement. Declaration runs inside mixin-related
195
+ blocks are editable `CSSNestedDeclarations`. Mixins are never expanded.
196
+
197
+ These five mixin interfaces are available by default under the exact draft
198
+ revision and [explicit resolutions](./css-september-2026-parity-evidence.md).
199
+
182
200
  Unknown metadata and future rules can be retained and serialized, but are
183
201
  read-only until a standards-defined mutable interface is implemented.
184
202
 
package/engine-abi.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "abiVersion": 4,
3
- "sheetomVersion": "0.1.1",
4
- "syntaxEngineSetSha256": "a0f10d0c1f0fe9e5bac9002e8ee548e7b5f6e2c7add1af3d953ae718d25cb37b"
2
+ "abiVersion": 5,
3
+ "sheetomVersion": "0.2.1",
4
+ "syntaxEngineSetSha256": "e53060705956d09b629c87a9779a63ab07c35fae1111cb333866ba9c05dea86b"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sheetom",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "description": "A browser-compatible mutable CSSOM for JavaScript runtimes",
5
5
  "keywords": [
6
6
  "css",
@@ -48,19 +48,19 @@
48
48
  "SECURITY.md"
49
49
  ],
50
50
  "optionalDependencies": {
51
- "@sheetom/native-darwin-arm64": "0.1.1",
52
- "@sheetom/native-darwin-x64": "0.1.1",
53
- "@sheetom/native-linux-arm-gnueabihf": "0.1.1",
54
- "@sheetom/native-linux-arm-musleabihf": "0.1.1",
55
- "@sheetom/native-linux-arm64-gnu": "0.1.1",
56
- "@sheetom/native-linux-arm64-musl": "0.1.1",
57
- "@sheetom/native-linux-ppc64-gnu": "0.1.1",
58
- "@sheetom/native-linux-s390x-gnu": "0.1.1",
59
- "@sheetom/native-linux-x64-gnu": "0.1.1",
60
- "@sheetom/native-linux-x64-musl": "0.1.1",
61
- "@sheetom/native-win32-arm64-msvc": "0.1.1",
62
- "@sheetom/native-win32-ia32-msvc": "0.1.1",
63
- "@sheetom/native-win32-x64-msvc": "0.1.1"
51
+ "@sheetom/native-darwin-arm64": "0.2.1",
52
+ "@sheetom/native-darwin-x64": "0.2.1",
53
+ "@sheetom/native-linux-arm-gnueabihf": "0.2.1",
54
+ "@sheetom/native-linux-arm-musleabihf": "0.2.1",
55
+ "@sheetom/native-linux-arm64-gnu": "0.2.1",
56
+ "@sheetom/native-linux-arm64-musl": "0.2.1",
57
+ "@sheetom/native-linux-ppc64-gnu": "0.2.1",
58
+ "@sheetom/native-linux-s390x-gnu": "0.2.1",
59
+ "@sheetom/native-linux-x64-gnu": "0.2.1",
60
+ "@sheetom/native-linux-x64-musl": "0.2.1",
61
+ "@sheetom/native-win32-arm64-msvc": "0.2.1",
62
+ "@sheetom/native-win32-ia32-msvc": "0.2.1",
63
+ "@sheetom/native-win32-x64-msvc": "0.2.1"
64
64
  },
65
65
  "scripts": {
66
66
  "build": "tsdown",
@@ -131,29 +131,31 @@
131
131
  "test:browser:matrix": "SHEETOM_BROWSER_MATRIX=1 vitest run --project browser",
132
132
  "test:differential": "npm run build && node scripts/browser-differential.ts",
133
133
  "typecheck": "tsc --noEmit && npm run typecheck:scripts",
134
- "typecheck:scripts": "tsc --project tsconfig.scripts.json"
134
+ "typecheck:scripts": "tsc --project tsconfig.scripts.json",
135
+ "css:target:check": "node scripts/generate-css-feature-target.ts && node scripts/generate-css-authoring-coverage.ts && node scripts/check-css-authoring-target.ts && node scripts/test-modern-css-backends.ts"
135
136
  },
136
137
  "devDependencies": {
137
138
  "@changesets/cli": "^3.0.0",
138
- "@napi-rs/cli": "3.8.6",
139
+ "@napi-rs/cli": "3.9.0",
139
140
  "@rollup/plugin-node-resolve": "16.0.3",
140
141
  "@types/css-tree": "^3.2.0",
141
142
  "@types/node": "^24.0.0",
142
143
  "@vitest/browser-playwright": "^4.1.10",
143
- "@webref/css": "8.7.1",
144
+ "@webref/css": "8.7.4",
144
145
  "ajv": "^8.20.0",
145
146
  "binaryen": "132.0.0",
146
147
  "css-tree": "3.2.1",
147
148
  "esbuild": "0.28.2",
148
149
  "fast-check": "^4.9.0",
149
150
  "playwright": "^1.62.1",
150
- "rollup": "4.62.4",
151
- "tsdown": "^0.22.14",
151
+ "playwright-oracle": "npm:playwright-core@1.62.1",
152
+ "rollup": "4.63.1",
153
+ "tsdown": "^0.23.0",
152
154
  "typedoc": "^0.28.20",
153
155
  "typescript": "^6.0.3",
154
- "vite": "8.2.1",
156
+ "vite": "8.2.2",
155
157
  "vitest": "^4.1.10",
156
- "webpack": "5.109.2"
158
+ "webpack": "5.110.3"
157
159
  },
158
160
  "engines": {
159
161
  "node": ">=22"