css-in-js-engine-pb 0.1.5 → 0.1.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"insertWithBucket.d.ts","sourceRoot":"","sources":["../src/insertWithBucket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,WAAW,QAmDtB"}
1
+ {"version":3,"file":"insertWithBucket.d.ts","sourceRoot":"","sources":["../src/insertWithBucket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,WAAW,QAqDtB"}
@@ -1,7 +1,7 @@
1
1
  import { insertRulesOnce } from './insertOnce';
2
2
  import { StyleBucket } from './StyleBucket';
3
3
  const bucketRules = new Map();
4
- const insertedBuckets = new Set();
4
+ const flushedBuckets = new Set();
5
5
  const ORDER = [
6
6
  StyleBucket.Reset,
7
7
  StyleBucket.Base,
@@ -18,12 +18,13 @@ function bucketName(bucket) {
18
18
  }
19
19
  export function insertRulesWithBucket(rules, bucket) {
20
20
  console.groupCollapsed(`[STYLE] insertRulesWithBucket → ${bucketName(bucket)}`);
21
- console.log('rules.length:', rules.length);
21
+ console.log('incoming rules.length:', rules.length);
22
22
  if (!rules.length) {
23
- console.warn('❌ No rules passed, aborting');
23
+ console.warn('❌ no rules, returning');
24
24
  console.groupEnd();
25
25
  return;
26
26
  }
27
+ // collect rules
27
28
  const existing = bucketRules.get(bucket);
28
29
  if (existing) {
29
30
  existing.push(...rules);
@@ -31,24 +32,22 @@ export function insertRulesWithBucket(rules, bucket) {
31
32
  else {
32
33
  bucketRules.set(bucket, [...rules]);
33
34
  }
34
- console.log('bucketRules sizes:', Array.from(bucketRules.entries()).map(([b, r]) => `${bucketName(b)}=${r.length}`));
35
- if (!insertedBuckets.has(bucket)) {
36
- console.log(`🟢 First time seeing bucket ${bucketName(bucket)}`);
37
- insertedBuckets.add(bucket);
38
- for (const b of ORDER) {
39
- const r = bucketRules.get(b);
40
- if (r && r.length) {
41
- console.log(`➡ inserting ${r.length} rules from bucket ${bucketName(b)}`);
42
- insertRulesOnce(r);
43
- bucketRules.set(b, []);
44
- }
45
- else {
46
- console.log(`⏭ skipping bucket ${bucketName(b)} (no rules)`);
47
- }
35
+ console.log('bucketRules:', Array.from(bucketRules.entries()).map(([b, r]) => `${bucketName(b)}=${r.length}`));
36
+ // 🔑 attempt flush in strict ORDER
37
+ for (const b of ORDER) {
38
+ if (flushedBuckets.has(b)) {
39
+ console.log(`⏭ ${bucketName(b)} already flushed`);
40
+ continue;
48
41
  }
49
- }
50
- else {
51
- console.log(`⏭ bucket ${bucketName(bucket)} already inserted`);
42
+ const r = bucketRules.get(b);
43
+ if (!r || r.length === 0) {
44
+ console.log(`⏳ ${bucketName(b)} has no rules yet`);
45
+ continue;
46
+ }
47
+ console.log(`➡ FLUSHING ${r.length} rules from ${bucketName(b)}`);
48
+ insertRulesOnce(r);
49
+ flushedBuckets.add(b);
50
+ bucketRules.set(b, []);
52
51
  }
53
52
  console.groupEnd();
54
53
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "css-in-js-engine-pb",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "A lightweight atomic CSS-in-JS engine built on the native CSS cascade",
5
5
  "license": "MIT",
6
6
  "type": "module",