@mmapp/react-compiler 0.1.0-alpha.1 → 0.1.0-alpha.3
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/ATOM-PIPELINE.md +144 -0
- package/README.md +88 -40
- package/dist/babel/index.js +113 -6
- package/dist/babel/index.mjs +2 -2
- package/dist/chunk-3USIFFE4.mjs +2190 -0
- package/dist/chunk-45YMGEVT.mjs +186 -0
- package/dist/chunk-4FN2AISW.mjs +148 -0
- package/dist/chunk-4OPI5L7G.mjs +2593 -0
- package/dist/chunk-4RYTKOOJ.mjs +186 -0
- package/dist/chunk-5RKTOVR5.mjs +244 -0
- package/dist/chunk-5YDMOO4X.mjs +214 -0
- package/dist/chunk-64ZWEMLJ.mjs +148 -0
- package/dist/chunk-6XP4KSWQ.mjs +2190 -0
- package/dist/chunk-72QWL54I.mjs +175 -0
- package/dist/chunk-7B4TRI7C.mjs +4835 -0
- package/dist/chunk-7ZKGHTNB.mjs +4952 -0
- package/dist/chunk-CIESM3BP.mjs +33 -0
- package/dist/chunk-DE3ZGQAC.mjs +148 -0
- package/dist/chunk-DMCY3BBG.mjs +1933 -0
- package/dist/chunk-DPIK3PJS.mjs +244 -0
- package/dist/chunk-E5IVH4RE.mjs +186 -0
- package/dist/chunk-E6FZNUR5.mjs +4953 -0
- package/dist/chunk-EJRBDQDP.mjs +2607 -0
- package/dist/chunk-ELO4TXJL.mjs +186 -0
- package/dist/chunk-FKRO52XH.mjs +3446 -0
- package/dist/chunk-FL4YAKU6.mjs +4941 -0
- package/dist/chunk-FYT47UBU.mjs +5076 -0
- package/dist/chunk-GCLGPOJZ.mjs +148 -0
- package/dist/chunk-GXB4JOP7.mjs +5072 -0
- package/dist/chunk-HFXOUMTD.mjs +175 -0
- package/dist/chunk-HWIZ47US.mjs +214 -0
- package/dist/chunk-IB7MNPQL.mjs +4953 -0
- package/dist/chunk-ICSIHQCG.mjs +148 -0
- package/dist/chunk-JLA5VNQ3.mjs +186 -0
- package/dist/chunk-JQLWFCTM.mjs +214 -0
- package/dist/chunk-KFJJCQAL.mjs +148 -0
- package/dist/chunk-KJUIIEQE.mjs +186 -0
- package/dist/chunk-KNWTHRVQ.mjs +175 -0
- package/dist/chunk-KSG4XSZF.mjs +175 -0
- package/dist/chunk-LF5N6DOU.mjs +175 -0
- package/dist/chunk-LJQCM2IM.mjs +214 -0
- package/dist/chunk-NW6555WJ.mjs +186 -0
- package/dist/chunk-OMZE6VLQ.mjs +214 -0
- package/dist/chunk-P4BR7WVO.mjs +2190 -0
- package/dist/chunk-QQHVYH2X.mjs +244 -0
- package/dist/chunk-S5QLWLLT.mjs +186 -0
- package/dist/chunk-SCWGT2FY.mjs +2190 -0
- package/dist/chunk-SMKJUSB3.mjs +2190 -0
- package/dist/chunk-VCAY2KGM.mjs +175 -0
- package/dist/chunk-WECAV6QB.mjs +148 -0
- package/dist/chunk-WMKBXUCE.mjs +3228 -0
- package/dist/chunk-XAJ5BKKL.mjs +4947 -0
- package/dist/chunk-XG2X7AEA.mjs +175 -0
- package/dist/chunk-XG7Z23NQ.mjs +148 -0
- package/dist/chunk-XWZAOCQ7.mjs +2607 -0
- package/dist/chunk-Y6MA7ULW.mjs +148 -0
- package/dist/chunk-YMS7Q7LG.mjs +214 -0
- package/dist/chunk-ZA37XTGA.mjs +175 -0
- package/dist/cli/index.js +1616 -366
- package/dist/cli/index.mjs +8 -8
- package/dist/codemod/cli.mjs +1 -1
- package/dist/codemod/index.mjs +1 -1
- package/dist/dev-server-RmGHIntF.d.mts +113 -0
- package/dist/dev-server-RmGHIntF.d.ts +113 -0
- package/dist/dev-server.d.mts +1 -1
- package/dist/dev-server.d.ts +1 -1
- package/dist/dev-server.js +982 -53
- package/dist/dev-server.mjs +5 -5
- package/dist/envelope.js +113 -6
- package/dist/envelope.mjs +3 -3
- package/dist/index.d.mts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +992 -63
- package/dist/index.mjs +8 -8
- package/{src/cli/init.ts → dist/init-7JQMAAXS.mjs} +70 -95
- package/dist/init-EHO4VQ22.mjs +369 -0
- package/dist/init-UC3FWPIW.mjs +367 -0
- package/dist/init-UNSMVKIK.mjs +366 -0
- package/dist/init-UNV5XIDE.mjs +367 -0
- package/dist/project-compiler-2P4N4DR7.mjs +10 -0
- package/dist/project-compiler-D2LCC27O.mjs +10 -0
- package/dist/project-compiler-EJ3GANJE.mjs +10 -0
- package/dist/project-compiler-LOQKVRZJ.mjs +10 -0
- package/dist/project-compiler-RQ6OQKRM.mjs +10 -0
- package/dist/project-compiler-VWNNCHGO.mjs +10 -0
- package/dist/project-compiler-XVAAU4C5.mjs +10 -0
- package/dist/project-compiler-YES5FGMD.mjs +10 -0
- package/dist/project-compiler-ZKMQDLGU.mjs +10 -0
- package/dist/project-decompiler-FLXCEJHS.mjs +7 -0
- package/dist/project-decompiler-VLPR22QF.mjs +7 -0
- package/dist/pull-FUS5QYZS.mjs +109 -0
- package/dist/pull-LD5ENLGY.mjs +109 -0
- package/dist/testing/index.js +113 -6
- package/dist/testing/index.mjs +2 -2
- package/dist/vite/index.js +113 -6
- package/dist/vite/index.mjs +3 -3
- package/examples/uber-app/app/admin/fleet.tsx +19 -19
- package/package.json +4 -3
- package/compile-blueprint-chat.mjs +0 -99
- package/compile-blueprint-glass-console.mjs +0 -98
- package/compile-chat-defs.mjs +0 -92
- package/examples/uber-app/tests/payment.test.tsx +0 -129
- package/examples/uber-app/tests/ride-flow.test.tsx +0 -123
- package/package.json.backup +0 -86
- package/scripts/decompile.ts +0 -226
- package/scripts/seed-auth.ts +0 -267
- package/scripts/seed-uber.ts +0 -248
- package/scripts/validate-uber.ts +0 -119
- package/seed-blueprint-chat.mjs +0 -444
- package/seed-blueprint-glass-console.mjs +0 -445
- package/seed-compiled.mjs +0 -318
- package/src/RoundTripValidator.ts +0 -400
- package/src/__tests__/atom-rendering-coverage.test.ts +0 -680
- package/src/__tests__/auth-module-compilation.test.ts +0 -247
- package/src/__tests__/auth-template-compilation.test.ts +0 -589
- package/src/__tests__/change-extractor.test.ts +0 -142
- package/src/__tests__/cli-pull.test.ts +0 -73
- package/src/__tests__/cli-test.test.ts +0 -72
- package/src/__tests__/component-extractor.test.ts +0 -331
- package/src/__tests__/context-extractor.test.ts +0 -145
- package/src/__tests__/decompiler.test.ts +0 -718
- package/src/__tests__/define-blueprint.test.ts +0 -133
- package/src/__tests__/definition-validator.test.ts +0 -519
- package/src/__tests__/during-extractor.test.ts +0 -152
- package/src/__tests__/effect-extractor.test.ts +0 -107
- package/src/__tests__/event-emission.test.ts +0 -127
- package/src/__tests__/examples.test.ts +0 -236
- package/src/__tests__/full-blueprint-coverage.test.ts +0 -1221
- package/src/__tests__/golden-suite.test.ts +0 -403
- package/src/__tests__/grammar-island-extractor.test.ts +0 -289
- package/src/__tests__/instance-key.test.ts +0 -82
- package/src/__tests__/ir-migration.test.ts +0 -255
- package/src/__tests__/lock-file.test.ts +0 -117
- package/src/__tests__/model-extractor.test.ts +0 -195
- package/src/__tests__/model-field-acl.test.ts +0 -237
- package/src/__tests__/model-hooks.test.ts +0 -130
- package/src/__tests__/model-ref-resolution.test.ts +0 -268
- package/src/__tests__/model-roundtrip.test.ts +0 -502
- package/src/__tests__/model-runtime.test.ts +0 -112
- package/src/__tests__/model-transitions.test.ts +0 -183
- package/src/__tests__/nrt-action-trace.test.ts +0 -391
- package/src/__tests__/pipeline-hardening.test.ts +0 -413
- package/src/__tests__/project-compiler.test.ts +0 -546
- package/src/__tests__/project-decompiler.test.ts +0 -343
- package/src/__tests__/query-compilation.test.ts +0 -145
- package/src/__tests__/round-trip/PLAN.md +0 -158
- package/src/__tests__/round-trip/README.md +0 -52
- package/src/__tests__/round-trip/RESULTS.md +0 -86
- package/src/__tests__/round-trip/fixtures/data-heavy/main.workflow.tsx +0 -55
- package/src/__tests__/round-trip/fixtures/data-heavy/mm.config.ts +0 -11
- package/src/__tests__/round-trip/fixtures/data-heavy/models/contact.ts +0 -54
- package/src/__tests__/round-trip/fixtures/full-workflow/main.workflow.tsx +0 -79
- package/src/__tests__/round-trip/fixtures/full-workflow/mm.config.ts +0 -12
- package/src/__tests__/round-trip/fixtures/full-workflow/models/order.ts +0 -50
- package/src/__tests__/round-trip/fixtures/simple-crud/main.workflow.tsx +0 -25
- package/src/__tests__/round-trip/fixtures/simple-crud/mm.config.ts +0 -11
- package/src/__tests__/round-trip/fixtures/simple-crud/models/task.ts +0 -32
- package/src/__tests__/round-trip/fixtures/view-heavy/main.workflow.tsx +0 -79
- package/src/__tests__/round-trip/fixtures/view-heavy/mm.config.ts +0 -10
- package/src/__tests__/round-trip/round-trip.test.ts +0 -2598
- package/src/__tests__/round-trip-ir.test.ts +0 -300
- package/src/__tests__/round-trip.test.ts +0 -1212
- package/src/__tests__/route-merging.test.ts +0 -372
- package/src/__tests__/router-composition.test.ts +0 -489
- package/src/__tests__/router-extractor.test.ts +0 -176
- package/src/__tests__/server-action-extractor.test.ts +0 -128
- package/src/__tests__/smart-type-inference.test.ts +0 -365
- package/src/__tests__/source-envelope.test.ts +0 -284
- package/src/__tests__/source-fidelity.test.ts +0 -516
- package/src/__tests__/state-extractor.test.ts +0 -115
- package/src/__tests__/strict-mode.test.ts +0 -227
- package/src/__tests__/transition-effect-extractor.test.ts +0 -119
- package/src/__tests__/transition-extractor.test.ts +0 -68
- package/src/__tests__/ts-to-expression.test.ts +0 -462
- package/src/__tests__/type-generator.test.ts +0 -201
- package/src/__tests__/uber-validation.test.ts +0 -502
- package/src/action-compiler.ts +0 -361
- package/src/babel/emitters/experience-transform.ts +0 -199
- package/src/babel/emitters/ir-to-tsx-emitter.ts +0 -110
- package/src/babel/emitters/pure-form-emitter.ts +0 -1023
- package/src/babel/emitters/runtime-glue-emitter.ts +0 -39
- package/src/babel/extractors/change-extractor.ts +0 -199
- package/src/babel/extractors/component-extractor.ts +0 -907
- package/src/babel/extractors/computed-extractor.ts +0 -262
- package/src/babel/extractors/context-extractor.ts +0 -277
- package/src/babel/extractors/during-extractor.ts +0 -295
- package/src/babel/extractors/effect-extractor.ts +0 -340
- package/src/babel/extractors/event-extractor.ts +0 -235
- package/src/babel/extractors/grammar-island-extractor.ts +0 -302
- package/src/babel/extractors/model-extractor.ts +0 -1018
- package/src/babel/extractors/router-extractor.ts +0 -303
- package/src/babel/extractors/server-action-extractor.ts +0 -173
- package/src/babel/extractors/server-action-hook-extractor.ts +0 -72
- package/src/babel/extractors/server-state-extractor.ts +0 -88
- package/src/babel/extractors/state-extractor.ts +0 -214
- package/src/babel/extractors/transition-effect-extractor.ts +0 -176
- package/src/babel/extractors/transition-extractor.ts +0 -143
- package/src/babel/index.ts +0 -24
- package/src/babel/transpilers/ts-to-expression.ts +0 -674
- package/src/babel/visitor.ts +0 -807
- package/src/cli/auth.ts +0 -255
- package/src/cli/build.ts +0 -288
- package/src/cli/deploy.ts +0 -206
- package/src/cli/index.ts +0 -328
- package/src/cli/installer.ts +0 -261
- package/src/cli/lock-file.ts +0 -94
- package/src/cli/mmrc.ts +0 -22
- package/src/cli/pull.ts +0 -172
- package/src/cli/registry-client.ts +0 -175
- package/src/cli/test.ts +0 -397
- package/src/cli/type-generator.ts +0 -243
- package/src/codemod/__tests__/forward.test.ts +0 -239
- package/src/codemod/__tests__/reverse.test.ts +0 -145
- package/src/codemod/__tests__/round-trip.test.ts +0 -137
- package/src/codemod/annotation.ts +0 -97
- package/src/codemod/classify.ts +0 -197
- package/src/codemod/cli.ts +0 -207
- package/src/codemod/control-flow.ts +0 -409
- package/src/codemod/forward.ts +0 -244
- package/src/codemod/import-manager.ts +0 -171
- package/src/codemod/index.ts +0 -120
- package/src/codemod/reverse.ts +0 -197
- package/src/codemod/rules.ts +0 -174
- package/src/codemod/state-transform.ts +0 -126
- package/src/decompiler/ast-builder.ts +0 -538
- package/src/decompiler/config-generator.ts +0 -151
- package/src/decompiler/index.ts +0 -315
- package/src/decompiler/project-decompiler.ts +0 -1776
- package/src/decompiler/project.ts +0 -862
- package/src/decompiler/split-strategy.ts +0 -140
- package/src/decompiler/state-emitter.ts +0 -1053
- package/src/decompiler/sx-emitter.ts +0 -318
- package/src/decompiler/workspace-hydrator.ts +0 -189
- package/src/dev-server.ts +0 -238
- package/src/envelope/fs-tree.ts +0 -217
- package/src/envelope/source-envelope.ts +0 -264
- package/src/envelope.ts +0 -315
- package/src/incremental-compiler.ts +0 -401
- package/src/index.ts +0 -99
- package/src/model-compiler.ts +0 -277
- package/src/project-compiler.ts +0 -1629
- package/src/route-extractor.ts +0 -333
- package/src/testing/index.ts +0 -32
- package/src/testing/snapshot.ts +0 -252
- package/src/testing/test-utils.ts +0 -226
- package/src/types.ts +0 -68
- package/src/vite/index.ts +0 -288
- package/test-compile.mjs +0 -142
- package/tsconfig.json +0 -25
- package/tsup.config.ts +0 -23
- package/vitest.config.ts +0 -9
package/dist/dev-server.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createDevServer
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-GCLGPOJZ.mjs";
|
|
4
|
+
import "./chunk-72QWL54I.mjs";
|
|
5
|
+
import "./chunk-5RKTOVR5.mjs";
|
|
6
6
|
import "./chunk-5M7DKKBC.mjs";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-FYT47UBU.mjs";
|
|
8
|
+
import "./chunk-CIESM3BP.mjs";
|
|
9
9
|
export {
|
|
10
10
|
createDevServer
|
|
11
11
|
};
|
package/dist/envelope.js
CHANGED
|
@@ -654,6 +654,8 @@ var TranspileContext = class {
|
|
|
654
654
|
this.localFieldMap = options.localFieldMap ?? /* @__PURE__ */ new Map();
|
|
655
655
|
this.derivedVarMap = options.derivedVarMap ?? /* @__PURE__ */ new Map();
|
|
656
656
|
this.setterToFieldMap = options.setterToFieldMap ?? /* @__PURE__ */ new Map();
|
|
657
|
+
this.parameterMap = options.parameterMap ?? /* @__PURE__ */ new Map();
|
|
658
|
+
this.allMutable = options.allMutable ?? false;
|
|
657
659
|
}
|
|
658
660
|
/**
|
|
659
661
|
* Emit an opaque JS fallback, marking the result as impure.
|
|
@@ -675,6 +677,8 @@ var TranspileContext = class {
|
|
|
675
677
|
if (snakeName) return `$local.${snakeName}`;
|
|
676
678
|
const derivedInit = this.derivedVarMap.get(node.name);
|
|
677
679
|
if (derivedInit) return `(${this.visit(derivedInit)})`;
|
|
680
|
+
const paramField = this.parameterMap.get(node.name);
|
|
681
|
+
if (paramField) return paramField;
|
|
678
682
|
if (node.name === "undefined") return "null";
|
|
679
683
|
if (node.name === "NaN") return "null";
|
|
680
684
|
if (node.name === "Infinity") return "null";
|
|
@@ -722,6 +726,9 @@ var TranspileContext = class {
|
|
|
722
726
|
if (t5.isNewExpression(node)) {
|
|
723
727
|
return this.visitNew(node);
|
|
724
728
|
}
|
|
729
|
+
if (t5.isAssignmentExpression(node) && node.operator === "=" && t5.isIdentifier(node.left)) {
|
|
730
|
+
return `${node.left.name} = ${this.visit(node.right)}`;
|
|
731
|
+
}
|
|
725
732
|
return this.opaque(fallbackGenerate(node));
|
|
726
733
|
}
|
|
727
734
|
// ---------------------------------------------------------------------------
|
|
@@ -922,6 +929,11 @@ var TranspileContext = class {
|
|
|
922
929
|
return this.visitArrayHigherOrder("some", obj, args);
|
|
923
930
|
case "every":
|
|
924
931
|
return this.visitArrayHigherOrder("every", obj, args);
|
|
932
|
+
// --- Array push: arr.push(item) → arr = push(arr, item) ---
|
|
933
|
+
case "push": {
|
|
934
|
+
const [item] = this.visitArgsList(args);
|
|
935
|
+
return `${obj} = push(${obj}, ${item})`;
|
|
936
|
+
}
|
|
925
937
|
// --- Array mutation-free methods ---
|
|
926
938
|
case "reverse":
|
|
927
939
|
return `reverse(${obj})`;
|
|
@@ -2757,6 +2769,71 @@ function modelStateTypeToIR(type) {
|
|
|
2757
2769
|
if (type === "final") return "END";
|
|
2758
2770
|
return "REGULAR";
|
|
2759
2771
|
}
|
|
2772
|
+
function parseActionArray(raw, actionCounter) {
|
|
2773
|
+
if (!Array.isArray(raw)) return [];
|
|
2774
|
+
const actions = [];
|
|
2775
|
+
for (const item of raw) {
|
|
2776
|
+
if (typeof item !== "object" || item === null) continue;
|
|
2777
|
+
const a = item;
|
|
2778
|
+
actions.push({
|
|
2779
|
+
id: a.id ? String(a.id) : `auto_${++actionCounter.value}`,
|
|
2780
|
+
type: String(a.type || a.action_type || "unknown"),
|
|
2781
|
+
mode: a.mode || "auto",
|
|
2782
|
+
config: a.config && typeof a.config === "object" ? a.config : {},
|
|
2783
|
+
...a.condition ? { condition: String(a.condition) } : {}
|
|
2784
|
+
});
|
|
2785
|
+
}
|
|
2786
|
+
return actions;
|
|
2787
|
+
}
|
|
2788
|
+
function parseDuringArray(raw, actionCounter) {
|
|
2789
|
+
if (!Array.isArray(raw)) return [];
|
|
2790
|
+
const result = [];
|
|
2791
|
+
for (const item of raw) {
|
|
2792
|
+
if (typeof item !== "object" || item === null) continue;
|
|
2793
|
+
const d = item;
|
|
2794
|
+
result.push({
|
|
2795
|
+
id: d.id ? String(d.id) : `during_${++actionCounter.value}`,
|
|
2796
|
+
type: d.type || "interval",
|
|
2797
|
+
...d.interval_ms != null ? { interval_ms: Number(d.interval_ms) } : {},
|
|
2798
|
+
...d.cron ? { cron: String(d.cron) } : {},
|
|
2799
|
+
...d.delay_ms != null ? { delay_ms: Number(d.delay_ms) } : {},
|
|
2800
|
+
...d.condition ? { condition: String(d.condition) } : {},
|
|
2801
|
+
actions: parseActionArray(d.actions, actionCounter)
|
|
2802
|
+
});
|
|
2803
|
+
}
|
|
2804
|
+
return result;
|
|
2805
|
+
}
|
|
2806
|
+
function parseOnEventArray(raw, actionCounter) {
|
|
2807
|
+
if (!Array.isArray(raw)) return [];
|
|
2808
|
+
const result = [];
|
|
2809
|
+
for (const item of raw) {
|
|
2810
|
+
if (typeof item !== "object" || item === null) continue;
|
|
2811
|
+
const e = item;
|
|
2812
|
+
const actions = [];
|
|
2813
|
+
if (Array.isArray(e.actions)) {
|
|
2814
|
+
for (const a of e.actions) {
|
|
2815
|
+
if (typeof a !== "object" || a === null) continue;
|
|
2816
|
+
const act = a;
|
|
2817
|
+
actions.push({
|
|
2818
|
+
type: act.type || "set_field",
|
|
2819
|
+
...act.field ? { field: String(act.field) } : {},
|
|
2820
|
+
...act.expression ? { expression: String(act.expression) } : {},
|
|
2821
|
+
...act.key ? { key: String(act.key) } : {},
|
|
2822
|
+
...act.message ? { message: String(act.message) } : {},
|
|
2823
|
+
...act.config && typeof act.config === "object" ? { config: act.config } : {},
|
|
2824
|
+
...act.conditions && Array.isArray(act.conditions) ? { conditions: act.conditions.map(String) } : {}
|
|
2825
|
+
});
|
|
2826
|
+
}
|
|
2827
|
+
}
|
|
2828
|
+
result.push({
|
|
2829
|
+
match: String(e.match || ""),
|
|
2830
|
+
...e.description ? { description: String(e.description) } : {},
|
|
2831
|
+
...e.conditions && Array.isArray(e.conditions) ? { conditions: e.conditions.map(String) } : {},
|
|
2832
|
+
actions
|
|
2833
|
+
});
|
|
2834
|
+
}
|
|
2835
|
+
return result;
|
|
2836
|
+
}
|
|
2760
2837
|
function extractDefineModelCall(programPath, compilerState, actionCounter) {
|
|
2761
2838
|
for (const node of programPath.node.body) {
|
|
2762
2839
|
if (!t11.isExportDefaultDeclaration(node)) continue;
|
|
@@ -2796,17 +2873,27 @@ function extractDefineModelCall(programPath, compilerState, actionCounter) {
|
|
|
2796
2873
|
const statesObj = config.states;
|
|
2797
2874
|
for (const [name, stateConfig] of Object.entries(statesObj)) {
|
|
2798
2875
|
const stateType = modelStateTypeToIR(stateConfig.type);
|
|
2876
|
+
const on_enter = parseActionArray(stateConfig.on_enter, actionCounter);
|
|
2877
|
+
const on_exit = parseActionArray(stateConfig.on_exit, actionCounter);
|
|
2878
|
+
const during = parseDuringArray(stateConfig.during, actionCounter);
|
|
2879
|
+
const on_event = parseOnEventArray(stateConfig.on_event, actionCounter);
|
|
2799
2880
|
if (!compilerState.states.has(name)) {
|
|
2800
2881
|
compilerState.states.set(name, {
|
|
2801
2882
|
name,
|
|
2802
2883
|
type: stateType,
|
|
2803
2884
|
description: stateConfig.description,
|
|
2804
|
-
on_enter
|
|
2805
|
-
during
|
|
2806
|
-
on_exit
|
|
2885
|
+
on_enter,
|
|
2886
|
+
during,
|
|
2887
|
+
on_exit,
|
|
2888
|
+
...on_event.length > 0 ? { on_event } : {}
|
|
2807
2889
|
});
|
|
2808
2890
|
} else {
|
|
2809
|
-
compilerState.states.get(name)
|
|
2891
|
+
const existing = compilerState.states.get(name);
|
|
2892
|
+
existing.type = stateType;
|
|
2893
|
+
if (on_enter.length > 0) existing.on_enter = on_enter;
|
|
2894
|
+
if (on_exit.length > 0) existing.on_exit = on_exit;
|
|
2895
|
+
if (during.length > 0) existing.during = during;
|
|
2896
|
+
if (on_event.length > 0) existing.on_event = on_event;
|
|
2810
2897
|
}
|
|
2811
2898
|
}
|
|
2812
2899
|
}
|
|
@@ -2844,13 +2931,21 @@ function extractDefineModelCall(programPath, compilerState, actionCounter) {
|
|
|
2844
2931
|
if (transConfig.guard) {
|
|
2845
2932
|
conditions.push(parseGuardExpression(String(transConfig.guard)));
|
|
2846
2933
|
}
|
|
2934
|
+
if (transConfig.conditions && Array.isArray(transConfig.conditions)) {
|
|
2935
|
+
for (const cond of transConfig.conditions) {
|
|
2936
|
+
if (typeof cond === "object" && cond !== null) {
|
|
2937
|
+
conditions.push(cond);
|
|
2938
|
+
}
|
|
2939
|
+
}
|
|
2940
|
+
}
|
|
2941
|
+
const actions = parseActionArray(transConfig.actions, actionCounter);
|
|
2847
2942
|
compilerState.transitions.push({
|
|
2848
2943
|
name,
|
|
2849
2944
|
from,
|
|
2850
2945
|
to,
|
|
2851
2946
|
description: transConfig.description,
|
|
2852
2947
|
conditions: conditions.length > 0 ? conditions : void 0,
|
|
2853
|
-
actions
|
|
2948
|
+
actions,
|
|
2854
2949
|
roles: transConfig.roles,
|
|
2855
2950
|
auto: transConfig.auto,
|
|
2856
2951
|
required_fields: transConfig.required_fields
|
|
@@ -3776,6 +3871,18 @@ function emitIR(extracted) {
|
|
|
3776
3871
|
});
|
|
3777
3872
|
stateNames.add(transition.to);
|
|
3778
3873
|
}
|
|
3874
|
+
for (const from of transition.from) {
|
|
3875
|
+
if (from && !stateNames.has(from)) {
|
|
3876
|
+
stateArray.push({
|
|
3877
|
+
name: from,
|
|
3878
|
+
type: "REGULAR",
|
|
3879
|
+
on_enter: [],
|
|
3880
|
+
during: [],
|
|
3881
|
+
on_exit: []
|
|
3882
|
+
});
|
|
3883
|
+
stateNames.add(from);
|
|
3884
|
+
}
|
|
3885
|
+
}
|
|
3779
3886
|
}
|
|
3780
3887
|
const fieldNames = new Set(fields.map((f) => f.name));
|
|
3781
3888
|
let normalizedView;
|
|
@@ -4728,7 +4835,7 @@ function createVisitor(options = {}) {
|
|
|
4728
4835
|
}
|
|
4729
4836
|
}
|
|
4730
4837
|
if (mode !== "strict") return;
|
|
4731
|
-
if (source.startsWith("@mindmatrix/") || source === "react" || source.startsWith("react/") || source.startsWith(".") || source.startsWith("/")) {
|
|
4838
|
+
if (source.startsWith("@mindmatrix/") || source.startsWith("@mmapp/") || source === "react" || source.startsWith("react/") || source.startsWith(".") || source.startsWith("/")) {
|
|
4732
4839
|
return;
|
|
4733
4840
|
}
|
|
4734
4841
|
const error = {
|
package/dist/envelope.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildEnvelope
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JLA5VNQ3.mjs";
|
|
4
4
|
import "./chunk-5M7DKKBC.mjs";
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-FYT47UBU.mjs";
|
|
6
|
+
import "./chunk-CIESM3BP.mjs";
|
|
7
7
|
export {
|
|
8
8
|
buildEnvelope
|
|
9
9
|
};
|
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ export { R as ReactCompilerError, b as babelPlugin } from './index-revho_gS.mjs'
|
|
|
3
3
|
import { NodePath, Visitor } from '@babel/traverse';
|
|
4
4
|
import * as t from '@babel/types';
|
|
5
5
|
import { IRWorkflowDefinition, PureFormWorkflow, IRDataSource, IRExperienceNode as IRExperienceNode$1 } from '@mindmatrix/player-core';
|
|
6
|
-
export { B as BuildOptions, d as BuildResult, a as DevServerInstance, D as DevServerOptions, b as build, c as createDevServer } from './dev-server-
|
|
6
|
+
export { B as BuildOptions, d as BuildResult, a as DevServerInstance, D as DevServerOptions, b as build, c as createDevServer } from './dev-server-RmGHIntF.mjs';
|
|
7
7
|
import { F as FileRole } from './envelope-DD7v0v6E.mjs';
|
|
8
8
|
export { B as BuildEnvelopeOptions, c as BuildEnvelopeResult, a as EnvelopeFile, E as EnvelopeManifest, i as EnvelopeMetadata, n as FsTree, o as FsTreeEntry, h as SourceBinding, S as SourceEnvelope, b as buildEnvelope, e as computeEnvelopeId, d as createSourceEnvelope, k as detectFileRole, g as diffEnvelopes, m as diffFsTrees, f as envelopesEqual, l as filterByRole, j as generateFsTree } from './envelope-DD7v0v6E.mjs';
|
|
9
9
|
import 'vite';
|
|
@@ -962,6 +962,8 @@ interface ResolvedModule {
|
|
|
962
962
|
icon?: string;
|
|
963
963
|
showInNav?: boolean;
|
|
964
964
|
}>;
|
|
965
|
+
/** The module's server actions (merged into parent with namespace prefix). */
|
|
966
|
+
serverActions?: ServerActionEntry[];
|
|
965
967
|
}
|
|
966
968
|
interface ProjectCompilerOptions {
|
|
967
969
|
/** Compilation mode: strict or infer. Default: 'infer'. */
|
|
@@ -1001,6 +1003,8 @@ interface ProjectCompilationResult {
|
|
|
1001
1003
|
actionResult?: ActionCompilationResult;
|
|
1002
1004
|
/** Phase 2: Route extraction result (if usePhase2Modules enabled). */
|
|
1003
1005
|
routeResult?: RouteExtractionResult;
|
|
1006
|
+
/** Generated .d.ts type stubs for module dependencies, keyed by relative path. */
|
|
1007
|
+
typeStubs?: Record<string, string>;
|
|
1004
1008
|
}
|
|
1005
1009
|
interface ProjectCompilationError {
|
|
1006
1010
|
file: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { R as ReactCompilerError, b as babelPlugin } from './index-revho_gS.js';
|
|
|
3
3
|
import { NodePath, Visitor } from '@babel/traverse';
|
|
4
4
|
import * as t from '@babel/types';
|
|
5
5
|
import { IRWorkflowDefinition, PureFormWorkflow, IRDataSource, IRExperienceNode as IRExperienceNode$1 } from '@mindmatrix/player-core';
|
|
6
|
-
export { B as BuildOptions, d as BuildResult, a as DevServerInstance, D as DevServerOptions, b as build, c as createDevServer } from './dev-server-
|
|
6
|
+
export { B as BuildOptions, d as BuildResult, a as DevServerInstance, D as DevServerOptions, b as build, c as createDevServer } from './dev-server-RmGHIntF.js';
|
|
7
7
|
import { F as FileRole } from './envelope-DD7v0v6E.js';
|
|
8
8
|
export { B as BuildEnvelopeOptions, c as BuildEnvelopeResult, a as EnvelopeFile, E as EnvelopeManifest, i as EnvelopeMetadata, n as FsTree, o as FsTreeEntry, h as SourceBinding, S as SourceEnvelope, b as buildEnvelope, e as computeEnvelopeId, d as createSourceEnvelope, k as detectFileRole, g as diffEnvelopes, m as diffFsTrees, f as envelopesEqual, l as filterByRole, j as generateFsTree } from './envelope-DD7v0v6E.js';
|
|
9
9
|
import 'vite';
|
|
@@ -962,6 +962,8 @@ interface ResolvedModule {
|
|
|
962
962
|
icon?: string;
|
|
963
963
|
showInNav?: boolean;
|
|
964
964
|
}>;
|
|
965
|
+
/** The module's server actions (merged into parent with namespace prefix). */
|
|
966
|
+
serverActions?: ServerActionEntry[];
|
|
965
967
|
}
|
|
966
968
|
interface ProjectCompilerOptions {
|
|
967
969
|
/** Compilation mode: strict or infer. Default: 'infer'. */
|
|
@@ -1001,6 +1003,8 @@ interface ProjectCompilationResult {
|
|
|
1001
1003
|
actionResult?: ActionCompilationResult;
|
|
1002
1004
|
/** Phase 2: Route extraction result (if usePhase2Modules enabled). */
|
|
1003
1005
|
routeResult?: RouteExtractionResult;
|
|
1006
|
+
/** Generated .d.ts type stubs for module dependencies, keyed by relative path. */
|
|
1007
|
+
typeStubs?: Record<string, string>;
|
|
1004
1008
|
}
|
|
1005
1009
|
interface ProjectCompilationError {
|
|
1006
1010
|
file: string;
|