@flopod/compiler 0.2.1 → 0.3.0
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/dist/cli.js +6 -58
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/transpile.d.ts +4 -22
- package/dist/transpile.d.ts.map +1 -1
- package/dist/transpile.js +23 -293
- package/dist/transpile.js.map +1 -1
- package/package.json +3 -3
package/dist/cli.js
CHANGED
|
@@ -1,51 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
3
|
-
import {
|
|
4
|
-
import { fileURLToPath, pathToFileURL } from 'url';
|
|
5
|
-
import { spawn } from 'child_process';
|
|
3
|
+
import { dirname } from 'path';
|
|
6
4
|
import { transpileSource } from './transpile.js';
|
|
7
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
5
|
const [cmd, ...rest] = process.argv.slice(2);
|
|
9
|
-
if (cmd === '
|
|
10
|
-
// flopod dev <entry.ts> [--port 3847]
|
|
11
|
-
const portIdx = rest.indexOf('--port');
|
|
12
|
-
const port = portIdx !== -1 ? parseInt(rest[portIdx + 1], 10) : 3847;
|
|
13
|
-
const skipIdx = new Set(portIdx !== -1 ? [portIdx, portIdx + 1] : []);
|
|
14
|
-
const inputFile = rest.find((a, i) => !a.startsWith('--') && !skipIdx.has(i));
|
|
15
|
-
if (!inputFile) {
|
|
16
|
-
console.error('Usage: flopod dev <entry.ts> [--port <port>]');
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
// Resolve runtime package paths from the transpiler's own location
|
|
20
|
-
const runtimeDist = resolve(__dirname, '../../flopod-runtime/dist');
|
|
21
|
-
const runtimeUrl = pathToFileURL(join(runtimeDist, 'index.js')).href;
|
|
22
|
-
const devUrl = pathToFileURL(join(runtimeDist, 'dev/index.js')).href;
|
|
23
|
-
const source = readFileSync(inputFile, 'utf8');
|
|
24
|
-
const result = transpileSource(source, inputFile, { runtimeUrl, devUrl, port });
|
|
25
|
-
const outDir = join(process.cwd(), '.flopod-dev');
|
|
26
|
-
const outFile = join(outDir, 'main.ts');
|
|
27
|
-
mkdirSync(outDir, { recursive: true });
|
|
28
|
-
writeFileSync(outFile, result.code, 'utf8');
|
|
29
|
-
// Find tsx in node_modules up the tree
|
|
30
|
-
const tsxBin = findTsx();
|
|
31
|
-
if (!tsxBin) {
|
|
32
|
-
console.error('[flopod dev] error: tsx not found — run: npm install -D tsx');
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
console.log(`[flopod dev] transpiled ${inputFile}`);
|
|
36
|
-
const proc = spawn(process.execPath, [tsxBin, outFile], {
|
|
37
|
-
stdio: 'inherit',
|
|
38
|
-
cwd: process.cwd(),
|
|
39
|
-
});
|
|
40
|
-
proc.on('exit', code => process.exit(code ?? 0));
|
|
41
|
-
}
|
|
42
|
-
else if (cmd === undefined || cmd === '--help' || cmd === 'help') {
|
|
6
|
+
if (cmd === undefined || cmd === '--help' || cmd === 'help') {
|
|
43
7
|
console.log('Usage:');
|
|
44
|
-
console.log(' flopod
|
|
45
|
-
console.log('
|
|
8
|
+
console.log(' flopod-transpile <input.ts> <output.ts> Transpile a workflow to a runnable module');
|
|
9
|
+
console.log('');
|
|
10
|
+
console.log('The web authoring environment (live UI, runs) is `flopod serve` in @flopod/cli.');
|
|
46
11
|
}
|
|
47
12
|
else {
|
|
48
|
-
//
|
|
13
|
+
// flopod-transpile <input> <output>
|
|
49
14
|
const [inputFile, outputFile] = [cmd, ...rest];
|
|
50
15
|
if (!inputFile || !outputFile) {
|
|
51
16
|
console.error('Usage: flopod-transpile <input.ts> <output.ts>');
|
|
@@ -58,21 +23,4 @@ else {
|
|
|
58
23
|
console.log(`Transpiled ${inputFile} → ${outputFile}`);
|
|
59
24
|
console.log(`Activities: ${result.activities.join(', ')}`);
|
|
60
25
|
}
|
|
61
|
-
function findTsx() {
|
|
62
|
-
// Walk up from cwd looking for node_modules/.bin/tsx or node_modules/tsx/dist/cli.mjs
|
|
63
|
-
let dir = process.cwd();
|
|
64
|
-
for (let i = 0; i < 6; i++) {
|
|
65
|
-
const candidate = join(dir, 'node_modules', 'tsx', 'dist', 'cli.mjs');
|
|
66
|
-
try {
|
|
67
|
-
readFileSync(candidate);
|
|
68
|
-
return candidate;
|
|
69
|
-
}
|
|
70
|
-
catch { /* */ }
|
|
71
|
-
const parent = dirname(dir);
|
|
72
|
-
if (parent === dir)
|
|
73
|
-
break;
|
|
74
|
-
dir = parent;
|
|
75
|
-
}
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
26
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE7C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;AACjG,CAAC;KAAM,CAAC;IACN,oCAAoC;IACpC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,MAAM,UAAU,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { transpileSource, transpileViaIR, assembleFromBody, compileToResult, createIRTransformer, getWorkflowMeta } from './transpile.js';
|
|
2
|
-
export type { TranspileResult, CompileResult, Rejection,
|
|
2
|
+
export type { TranspileResult, CompileResult, Rejection, WorkflowMeta } from './transpile.js';
|
|
3
3
|
export { TranspileError } from './diagnose.js';
|
|
4
4
|
export type { Diagnostic } from './diagnose.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1I,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1I,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/transpile.d.ts
CHANGED
|
@@ -38,21 +38,6 @@ export type CompileResult = {
|
|
|
38
38
|
* of throwing a `TranspileError` that stringifies them.
|
|
39
39
|
*/
|
|
40
40
|
export declare function compileToResult(source: string, fileName?: string): CompileResult;
|
|
41
|
-
export interface DevModeOptions {
|
|
42
|
-
runtimeUrl: string;
|
|
43
|
-
devUrl: string;
|
|
44
|
-
port?: number;
|
|
45
|
-
/** True when the operator passed --port explicitly; an occupied port then fails loud instead of roaming. */
|
|
46
|
-
explicitPort?: boolean;
|
|
47
|
-
activityDelayMs?: number;
|
|
48
|
-
/**
|
|
49
|
-
* Production control-plane (`flopod serve`) instead of the local dev tool:
|
|
50
|
-
* headless (no browser), no artificial activity delays, and it does NOT
|
|
51
|
-
* auto-run a default run — it boots the persistent control plane and waits for
|
|
52
|
-
* runs triggered over HTTP. Same durable FileBackend + run-list hydration.
|
|
53
|
-
*/
|
|
54
|
-
serve?: boolean;
|
|
55
|
-
}
|
|
56
41
|
/**
|
|
57
42
|
* The default compile path. Routes the supported language through the IR
|
|
58
43
|
* (`transpileViaIR` — `diagnose → lower → emit`), making the IR the execution center.
|
|
@@ -62,13 +47,10 @@ export interface DevModeOptions {
|
|
|
62
47
|
* in leaves (optional chaining `?.` is admitted as a null-safe member read). This is
|
|
63
48
|
* *stricter* than the legacy transpiler (§19#6, decided: adopt strict).
|
|
64
49
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* derived ids on both sides, so live status overlays the static nodes by path. Deferred
|
|
68
|
-
* constructs (durable `let`, `while` — §19#2) surface as a `TranspileError`; there is no
|
|
69
|
-
* legacy fallback (§21/§23: legacy deleted, the IR is the only path).
|
|
50
|
+
* Deferred constructs (durable `let`, `while` — §19#2) surface as a `TranspileError`; there
|
|
51
|
+
* is no legacy fallback (§21/§23: legacy deleted, the IR is the only path).
|
|
70
52
|
*/
|
|
71
|
-
export declare function transpileSource(source: string, fileName?: string
|
|
53
|
+
export declare function transpileSource(source: string, fileName?: string): TranspileResult;
|
|
72
54
|
/**
|
|
73
55
|
* The IR-routed compile path: `diagnose → lower → emit → assemble`. Produces the same
|
|
74
56
|
* module as `transpileSource`, but the branch is lowered to the IR and emitted from it
|
|
@@ -82,7 +64,7 @@ export declare function transpileViaIR(source: string, fileName?: string): Trans
|
|
|
82
64
|
* `emit`) instead of the AST-rewrite path. Reuses every other part of the module
|
|
83
65
|
* frame (imports, leaf passthrough, runtime setup, input handling, invocation) so
|
|
84
66
|
* the IR path differs from `transpileSource` only in how `main`'s body is produced.
|
|
85
|
-
* This is the seam for routing the transpiler through the IR (
|
|
67
|
+
* This is the seam for routing the transpiler through the IR (packages/flopod-ir/README.md [4]).
|
|
86
68
|
*/
|
|
87
69
|
export declare function assembleFromBody(mainBody: string, source: string, fileName?: string): TranspileResult;
|
|
88
70
|
export interface WorkflowMeta {
|
package/dist/transpile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAWjD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAChD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAgB,GAAG,aAAa,CA8BvF;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,SAAgB,GACvB,eAAe,CAEjB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAgB,GAAG,eAAe,CAoBxF;AAaD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,SAAgB,GACvB,eAAe,CASjB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAgB,GAAG,YAAY,CAMtF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CA0E1E"}
|
package/dist/transpile.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
|
-
import { lowerSource, lowerWithProvenance, emitBranch,
|
|
3
|
+
import { lowerSource, lowerWithProvenance, emitBranch, LowerError } from '@flopod/ir';
|
|
4
4
|
import { diagnoseWorkflowFile, TranspileError } from './diagnose.js';
|
|
5
5
|
/**
|
|
6
6
|
* Fingerprint of the workflow source. Stamped into the event log so a run can
|
|
@@ -42,7 +42,7 @@ export function compileToResult(source, fileName = 'workflow.ts') {
|
|
|
42
42
|
throw e; // not a compile rejection — a real bug; let it surface
|
|
43
43
|
}
|
|
44
44
|
// 3. assemble the full module around the IR-emitted body
|
|
45
|
-
const code = emit(source, sourceFile, activities,
|
|
45
|
+
const code = emit(source, sourceFile, activities, body);
|
|
46
46
|
return { ok: true, code, activities: [...activities] };
|
|
47
47
|
}
|
|
48
48
|
// ── Public API ────────────────────────────────────────────────────────────────
|
|
@@ -55,85 +55,11 @@ export function compileToResult(source, fileName = 'workflow.ts') {
|
|
|
55
55
|
* in leaves (optional chaining `?.` is admitted as a null-safe member read). This is
|
|
56
56
|
* *stricter* than the legacy transpiler (§19#6, decided: adopt strict).
|
|
57
57
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* derived ids on both sides, so live status overlays the static nodes by path. Deferred
|
|
61
|
-
* constructs (durable `let`, `while` — §19#2) surface as a `TranspileError`; there is no
|
|
62
|
-
* legacy fallback (§21/§23: legacy deleted, the IR is the only path).
|
|
58
|
+
* Deferred constructs (durable `let`, `while` — §19#2) surface as a `TranspileError`; there
|
|
59
|
+
* is no legacy fallback (§21/§23: legacy deleted, the IR is the only path).
|
|
63
60
|
*/
|
|
64
|
-
export function transpileSource(source, fileName = 'workflow.ts'
|
|
65
|
-
return
|
|
66
|
-
? transpileDevViaIR(source, fileName, devMode)
|
|
67
|
-
: transpileViaIR(source, fileName);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Dev compile path routed through the IR ([5] Part 2b). Lowers the branch, emits the
|
|
71
|
-
* durable body from the IR (derived ids), and builds the static graph from `toGraph(IR)`
|
|
72
|
-
* — no dry run. A `LowerError` (durable `let`/`while` — §19#2/§21) is mapped to the single
|
|
73
|
-
* `TranspileError` surface so it reaches the operator as a clean "unsupported" message; the
|
|
74
|
-
* legacy fallback is gone (the IR is the only path — §21 decision).
|
|
75
|
-
*/
|
|
76
|
-
function transpileDevViaIR(source, fileName, devMode) {
|
|
77
|
-
const sourceFile = ts.createSourceFile(fileName, source, ts.ScriptTarget.ES2022, true);
|
|
78
|
-
const activities = collectActivities(sourceFile);
|
|
79
|
-
const diagnostics = diagnoseWorkflowFile(sourceFile, activities);
|
|
80
|
-
if (diagnostics.length > 0)
|
|
81
|
-
throw new TranspileError(diagnostics, fileName);
|
|
82
|
-
let body;
|
|
83
|
-
let staticNodes;
|
|
84
|
-
let boxTree;
|
|
85
|
-
try {
|
|
86
|
-
const ir = lowerSource(source, fileName);
|
|
87
|
-
body = emitBranch(ir);
|
|
88
|
-
staticNodes = buildStaticNodes(ir, sourceFile, source);
|
|
89
|
-
boxTree = buildBoxTree(ir, sourceFile);
|
|
90
|
-
}
|
|
91
|
-
catch (e) {
|
|
92
|
-
if (e instanceof LowerError)
|
|
93
|
-
throw new TranspileError([lowerErrorToDiagnostic(e)], fileName);
|
|
94
|
-
throw e;
|
|
95
|
-
}
|
|
96
|
-
const code = emit(source, sourceFile, activities, devMode, body, staticNodes, boxTree);
|
|
97
|
-
return { code, activities: [...activities] };
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Build the dev control-plane's static graph nodes from the IR (the [5] reconciliation:
|
|
101
|
-
* `toGraph` node paths are the runtime template paths, so live events overlay them). JSDoc
|
|
102
|
-
* activity titles/descriptions are merged in by label. Control-flow JSDoc metadata (titles
|
|
103
|
-
* on branch/loop nodes) is not merged — `toGraph` supplies control-node labels directly.
|
|
104
|
-
*/
|
|
105
|
-
function buildStaticNodes(ir, sourceFile, source) {
|
|
106
|
-
const activityMeta = extractActivityMeta(sourceFile);
|
|
107
|
-
return toGraph(ir).nodes.map(n => ({
|
|
108
|
-
path: n.path,
|
|
109
|
-
kind: n.kind,
|
|
110
|
-
label: n.label,
|
|
111
|
-
...(n.varName ? { varName: n.varName } : {}),
|
|
112
|
-
...(activityMeta.get(n.label) ?? {}),
|
|
113
|
-
}));
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Build the dev control-plane's NESTED box tree from the IR (the new designer's structure
|
|
117
|
-
* source — `toBoxTree`). Same template-path ids as `buildStaticNodes`, so live status
|
|
118
|
-
* overlays by path. Activity boxes are decorated with the leaf's JSDoc summary (`title`)
|
|
119
|
-
* and `@description` prose (`doc`) — the "what it's doing" a hover surfaces — which the
|
|
120
|
-
* pure IR arrow can't know (JSDoc lives in the source, not the IR).
|
|
121
|
-
*/
|
|
122
|
-
function buildBoxTree(ir, sourceFile) {
|
|
123
|
-
const activityMeta = extractActivityMeta(sourceFile);
|
|
124
|
-
const decorate = (box) => {
|
|
125
|
-
if (box.kind === 'activity') {
|
|
126
|
-
const m = activityMeta.get(box.label);
|
|
127
|
-
if (m?.title)
|
|
128
|
-
box.title = m.title;
|
|
129
|
-
if (m?.description)
|
|
130
|
-
box.doc = m.description;
|
|
131
|
-
}
|
|
132
|
-
box.children.forEach(decorate);
|
|
133
|
-
};
|
|
134
|
-
const tree = toBoxTree(ir);
|
|
135
|
-
tree.body.forEach(decorate);
|
|
136
|
-
return tree;
|
|
61
|
+
export function transpileSource(source, fileName = 'workflow.ts') {
|
|
62
|
+
return transpileViaIR(source, fileName);
|
|
137
63
|
}
|
|
138
64
|
/**
|
|
139
65
|
* The IR-routed compile path: `diagnose → lower → emit → assemble`. Produces the same
|
|
@@ -160,7 +86,7 @@ export function transpileViaIR(source, fileName = 'workflow.ts') {
|
|
|
160
86
|
throw e;
|
|
161
87
|
}
|
|
162
88
|
// 3. assemble the full module around the IR-emitted body
|
|
163
|
-
const code = emit(source, sourceFile, activities,
|
|
89
|
+
const code = emit(source, sourceFile, activities, body);
|
|
164
90
|
return { code, activities: [...activities] };
|
|
165
91
|
}
|
|
166
92
|
// Map a structured LowerError into the transpiler's Diagnostic shape so a single
|
|
@@ -178,7 +104,7 @@ function lowerErrorToDiagnostic(e) {
|
|
|
178
104
|
* `emit`) instead of the AST-rewrite path. Reuses every other part of the module
|
|
179
105
|
* frame (imports, leaf passthrough, runtime setup, input handling, invocation) so
|
|
180
106
|
* the IR path differs from `transpileSource` only in how `main`'s body is produced.
|
|
181
|
-
* This is the seam for routing the transpiler through the IR (
|
|
107
|
+
* This is the seam for routing the transpiler through the IR (packages/flopod-ir/README.md [4]).
|
|
182
108
|
*/
|
|
183
109
|
export function assembleFromBody(mainBody, source, fileName = 'workflow.ts') {
|
|
184
110
|
const sourceFile = ts.createSourceFile(fileName, source, ts.ScriptTarget.ES2022, true);
|
|
@@ -186,7 +112,7 @@ export function assembleFromBody(mainBody, source, fileName = 'workflow.ts') {
|
|
|
186
112
|
const diagnostics = diagnoseWorkflowFile(sourceFile, activities);
|
|
187
113
|
if (diagnostics.length > 0)
|
|
188
114
|
throw new TranspileError(diagnostics, fileName);
|
|
189
|
-
const code = emit(source, sourceFile, activities,
|
|
115
|
+
const code = emit(source, sourceFile, activities, mainBody);
|
|
190
116
|
return { code, activities: [...activities] };
|
|
191
117
|
}
|
|
192
118
|
export function getWorkflowMeta(source, fileName = 'workflow.ts') {
|
|
@@ -246,7 +172,7 @@ export function createIRTransformer() {
|
|
|
246
172
|
ts.setEmitFlags(stmt, ts.EmitFlags.NoNestedSourceMaps);
|
|
247
173
|
});
|
|
248
174
|
// Runtime setup (backend / runId / wf) — never mapped to source.
|
|
249
|
-
const setupStmts = buildSetupStatements(
|
|
175
|
+
const setupStmts = buildSetupStatements(codeVersionOf(sourceFile.text));
|
|
250
176
|
for (const s of setupStmts)
|
|
251
177
|
ts.setEmitFlags(s, ts.EmitFlags.NoSourceMap);
|
|
252
178
|
const newStatements = [];
|
|
@@ -291,35 +217,6 @@ function sourceRange(sf, sp) {
|
|
|
291
217
|
}
|
|
292
218
|
return { pos, end };
|
|
293
219
|
}
|
|
294
|
-
function getJsDocText(comment) {
|
|
295
|
-
if (!comment)
|
|
296
|
-
return '';
|
|
297
|
-
if (typeof comment === 'string')
|
|
298
|
-
return comment;
|
|
299
|
-
return comment.map(c => ('text' in c ? c.text : '')).join('');
|
|
300
|
-
}
|
|
301
|
-
function extractActivityMeta(sourceFile) {
|
|
302
|
-
const meta = new Map();
|
|
303
|
-
for (const node of sourceFile.statements) {
|
|
304
|
-
if (!ts.isFunctionDeclaration(node) || !node.name)
|
|
305
|
-
continue;
|
|
306
|
-
if (node.modifiers?.some(m => m.kind === ts.SyntaxKind.DefaultKeyword))
|
|
307
|
-
continue;
|
|
308
|
-
const name = node.name.text;
|
|
309
|
-
const jsdocs = ts.getJSDocCommentsAndTags(node).filter(ts.isJSDoc);
|
|
310
|
-
if (!jsdocs.length)
|
|
311
|
-
continue;
|
|
312
|
-
const jsdoc = jsdocs[jsdocs.length - 1];
|
|
313
|
-
const summaryText = getJsDocText(jsdoc.comment);
|
|
314
|
-
const firstLine = summaryText.split('\n')[0].trim();
|
|
315
|
-
const title = firstLine || undefined;
|
|
316
|
-
const descTag = ts.getJSDocTags(node).find(t => t.tagName.text === 'description');
|
|
317
|
-
const description = descTag ? getJsDocText(descTag.comment).trim() || undefined : undefined;
|
|
318
|
-
if (title || description)
|
|
319
|
-
meta.set(name, { title, description });
|
|
320
|
-
}
|
|
321
|
-
return meta;
|
|
322
|
-
}
|
|
323
220
|
// ── Collect activities (every non-default top-level function) ─────────────────
|
|
324
221
|
function collectActivities(sourceFile) {
|
|
325
222
|
const names = new Set();
|
|
@@ -333,7 +230,7 @@ function collectActivities(sourceFile) {
|
|
|
333
230
|
return names;
|
|
334
231
|
}
|
|
335
232
|
// ── Setup statement builders ──────────────────────────────────────────────────
|
|
336
|
-
function buildSetupStatements(
|
|
233
|
+
function buildSetupStatements(codeVersion) {
|
|
337
234
|
const factory = ts.factory;
|
|
338
235
|
const runtimeProps = () => {
|
|
339
236
|
const props = [
|
|
@@ -345,15 +242,6 @@ function buildSetupStatements(devMode, codeVersion) {
|
|
|
345
242
|
}
|
|
346
243
|
return props;
|
|
347
244
|
};
|
|
348
|
-
if (devMode) {
|
|
349
|
-
return [
|
|
350
|
-
makeConst('backend', factory.createNewExpression(factory.createIdentifier('NullBackend'), undefined, [])),
|
|
351
|
-
makeConst('runId', factory.createStringLiteral('dev-run')),
|
|
352
|
-
makeConst('wf', factory.createAwaitExpression(factory.createCallExpression(factory.createIdentifier('createRuntime'), undefined, [
|
|
353
|
-
factory.createObjectLiteralExpression(runtimeProps()),
|
|
354
|
-
]))),
|
|
355
|
-
];
|
|
356
|
-
}
|
|
357
245
|
// Backend is resolved from the environment so one compiled artifact runs
|
|
358
246
|
// anywhere: no env → SQLite ./workflow.db (local default, unchanged); a
|
|
359
247
|
// DATABASE_URL → managed Postgres (e.g. a DigitalOcean Droplet/App Platform
|
|
@@ -381,31 +269,10 @@ function buildSetupStatements(devMode, codeVersion) {
|
|
|
381
269
|
// Builds the full output module around a pre-emitted `main` body (`mainBodyOverride`,
|
|
382
270
|
// always supplied now that every path routes through the IR). Dev mode embeds the
|
|
383
271
|
// IR-built static graph (`staticNodes`) as a compile-time literal — no dry run.
|
|
384
|
-
function emit(source, sourceFile, activities,
|
|
272
|
+
function emit(source, sourceFile, activities, mainBodyOverride) {
|
|
385
273
|
const parts = [];
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
parts.push(`import { FlopodDevServer } from '${devMode.devUrl}';\n`);
|
|
389
|
-
parts.push(`import { readFileSync } from 'fs';\n`);
|
|
390
|
-
const port = devMode.port ?? 3847;
|
|
391
|
-
// Serve mode is headless with no artificial pacing; dev keeps the animation delay.
|
|
392
|
-
// serve always uses an explicit, deliberate port (containerized) → fail loud, never roam.
|
|
393
|
-
const explicitPort = devMode.serve || devMode.explicitPort;
|
|
394
|
-
const optsParts = devMode.serve
|
|
395
|
-
? `, openBrowser: false, activityDelayMs: 0, explicitPort: true`
|
|
396
|
-
: `${explicitPort ? `, explicitPort: true` : ''}${devMode.activityDelayMs !== undefined ? `, activityDelayMs: ${devMode.activityDelayMs}` : ''}`;
|
|
397
|
-
// One durable backend shared by every run (keyed internally by runId), so the
|
|
398
|
-
// control plane survives restarts: events persist, and the run list hydrates
|
|
399
|
-
// from backend.listRuns() on startup. FLOPOD_DATA_DIR overrides the location.
|
|
400
|
-
parts.push(`const _backend = new FileBackend();\n`);
|
|
401
|
-
parts.push(`const _devServer = new FlopodDevServer({ port: ${port}${optsParts}, backend: _backend });\n`);
|
|
402
|
-
parts.push(`let _flopodWfFactory;\n`);
|
|
403
|
-
parts.push(`await _devServer.start();\n`);
|
|
404
|
-
}
|
|
405
|
-
else {
|
|
406
|
-
parts.push(`import { createRuntime, SqliteBackend, STOP } from '@flopod/runtime';\n`);
|
|
407
|
-
parts.push(`import { readFileSync } from 'fs';\n`);
|
|
408
|
-
}
|
|
274
|
+
parts.push(`import { createRuntime, SqliteBackend, STOP } from '@flopod/runtime';\n`);
|
|
275
|
+
parts.push(`import { readFileSync } from 'fs';\n`);
|
|
409
276
|
for (const node of sourceFile.statements) {
|
|
410
277
|
if (ts.isImportDeclaration(node)) {
|
|
411
278
|
const mod = node.moduleSpecifier.text;
|
|
@@ -417,7 +284,7 @@ function emit(source, sourceFile, activities, devMode, mainBodyOverride, staticN
|
|
|
417
284
|
if (ts.isFunctionDeclaration(node) && node.name) {
|
|
418
285
|
const isDefault = !!node.modifiers?.some(m => m.kind === ts.SyntaxKind.DefaultKeyword);
|
|
419
286
|
if (isDefault) {
|
|
420
|
-
parts.push(emitMain(source, sourceFile, node, activities,
|
|
287
|
+
parts.push(emitMain(source, sourceFile, node, activities, mainBodyOverride));
|
|
421
288
|
}
|
|
422
289
|
else {
|
|
423
290
|
parts.push(source.slice(node.getStart(sourceFile), node.getEnd()) + '\n');
|
|
@@ -429,20 +296,12 @@ function emit(source, sourceFile, activities, devMode, mainBodyOverride, staticN
|
|
|
429
296
|
const defaultFn = findDefaultExportName(sourceFile);
|
|
430
297
|
if (defaultFn) {
|
|
431
298
|
const hasParams = defaultExportHasParams(sourceFile);
|
|
432
|
-
|
|
433
|
-
if (!devMode) {
|
|
434
|
-
parts.push(`\nconsole.log('[flopod] starting run:', process.env.FLOPOD_RUN_ID ?? 'main-run');\n`);
|
|
435
|
-
}
|
|
299
|
+
parts.push(`\nconsole.log('[flopod] starting run:', process.env.FLOPOD_RUN_ID ?? 'main-run');\n`);
|
|
436
300
|
if (hasParams) {
|
|
437
|
-
// In dev mode a missing input is not fatal — the daemon stays up and the
|
|
438
|
-
// operator starts runs from the control plane instead.
|
|
439
|
-
const noInputLine = devMode
|
|
440
|
-
? `if (args.length === 0) { return undefined; }`
|
|
441
|
-
: `if (args.length === 0) { console.error('[flopod] error: workflow requires input — pass --input input.json or --key value flags'); process.exit(1); }`;
|
|
442
301
|
parts.push(`const _input = (() => {
|
|
443
302
|
const args = process.argv.slice(2);
|
|
444
303
|
if (args.length === 0 && process.env.FLOPOD_INPUT) return JSON.parse(process.env.FLOPOD_INPUT);
|
|
445
|
-
|
|
304
|
+
if (args.length === 0) { console.error('[flopod] error: workflow requires input — pass --input input.json or --key value flags'); process.exit(1); }
|
|
446
305
|
const inputIdx = args.indexOf('--input');
|
|
447
306
|
if (inputIdx !== -1) return JSON.parse(readFileSync(args[inputIdx + 1], 'utf8'));
|
|
448
307
|
const obj: Record<string, unknown> = {};
|
|
@@ -453,55 +312,15 @@ function emit(source, sourceFile, activities, devMode, mainBodyOverride, staticN
|
|
|
453
312
|
}
|
|
454
313
|
return obj;
|
|
455
314
|
})();\n`);
|
|
456
|
-
|
|
457
|
-
if (devMode) {
|
|
458
|
-
const wfName = workflowDisplayName(sourceFile, defaultFn);
|
|
459
|
-
const paramsSpec = hasParams ? extractParamsSpec(sourceFile) : null;
|
|
460
|
-
// Static graph built from the IR at compile time ([5] Part 2b) — `toGraph`'s node
|
|
461
|
-
// paths are the runtime template paths, so live events overlay them by path.
|
|
462
|
-
parts.push(`\n// Static graph from the IR (toGraph) — no dry run needed`);
|
|
463
|
-
parts.push(`const _runId = process.env.FLOPOD_RUN_ID ?? 'dev-run';`);
|
|
464
|
-
parts.push(`const _staticNodes = ${JSON.stringify(staticNodes)};`);
|
|
465
|
-
// Nested box tree (toBoxTree) — the new designer's structure source; same paths as
|
|
466
|
-
// the static nodes, so live status overlays it too.
|
|
467
|
-
parts.push(`const _boxTree = ${JSON.stringify(boxTree)};`);
|
|
468
|
-
parts.push(`\n// Run starter — used for the initial CLI run and for runs started from the control plane`);
|
|
469
|
-
parts.push(`function _flopodStart(runId: string, input: unknown): Promise<void> {`);
|
|
470
|
-
parts.push(` _flopodWfFactory = async () => createRuntime({ runId, backend: _backend, codeVersion: ${JSON.stringify(codeVersionOf(source))}, plugins: [new OTelPlugin({ processors: [_devServer] }), _devServer] });`);
|
|
471
|
-
parts.push(` _devServer.pushStaticGraph(runId, _staticNodes);`);
|
|
472
|
-
parts.push(` _devServer.pushBoxTree(runId, _boxTree);`);
|
|
473
|
-
parts.push(` return _devServer.run(runId, () => ${hasParams ? `${defaultFn}(input as any)` : `${defaultFn}()`}, { input: input ?? null });`);
|
|
474
|
-
parts.push(`}`);
|
|
475
|
-
parts.push(`_devServer.registerWorkflow({ name: ${JSON.stringify(wfName)}, params: ${JSON.stringify(paramsSpec)}, start: _flopodStart });`);
|
|
476
|
-
if (devMode.serve) {
|
|
477
|
-
// A persistent control plane: never auto-run a default run — boot, hydrate
|
|
478
|
-
// the run list, and wait for runs triggered over HTTP (POST /runs). The
|
|
479
|
-
// HTTP server keeps the process alive.
|
|
480
|
-
parts.push(`console.log('[flopod serve] control plane ready → http://localhost:${port}/__flopod (POST /runs to start a run)');\n`);
|
|
481
|
-
}
|
|
482
|
-
else if (hasParams) {
|
|
483
|
-
parts.push(`if (_input === undefined) {`);
|
|
484
|
-
parts.push(` console.log('[flopod dev] no input provided — start a run from the control plane: http://localhost:${port}/__flopod');`);
|
|
485
|
-
parts.push(`} else {`);
|
|
486
|
-
parts.push(` await _flopodStart(_runId, _input);`);
|
|
487
|
-
parts.push(`}\n`);
|
|
488
|
-
}
|
|
489
|
-
else {
|
|
490
|
-
parts.push(`await _flopodStart(_runId, undefined);\n`);
|
|
491
|
-
}
|
|
315
|
+
parts.push(`${defaultFn}(_input as any).catch(err => { console.error(err); process.exit(1); });\n`);
|
|
492
316
|
}
|
|
493
317
|
else {
|
|
494
|
-
|
|
495
|
-
parts.push(`${defaultFn}(_input as any).catch(err => { console.error(err); process.exit(1); });\n`);
|
|
496
|
-
}
|
|
497
|
-
else {
|
|
498
|
-
parts.push(`${defaultFn}().catch(err => { console.error(err); process.exit(1); });\n`);
|
|
499
|
-
}
|
|
318
|
+
parts.push(`${defaultFn}().catch(err => { console.error(err); process.exit(1); });\n`);
|
|
500
319
|
}
|
|
501
320
|
}
|
|
502
321
|
return parts.join('\n');
|
|
503
322
|
}
|
|
504
|
-
function emitMain(source, sourceFile, node, activities,
|
|
323
|
+
function emitMain(source, sourceFile, node, activities, mainBodyOverride) {
|
|
505
324
|
if (!node.body || mainBodyOverride === undefined)
|
|
506
325
|
return '';
|
|
507
326
|
const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed });
|
|
@@ -509,11 +328,9 @@ function emitMain(source, sourceFile, node, activities, devMode, mainBodyOverrid
|
|
|
509
328
|
// so the body's formatting is canonical.
|
|
510
329
|
const params = node.parameters.map(p => p.getText(sourceFile)).join(', ');
|
|
511
330
|
const ret = node.type ? `: ${node.type.getText(sourceFile)}` : '';
|
|
512
|
-
const setup =
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
`const runId = process.env.FLOPOD_RUN_ID ?? "main-run";\n` +
|
|
516
|
-
`const wf = await createRuntime({ runId, backend, codeVersion: ${JSON.stringify(codeVersionOf(source))} });\n`;
|
|
331
|
+
const setup = `const backend = new SqliteBackend("./workflow.db");\n` +
|
|
332
|
+
`const runId = process.env.FLOPOD_RUN_ID ?? "main-run";\n` +
|
|
333
|
+
`const wf = await createRuntime({ runId, backend, codeVersion: ${JSON.stringify(codeVersionOf(source))} });\n`;
|
|
517
334
|
const mainText = `async function ${node.name.text}(${params})${ret} {\n${setup}${mainBodyOverride}\n}`;
|
|
518
335
|
const tmp = ts.createSourceFile('main.ts', mainText, ts.ScriptTarget.ES2022, true);
|
|
519
336
|
return printer.printNode(ts.EmitHint.Unspecified, tmp.statements[0], tmp) + '\n';
|
|
@@ -538,93 +355,6 @@ function defaultExportHasParams(sourceFile) {
|
|
|
538
355
|
}
|
|
539
356
|
return false;
|
|
540
357
|
}
|
|
541
|
-
/**
|
|
542
|
-
* Human-facing workflow name for the control plane header. Uses the source file
|
|
543
|
-
* basename; for generic names (main/index) falls back to the project directory
|
|
544
|
-
* (the segment before /src/), then to the default function name.
|
|
545
|
-
*/
|
|
546
|
-
function workflowDisplayName(sourceFile, defaultFn) {
|
|
547
|
-
const normalized = sourceFile.fileName.replace(/\\/g, '/');
|
|
548
|
-
const base = (normalized.split('/').pop() ?? '').replace(/\.[^.]+$/, '');
|
|
549
|
-
if (base && base !== 'main' && base !== 'index')
|
|
550
|
-
return base;
|
|
551
|
-
const segments = normalized.split('/');
|
|
552
|
-
const srcIdx = segments.lastIndexOf('src');
|
|
553
|
-
if (srcIdx > 0)
|
|
554
|
-
return segments[srcIdx - 1];
|
|
555
|
-
return base || defaultFn;
|
|
556
|
-
}
|
|
557
|
-
/**
|
|
558
|
-
* Derive a form schema from the default export's first parameter type so the
|
|
559
|
-
* control plane can render a typed start-run form. Supports inline type
|
|
560
|
-
* literals and same-file interfaces/type aliases with primitive members;
|
|
561
|
-
* anything more complex degrades to a single JSON field.
|
|
562
|
-
*/
|
|
563
|
-
function extractParamsSpec(sourceFile) {
|
|
564
|
-
let fn;
|
|
565
|
-
for (const node of sourceFile.statements) {
|
|
566
|
-
if (ts.isFunctionDeclaration(node) && node.modifiers?.some(m => m.kind === ts.SyntaxKind.DefaultKeyword)) {
|
|
567
|
-
fn = node;
|
|
568
|
-
break;
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
if (!fn || fn.parameters.length === 0)
|
|
572
|
-
return null;
|
|
573
|
-
const param = fn.parameters[0];
|
|
574
|
-
const fallbackName = ts.isIdentifier(param.name) ? param.name.text : 'input';
|
|
575
|
-
const fallback = [{ name: fallbackName, type: 'json', required: !param.questionToken }];
|
|
576
|
-
let members = null;
|
|
577
|
-
const typeNode = param.type;
|
|
578
|
-
if (!typeNode)
|
|
579
|
-
return fallback;
|
|
580
|
-
if (ts.isTypeLiteralNode(typeNode)) {
|
|
581
|
-
members = typeNode.members;
|
|
582
|
-
}
|
|
583
|
-
else if (ts.isTypeReferenceNode(typeNode) && ts.isIdentifier(typeNode.typeName)) {
|
|
584
|
-
const refName = typeNode.typeName.text;
|
|
585
|
-
for (const st of sourceFile.statements) {
|
|
586
|
-
if (ts.isInterfaceDeclaration(st) && st.name.text === refName) {
|
|
587
|
-
members = st.members;
|
|
588
|
-
break;
|
|
589
|
-
}
|
|
590
|
-
if (ts.isTypeAliasDeclaration(st) && st.name.text === refName && ts.isTypeLiteralNode(st.type)) {
|
|
591
|
-
members = st.type.members;
|
|
592
|
-
break;
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
if (!members)
|
|
597
|
-
return fallback;
|
|
598
|
-
const specs = [];
|
|
599
|
-
for (const m of members) {
|
|
600
|
-
if (!ts.isPropertySignature(m) || !m.name || !m.type)
|
|
601
|
-
continue;
|
|
602
|
-
const name = ts.isIdentifier(m.name) || ts.isStringLiteral(m.name) ? m.name.text : m.name.getText(sourceFile);
|
|
603
|
-
specs.push({ name, required: !m.questionToken, ...mapParamType(m.type) });
|
|
604
|
-
}
|
|
605
|
-
return specs.length > 0 ? specs : fallback;
|
|
606
|
-
}
|
|
607
|
-
function mapParamType(t) {
|
|
608
|
-
switch (t.kind) {
|
|
609
|
-
case ts.SyntaxKind.StringKeyword: return { type: 'string' };
|
|
610
|
-
case ts.SyntaxKind.NumberKeyword: return { type: 'number' };
|
|
611
|
-
case ts.SyntaxKind.BooleanKeyword: return { type: 'boolean' };
|
|
612
|
-
}
|
|
613
|
-
if (ts.isUnionTypeNode(t)) {
|
|
614
|
-
const options = [];
|
|
615
|
-
for (const member of t.types) {
|
|
616
|
-
if (ts.isLiteralTypeNode(member) && ts.isStringLiteral(member.literal)) {
|
|
617
|
-
options.push(member.literal.text);
|
|
618
|
-
}
|
|
619
|
-
else {
|
|
620
|
-
return { type: 'json' };
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
if (options.length > 0)
|
|
624
|
-
return { type: 'enum', options };
|
|
625
|
-
}
|
|
626
|
-
return { type: 'json' };
|
|
627
|
-
}
|
|
628
358
|
function makeConst(name, init) {
|
|
629
359
|
return ts.factory.createVariableStatement(undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(name, undefined, undefined, init)], ts.NodeFlags.Const));
|
|
630
360
|
}
|
package/dist/transpile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transpile.js","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transpile.js","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flopod/compiler",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
"test": "vitest run"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@flopod/ir": "^0.
|
|
25
|
+
"@flopod/ir": "^0.3.0",
|
|
26
26
|
"typescript": "^5.5.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@flopod/runtime": "^0.
|
|
29
|
+
"@flopod/runtime": "^0.3.0",
|
|
30
30
|
"@types/node": "^22.0.0"
|
|
31
31
|
}
|
|
32
32
|
}
|