@fluixi/compiler 1.0.0-alpha.92 → 1.0.0-alpha.94

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.
Files changed (102) hide show
  1. package/dist/analyze/intrinsics.cjs +31 -1
  2. package/dist/analyze/intrinsics.d.cts +14 -0
  3. package/dist/analyze/intrinsics.d.ts +14 -0
  4. package/dist/analyze/intrinsics.d.ts.map +1 -1
  5. package/dist/analyze/intrinsics.js +35 -0
  6. package/dist/analyze/intrinsics.mjs +31 -1
  7. package/dist/analyze/reactive-bindings.cjs +18 -0
  8. package/dist/analyze/reactive-bindings.mjs +18 -0
  9. package/dist/analyze/static-graph.cjs +22 -4
  10. package/dist/analyze/static-graph.d.ts.map +1 -1
  11. package/dist/analyze/static-graph.js +6 -4
  12. package/dist/analyze/static-graph.mjs +22 -4
  13. package/dist/{babel-GI375YZ2.mjs → babel-RJFQVFJW.mjs} +4 -4
  14. package/dist/{chunk-QZ4CJPYP.mjs → chunk-DP2QDWWH.mjs} +1 -1
  15. package/dist/{chunk-DWNWN5RH.mjs → chunk-E2RWTIYE.mjs} +21 -15
  16. package/dist/{chunk-XJ5H2MXY.mjs → chunk-HCCBEJEZ.mjs} +31 -1
  17. package/dist/{chunk-VOUI6XPV.mjs → chunk-HIZU7WI2.mjs} +1 -1
  18. package/dist/{chunk-VC6X44FS.mjs → chunk-ZR2QHTEX.mjs} +505 -68
  19. package/dist/codegen/backends/imperative.cjs +24 -6
  20. package/dist/codegen/backends/imperative.d.ts.map +1 -1
  21. package/dist/codegen/backends/imperative.js +20 -4
  22. package/dist/codegen/backends/imperative.mjs +24 -6
  23. package/dist/frontend/babel/build-ir-lit.cjs +470 -63
  24. package/dist/frontend/babel/build-ir-lit.mjs +470 -63
  25. package/dist/frontend/babel/build-ir.cjs +470 -63
  26. package/dist/frontend/babel/build-ir.mjs +470 -63
  27. package/dist/frontend/babel/index.cjs +471 -64
  28. package/dist/frontend/babel/index.mjs +471 -64
  29. package/dist/frontend/babel/lower-template.cjs +470 -63
  30. package/dist/frontend/babel/lower-template.mjs +470 -63
  31. package/dist/frontend/babel/plugin.cjs +470 -63
  32. package/dist/frontend/babel/plugin.mjs +470 -63
  33. package/dist/index.cjs +360 -58
  34. package/dist/index.mjs +372 -58
  35. package/dist/integrations.cjs +1347 -98
  36. package/dist/integrations.d.ts.map +1 -1
  37. package/dist/integrations.js +44 -2
  38. package/dist/integrations.mjs +205 -19
  39. package/dist/lower/compile-template.cjs +354 -57
  40. package/dist/lower/compile-template.d.cts +13 -0
  41. package/dist/lower/compile-template.d.ts +13 -0
  42. package/dist/lower/compile-template.d.ts.map +1 -1
  43. package/dist/lower/compile-template.js +3 -0
  44. package/dist/lower/compile-template.mjs +366 -57
  45. package/dist/lower/entities.cjs +288 -0
  46. package/dist/lower/entities.d.cts +1 -0
  47. package/dist/lower/entities.d.ts +2 -0
  48. package/dist/lower/entities.d.ts.map +1 -0
  49. package/dist/lower/entities.js +54 -0
  50. package/dist/lower/entities.mjs +267 -0
  51. package/dist/lower/jsx.cjs +567 -7
  52. package/dist/lower/jsx.d.cts +8 -0
  53. package/dist/lower/jsx.d.ts +8 -0
  54. package/dist/lower/jsx.d.ts.map +1 -1
  55. package/dist/lower/jsx.js +205 -7
  56. package/dist/lower/jsx.mjs +567 -7
  57. package/dist/lower/template.cjs +332 -56
  58. package/dist/lower/template.d.ts.map +1 -1
  59. package/dist/lower/template.js +57 -49
  60. package/dist/lower/template.mjs +332 -56
  61. package/dist/resolve/builtins.cjs +1 -1
  62. package/dist/resolve/builtins.mjs +1 -1
  63. package/dist/resolve/component-globals.cjs +20 -1
  64. package/dist/resolve/component-globals.js +2 -2
  65. package/dist/resolve/component-globals.mjs +20 -1
  66. package/dist/resolve/write-globals.cjs +20 -1
  67. package/dist/resolve/write-globals.mjs +20 -1
  68. package/dist/{server-fns-BBZRZUPP.mjs → server-fns-JLSTKWPS.mjs} +4 -4
  69. package/dist/{server-functions-VEGLIFCE.mjs → server-functions-BGY3RD4R.mjs} +3 -3
  70. package/dist/transform/index.cjs +1123 -77
  71. package/dist/transform/index.mjs +1141 -91
  72. package/dist/transform/intrinsics.cjs +18 -0
  73. package/dist/transform/intrinsics.mjs +18 -0
  74. package/dist/transform/props.mjs +19 -14
  75. package/dist/transform/server-fns.mjs +19 -14
  76. package/dist/transform/source-locations.cjs +64 -3
  77. package/dist/transform/source-locations.d.cts +7 -2
  78. package/dist/transform/source-locations.d.ts +7 -2
  79. package/dist/transform/source-locations.d.ts.map +1 -1
  80. package/dist/transform/source-locations.js +68 -3
  81. package/dist/transform/source-locations.mjs +64 -3
  82. package/dist/transform/styles.cjs +588 -0
  83. package/dist/transform/styles.d.cts +211 -0
  84. package/dist/transform/styles.d.ts +212 -0
  85. package/dist/transform/styles.d.ts.map +1 -0
  86. package/dist/transform/styles.js +714 -0
  87. package/dist/transform/styles.mjs +653 -0
  88. package/dist/transform/templates.cjs +1122 -76
  89. package/dist/transform/templates.d.cts +13 -0
  90. package/dist/transform/templates.d.ts +13 -0
  91. package/dist/transform/templates.d.ts.map +1 -1
  92. package/dist/transform/templates.js +51 -14
  93. package/dist/transform/templates.mjs +1140 -90
  94. package/dist/{transform-UWZ7ZGJ2.mjs → transform-GBP6Y4UI.mjs} +603 -19
  95. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  96. package/dist/vite-styles.cjs +180 -0
  97. package/dist/vite-styles.d.cts +59 -0
  98. package/dist/vite-styles.d.ts +60 -0
  99. package/dist/vite-styles.d.ts.map +1 -0
  100. package/dist/vite-styles.js +198 -0
  101. package/dist/vite-styles.mjs +159 -0
  102. package/package.json +10 -3
@@ -1,4 +1,4 @@
1
- /*! @fluixi/compiler v1.0.0-alpha.92 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/compiler v1.0.0-alpha.94 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/resolve/component-resolver.ts
4
4
  var isMapRule = (rule) => "components" in rule;
@@ -100,6 +100,7 @@ var INTRINSICS = {
100
100
  $effect: { export: "effect", module: REACTIVE_MODULE, returns: "effect" },
101
101
  $store: { export: "store", module: "@fluixi/reactive/store", returns: "store-handle" },
102
102
  $resource: { export: "resource", module: REACTIVE_MODULE, returns: "resource-handle" },
103
+ $cachedResource: { export: "cachedResource", module: "@fluixi/reactive/cached-resource", returns: "resource-handle" },
103
104
  // No short runtime form for these yet, so the intrinsic stands for the `create*`
104
105
  // name. Still worth having: no import to write, and when a shorter form is
105
106
  // designed, the change is this line rather than a compiler pass.
@@ -110,6 +111,19 @@ var INTRINSICS = {
110
111
  // dependency analysis must not guess at.
111
112
  $untrack: { export: "untrack", module: REACTIVE_MODULE, returns: "plain" },
112
113
  $untrackStore: { export: "untrackStore", module: "@fluixi/reactive/store", returns: "plain" },
114
+ // Scopes, scheduling and lifecycle: no value to classify, but the same authoring promise,
115
+ // no import to write. `$cleanup` registers a callback on the current owner (`onCleanup`).
116
+ $batch: { export: "batch", module: REACTIVE_MODULE, returns: "plain" },
117
+ $cleanup: { export: "onCleanup", module: REACTIVE_MODULE, returns: "plain" },
118
+ $root: { export: "root", module: REACTIVE_MODULE, returns: "plain" },
119
+ $context: { export: "context", module: REACTIVE_MODULE, returns: "plain" },
120
+ $renderEffect: { export: "renderEffect", module: REACTIVE_MODULE, returns: "effect" },
121
+ $computed: { export: "computed", module: REACTIVE_MODULE, returns: "effect" },
122
+ // Storage for where the code runs, and a signal kept in it. `$persisted` is a signal
123
+ // handle as far as reads go: the same accessor with `set` on it.
124
+ $storage: { export: "useStorage", module: "@fluixi/core/storage", returns: "plain" },
125
+ $asyncStorage: { export: "useAsyncStorage", module: "@fluixi/core/storage", returns: "plain" },
126
+ $persisted: { export: "persisted", module: "@fluixi/core/storage", returns: "signal-handle" },
113
127
  // An environment variable, public or server-only; the browser build refuses a secret.
114
128
  $env: { export: "env", module: "@fluixi/start/env", returns: "plain" }
115
129
  };
@@ -122,8 +136,11 @@ var RUNTIME_PRIMITIVES = {
122
136
  createMemo: "memo-accessor",
123
137
  createEffect: "effect",
124
138
  createRenderEffect: "effect",
139
+ renderEffect: "effect",
140
+ computed: "effect",
125
141
  createStore: "reactive-object",
126
142
  resource: "resource-handle",
143
+ cachedResource: "resource-handle",
127
144
  createResource: "reactive-object",
128
145
  createSelector: "memo-accessor",
129
146
  createDeferred: "memo-accessor"
@@ -132,8 +149,19 @@ var PRIMITIVE_MODULES = [
132
149
  "@fluixi/reactive",
133
150
  "@fluixi/reactive/signal",
134
151
  "@fluixi/reactive/store",
152
+ "@fluixi/reactive/cached-resource",
135
153
  "@fluixi/core"
136
154
  ];
155
+ var TAG_INTRINSICS = {
156
+ $html: { export: "html", module: "@fluixi/core" },
157
+ $svg: { export: "svg", module: "@fluixi/core" },
158
+ $css: { export: "css", module: "@fluixi/core" }
159
+ };
160
+ function tagIntrinsics(bound) {
161
+ const tags = /* @__PURE__ */ new Map();
162
+ for (const [name, tag] of Object.entries(TAG_INTRINSICS)) if (!bound.has(name)) tags.set(name, tag.export);
163
+ return tags;
164
+ }
137
165
  var INTRINSIC_CALL = new RegExp(`\\$(?:${Object.keys(INTRINSICS).map((n) => n.slice(1)).join("|")})\\s*\\(`);
138
166
  function mayHaveIntrinsic(code) {
139
167
  return INTRINSIC_CALL.test(code);
@@ -154,6 +182,8 @@ export {
154
182
  builtinComponentMap,
155
183
  INTRINSICS,
156
184
  RUNTIME_PRIMITIVES,
185
+ TAG_INTRINSICS,
186
+ tagIntrinsics,
157
187
  mayHaveIntrinsic,
158
188
  isIntrinsicName,
159
189
  isPrimitiveModule
@@ -1,4 +1,4 @@
1
- /*! @fluixi/compiler v1.0.0-alpha.92 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/compiler v1.0.0-alpha.94 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
3
3
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
4
4
  }) : x)(function(x) {