@frontiers-labs/argon 0.4.0 → 0.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/codegen/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/codegen/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dts.d.ts","sourceRoot":"","sources":["../../src/codegen/dts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,QAAQ,EAAoB,MAAM,UAAU,CAAC;AAExE,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAqBnD"}
1
+ {"version":3,"file":"dts.d.ts","sourceRoot":"","sources":["../../src/codegen/dts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,QAAQ,EAAoB,MAAM,UAAU,CAAC;AAExE,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAuBnD"}
@@ -6,6 +6,7 @@
6
6
  export function compileDts(module) {
7
7
  const structs = reachableStructs(module);
8
8
  const interfaces = structs.map(printStruct);
9
+ const stores = module.stores.map(printStore);
9
10
  const classes = module.components.map(printComponent);
10
11
  const tagMap = module.components
11
12
  .map(c => ` '${c.tagName}': ${c.className};`)
@@ -14,6 +15,7 @@ export function compileDts(module) {
14
15
  "// Generated by Argon compiler — do not edit by hand.",
15
16
  "",
16
17
  ...interfaces,
18
+ ...stores,
17
19
  ...classes,
18
20
  `declare global {
19
21
  interface HTMLElementTagNameMap {
@@ -65,6 +67,13 @@ function printComponent(component) {
65
67
  constructor(props?: { ${ctorProps.join("; ")} });
66
68
  ${accessors.join("\n")}${accessors.length ? "\n" : ""}}\n`;
67
69
  }
70
+ function printStore(store) {
71
+ if (store.fields) {
72
+ const fields = store.fields.map(f => ` ${f.name}: ${tsType(f.type)};`).join("\n");
73
+ return `export declare const ${store.name}: {\n${fields}\n};\n`;
74
+ }
75
+ return `export declare const ${store.name}: { value: ${tsType(store.type)} };\n`;
76
+ }
68
77
  function tsType(type) {
69
78
  switch (type.kind) {
70
79
  case "string": return "string";
@@ -1 +1 @@
1
- {"version":3,"file":"dts.js","sourceRoot":"","sources":["../../src/codegen/dts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dts.js","sourceRoot":"","sources":["../../src/codegen/dts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../src/codegen/rust.ts"],"names":[],"mappings":"AAOA,OAAO,EAWL,KAAK,QAAQ,EAKd,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,WAAW;IAG1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAE,WAAgB,GAAG,MAAM,CAG5E"}
1
+ {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../src/codegen/rust.ts"],"names":[],"mappings":"AAOA,OAAO,EAWL,KAAK,QAAQ,EAMd,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,WAAW;IAG1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAE,WAAgB,GAAG,MAAM,CAG5E"}
@@ -20,6 +20,9 @@ function snake(name) {
20
20
  function kebab(name) {
21
21
  return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
22
22
  }
23
+ function pascal(name) {
24
+ return name.split(/[_-]/g).map(part => part.charAt(0).toUpperCase() + part.slice(1)).join("");
25
+ }
23
26
  // ── SSR analysis ─────────────────────────────────────────────────────────────
24
27
  //
25
28
  // Lowering already marked everything the SSR subset cannot express as opaque
@@ -56,7 +59,7 @@ function supportedProp(type, structs, seen = new Set()) {
56
59
  }
57
60
  function analyze(module) {
58
61
  const diagnostics = [];
59
- if (module.components.length === 0) {
62
+ if (module.components.length === 0 && module.stores.length === 0) {
60
63
  return [{
61
64
  code: "ARGON001",
62
65
  target: "all",
@@ -93,6 +96,14 @@ function analyze(module) {
93
96
  collectOpaque(component.template.exprs[index]);
94
97
  }
95
98
  }
99
+ for (const store of module.stores) {
100
+ if (store.initial)
101
+ collectOpaque(store.initial);
102
+ if (store.derived)
103
+ collectOpaque(store.derived);
104
+ for (const field of store.fields ?? [])
105
+ collectOpaque(field.initial);
106
+ }
96
107
  for (const decl of reachableDecls(module, module.components)) {
97
108
  if (decl.kind === "opaque")
98
109
  diagnostics.push(decl.diagnostic);
@@ -180,13 +191,17 @@ function isCopy(type) {
180
191
  // A place expression: borrowing it costs nothing, moving it out may not be
181
192
  // allowed — owned contexts must clone.
182
193
  function isPlace(e) {
183
- return e.kind === "ref" || e.kind === "member" || e.kind === "index";
194
+ return e.kind === "ref" || e.kind === "store" || e.kind === "member" || e.kind === "index";
184
195
  }
185
196
  class RustGen {
186
197
  module;
187
198
  opts;
188
199
  out = [];
189
200
  fns = new Map();
201
+ componentsByClass = new Map();
202
+ componentStoreUse = new Map();
203
+ usesRenderStores = false;
204
+ storeRoot = "stores";
190
205
  // Locals that are usize loop indices and need an `as f64` cast when read.
191
206
  usizeVars = new Set();
192
207
  // Setup locals holding markup (a JSX string), so reads render raw not escaped.
@@ -208,12 +223,17 @@ class RustGen {
208
223
  if (decl.kind === "fn")
209
224
  this.fns.set(decl.name, { params: decl.params, ret: decl.ret });
210
225
  }
226
+ for (const component of module.components)
227
+ this.componentsByClass.set(component.className, component);
228
+ this.usesRenderStores = this.storeModuleAliases().size > 0;
211
229
  }
212
230
  generate() {
213
231
  for (const struct of this.module.structs.values())
214
232
  this.emitStruct(struct);
215
233
  for (const decl of reachableDecls(this.module, this.module.components))
216
234
  this.emitDecl(decl);
235
+ const storeImpls = this.emitStores();
236
+ const renderStores = this.emitRenderStores();
217
237
  const impls = this.module.components.map(c => this.emitComponent(c));
218
238
  const jsonImpls = this.emitJsonImpls();
219
239
  return [
@@ -225,6 +245,8 @@ class RustGen {
225
245
  ...this.helpers(),
226
246
  ...this.out,
227
247
  ...jsonImpls,
248
+ ...storeImpls,
249
+ ...renderStores,
228
250
  ...impls,
229
251
  ].join("\n");
230
252
  }
@@ -374,13 +396,25 @@ class RustGen {
374
396
  .map(s => ("lit" in s ? (s.lit ? ` __out.push_str("${rustStrLit(s.lit)}");` : "") : s.code))
375
397
  .filter(Boolean)
376
398
  .join("\n");
399
+ const usesStores = this.componentUsesStores(component);
400
+ const storeParamType = this.usesRenderStores ? "RenderStores<'_>" : "Stores";
401
+ const storeParam = usesStores ? `, stores: &${storeParamType}` : "";
402
+ const storeArg = usesStores ? "stores" : "";
403
+ const renderInner = `self.render_inner(${storeArg})`;
377
404
  // Optional props contribute their whole ` data-x="..."` chunk dynamically:
378
405
  // an absent value omits the attribute, so the client hydrates undefined.
379
406
  const dataAttrs = component.props
380
407
  .map(p => (p.type.kind === "option" ? "{}" : ` data-${kebab(p.name)}=\\"{}\\"`))
381
408
  .join("");
382
409
  const attrArgs = component.props.map(p => this.dataAttrValue(p));
383
- const wrapper = `format!("<${component.tagName}${dataAttrs}>{}</${component.tagName}>", ${[...attrArgs, "self.render_inner()"].join(", ")})`;
410
+ const wrapper = `format!("<${component.tagName}${dataAttrs}>{}</${component.tagName}>", ${[...attrArgs, renderInner].join(", ")})`;
411
+ const displayImpl = usesStores ? "" : `
412
+ impl std::fmt::Display for ${component.className} {
413
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
414
+ f.write_str(&self.render())
415
+ }
416
+ }
417
+ `;
384
418
  return `// argon: ${this.loc(component.span.start)}
385
419
  #[derive(Clone)]
386
420
  pub struct ${component.className} {
@@ -392,22 +426,17 @@ ${this.emitNew(component.props)}
392
426
 
393
427
  // The declarative shadow DOM alone — what a composing parent inlines
394
428
  // inside the host tag it renders itself.
395
- pub fn render_inner(&self) -> String {
429
+ pub fn render_inner(&self${storeParam}) -> String {
396
430
  ${prelude}${prelude ? "\n" : ""} let mut __out = String::new();
397
431
  ${renderBody}
398
432
  format!("<template shadowrootmode=\\"open\\">{}</template>", __out)
399
433
  }
400
434
 
401
- pub fn render(&self) -> String {
435
+ pub fn render(&self${storeParam}) -> String {
402
436
  ${wrapper}
403
437
  }
404
438
  }
405
-
406
- impl std::fmt::Display for ${component.className} {
407
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
408
- f.write_str(&self.render())
409
- }
410
- }
439
+ ${displayImpl}
411
440
  `;
412
441
  }
413
442
  emitNew(props) {
@@ -446,6 +475,113 @@ impl std::fmt::Display for ${component.className} {
446
475
  ${body}
447
476
  }`;
448
477
  }
478
+ emitRenderStores() {
479
+ const aliases = this.storeModuleAliases();
480
+ if (aliases.size === 0)
481
+ return [];
482
+ const local = this.storeReads().some(e => e.module === "") ? " pub local: &'a Stores," : "";
483
+ const imports = [...aliases.entries()]
484
+ .map(([module, alias]) => ` pub ${alias}: &'a super::${rustModuleName(module)}::Stores,`);
485
+ return [`pub struct RenderStores<'a> {\n${[local, ...imports].filter(Boolean).join("\n")}\n}\n`];
486
+ }
487
+ componentUsesStores(component, seen = new Set()) {
488
+ const cached = this.componentStoreUse.get(component.className);
489
+ if (cached !== undefined)
490
+ return cached;
491
+ if (seen.has(component.className))
492
+ return false;
493
+ seen.add(component.className);
494
+ let uses = false;
495
+ const note = (expr) => {
496
+ visitExpr(expr, e => {
497
+ if (e.kind === "store")
498
+ uses = true;
499
+ if (e.kind === "construct" && !e.module) {
500
+ const child = this.componentsByClass.get(e.className);
501
+ if (child && this.componentUsesStores(child, seen))
502
+ uses = true;
503
+ }
504
+ });
505
+ };
506
+ for (const stmt of component.setup)
507
+ if (stmt.kind === "let")
508
+ note(stmt.init);
509
+ for (const index of valueExprIndices(component.template))
510
+ note(component.template.exprs[index]);
511
+ this.componentStoreUse.set(component.className, uses);
512
+ seen.delete(component.className);
513
+ return uses;
514
+ }
515
+ storeReads() {
516
+ const reads = [];
517
+ const note = (expr) => visitExpr(expr, e => {
518
+ if (e.kind === "store")
519
+ reads.push(e);
520
+ });
521
+ for (const component of this.module.components) {
522
+ for (const stmt of component.setup)
523
+ if (stmt.kind === "let")
524
+ note(stmt.init);
525
+ for (const index of valueExprIndices(component.template))
526
+ note(component.template.exprs[index]);
527
+ }
528
+ return reads;
529
+ }
530
+ storeModuleAliases() {
531
+ const modules = [...new Set(this.storeReads().map(e => e.module).filter(Boolean))];
532
+ const counts = new Map();
533
+ return new Map(modules.map(module => {
534
+ const base = rustModuleName(module);
535
+ const count = counts.get(base) ?? 0;
536
+ counts.set(base, count + 1);
537
+ return [module, count === 0 ? base : `${base}_${count}`];
538
+ }));
539
+ }
540
+ emitStores() {
541
+ if (this.module.stores.length === 0)
542
+ return [];
543
+ const out = [];
544
+ for (const store of this.module.stores) {
545
+ if (!store.fields)
546
+ continue;
547
+ const typeName = this.storeType(store);
548
+ const fields = store.fields.map(f => ` pub ${snake(f.name)}: ${rustType(f.type)},`).join("\n");
549
+ const defaults = store.fields.map(f => ` ${snake(f.name)}: ${this.owned(f.initial)},`).join("\n");
550
+ const jsonParts = store.fields.map(f => `\\"${f.name}\\":{}`).join(",");
551
+ const jsonArgs = store.fields.map(f => this.jsonValue(`self.${snake(f.name)}`, f.type)).join(", ");
552
+ out.push(`#[derive(Clone, PartialEq)]\npub struct ${typeName} {\n${fields}\n}\n\nimpl Default for ${typeName} {\n fn default() -> Self {\n Self {\n${defaults}\n }\n }\n}\n\nimpl ${typeName} {\n pub fn snapshot_json(&self) -> String {\n format!("{{${jsonParts}}}"${jsonArgs ? ", " + jsonArgs : ""})\n }\n}\n`);
553
+ }
554
+ const stored = this.module.stores.filter(store => !store.derived);
555
+ const aggregateFields = stored.map(store => ` pub ${snake(store.name)}: ${store.fields ? this.storeType(store) : rustType(store.type)},`).join("\n");
556
+ const aggregateDefaults = stored.map(store => ` ${snake(store.name)}: ${store.fields ? `${this.storeType(store)}::default()` : this.owned(store.initial)},`).join("\n");
557
+ const jsonParts = this.module.stores.map(store => `\\"${store.name}\\":{}`).join(",");
558
+ const jsonArgs = this.module.stores.map(store => store.fields
559
+ ? `self.${snake(store.name)}.snapshot_json()`
560
+ : store.derived
561
+ ? this.jsonValue(`self.${snake(store.name)}()`, store.type)
562
+ : this.jsonValue(`self.${snake(store.name)}`, store.type)).join(", ");
563
+ const derivedMethods = this.module.stores
564
+ .filter(store => store.derived)
565
+ .map(store => ` pub fn ${snake(store.name)}(&self) -> ${rustType(store.type)} {
566
+ ${this.withStoreRoot("self", () => this.owned(store.derived))}
567
+ }`)
568
+ .join("\n\n");
569
+ out.push(`#[derive(Clone, PartialEq)]\npub struct Stores {\n${aggregateFields}\n}\n\nimpl Default for Stores {\n fn default() -> Self {\n Self {\n${aggregateDefaults}\n }\n }\n}\n\nimpl Stores {\n${derivedMethods ? derivedMethods + "\n\n" : ""} pub fn snapshot_json(&self) -> String {\n format!("{{${jsonParts}}}"${jsonArgs ? ", " + jsonArgs : ""})\n }\n}\n`);
570
+ return out;
571
+ }
572
+ storeType(store) {
573
+ return `${pascal(store.name)}Store`;
574
+ }
575
+ withStoreRoot(root, fn) {
576
+ const prev = this.storeRoot;
577
+ this.storeRoot = root;
578
+ try {
579
+ return fn();
580
+ }
581
+ finally {
582
+ this.storeRoot = prev;
583
+ }
584
+ }
449
585
  dataAttrValue(prop) {
450
586
  const field = `self.${snake(prop.name)}`;
451
587
  if (prop.type.kind === "option") {
@@ -721,6 +857,7 @@ impl std::fmt::Display for ${component.className} {
721
857
  case "num": return e.text.includes(".") || e.text.includes("e") ? e.text : `${e.text}.0`;
722
858
  case "bool": return String(e.value);
723
859
  case "ref": return this.ref(e.name, e.space);
860
+ case "store": return this.store(e);
724
861
  case "member": return `${this.operand(e.object)}.${snake(e.name)}`;
725
862
  // JS string length counts UTF-16 units; we count Unicode scalars, which
726
863
  // agrees for the BMP. Array/slice length is element count.
@@ -799,7 +936,18 @@ impl std::fmt::Display for ${component.className} {
799
936
  const value = this.owned(p.value);
800
937
  return p.type.kind === "option" && p.value.type.kind !== "option" ? `Some(${value})` : value;
801
938
  });
802
- return `${target}::new(${args.join(", ")}).render_inner()`;
939
+ const child = e.module ? undefined : this.componentsByClass.get(e.className);
940
+ const stores = child && this.componentUsesStores(child) ? "stores" : "";
941
+ return `${target}::new(${args.join(", ")}).render_inner(${stores})`;
942
+ }
943
+ store(e) {
944
+ const root = this.storeRoot === "self" ? "self" : this.usesRenderStores
945
+ ? e.module === "" ? "stores.local" : `stores.${this.storeModuleAliases().get(e.module)}`
946
+ : this.storeRoot;
947
+ const path = `${root}.${snake(e.name)}`;
948
+ if (e.derived)
949
+ return `${path}()`;
950
+ return e.field ? `${path}.${snake(e.field)}` : path;
803
951
  }
804
952
  // Emit a value in owned position (let binding, struct field, collect item):
805
953
  // ensures strings are String and non-Copy places are cloned.
@@ -1073,4 +1221,8 @@ function basename(file) {
1073
1221
  const slash = Math.max(file.lastIndexOf("/"), file.lastIndexOf("\\"));
1074
1222
  return slash === -1 ? file : file.slice(slash + 1);
1075
1223
  }
1224
+ function rustModuleName(spec) {
1225
+ const base = basename(spec).replace(/\.[^.]+$/, "");
1226
+ return base.replace(/-/g, "_");
1227
+ }
1076
1228
  //# sourceMappingURL=rust.js.map