@elaraai/east-node-cli 1.0.18 → 1.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAQH,MAAM,EACN,WAAW,EACX,KAAK,aAAa,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAWhF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,GAAG,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA+DnF;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqB7F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CASvF;AAmDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAgCxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAuBrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAoBxE"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAQH,MAAM,EACN,WAAW,EACX,KAAK,aAAa,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAWhF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,GAAG,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAsDD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyCnF;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsB7F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CASvF;AAmDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAgCxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAuBrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAoBxE"}
package/dist/loader.js CHANGED
@@ -14,6 +14,58 @@ const decodeIRFromBeast2 = decodeBeast2For(IRType);
14
14
  const decodeIRFromEast = decodeEastFor(IRType);
15
15
  // Decoder for IR from JSON format
16
16
  const decodeIRFromJSON = decodeJSONFor(IRType);
17
+ /**
18
+ * Candidate require roots for resolving a platform package's `./<subpath>`
19
+ * export, in priority order:
20
+ *
21
+ * 1. The LINKED CLI bin location (`process.argv[1]`'s dir) — the user-project
22
+ * context pnpm's bin shim invoked us with. Resolves installed stock
23
+ * platform packages (`@elaraai/east-node-std`, …) under the project's
24
+ * `node_modules`, exactly as before.
25
+ * 2. The e3 project search dirs from `E3_RUNNER_SEARCH_DIRS` — when e3 spawns a
26
+ * runner it sets this to the project root(s). Required on the
27
+ * `e3 dataflow run` path: e3 runs the runner in a scratch cwd, so neither
28
+ * step 1 (a `node_modules/.bin` dir, no package scope) nor `process.cwd()`
29
+ * reaches the project. A project resolves its OWN package by name through
30
+ * its `exports` map via Node self-reference, which works only when the
31
+ * require root sits inside that package — i.e. at the project root.
32
+ * 3. The process cwd (`process.cwd()`) — for a standalone `east-node run`
33
+ * invoked from the project shell, where cwd IS the project root.
34
+ *
35
+ * All roots are tried; the first that resolves wins. Stock platforms still
36
+ * resolve via step 1 first, so existing behaviour is unchanged.
37
+ */
38
+ function platformRequireRoots() {
39
+ const cliEntry = process.argv[1] ?? fileURLToPath(import.meta.url);
40
+ const roots = [path.dirname(cliEntry)];
41
+ const fromE3 = process.env.E3_RUNNER_SEARCH_DIRS;
42
+ if (fromE3)
43
+ roots.push(...fromE3.split(path.delimiter).filter(Boolean));
44
+ roots.push(process.cwd());
45
+ // Dedupe so a CLI invoked from the project root doesn't probe twice.
46
+ return [...new Set(roots)];
47
+ }
48
+ /**
49
+ * Resolve a platform package's `./<subpath>` export across the candidate
50
+ * require roots ({@link platformRequireRoots}). Returns the absolute resolved
51
+ * path from the first root that resolves; rethrows the last resolution error
52
+ * (a `MODULE_NOT_FOUND`) when every root fails so the caller's not-found
53
+ * handling still fires.
54
+ */
55
+ function resolvePlatformSubpath(packageName, subpath) {
56
+ const spec = `${packageName}/${subpath}`;
57
+ let lastErr;
58
+ for (const root of platformRequireRoots()) {
59
+ try {
60
+ const req = createRequire(pathToFileURL(root + path.sep));
61
+ return req.resolve(spec);
62
+ }
63
+ catch (err) {
64
+ lastErr = err;
65
+ }
66
+ }
67
+ throw lastErr;
68
+ }
17
69
  /**
18
70
  * Loads platform functions from a package.
19
71
  *
@@ -26,34 +78,12 @@ const decodeIRFromJSON = decodeJSONFor(IRType);
26
78
  */
27
79
  export async function loadPlatform(packageName) {
28
80
  try {
29
- // Anchor platform resolution at the LINKED CLI bin location, not at
30
- // this file's realpath. pnpm's bin shim invokes us with the
31
- // user-project linked path; `process.argv[1]` preserves that. By
32
- // contrast, this module's `import.meta.url` is realpath'd by
33
- // default, anchored at east-node-cli's source location in whichever
34
- // monorepo it lives in — useless for finding user-installed
35
- // platform packages.
36
- //
37
- // The loader stays platform-agnostic: any package that exports
38
- // `./platform` and is installed in the user's project resolves
39
- // here, with no hardcoded list and no extra Node flags.
40
- // Resolve platform packages from the LINKED CLI bin location (the
41
- // user's project context pnpm's bin shim invoked us with) rather
42
- // than from this file's realpath (which anchors at the monorepo
43
- // source — useless for finding user-installed platforms).
44
- //
45
- // `process.argv[1]` preserves the linked invocation path; we feed
46
- // it to `createRequire` whose `require.resolve` walks up from that
47
- // base via Node's standard module resolution (exports maps honoured
48
- // since Node 12+). `import.meta.resolve(spec, parent)` would be
49
- // the modern equivalent but in Node 22 stable the `parent`
50
- // parameter is still experimental and silently ignored — verified
51
- // empirically by debug printf, which is why the previous attempt
52
- // failed in a way that wasn't obvious from the API docs.
53
- const cliEntry = process.argv[1] ?? fileURLToPath(import.meta.url);
54
- const linkedDir = path.dirname(cliEntry);
55
- const linkedRequire = createRequire(pathToFileURL(linkedDir + path.sep));
56
- const resolvedPath = linkedRequire.resolve(`${packageName}/platform`);
81
+ // Resolve the package's `./platform` export across the candidate require
82
+ // roots the linked CLI bin location for installed stock platforms, the
83
+ // e3-provided project root(s) and cwd for a project's own package. See
84
+ // {@link platformRequireRoots} / {@link resolvePlatformSubpath} for why
85
+ // each root is needed (and why `import.meta.url`'s realpath is not).
86
+ const resolvedPath = resolvePlatformSubpath(packageName, 'platform');
57
87
  const platformModule = await import(pathToFileURL(resolvedPath).href);
58
88
  const fns = platformModule.default;
59
89
  // Validate the export
@@ -93,16 +123,17 @@ export async function loadPlatformWithMetadata(packageName) {
93
123
  // user-installed platform packages.
94
124
  let name = packageName;
95
125
  let version = 'unknown';
96
- try {
97
- const cliEntry = process.argv[1] ?? fileURLToPath(import.meta.url);
98
- const linkedDir = path.dirname(cliEntry);
99
- const linkedRequire = createRequire(pathToFileURL(linkedDir + path.sep));
100
- const pkgJson = linkedRequire(`${packageName}/package.json`);
101
- name = pkgJson.name ?? packageName;
102
- version = pkgJson.version ?? 'unknown';
103
- }
104
- catch {
105
- // Package doesn't export package.json, use defaults
126
+ for (const root of platformRequireRoots()) {
127
+ try {
128
+ const req = createRequire(pathToFileURL(root + path.sep));
129
+ const pkgJson = req(`${packageName}/package.json`);
130
+ name = pkgJson.name ?? packageName;
131
+ version = pkgJson.version ?? 'unknown';
132
+ break;
133
+ }
134
+ catch {
135
+ // Package doesn't export package.json from this root — try the next.
136
+ }
106
137
  }
107
138
  return { name, version, fns };
108
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=loader.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.spec.d.ts","sourceRoot":"","sources":["../src/loader.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Tests for platform-package resolution in the loader.
7
+ *
8
+ * The focus is the project-root (`process.cwd()`) resolution fallback added so
9
+ * a project's OWN package can self-resolve its `./platform` subpath through its
10
+ * `exports` map — the load-bearing piece of the TS-East "project-owned platform
11
+ * module" path. A fake project is planted on disk (a `package.json` with a
12
+ * `./platform` export + a compiled `dist/platform.js`) and `process.cwd()` is
13
+ * pointed at it; the CLI-bin root (`process.argv[1]`) never resolves the fake
14
+ * package, so only the cwd fallback can.
15
+ */
16
+ import { describe, it } from 'node:test';
17
+ import assert from 'node:assert/strict';
18
+ import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
19
+ import { tmpdir } from 'node:os';
20
+ import { join, dirname } from 'node:path';
21
+ import { loadPlatform, loadPlatformWithMetadata } from './loader.js';
22
+ /**
23
+ * Plant a self-contained fake platform package on disk and return its dir.
24
+ * The package is named `name`, exports `./platform` (+ `./package.json` so the
25
+ * metadata path can self-resolve), and ships a compiled `dist/platform.js`
26
+ * whose body is `platformJs`.
27
+ */
28
+ function makeFakeProject(name, platformJs) {
29
+ const root = mkdtempSync(join(tmpdir(), 'enc-loader-'));
30
+ const proj = join(root, 'project');
31
+ mkdirSync(join(proj, 'dist'), { recursive: true });
32
+ writeFileSync(join(proj, 'package.json'), JSON.stringify({
33
+ name,
34
+ version: '2.3.4',
35
+ type: 'module',
36
+ exports: {
37
+ './platform': './dist/platform.js',
38
+ './package.json': './package.json',
39
+ },
40
+ }, null, 2));
41
+ writeFileSync(join(proj, 'dist', 'platform.js'), platformJs);
42
+ return proj;
43
+ }
44
+ /** Run `fn` with `process.cwd()` temporarily pointed at `dir`. */
45
+ async function withCwd(dir, fn) {
46
+ const prev = process.cwd();
47
+ process.chdir(dir);
48
+ try {
49
+ return await fn();
50
+ }
51
+ finally {
52
+ process.chdir(prev);
53
+ }
54
+ }
55
+ /** Run `fn` with `E3_RUNNER_SEARCH_DIRS` temporarily set to `value`. */
56
+ async function withRunnerSearchDirs(value, fn) {
57
+ const prev = process.env.E3_RUNNER_SEARCH_DIRS;
58
+ process.env.E3_RUNNER_SEARCH_DIRS = value;
59
+ try {
60
+ return await fn();
61
+ }
62
+ finally {
63
+ if (prev === undefined)
64
+ delete process.env.E3_RUNNER_SEARCH_DIRS;
65
+ else
66
+ process.env.E3_RUNNER_SEARCH_DIRS = prev;
67
+ }
68
+ }
69
+ describe('loadPlatform — project-root resolution fallback', () => {
70
+ it("resolves a project's own <name>/platform via the cwd fallback", async () => {
71
+ const proj = makeFakeProject('acme-demo', 'export default [{ name: "acme.echo", inputs: [], output: { type: "String" }, type: "sync", fn: (x) => x }];\n');
72
+ try {
73
+ const fns = await withCwd(proj, () => loadPlatform('acme-demo'));
74
+ assert.equal(fns.length, 1);
75
+ assert.equal(fns[0].name, 'acme.echo');
76
+ assert.equal(fns[0].type, 'sync');
77
+ }
78
+ finally {
79
+ rmSync(dirname(proj), { recursive: true, force: true });
80
+ }
81
+ });
82
+ it('throws a friendly error when no require root resolves the platform', async () => {
83
+ // Neither the CLI-bin root nor cwd has this package installed.
84
+ await assert.rejects(() => loadPlatform('@elaraai/definitely-not-a-real-platform-xyz'), /Could not load platform package/);
85
+ });
86
+ it('still rejects a package whose ./platform is not a PlatformFunction[]', async () => {
87
+ const proj = makeFakeProject('acme-bad', 'export default { not: "an array" };\n');
88
+ try {
89
+ await assert.rejects(() => withCwd(proj, () => loadPlatform('acme-bad')), /does not export a valid platform/);
90
+ }
91
+ finally {
92
+ rmSync(dirname(proj), { recursive: true, force: true });
93
+ }
94
+ });
95
+ });
96
+ describe('loadPlatform — E3_RUNNER_SEARCH_DIRS (the e3 dataflow-run path)', () => {
97
+ it('resolves a SCOPED project package by self-reference when cwd is a scratch dir', async () => {
98
+ // Reproduces what `e3 dataflow run` actually does: the runner is spawned in
99
+ // a scratch cwd (NOT the project), so the cwd fallback cannot help — only
100
+ // the project root that e3 propagates via E3_RUNNER_SEARCH_DIRS can. The
101
+ // scaffold names packages `@elaraai/<name>`, so resolution must work for a
102
+ // SCOPED self-reference (`@elaraai/acme/platform`).
103
+ const proj = makeFakeProject('@elaraai/acme', 'export default [{ name: "acme.apply_safety_buffer", inputs: [], output: { type: "Integer" }, type: "sync", fn: () => 0n }];\n');
104
+ const scratch = mkdtempSync(join(tmpdir(), 'enc-scratch-'));
105
+ try {
106
+ const fns = await withCwd(scratch, () => withRunnerSearchDirs(proj, () => loadPlatform('@elaraai/acme')));
107
+ assert.equal(fns.length, 1);
108
+ assert.equal(fns[0].name, 'acme.apply_safety_buffer');
109
+ }
110
+ finally {
111
+ rmSync(dirname(proj), { recursive: true, force: true });
112
+ rmSync(scratch, { recursive: true, force: true });
113
+ }
114
+ });
115
+ it('still fails (not silently) when neither cwd nor E3_RUNNER_SEARCH_DIRS resolves it', async () => {
116
+ const scratch = mkdtempSync(join(tmpdir(), 'enc-scratch-'));
117
+ try {
118
+ await assert.rejects(() => withCwd(scratch, () => withRunnerSearchDirs(scratch, () => loadPlatform('@elaraai/nope-not-here'))), /Could not load platform package/);
119
+ }
120
+ finally {
121
+ rmSync(scratch, { recursive: true, force: true });
122
+ }
123
+ });
124
+ });
125
+ describe('loadPlatformWithMetadata — project-root resolution fallback', () => {
126
+ it("reads name/version from the project's own package.json via the cwd fallback", async () => {
127
+ const proj = makeFakeProject('acme-meta', 'export default [];\n');
128
+ try {
129
+ const meta = await withCwd(proj, () => loadPlatformWithMetadata('acme-meta'));
130
+ assert.equal(meta.name, 'acme-meta');
131
+ assert.equal(meta.version, '2.3.4');
132
+ assert.deepEqual(meta.fns, []);
133
+ }
134
+ finally {
135
+ rmSync(dirname(proj), { recursive: true, force: true });
136
+ }
137
+ });
138
+ });
139
+ //# sourceMappingURL=loader.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.spec.js","sourceRoot":"","sources":["../src/loader.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/east-node-cli",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "Command-line interface for running East IR programs with Node.js",
5
5
  "bin": {
6
6
  "east-node": "./bin/east-node.mjs"
@@ -44,7 +44,7 @@
44
44
  "tar-stream": "^3.1.7"
45
45
  },
46
46
  "peerDependencies": {
47
- "@elaraai/east": "1.0.18"
47
+ "@elaraai/east": "1.0.19"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "^22.18.1",