@teacss/engine 0.10.4 → 0.10.5

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/binding.d.ts CHANGED
@@ -79,9 +79,9 @@ export declare class Engine {
79
79
  dispose(): void
80
80
  }
81
81
 
82
- export declare function diagnoseCustom(css: string, themeKeys: string[]): CustomDiagnostic[]
82
+ export declare function diagnoseCustom(css: string, themeKeys: string[], file?: string | undefined | null): CustomDiagnostic[]
83
83
 
84
- export declare function diagnoseEntry(css: string): EntryDiagnostic[]
84
+ export declare function diagnoseEntry(css: string, file?: string | undefined | null): EntryDiagnostic[]
85
85
 
86
86
  export declare function expandClassGroups(code: string): string
87
87
 
package/binding.js CHANGED
@@ -92,8 +92,8 @@ function requireNative() {
92
92
  try {
93
93
  const binding = require('@teacss/engine-android-arm64')
94
94
  const bindingPackageVersion = require('@teacss/engine-android-arm64/package.json').version
95
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
96
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
95
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
96
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
97
97
  }
98
98
  return binding
99
99
  } catch (e) {
@@ -108,8 +108,8 @@ function requireNative() {
108
108
  try {
109
109
  const binding = require('@teacss/engine-android-arm-eabi')
110
110
  const bindingPackageVersion = require('@teacss/engine-android-arm-eabi/package.json').version
111
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
112
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
111
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
112
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
113
113
  }
114
114
  return binding
115
115
  } catch (e) {
@@ -129,8 +129,8 @@ function requireNative() {
129
129
  try {
130
130
  const binding = require('@teacss/engine-win32-x64-gnu')
131
131
  const bindingPackageVersion = require('@teacss/engine-win32-x64-gnu/package.json').version
132
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
133
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
132
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
133
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
134
134
  }
135
135
  return binding
136
136
  } catch (e) {
@@ -145,8 +145,8 @@ function requireNative() {
145
145
  try {
146
146
  const binding = require('@teacss/engine-win32-x64-msvc')
147
147
  const bindingPackageVersion = require('@teacss/engine-win32-x64-msvc/package.json').version
148
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
149
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
148
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
149
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
150
150
  }
151
151
  return binding
152
152
  } catch (e) {
@@ -162,8 +162,8 @@ function requireNative() {
162
162
  try {
163
163
  const binding = require('@teacss/engine-win32-ia32-msvc')
164
164
  const bindingPackageVersion = require('@teacss/engine-win32-ia32-msvc/package.json').version
165
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
166
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
165
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
166
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
167
167
  }
168
168
  return binding
169
169
  } catch (e) {
@@ -178,8 +178,8 @@ function requireNative() {
178
178
  try {
179
179
  const binding = require('@teacss/engine-win32-arm64-msvc')
180
180
  const bindingPackageVersion = require('@teacss/engine-win32-arm64-msvc/package.json').version
181
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
182
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
181
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
182
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
183
183
  }
184
184
  return binding
185
185
  } catch (e) {
@@ -197,8 +197,8 @@ function requireNative() {
197
197
  try {
198
198
  const binding = require('@teacss/engine-darwin-universal')
199
199
  const bindingPackageVersion = require('@teacss/engine-darwin-universal/package.json').version
200
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
201
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
200
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
201
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
202
202
  }
203
203
  return binding
204
204
  } catch (e) {
@@ -213,8 +213,8 @@ function requireNative() {
213
213
  try {
214
214
  const binding = require('@teacss/engine-darwin-x64')
215
215
  const bindingPackageVersion = require('@teacss/engine-darwin-x64/package.json').version
216
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
217
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
216
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
217
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
218
218
  }
219
219
  return binding
220
220
  } catch (e) {
@@ -229,8 +229,8 @@ function requireNative() {
229
229
  try {
230
230
  const binding = require('@teacss/engine-darwin-arm64')
231
231
  const bindingPackageVersion = require('@teacss/engine-darwin-arm64/package.json').version
232
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
233
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
232
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
233
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
234
234
  }
235
235
  return binding
236
236
  } catch (e) {
@@ -249,8 +249,8 @@ function requireNative() {
249
249
  try {
250
250
  const binding = require('@teacss/engine-freebsd-x64')
251
251
  const bindingPackageVersion = require('@teacss/engine-freebsd-x64/package.json').version
252
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
253
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
252
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
253
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
254
254
  }
255
255
  return binding
256
256
  } catch (e) {
@@ -265,8 +265,8 @@ function requireNative() {
265
265
  try {
266
266
  const binding = require('@teacss/engine-freebsd-arm64')
267
267
  const bindingPackageVersion = require('@teacss/engine-freebsd-arm64/package.json').version
268
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
269
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
268
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
269
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
270
270
  }
271
271
  return binding
272
272
  } catch (e) {
@@ -286,8 +286,8 @@ function requireNative() {
286
286
  try {
287
287
  const binding = require('@teacss/engine-linux-x64-musl')
288
288
  const bindingPackageVersion = require('@teacss/engine-linux-x64-musl/package.json').version
289
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
290
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
289
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
290
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
291
291
  }
292
292
  return binding
293
293
  } catch (e) {
@@ -302,8 +302,8 @@ function requireNative() {
302
302
  try {
303
303
  const binding = require('@teacss/engine-linux-x64-gnu')
304
304
  const bindingPackageVersion = require('@teacss/engine-linux-x64-gnu/package.json').version
305
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
306
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
305
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
306
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
307
307
  }
308
308
  return binding
309
309
  } catch (e) {
@@ -320,8 +320,8 @@ function requireNative() {
320
320
  try {
321
321
  const binding = require('@teacss/engine-linux-arm64-musl')
322
322
  const bindingPackageVersion = require('@teacss/engine-linux-arm64-musl/package.json').version
323
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
324
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
323
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
324
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
325
325
  }
326
326
  return binding
327
327
  } catch (e) {
@@ -336,8 +336,8 @@ function requireNative() {
336
336
  try {
337
337
  const binding = require('@teacss/engine-linux-arm64-gnu')
338
338
  const bindingPackageVersion = require('@teacss/engine-linux-arm64-gnu/package.json').version
339
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
340
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
339
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
340
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
341
341
  }
342
342
  return binding
343
343
  } catch (e) {
@@ -354,8 +354,8 @@ function requireNative() {
354
354
  try {
355
355
  const binding = require('@teacss/engine-linux-arm-musleabihf')
356
356
  const bindingPackageVersion = require('@teacss/engine-linux-arm-musleabihf/package.json').version
357
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
358
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
357
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
358
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
359
359
  }
360
360
  return binding
361
361
  } catch (e) {
@@ -370,8 +370,8 @@ function requireNative() {
370
370
  try {
371
371
  const binding = require('@teacss/engine-linux-arm-gnueabihf')
372
372
  const bindingPackageVersion = require('@teacss/engine-linux-arm-gnueabihf/package.json').version
373
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
374
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
373
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
374
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
375
375
  }
376
376
  return binding
377
377
  } catch (e) {
@@ -388,8 +388,8 @@ function requireNative() {
388
388
  try {
389
389
  const binding = require('@teacss/engine-linux-loong64-musl')
390
390
  const bindingPackageVersion = require('@teacss/engine-linux-loong64-musl/package.json').version
391
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
392
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
391
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
392
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
393
393
  }
394
394
  return binding
395
395
  } catch (e) {
@@ -404,8 +404,8 @@ function requireNative() {
404
404
  try {
405
405
  const binding = require('@teacss/engine-linux-loong64-gnu')
406
406
  const bindingPackageVersion = require('@teacss/engine-linux-loong64-gnu/package.json').version
407
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
408
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
407
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
408
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
409
409
  }
410
410
  return binding
411
411
  } catch (e) {
@@ -422,8 +422,8 @@ function requireNative() {
422
422
  try {
423
423
  const binding = require('@teacss/engine-linux-riscv64-musl')
424
424
  const bindingPackageVersion = require('@teacss/engine-linux-riscv64-musl/package.json').version
425
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
426
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
425
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
426
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
427
427
  }
428
428
  return binding
429
429
  } catch (e) {
@@ -438,8 +438,8 @@ function requireNative() {
438
438
  try {
439
439
  const binding = require('@teacss/engine-linux-riscv64-gnu')
440
440
  const bindingPackageVersion = require('@teacss/engine-linux-riscv64-gnu/package.json').version
441
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
442
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
441
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
442
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
443
443
  }
444
444
  return binding
445
445
  } catch (e) {
@@ -455,8 +455,8 @@ function requireNative() {
455
455
  try {
456
456
  const binding = require('@teacss/engine-linux-ppc64-gnu')
457
457
  const bindingPackageVersion = require('@teacss/engine-linux-ppc64-gnu/package.json').version
458
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
459
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
458
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
459
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
460
460
  }
461
461
  return binding
462
462
  } catch (e) {
@@ -471,8 +471,8 @@ function requireNative() {
471
471
  try {
472
472
  const binding = require('@teacss/engine-linux-s390x-gnu')
473
473
  const bindingPackageVersion = require('@teacss/engine-linux-s390x-gnu/package.json').version
474
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
475
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
474
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
475
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
476
476
  }
477
477
  return binding
478
478
  } catch (e) {
@@ -491,8 +491,8 @@ function requireNative() {
491
491
  try {
492
492
  const binding = require('@teacss/engine-openharmony-arm64')
493
493
  const bindingPackageVersion = require('@teacss/engine-openharmony-arm64/package.json').version
494
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
495
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
494
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
495
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
496
496
  }
497
497
  return binding
498
498
  } catch (e) {
@@ -507,8 +507,8 @@ function requireNative() {
507
507
  try {
508
508
  const binding = require('@teacss/engine-openharmony-x64')
509
509
  const bindingPackageVersion = require('@teacss/engine-openharmony-x64/package.json').version
510
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
511
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
510
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
511
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
512
512
  }
513
513
  return binding
514
514
  } catch (e) {
@@ -523,8 +523,8 @@ function requireNative() {
523
523
  try {
524
524
  const binding = require('@teacss/engine-openharmony-arm')
525
525
  const bindingPackageVersion = require('@teacss/engine-openharmony-arm/package.json').version
526
- if (bindingPackageVersion !== '0.10.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
527
- throw new Error(`Native binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
526
+ if (bindingPackageVersion !== '0.10.5' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
527
+ throw new Error(`Native binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
528
528
  }
529
529
  return binding
530
530
  } catch (e) {
@@ -664,8 +664,8 @@ if (!nativeBinding || forceWasi) {
664
664
  if (!candidateFailed) {
665
665
  if (process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
666
666
  const bindingPackageVersion = require('@teacss/engine-wasm32-wasi/package.json').version
667
- if (bindingPackageVersion !== '0.10.4') {
668
- throw new Error(`WASI binding package version mismatch, expected 0.10.4 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
667
+ if (bindingPackageVersion !== '0.10.5') {
668
+ throw new Error(`WASI binding package version mismatch, expected 0.10.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
669
669
  }
670
670
  }
671
671
  wasiBinding = require('@teacss/engine-wasm32-wasi')
package/contract.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Mirror of notes/specs/v02.2-engine-contract.md §3 (spec-revision 24). Do not edit without bumping the spec revision.
1
+ // Mirror of notes/specs/v02.2-engine-contract.md §3 (spec-revision 27). Do not edit without bumping the spec revision.
2
2
  export interface InspectEntryRequest {
3
3
  /** 项目根(绝对路径)。相对 @source 以声明它的文件所在目录为基准。 */
4
4
  root: string;
@@ -11,7 +11,7 @@ export interface InspectEntryRequest {
11
11
  export interface InspectEntryResult {
12
12
  /** @presets 列表,按声明顺序、去重(oracle resolvePresetGraph 的输入)。 */
13
13
  presets: string[];
14
- /** @source 声明;glob 已按声明文件目录解析为相对 root 的形式,exclude 以 `!` 前缀表示。 */
14
+ /** @source 声明;glob 已按声明文件目录解析为相对 root 的形式,exclude 以 `!` 前缀表示;没有 glob 语法、指向已有目录的写成 `<目录>/**`(修订 25)。 */
15
15
  sources: string[];
16
16
  /** 入口与本地 @import 图中读取过的文件(绝对路径,深度优先)。 */
17
17
  configFiles: string[];
@@ -43,7 +43,7 @@ export interface LoadProjectResult {
43
43
  changed: boolean;
44
44
  /** 声明文件中解析失败的位置(不阻止加载,oracle 行为相同)。 */
45
45
  warnings: EntryDiagnostic[];
46
- /** @custom 中不属于任何命名空间的属性名(oracle `ResolveEntryResult.unknown`),调用方原样透传。 */
46
+ /** @custom 中不进主题的属性名:不属于任何命名空间、色阶不合法,或在 mode 块里设了颜色以外的值(oracle `ResolveEntryResult.unknown`,修订 25),调用方原样透传。 */
47
47
  unknownCustom: string[];
48
48
  }
49
49
 
@@ -61,7 +61,7 @@ export interface LoadProjectFromRootRequest {
61
61
  unmatched: "warn" | "error" | "off";
62
62
  outputToCssLayers?: boolean | OutputToCssLayersOptions | undefined | null;
63
63
  shortcutsLayer?: string | undefined | null;
64
- /** 覆盖内置预设的选项(没有入口的项目也能开 Standard):键是预设名。 */
64
+ /** 入口 @presets 列出的内置预设的选项,键是预设名;不启用预设,没有入口时 presets 仍为空。 */
65
65
  presetOptions?: { standard?: PresetStandardOptions; icons?: PresetIconsOptions } | undefined | null;
66
66
  }
67
67
 
@@ -282,7 +282,7 @@ export interface CustomDiagnostic {
282
282
  property: string;
283
283
  start: number;
284
284
  end: number;
285
- reason: "unknown-prefix" | "illegal-color-step" | "removed-theme";
285
+ reason: "unknown-prefix" | "illegal-color-step" | "mode-non-color" | "removed-theme";
286
286
  message: string;
287
287
  }
288
288
 
package/dist/entry.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  import type { SourceMap } from "../contract.js";
2
- /** `css` with its first top-level `@teacss;` replaced by `generate()` and the entry directives removed; null when it has no `@teacss;`. */
3
- export declare function replaceEntry(css: string, generate: () => string): string | null;
2
+ /**
3
+ * `css` with its first top-level `@teacss;` replaced by `generate()` and the entry directives removed; null when it
4
+ * has no `@teacss;`. The name or `lang.<extension>` query of `id` selects the preprocessor; CSS without one.
5
+ */
6
+ export declare function replaceEntry(css: string, generate: () => string, id?: string): string | null;
4
7
  export interface EntrySource {
5
- /** The id the map names as its source. */
8
+ /** The module id: its name or `lang.<extension>` query selects the preprocessor, and the map names it without its `?` query as its source. */
6
9
  id: string;
7
10
  /** The stylesheet as read, before the transform that produced the `css` handed to `replaceEntryWithMap`. */
8
11
  original: string;
package/dist/entry.js CHANGED
@@ -79,7 +79,7 @@ function cleanPrelude(css, start, end) {
79
79
  }
80
80
  return (out + css.slice(segment, end)).trim();
81
81
  }
82
- function atRuleAt(css, start, name) {
82
+ function atRuleAt(css, start, name, dialect) {
83
83
  const nameEnd = start + 1 + name.length;
84
84
  const closers = [];
85
85
  for (let cursor = nameEnd; cursor < css.length;) {
@@ -92,8 +92,12 @@ function atRuleAt(css, start, name) {
92
92
  if (closers.length === 0 && char === "{") {
93
93
  const close = findClosingBrace(css, cursor);
94
94
  if (close !== null)
95
- return { name, prelude: cleanPrelude(css, nameEnd, cursor), start, end: close + 1, block: true };
95
+ return { name, prelude: cleanPrelude(css, nameEnd, cursor), start, end: close + 1, terminator: "block" };
96
96
  }
97
+ if (closers.length === 0 && char === "}")
98
+ return { name, prelude: cleanPrelude(css, nameEnd, cursor), start, end: cursor, terminator: "closeBrace" };
99
+ if (dialect === "indented" && closers.length === 0 && LINE_BREAKS.has(char))
100
+ return { name, prelude: cleanPrelude(css, nameEnd, cursor), start, end: cursor, terminator: "lineBreak" };
97
101
  if (char === "(")
98
102
  closers.push(")");
99
103
  else if (char === "[")
@@ -103,35 +107,187 @@ function atRuleAt(css, start, name) {
103
107
  else if (closers.at(-1) === char)
104
108
  closers.pop();
105
109
  if (closers.length === 0 && char === ";")
106
- return { name, prelude: cleanPrelude(css, nameEnd, cursor), start, end: cursor + 1, block: false };
110
+ return { name, prelude: cleanPrelude(css, nameEnd, cursor), start, end: cursor + 1, terminator: "semicolon" };
107
111
  cursor++;
108
112
  }
109
- return { name, prelude: cleanPrelude(css, nameEnd, css.length), start, end: css.length, block: false };
113
+ return { name, prelude: cleanPrelude(css, nameEnd, css.length), start, end: css.length, terminator: closers.length > 0 ? "unclosed" : "eof" };
110
114
  }
115
+ const CSS_WHITESPACE = new Set([" ", "\t", "\n", "\r", "\f"]);
116
+ const LINE_BREAKS = new Set(["\n", "\r", "\f"]);
117
+ const PREPROCESSORS = ["scss", "sass", "less", "styl", "stylus"];
118
+ const asciiLower = (text) => text.replace(/[A-Z]/g, (letter) => letter.toLowerCase());
111
119
  /**
112
- * Top-level at-rules exactly as `teacss-config`'s `scan_top_level_at_rules` finds them: comments, strings and
113
- * backslash escapes skipped, nested rules ignored, comments in a prelude read as a space.
120
+ * The dialect of the stylesheet `id` names: the extension of the first part of it, split at `?`, that names a
121
+ * preprocessor, so a file name or a `lang.<extension>` query; ASCII case does not matter (`preprocessor_extension`).
114
122
  */
115
- function topLevelAtRules(css) {
123
+ function dialectOf(id) {
124
+ const extension = id
125
+ ?.split("?")
126
+ .map((part) => PREPROCESSORS.find((name) => part.length > name.length && part[part.length - name.length - 1] === "." && asciiLower(part.slice(-name.length)) === name))
127
+ .find((name) => name !== undefined);
128
+ if (extension === undefined)
129
+ return "css";
130
+ if (extension === "scss")
131
+ return "braced";
132
+ return extension === "less" ? "less" : "indented";
133
+ }
134
+ /** `units` before `open` end with the function name `url`. */
135
+ function opensUrl(units, open) {
136
+ if (open < 3 || asciiLower(units.slice(open - 3, open).join("")) !== "url")
137
+ return false;
138
+ const previous = units[open - 4];
139
+ return previous === undefined || !(/[\w-]/.test(previous) || previous.charCodeAt(0) >= 0x80);
140
+ }
141
+ /**
142
+ * `css`, a stylesheet in `dialect`, with each `//` comment replaced by spaces of the same length, up to the line
143
+ * break that ends it. A string, a `/* … *\/`, an unquoted `url(//cdn…)` and, outside Less, a custom property's
144
+ * value other than `--at-apply`'s hold none (`teacss-config`'s `blank_line_comments`).
145
+ */
146
+ function blankLineComments(css, dialect) {
147
+ const units = css.split("");
148
+ let quote = null;
149
+ // Open parentheses inside the innermost `url(`, which may hold `#{fn($a)}`.
150
+ let urlDepth = 0;
151
+ // Where a declaration may start: the start, or after `{`, `;`, `}` and, indented, a line break.
152
+ let declarationStart = true;
153
+ for (let index = 0; index < units.length;) {
154
+ const unit = units[index];
155
+ const valueEnd = quote === null && declarationStart && urlDepth === 0 ? customPropertyValueEnd(css, index, dialect) : null;
156
+ if (valueEnd !== null) {
157
+ index = valueEnd;
158
+ declarationStart = false;
159
+ continue;
160
+ }
161
+ if (quote !== null) {
162
+ if (unit === "\\")
163
+ index++;
164
+ else if (unit === quote || LINE_BREAKS.has(unit))
165
+ quote = null;
166
+ }
167
+ else if (unit === "/" && units[index + 1] === "*") {
168
+ const close = css.indexOf("*/", index + 2);
169
+ index = close < 0 ? units.length : close + 2;
170
+ continue;
171
+ }
172
+ else if (unit === "/" && units[index + 1] === "/" && urlDepth === 0) {
173
+ const end = lineEnd(css, index);
174
+ units.fill(" ", index, end);
175
+ index = end;
176
+ continue;
177
+ }
178
+ else if (unit === "\\")
179
+ index++;
180
+ else if (unit === '"' || unit === "'")
181
+ quote = unit;
182
+ else if (unit === "(" && urlDepth > 0)
183
+ urlDepth++;
184
+ else if (unit === "(" && opensUrl(units, index))
185
+ urlDepth = 1;
186
+ else if (unit === ")")
187
+ urlDepth = Math.max(0, urlDepth - 1);
188
+ const lineBreak = dialect === "indented" && LINE_BREAKS.has(unit);
189
+ if (!CSS_WHITESPACE.has(unit) || lineBreak)
190
+ declarationStart = unit === "{" || unit === ";" || unit === "}" || lineBreak;
191
+ index++;
192
+ }
193
+ return units.join("");
194
+ }
195
+ const isNameUnit = (unit) => unit !== undefined && (/[\w-]/.test(unit) || unit.charCodeAt(0) >= 0x80);
196
+ /**
197
+ * Where the value of the custom property declared at `start` ends: at the `;` or `}` that closes it, or in an
198
+ * indented dialect at a line break, outside brackets, strings and comments; null when none starts there.
199
+ */
200
+ function customPropertyValueEnd(css, start, dialect) {
201
+ if (dialect === "less" || !css.startsWith("--", start))
202
+ return null;
203
+ let index = start + 2;
204
+ while (isNameUnit(css[index]))
205
+ index++;
206
+ if (css.slice(start, index) === "--at-apply")
207
+ return null;
208
+ while (index < css.length && CSS_WHITESPACE.has(css[index]))
209
+ index++;
210
+ if (css[index] !== ":")
211
+ return null;
212
+ let depth = 0;
213
+ for (index++; index < css.length; index++) {
214
+ const unit = css[index];
215
+ if (unit === "\\")
216
+ index++;
217
+ else if (unit === '"' || unit === "'") {
218
+ index++;
219
+ while (index < css.length && css[index] !== unit && !LINE_BREAKS.has(css[index]))
220
+ index += css[index] === "\\" ? 2 : 1;
221
+ }
222
+ else if (unit === "/" && css[index + 1] === "*") {
223
+ const close = css.indexOf("*/", index + 2);
224
+ index = close < 0 ? css.length : close + 1;
225
+ }
226
+ else if (unit === "(" || unit === "[" || unit === "{")
227
+ depth++;
228
+ else if ((unit === ")" || unit === "]" || unit === "}") && depth > 0)
229
+ depth--;
230
+ else if (depth === 0 && (unit === ";" || unit === "}" || (dialect === "indented" && LINE_BREAKS.has(unit))))
231
+ return index;
232
+ }
233
+ return css.length;
234
+ }
235
+ /** The first line break at or after `start`, or the end. */
236
+ function lineEnd(css, start) {
237
+ let index = start;
238
+ while (index < css.length && !LINE_BREAKS.has(css[index]))
239
+ index++;
240
+ return index;
241
+ }
242
+ /**
243
+ * Top-level at-rules exactly as `teacss-config`'s `scan_top_level_at_rules` finds them in a stylesheet in
244
+ * `dialect`: comments, strings and backslash escapes skipped, nested rules ignored, comments in a prelude read as
245
+ * a space. An `@` starts one only where a statement starts: the start of the file (after a byte order mark), or
246
+ * after `{`, `}` or `;`, and in an indented dialect after a line break, past whitespace and comments. A
247
+ * preprocessor's `//` comments are comments; CSS has none, but a `//` line where a statement starts is read as one.
248
+ */
249
+ function topLevelAtRules(source, dialect) {
250
+ const css = dialect === "css" ? source : blankLineComments(source, dialect);
116
251
  const rules = [];
117
252
  let depth = 0;
118
- for (let index = 0; index < css.length;) {
253
+ let statementStart = true;
254
+ for (let index = css.startsWith("") ? 1 : 0; index < css.length;) {
255
+ if (css.startsWith("/*", index)) {
256
+ index = skipComment(css, index);
257
+ continue;
258
+ }
259
+ const char = css[index];
260
+ if (dialect === "indented" && LINE_BREAKS.has(char)) {
261
+ statementStart = true;
262
+ index++;
263
+ continue;
264
+ }
265
+ if (CSS_WHITESPACE.has(char)) {
266
+ index++;
267
+ continue;
268
+ }
269
+ if (statementStart && depth === 0 && css.startsWith("//", index)) {
270
+ index = lineEnd(css, index);
271
+ continue;
272
+ }
273
+ const atStatementStart = statementStart;
274
+ statementStart = char === "{" || char === "}" || char === ";";
119
275
  const skipped = skipOpaque(css, index);
120
276
  if (skipped !== index) {
121
277
  index = skipped;
122
278
  continue;
123
279
  }
124
- const char = css[index];
125
280
  if (char === "{")
126
281
  depth++;
127
282
  else if (char === "}")
128
283
  depth = Math.max(0, depth - 1);
129
- else if (char === "@" && depth === 0) {
284
+ else if (char === "@" && depth === 0 && atStatementStart) {
130
285
  const name = /^[\w-]+/.exec(css.slice(index + 1))?.[0];
131
286
  if (name) {
132
- const rule = atRuleAt(css, index, name);
287
+ const rule = atRuleAt(css, index, name, dialect);
133
288
  rules.push(rule);
134
289
  index = rule.end;
290
+ statementStart = true;
135
291
  continue;
136
292
  }
137
293
  }
@@ -139,16 +295,28 @@ function topLevelAtRules(css) {
139
295
  }
140
296
  return rules;
141
297
  }
142
- function entryPieces(css, generate) {
143
- const rules = topLevelAtRules(css);
144
- const entry = rules.find((rule) => rule.name === "teacss" && !rule.block && rule.prelude === "");
298
+ /**
299
+ * Whether the splice removes `rule`: the condition of `teacss-transform`'s `strip_stray_entry_directives`, which
300
+ * removes the same directives from a stylesheet without `@teacss;`. Every `@teacss` goes like `@custom`.
301
+ */
302
+ function isEntryDirective(rule) {
303
+ // `@primary: #00f;` is a Less variable; no entry directive's prelude opens with a colon.
304
+ if (rule.prelude.startsWith(":"))
305
+ return false;
306
+ const statement = rule.terminator === "semicolon" || rule.terminator === "lineBreak" || rule.terminator === "eof";
307
+ if (ENTRY_STATEMENTS.has(rule.name))
308
+ return statement;
309
+ return (rule.name === "custom" || rule.name === "teacss") && (statement || rule.terminator === "block");
310
+ }
311
+ function entryPieces(css, generate, id) {
312
+ const rules = topLevelAtRules(css, dialectOf(id));
313
+ const entry = rules.find((rule) => rule.name === "teacss" && rule.terminator !== "block" && rule.prelude === "");
145
314
  if (!entry)
146
315
  return null;
147
316
  const pieces = [];
148
317
  let cursor = 0;
149
318
  for (const rule of rules) {
150
- const remove = rule.name === "teacss" || rule.name === "custom" || (ENTRY_STATEMENTS.has(rule.name) && !rule.block);
151
- if (!remove)
319
+ if (rule !== entry && !isEntryDirective(rule))
152
320
  continue;
153
321
  pieces.push({ from: cursor, to: rule.start });
154
322
  if (rule === entry)
@@ -158,9 +326,12 @@ function entryPieces(css, generate) {
158
326
  pieces.push({ from: cursor, to: css.length });
159
327
  return pieces;
160
328
  }
161
- /** `css` with its first top-level `@teacss;` replaced by `generate()` and the entry directives removed; null when it has no `@teacss;`. */
162
- export function replaceEntry(css, generate) {
163
- const pieces = entryPieces(css, generate);
329
+ /**
330
+ * `css` with its first top-level `@teacss;` replaced by `generate()` and the entry directives removed; null when it
331
+ * has no `@teacss;`. The name or `lang.<extension>` query of `id` selects the preprocessor; CSS without one.
332
+ */
333
+ export function replaceEntry(css, generate, id) {
334
+ const pieces = entryPieces(css, generate, id);
164
335
  return pieces && pieces.map((piece) => ("generated" in piece ? piece.generated : css.slice(piece.from, piece.to))).join("");
165
336
  }
166
337
  /**
@@ -168,7 +339,7 @@ export function replaceEntry(css, generate) {
168
339
  * columns, and every line of the generated CSS maps to the `@teacss;` it replaced.
169
340
  */
170
341
  export function replaceEntryWithMap(css, generate, source) {
171
- const pieces = entryPieces(css, generate);
342
+ const pieces = entryPieces(css, generate, source.id);
172
343
  if (!pieces)
173
344
  return null;
174
345
  const points = source.map ? decodePoints(css, source.map.mappings) : identityPoints(css);
@@ -191,7 +362,7 @@ export function replaceEntryWithMap(css, generate, source) {
191
362
  }
192
363
  code += css.slice(piece.from, piece.to);
193
364
  }
194
- const map = { version: 3, file: source.map?.file ?? null, sources: [source.id], sourcesContent: [source.original], names: [], mappings: encodePoints(code, out) };
365
+ const map = { version: 3, file: source.map?.file ?? null, sources: [source.id.split("?")[0] ?? source.id], sourcesContent: [source.original], names: [], mappings: encodePoints(code, out) };
195
366
  return { code, map };
196
367
  }
197
368
  function lineStarts(text) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teacss/engine",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "In-process Rust engine for TeaCSS (napi-rs binding, contract types and the project helper the shells share)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -56,14 +56,14 @@
56
56
  ]
57
57
  },
58
58
  "optionalDependencies": {
59
- "@teacss/engine-darwin-arm64": "0.10.4",
60
- "@teacss/engine-darwin-x64": "0.10.4",
61
- "@teacss/engine-linux-arm64-gnu": "0.10.4",
62
- "@teacss/engine-linux-arm64-musl": "0.10.4",
63
- "@teacss/engine-linux-x64-gnu": "0.10.4",
64
- "@teacss/engine-linux-x64-musl": "0.10.4",
65
- "@teacss/engine-win32-arm64-msvc": "0.10.4",
66
- "@teacss/engine-win32-x64-msvc": "0.10.4"
59
+ "@teacss/engine-darwin-arm64": "0.10.5",
60
+ "@teacss/engine-darwin-x64": "0.10.5",
61
+ "@teacss/engine-linux-arm64-gnu": "0.10.5",
62
+ "@teacss/engine-linux-arm64-musl": "0.10.5",
63
+ "@teacss/engine-linux-x64-gnu": "0.10.5",
64
+ "@teacss/engine-linux-x64-musl": "0.10.5",
65
+ "@teacss/engine-win32-arm64-msvc": "0.10.5",
66
+ "@teacss/engine-win32-x64-msvc": "0.10.5"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@napi-rs/cli": "3.10.8",