@mmapp/react-compiler 0.1.0-alpha.17 → 0.1.0-alpha.19

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 (190) hide show
  1. package/dist/babel/index.d.mts +1 -1
  2. package/dist/babel/index.d.ts +1 -1
  3. package/dist/babel/index.js +9 -6
  4. package/dist/babel/index.mjs +1 -1
  5. package/dist/chunk-26U577GB.mjs +3465 -0
  6. package/dist/chunk-2FBDFAX6.mjs +2362 -0
  7. package/dist/chunk-2REDFOER.mjs +931 -0
  8. package/dist/{chunk-FPAMQXKB.mjs → chunk-2UTXM2QX.mjs} +10 -20
  9. package/dist/chunk-2YDQTFAL.mjs +879 -0
  10. package/dist/chunk-2ZRKQE74.mjs +175 -0
  11. package/dist/chunk-3QHG2JWV.mjs +154 -0
  12. package/dist/chunk-466OWSTT.mjs +186 -0
  13. package/dist/chunk-467SFYOD.mjs +3127 -0
  14. package/dist/chunk-4AIJO7DZ.mjs +214 -0
  15. package/dist/chunk-4D43TZYL.mjs +7495 -0
  16. package/dist/chunk-4HX4PI4R.mjs +734 -0
  17. package/dist/chunk-4VU56NTZ.mjs +544 -0
  18. package/dist/chunk-4XHK6FWL.mjs +2058 -0
  19. package/dist/chunk-52C2JKH2.mjs +186 -0
  20. package/dist/chunk-52XHYD2V.mjs +214 -0
  21. package/dist/chunk-5GUFFFGL.mjs +148 -0
  22. package/dist/chunk-5N2FDDS6.mjs +214 -0
  23. package/dist/chunk-5ZSJXWZT.mjs +1646 -0
  24. package/dist/chunk-6CQOAAMV.mjs +1803 -0
  25. package/dist/chunk-6SEVAAVT.mjs +3516 -0
  26. package/dist/chunk-6YLR5ZDA.mjs +2829 -0
  27. package/dist/chunk-77UJB356.mjs +244 -0
  28. package/dist/chunk-7QOAJPQF.mjs +774 -0
  29. package/dist/chunk-A5RCMIBP.mjs +1795 -0
  30. package/dist/chunk-A63R3GKH.mjs +1803 -0
  31. package/dist/chunk-ABNTZXF5.mjs +951 -0
  32. package/dist/chunk-ADHWW56I.mjs +214 -0
  33. package/dist/chunk-AOGY2GK6.mjs +3292 -0
  34. package/dist/chunk-AXXUXRNA.mjs +1434 -0
  35. package/dist/chunk-BZLU5YK5.mjs +1025 -0
  36. package/dist/chunk-C7XCDDBH.mjs +1802 -0
  37. package/dist/chunk-CHLVKMQW.mjs +175 -0
  38. package/dist/chunk-CKGOZAB7.mjs +939 -0
  39. package/dist/chunk-CSXYDIVC.mjs +214 -0
  40. package/dist/chunk-CXTV4VGG.mjs +148 -0
  41. package/dist/chunk-D34RAZUX.mjs +2223 -0
  42. package/dist/chunk-DDIC7WM6.mjs +3127 -0
  43. package/dist/chunk-DPUQOBU6.mjs +4810 -0
  44. package/dist/chunk-E6MDVTGT.mjs +148 -0
  45. package/dist/chunk-EGKMUEM6.mjs +544 -0
  46. package/dist/chunk-EO6SYNCG.mjs +175 -0
  47. package/dist/chunk-EQGA6A6D.mjs +121 -0
  48. package/dist/chunk-EY2CSXYA.mjs +822 -0
  49. package/dist/chunk-FF5BQVII.mjs +148 -0
  50. package/dist/chunk-FIQ65CDR.mjs +925 -0
  51. package/dist/chunk-FOZXJFAR.mjs +186 -0
  52. package/dist/chunk-G2IAZ5Q6.mjs +148 -0
  53. package/dist/chunk-G7SMOWOL.mjs +828 -0
  54. package/dist/chunk-GK7NU6DO.mjs +214 -0
  55. package/dist/chunk-GMW45YVD.mjs +868 -0
  56. package/dist/chunk-HDSCPEHY.mjs +4061 -0
  57. package/dist/chunk-HJELFNEA.mjs +186 -0
  58. package/dist/chunk-HOIUP6IF.mjs +690 -0
  59. package/dist/chunk-HRJGDPNE.mjs +148 -0
  60. package/dist/chunk-I3AU7GRD.mjs +120 -0
  61. package/dist/chunk-I3VQQJZ6.mjs +2843 -0
  62. package/dist/chunk-IPTX5MJU.mjs +3223 -0
  63. package/dist/chunk-ITGUSH2Z.mjs +2783 -0
  64. package/dist/chunk-IXHBCAMF.mjs +3306 -0
  65. package/dist/chunk-J7JUAHS4.mjs +186 -0
  66. package/dist/chunk-J7TWJ3TM.mjs +2784 -0
  67. package/dist/chunk-JDPLDGVF.mjs +4810 -0
  68. package/dist/chunk-JK72MQ4N.mjs +877 -0
  69. package/dist/chunk-K2HHCAS2.mjs +148 -0
  70. package/dist/chunk-K5HX2SVL.mjs +1902 -0
  71. package/dist/chunk-KAUEQ2F3.mjs +148 -0
  72. package/dist/chunk-KFVVOS5N.mjs +925 -0
  73. package/dist/chunk-KIH4AN3Y.mjs +154 -0
  74. package/dist/chunk-KPDMN5IX.mjs +175 -0
  75. package/dist/chunk-LZL2IRCH.mjs +186 -0
  76. package/dist/chunk-MIZV3TAN.mjs +3293 -0
  77. package/dist/chunk-MRH4J7IX.mjs +2846 -0
  78. package/dist/chunk-NKBL5GUC.mjs +186 -0
  79. package/dist/chunk-NQCNSCF6.mjs +148 -0
  80. package/dist/chunk-NRP5J3BR.mjs +4811 -0
  81. package/dist/chunk-NTB7OEX2.mjs +2918 -0
  82. package/dist/chunk-NUPJYPFU.mjs +801 -0
  83. package/dist/chunk-NVQUTSQX.mjs +3128 -0
  84. package/dist/chunk-OGMG64EY.mjs +148 -0
  85. package/dist/chunk-OL5B2HTH.mjs +175 -0
  86. package/dist/chunk-OPJKP747.mjs +7506 -0
  87. package/dist/chunk-OQLGGBNE.mjs +2918 -0
  88. package/dist/chunk-OW4AQUDL.mjs +544 -0
  89. package/dist/chunk-OWI6XWCD.mjs +3375 -0
  90. package/dist/chunk-OZT2EAF2.mjs +2776 -0
  91. package/dist/chunk-PBRBRKIQ.mjs +175 -0
  92. package/dist/chunk-PRUMNNDI.mjs +3192 -0
  93. package/dist/chunk-QPNHDTSM.mjs +4839 -0
  94. package/dist/chunk-RNEIAJDR.mjs +897 -0
  95. package/dist/chunk-RY7POBNT.mjs +3127 -0
  96. package/dist/chunk-S6FJ4DXL.mjs +1813 -0
  97. package/dist/chunk-SU4E6E7B.mjs +3153 -0
  98. package/dist/chunk-SYUUKW5A.mjs +3379 -0
  99. package/dist/chunk-THB5SX2S.mjs +113 -0
  100. package/dist/chunk-THFYE5ZX.mjs +244 -0
  101. package/dist/chunk-TK3QMXIP.mjs +2921 -0
  102. package/dist/chunk-TRR2NPAV.mjs +248 -0
  103. package/dist/chunk-TTTTOT7P.mjs +1803 -0
  104. package/dist/chunk-TXONBY6A.mjs +7509 -0
  105. package/dist/chunk-U2PX3JSY.mjs +1933 -0
  106. package/dist/chunk-UASOWKDI.mjs +186 -0
  107. package/dist/chunk-UDDTWG5J.mjs +734 -0
  108. package/dist/chunk-UIWLAQCL.mjs +175 -0
  109. package/dist/chunk-UL2XZEMA.mjs +3128 -0
  110. package/dist/chunk-US3AVDAI.mjs +3456 -0
  111. package/dist/chunk-V5DIDOTT.mjs +148 -0
  112. package/dist/chunk-VLTKQDJ3.mjs +244 -0
  113. package/dist/chunk-VVC42PTS.mjs +175 -0
  114. package/dist/chunk-VX3T3NIR.mjs +897 -0
  115. package/dist/chunk-WBYMW4NQ.mjs +3450 -0
  116. package/dist/chunk-XMWUHQVV.mjs +939 -0
  117. package/dist/chunk-Y6FXYEAI.mjs +10 -0
  118. package/dist/chunk-YCWC2SCO.mjs +148 -0
  119. package/dist/chunk-YFS6JMYO.mjs +3342 -0
  120. package/dist/chunk-ZE67HOSN.mjs +148 -0
  121. package/dist/chunk-ZSK5TPIV.mjs +148 -0
  122. package/dist/cli/index.js +317 -656
  123. package/dist/cli/index.mjs +8 -8
  124. package/dist/config-PL24KEWL.mjs +219 -0
  125. package/dist/dev-server-Bs_sz2DG.d.mts +111 -0
  126. package/dist/dev-server-Bs_sz2DG.d.ts +111 -0
  127. package/dist/dev-server-RmGHIntF.d.mts +113 -0
  128. package/dist/dev-server-RmGHIntF.d.ts +113 -0
  129. package/dist/dev-server.js +194 -526
  130. package/dist/dev-server.mjs +4 -4
  131. package/dist/engine-binary-KQB23JDR.mjs +97 -0
  132. package/dist/envelope-DD7v0v6E.d.mts +265 -0
  133. package/dist/envelope-DD7v0v6E.d.ts +265 -0
  134. package/dist/envelope.js +9 -6
  135. package/dist/envelope.mjs +2 -2
  136. package/dist/index-B5gSgvnd.d.mts +44 -0
  137. package/dist/index-B5gSgvnd.d.ts +44 -0
  138. package/dist/index-Bs0MnR54.d.mts +103 -0
  139. package/dist/index-Bs0MnR54.d.ts +103 -0
  140. package/dist/index-DR0nNc_f.d.mts +101 -0
  141. package/dist/index-DR0nNc_f.d.ts +101 -0
  142. package/dist/index-revho_gS.d.mts +104 -0
  143. package/dist/index-revho_gS.d.ts +104 -0
  144. package/dist/index-vQjwYekL.d.mts +104 -0
  145. package/dist/index-vQjwYekL.d.ts +104 -0
  146. package/dist/index.d.mts +2 -2
  147. package/dist/index.d.ts +2 -2
  148. package/dist/index.js +198 -528
  149. package/dist/index.mjs +9 -8
  150. package/dist/init-2XLTUF7O.mjs +407 -0
  151. package/dist/init-7FJENUDK.mjs +407 -0
  152. package/dist/init-DQDX3QK6.mjs +369 -0
  153. package/dist/init-K3GVM4JS.mjs +538 -0
  154. package/dist/init-NXS5BJN3.mjs +454 -0
  155. package/dist/init-UC3FWPIW.mjs +367 -0
  156. package/dist/init-UNV5XIDE.mjs +367 -0
  157. package/dist/project-compiler-2HOPO7GC.mjs +10 -0
  158. package/dist/project-compiler-D245L5QR.mjs +10 -0
  159. package/dist/project-compiler-FUQRMB4X.mjs +10 -0
  160. package/dist/project-compiler-LA5OBI5P.mjs +10 -0
  161. package/dist/project-compiler-OP2VVGJQ.mjs +10 -0
  162. package/dist/project-compiler-PZNFE6AH.mjs +10 -0
  163. package/dist/project-compiler-QBVF6MFI.mjs +10 -0
  164. package/dist/project-compiler-VFR6CSDX.mjs +10 -0
  165. package/dist/project-compiler-WMJZA4UH.mjs +10 -0
  166. package/dist/project-compiler-XXS27TZT.mjs +10 -0
  167. package/dist/project-compiler-YYGDSHY5.mjs +10 -0
  168. package/dist/project-decompiler-5GY2KSG4.mjs +7 -0
  169. package/dist/project-decompiler-7I2OMUVY.mjs +7 -0
  170. package/dist/project-decompiler-US7GAVIC.mjs +7 -0
  171. package/dist/pull-2Q53HF3H.mjs +107 -0
  172. package/dist/pull-5AFHD3QG.mjs +109 -0
  173. package/dist/pull-65GUSX6F.mjs +109 -0
  174. package/dist/pull-6LVI4LMM.mjs +109 -0
  175. package/dist/pull-A2QUHW4K.mjs +109 -0
  176. package/dist/pull-B6T5BUKV.mjs +109 -0
  177. package/dist/pull-CKHWZT33.mjs +109 -0
  178. package/dist/pull-GM74ERRT.mjs +109 -0
  179. package/dist/pull-JBEQWVPE.mjs +109 -0
  180. package/dist/pull-P44LDRWB.mjs +109 -0
  181. package/dist/pull-W2US3T3E.mjs +109 -0
  182. package/dist/testing/index.js +9 -6
  183. package/dist/testing/index.mjs +1 -1
  184. package/dist/verify-3PPS4XAM.mjs +1833 -0
  185. package/dist/verify-GKEH5FZQ.mjs +1833 -0
  186. package/dist/verify-HDKUNHZ4.mjs +1833 -0
  187. package/dist/verify-SEIXUGN4.mjs +1833 -0
  188. package/dist/vite/index.js +10 -7
  189. package/dist/vite/index.mjs +2 -2
  190. package/package.json +2 -2
@@ -0,0 +1,186 @@
1
+ import {
2
+ createSourceEnvelope,
3
+ generateFsTree
4
+ } from "./chunk-5M7DKKBC.mjs";
5
+ import {
6
+ babelPlugin
7
+ } from "./chunk-OPJKP747.mjs";
8
+
9
+ // src/envelope.ts
10
+ import { createHash } from "crypto";
11
+ import { readFileSync } from "fs";
12
+ import { resolve, relative, basename } from "path";
13
+ import { glob } from "glob";
14
+ import { transformSync } from "@babel/core";
15
+ async function buildEnvelope(projectDir, options = {}) {
16
+ const root = resolve(projectDir);
17
+ const slug = options.slug ?? basename(root);
18
+ const version = options.version ?? "0.1.0";
19
+ const mode = options.mode ?? "infer";
20
+ const patterns = options.include ?? [
21
+ `${root}/**/*.workflow.{tsx,ts,jsx,js}`,
22
+ `${root}/**/models/**/*.{ts,tsx}`,
23
+ `${root}/**/*.server.{ts,tsx,js,jsx}`
24
+ ];
25
+ const discoveredFiles = [];
26
+ for (const pattern of patterns) {
27
+ const matches = await glob(pattern, { absolute: true });
28
+ discoveredFiles.push(...matches);
29
+ }
30
+ const uniqueFiles = [...new Set(discoveredFiles)];
31
+ const allSourceFiles = await glob(`${root}/**/*.{ts,tsx,js,jsx,css,json}`, {
32
+ absolute: true,
33
+ ignore: ["**/node_modules/**", "**/dist/**", "**/.git/**"]
34
+ });
35
+ const fsTree = generateFsTree(allSourceFiles, root);
36
+ const definitions = [];
37
+ const envelopeFiles = [];
38
+ const errors = [];
39
+ const sourceBindings = [];
40
+ for (const file of uniqueFiles) {
41
+ const relativePath = relative(root, file);
42
+ let fileContent;
43
+ try {
44
+ fileContent = readFileSync(file);
45
+ } catch {
46
+ errors.push({ file: relativePath, message: "Could not read file" });
47
+ continue;
48
+ }
49
+ const fileHash = createHash("sha256").update(fileContent).digest("hex");
50
+ const code = fileContent.toString("utf-8");
51
+ try {
52
+ const hasTsx = /\.(tsx|jsx)$/.test(file);
53
+ const parserPlugins = ["typescript"];
54
+ if (hasTsx) parserPlugins.push("jsx");
55
+ const result = transformSync(code, {
56
+ filename: file,
57
+ plugins: [[babelPlugin, { mode }]],
58
+ parserOpts: { plugins: parserPlugins, attachComment: true },
59
+ sourceMaps: true
60
+ });
61
+ const ir = result?.metadata?.mindmatrixIR;
62
+ if (ir) {
63
+ definitions.push(ir);
64
+ const bindings = extractSourceBindings(ir, relativePath);
65
+ sourceBindings.push(...bindings);
66
+ const irErrors = ir.metadata?.errors;
67
+ if (irErrors?.length) {
68
+ for (const e of irErrors) {
69
+ errors.push({ file: relativePath, message: e.message, line: e.line });
70
+ }
71
+ }
72
+ envelopeFiles.push({
73
+ path: relativePath,
74
+ hash: fileHash,
75
+ size: fileContent.length,
76
+ slug: ir.slug,
77
+ compiled: true
78
+ });
79
+ } else {
80
+ envelopeFiles.push({
81
+ path: relativePath,
82
+ hash: fileHash,
83
+ size: fileContent.length,
84
+ compiled: false
85
+ });
86
+ }
87
+ } catch (error) {
88
+ const msg = error instanceof Error ? error.message : String(error);
89
+ errors.push({ file: relativePath, message: msg });
90
+ envelopeFiles.push({
91
+ path: relativePath,
92
+ hash: fileHash,
93
+ size: fileContent.length,
94
+ compiled: false
95
+ });
96
+ }
97
+ }
98
+ const envelope = createSourceEnvelope({
99
+ blueprintSlug: slug,
100
+ blueprintVersion: version,
101
+ definitions,
102
+ fsTree,
103
+ sourceBindings,
104
+ environment: options.environment,
105
+ mode
106
+ });
107
+ const envelopeJson = JSON.stringify(envelope);
108
+ const manifestHash = createHash("sha256").update(envelopeJson).digest("hex");
109
+ const manifest = {
110
+ hash: manifestHash,
111
+ files: envelopeFiles,
112
+ version,
113
+ timestamp: envelope.createdAt,
114
+ definitionCount: definitions.length,
115
+ errorCount: errors.length
116
+ };
117
+ return {
118
+ envelope,
119
+ manifest,
120
+ files: envelopeFiles,
121
+ definitions,
122
+ errors
123
+ };
124
+ }
125
+ function extractSourceBindings(ir, filePath) {
126
+ const bindings = [];
127
+ const slug = ir.slug ?? "";
128
+ for (const field of ir.fields) {
129
+ const source = field.__source;
130
+ bindings.push({
131
+ kind: "field",
132
+ name: field.name,
133
+ workflowSlug: slug,
134
+ file: filePath,
135
+ startLine: source?.line ?? 0,
136
+ startColumn: source?.column ?? 0,
137
+ endLine: source?.endLine,
138
+ endColumn: source?.endColumn
139
+ });
140
+ }
141
+ for (const state of ir.states) {
142
+ const source = state.__source;
143
+ bindings.push({
144
+ kind: "state",
145
+ name: state.name,
146
+ workflowSlug: slug,
147
+ file: filePath,
148
+ startLine: source?.line ?? 0,
149
+ startColumn: source?.column ?? 0,
150
+ endLine: source?.endLine,
151
+ endColumn: source?.endColumn
152
+ });
153
+ }
154
+ for (const transition of ir.transitions) {
155
+ const source = transition.__source;
156
+ bindings.push({
157
+ kind: "transition",
158
+ name: transition.name,
159
+ workflowSlug: slug,
160
+ file: filePath,
161
+ startLine: source?.line ?? 0,
162
+ startColumn: source?.column ?? 0,
163
+ endLine: source?.endLine,
164
+ endColumn: source?.endColumn
165
+ });
166
+ }
167
+ if (ir.extensions) {
168
+ for (const [tag, islands] of Object.entries(ir.extensions)) {
169
+ for (const island of islands) {
170
+ bindings.push({
171
+ kind: "grammar-island",
172
+ name: `${tag}:${island.contextTag}`,
173
+ workflowSlug: slug,
174
+ file: filePath,
175
+ startLine: island.__source?.line ?? 0,
176
+ startColumn: island.__source?.column ?? 0
177
+ });
178
+ }
179
+ }
180
+ }
181
+ return bindings;
182
+ }
183
+
184
+ export {
185
+ buildEnvelope
186
+ };