@opensip-cli/graph 0.1.1 → 0.1.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.
Files changed (53) hide show
  1. package/README.md +2 -2
  2. package/dist/__tests__/rules/always-throws-branch.test.js +94 -0
  3. package/dist/__tests__/rules/always-throws-branch.test.js.map +1 -1
  4. package/dist/__tests__/rules/duplicated-function-body-self-match.test.d.ts +18 -0
  5. package/dist/__tests__/rules/duplicated-function-body-self-match.test.d.ts.map +1 -0
  6. package/dist/__tests__/rules/duplicated-function-body-self-match.test.js +167 -0
  7. package/dist/__tests__/rules/duplicated-function-body-self-match.test.js.map +1 -0
  8. package/dist/__tests__/rules/no-side-effect-path.test.js +115 -0
  9. package/dist/__tests__/rules/no-side-effect-path.test.js.map +1 -1
  10. package/dist/__tests__/rules/orphan-subtree-dynamic-import.test.d.ts +27 -0
  11. package/dist/__tests__/rules/orphan-subtree-dynamic-import.test.d.ts.map +1 -0
  12. package/dist/__tests__/rules/orphan-subtree-dynamic-import.test.js +189 -0
  13. package/dist/__tests__/rules/orphan-subtree-dynamic-import.test.js.map +1 -0
  14. package/dist/cli/__tests__/graph-worker-sharded.integration.test.d.ts +8 -0
  15. package/dist/cli/__tests__/graph-worker-sharded.integration.test.d.ts.map +1 -0
  16. package/dist/cli/__tests__/graph-worker-sharded.integration.test.js +138 -0
  17. package/dist/cli/__tests__/graph-worker-sharded.integration.test.js.map +1 -0
  18. package/dist/cli/__tests__/graph-worker.test.js +67 -1
  19. package/dist/cli/__tests__/graph-worker.test.js.map +1 -1
  20. package/dist/cli/graph/graph-command-spec.d.ts.map +1 -1
  21. package/dist/cli/graph/graph-command-spec.js +30 -14
  22. package/dist/cli/graph/graph-command-spec.js.map +1 -1
  23. package/dist/cli/graph-runner.d.ts +10 -11
  24. package/dist/cli/graph-runner.d.ts.map +1 -1
  25. package/dist/cli/graph-runner.js +29 -25
  26. package/dist/cli/graph-runner.js.map +1 -1
  27. package/dist/cli/graph-worker.d.ts +9 -8
  28. package/dist/cli/graph-worker.d.ts.map +1 -1
  29. package/dist/cli/graph-worker.js +32 -11
  30. package/dist/cli/graph-worker.js.map +1 -1
  31. package/dist/cli/graph.d.ts +14 -13
  32. package/dist/cli/graph.d.ts.map +1 -1
  33. package/dist/cli/graph.js +39 -18
  34. package/dist/cli/graph.js.map +1 -1
  35. package/dist/cli/orchestrate/__tests__/operational-smoke.test.d.ts +6 -0
  36. package/dist/cli/orchestrate/__tests__/operational-smoke.test.d.ts.map +1 -0
  37. package/dist/cli/orchestrate/__tests__/operational-smoke.test.js +73 -0
  38. package/dist/cli/orchestrate/__tests__/operational-smoke.test.js.map +1 -0
  39. package/dist/cli/orchestrate/__tests__/shard-model.test.js +20 -0
  40. package/dist/cli/orchestrate/__tests__/shard-model.test.js.map +1 -1
  41. package/dist/rules/_entry-points.d.ts +16 -2
  42. package/dist/rules/_entry-points.d.ts.map +1 -1
  43. package/dist/rules/_entry-points.js +147 -2
  44. package/dist/rules/_entry-points.js.map +1 -1
  45. package/dist/rules/always-throws-branch.d.ts.map +1 -1
  46. package/dist/rules/always-throws-branch.js +99 -5
  47. package/dist/rules/always-throws-branch.js.map +1 -1
  48. package/dist/rules/duplicated-function-body.js +42 -12
  49. package/dist/rules/duplicated-function-body.js.map +1 -1
  50. package/dist/rules/no-side-effect-path.d.ts.map +1 -1
  51. package/dist/rules/no-side-effect-path.js +73 -9
  52. package/dist/rules/no-side-effect-path.js.map +1 -1
  53. package/package.json +8 -8
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Regression: dynamic `import()` must count as a reachability edge.
3
+ *
4
+ * Verified false positive (the bug this guards): a CLI command module
5
+ * reached only through
6
+ * `const { runReplay } = await import('../commands/.../replay.js')`
7
+ * was flagged as an orphan — and so were the helpers it calls
8
+ * (`parseArgs` / `formatOutcomeTag`) — because the static call-graph
9
+ * resolver cannot trace a binding through a dynamic import, so neither
10
+ * the importing call nor a static import edge ever marked the target
11
+ * module reachable.
12
+ *
13
+ * The fix (heuristic 6 in `_entry-points.ts`) treats the dynamic-import
14
+ * target the same way a static import makes the imported module's
15
+ * exported surface reachable: it resolves the relative specifier to the
16
+ * target file and seeds that file's EXPORTED occurrences as entry points.
17
+ *
18
+ * These tests mirror the real catalog edge topology observed from the
19
+ * TypeScript pipeline for the `const { x } = await import('./mod.js')`
20
+ * form: the importing function carries an UNRESOLVED `import('./mod.js')`
21
+ * call edge (`to: []`) plus an UNRESOLVED `runReplay(...)` call edge
22
+ * (the destructured binding the resolver could not trace), while the
23
+ * target module's exported function resolves edges to its own private
24
+ * helpers.
25
+ */
26
+ import { describe, expect, it } from 'vitest';
27
+ import { buildIndexes } from '../../pipeline/indexes.js';
28
+ import { inferEntryPoints } from '../../rules/_entry-points.js';
29
+ import { orphanSubtreeRule } from '../../rules/orphan-subtree.js';
30
+ import { edge, makeCatalog, occ, staticCall } from './_helpers.js';
31
+ /**
32
+ * Build the `registry.ts` + `replay.ts` cluster:
33
+ * - `dispatch` (exported, registry.ts): dynamic-imports replay.js and
34
+ * calls the destructured `runReplay`; both edges are UNRESOLVED.
35
+ * - `runReplay` (exported, replay.js): calls its private helpers.
36
+ * - `parseArgs` / `formatOutcomeTag` (module-local, replay.js).
37
+ */
38
+ function dynamicImportCluster() {
39
+ const dispatch = occ({
40
+ bodyHash: 'dispatch',
41
+ simpleName: 'dispatch',
42
+ visibility: 'exported',
43
+ filePath: 'src/registry.ts',
44
+ // Unresolved (to: []) — exactly what the TS resolver emits for a
45
+ // dynamic import and a binding it cannot trace.
46
+ calls: [edge("import('./replay.js')"), edge('runReplay([])')],
47
+ });
48
+ const runReplay = occ({
49
+ bodyHash: 'runReplay',
50
+ simpleName: 'runReplay',
51
+ visibility: 'exported',
52
+ filePath: 'src/replay.ts',
53
+ calls: [staticCall('parseArgs'), staticCall('formatOutcomeTag')],
54
+ });
55
+ const parseArgs = occ({
56
+ bodyHash: 'parseArgs',
57
+ simpleName: 'parseArgs',
58
+ visibility: 'module-local',
59
+ filePath: 'src/replay.ts',
60
+ });
61
+ const formatOutcomeTag = occ({
62
+ bodyHash: 'formatOutcomeTag',
63
+ simpleName: 'formatOutcomeTag',
64
+ visibility: 'module-local',
65
+ filePath: 'src/replay.ts',
66
+ });
67
+ return makeCatalog([dispatch, runReplay, parseArgs, formatOutcomeTag]);
68
+ }
69
+ describe('orphan-subtree — dynamic import reachability (heuristic 6)', () => {
70
+ it('seeds an exported dynamic-import target as an entry point', () => {
71
+ const catalog = dynamicImportCluster();
72
+ const eps = inferEntryPoints(catalog, buildIndexes(catalog));
73
+ const runReplayEp = eps.find((e) => e.bodyHash === 'runReplay');
74
+ expect(runReplayEp).toBeDefined();
75
+ // It is seeded specifically by the dynamic-import heuristic (it has no
76
+ // in-project caller, so it would also satisfy no-callers-exported; the
77
+ // dynamic-import reason is what survives dedup for the FIRST classifier
78
+ // that fires — assert the symbol is an entry point either way).
79
+ expect(['dynamic-import', 'no-callers-exported']).toContain(runReplayEp.reason);
80
+ });
81
+ it('does NOT flag a symbol reachable only via `await import()` destructure', () => {
82
+ const catalog = dynamicImportCluster();
83
+ const orphans = orphanSubtreeRule
84
+ // flagExportedOrphans + flagTestOrphans left default; the helpers are
85
+ // module-local so the exported filter does not mask them.
86
+ .evaluate(catalog, buildIndexes(catalog), {})
87
+ .map((s) => s.metadata.simpleName);
88
+ // The whole dynamic-import subtree is reachable — none are orphans.
89
+ expect(orphans).not.toContain('runReplay');
90
+ expect(orphans).not.toContain('parseArgs');
91
+ expect(orphans).not.toContain('formatOutcomeTag');
92
+ });
93
+ it('keeps flagging a genuinely unreferenced exported function (true positive preserved)', () => {
94
+ // A dead exported function whose file is NOT a dynamic-import target,
95
+ // reached only by a dead module-local caller. With flagExportedOrphans
96
+ // it must still be flagged — the dynamic-import heuristic only adds
97
+ // reachability for actually-imported files, never suppresses orphans.
98
+ const deadCaller = occ({
99
+ bodyHash: 'dc',
100
+ simpleName: 'deadCaller',
101
+ visibility: 'module-local',
102
+ filePath: 'src/dead.ts',
103
+ calls: [staticCall('ue')],
104
+ });
105
+ const unusedExport = occ({
106
+ bodyHash: 'ue',
107
+ simpleName: 'unusedExport',
108
+ visibility: 'exported',
109
+ filePath: 'src/dead.ts',
110
+ });
111
+ // Plus the dynamic-import cluster, to prove the two are isolated.
112
+ const cluster = dynamicImportCluster();
113
+ const catalog = makeCatalog([
114
+ deadCaller,
115
+ unusedExport,
116
+ ...Object.values(cluster.functions).flat(),
117
+ ]);
118
+ const indexes = buildIndexes(catalog);
119
+ const orphans = orphanSubtreeRule
120
+ .evaluate(catalog, indexes, { flagExportedOrphans: true })
121
+ .map((s) => s.metadata.simpleName);
122
+ expect(orphans).toContain('deadCaller'); // dead module-local caller
123
+ expect(orphans).toContain('unusedExport'); // genuine exported orphan
124
+ // ...and the dynamic-import subtree stays reachable.
125
+ expect(orphans).not.toContain('runReplay');
126
+ expect(orphans).not.toContain('parseArgs');
127
+ expect(orphans).not.toContain('formatOutcomeTag');
128
+ });
129
+ it('seeds the dynamic-import target even when no-callers-exported does NOT apply', () => {
130
+ // Isolate heuristic 6 from heuristic 5: the dynamic-import target has a
131
+ // (dead) in-project caller, so `no-callers-exported` does NOT classify it.
132
+ // Only the dynamic-import heuristic can seed it as an entry point.
133
+ const importer = occ({
134
+ bodyHash: 'imp',
135
+ simpleName: 'lazyDispatch',
136
+ visibility: 'exported',
137
+ filePath: 'src/registry.ts',
138
+ calls: [edge("import('./replay.js')"), edge('runReplay()')],
139
+ });
140
+ const runReplay = occ({
141
+ bodyHash: 'runReplay',
142
+ simpleName: 'runReplay',
143
+ visibility: 'exported',
144
+ filePath: 'src/replay.ts',
145
+ });
146
+ // A dead module-local caller gives runReplay an in-project caller, so
147
+ // hasExternalCaller() is true and no-callers-exported is suppressed.
148
+ const deadCaller = occ({
149
+ bodyHash: 'dead',
150
+ simpleName: 'deadStaticCaller',
151
+ visibility: 'module-local',
152
+ filePath: 'src/replay.ts',
153
+ calls: [staticCall('runReplay')],
154
+ });
155
+ const catalog = makeCatalog([importer, runReplay, deadCaller]);
156
+ const eps = inferEntryPoints(catalog, buildIndexes(catalog));
157
+ const ep = eps.find((e) => e.bodyHash === 'runReplay');
158
+ expect(ep?.reason).toBe('dynamic-import');
159
+ });
160
+ it('tolerates the `.js → .ts` ESM extension rewrite and bare specifiers', () => {
161
+ // Importing file uses an extensionless specifier; target is a .tsx file.
162
+ const importer = occ({
163
+ bodyHash: 'imp',
164
+ simpleName: 'lazyLoad',
165
+ visibility: 'exported',
166
+ filePath: 'src/app.ts',
167
+ calls: [edge("import('./views/panel')"), edge('mountPanel()')],
168
+ });
169
+ const mountPanel = occ({
170
+ bodyHash: 'mp',
171
+ simpleName: 'mountPanel',
172
+ visibility: 'exported',
173
+ filePath: 'src/views/panel.tsx',
174
+ });
175
+ // A bare/workspace dynamic import resolves outside the catalog — must be
176
+ // ignored without error.
177
+ const bare = occ({
178
+ bodyHash: 'bare',
179
+ simpleName: 'loadExternal',
180
+ visibility: 'exported',
181
+ filePath: 'src/ext.ts',
182
+ calls: [edge("import('node:fs')")],
183
+ });
184
+ const catalog = makeCatalog([importer, mountPanel, bare]);
185
+ const eps = inferEntryPoints(catalog, buildIndexes(catalog));
186
+ expect(eps.find((e) => e.bodyHash === 'mp')).toBeDefined();
187
+ });
188
+ });
189
+ //# sourceMappingURL=orphan-subtree-dynamic-import.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-subtree-dynamic-import.test.js","sourceRoot":"","sources":["../../../src/__tests__/rules/orphan-subtree-dynamic-import.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `graph-run-worker` sharded integration: exercise the real worker sharded
3
+ * branch without mocking graph.js. The graph-run worker coordinates a fixture
4
+ * `graph-shard-worker` CLI script, which proves the process nesting path:
5
+ * render parent -> graph-run-worker -> shard workers.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=graph-worker-sharded.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-worker-sharded.integration.test.d.ts","sourceRoot":"","sources":["../../../src/cli/__tests__/graph-worker-sharded.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * `graph-run-worker` sharded integration: exercise the real worker sharded
3
+ * branch without mocking graph.js. The graph-run worker coordinates a fixture
4
+ * `graph-shard-worker` CLI script, which proves the process nesting path:
5
+ * render parent -> graph-run-worker -> shard workers.
6
+ */
7
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
8
+ import { tmpdir } from 'node:os';
9
+ import { join } from 'node:path';
10
+ import { runWithScope, runWithScopeSync } from '@opensip-cli/core';
11
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
12
+ import { makeGraphTestScope } from '../../__tests__/test-utils/with-graph-scope.js';
13
+ import { currentAdapterRegistry } from '../../lang-adapter/registry.js';
14
+ import { executeGraphWorker } from '../graph-worker.js';
15
+ const SHARD_WORKER_SCRIPT = String.raw `
16
+ const { readFileSync } = require('node:fs');
17
+ const spec = JSON.parse(readFileSync(process.argv[3], 'utf8'));
18
+ const id = spec.shard.id;
19
+ const name = id.replace(/[^a-zA-Z0-9]/g, '_');
20
+ const occ = {
21
+ bodyHash: 'h-' + id,
22
+ simpleName: name,
23
+ qualifiedName: id + '.' + name,
24
+ filePath: id + '/index.ts',
25
+ line: 1,
26
+ column: 0,
27
+ endLine: 1,
28
+ kind: 'function-declaration',
29
+ params: [],
30
+ returnType: null,
31
+ enclosingClass: null,
32
+ decorators: [],
33
+ visibility: 'exported',
34
+ inTestFile: false,
35
+ definedInGenerated: false,
36
+ calls: [],
37
+ };
38
+ const result = {
39
+ shardId: id,
40
+ fragment: {
41
+ version: '3.0',
42
+ tool: 'graph',
43
+ language: 'typescript',
44
+ builtAt: 'x',
45
+ cacheKey: 'fixture-' + id,
46
+ resolutionMode: 'exact',
47
+ functions: { [name]: [occ] },
48
+ },
49
+ fingerprint: 'fp-' + id,
50
+ boundaryCalls: [],
51
+ parseErrors: [],
52
+ };
53
+ process.stdout.write(JSON.stringify(result));
54
+ process.exit(0);
55
+ `;
56
+ const adapter = {
57
+ id: 'typescript',
58
+ fileExtensions: ['.ts'],
59
+ cacheKey: () => 'unused-no-cache',
60
+ ruleHints: undefined,
61
+ };
62
+ function mockCli() {
63
+ return { scope: { datastore: () => undefined } };
64
+ }
65
+ describe('executeGraphWorker sharded integration', () => {
66
+ let dir;
67
+ let cliScript;
68
+ let originalArgv1;
69
+ let messages;
70
+ let scope;
71
+ beforeEach(() => {
72
+ scope = makeGraphTestScope();
73
+ runWithScopeSync(scope, () => currentAdapterRegistry().register(adapter));
74
+ dir = mkdtempSync(join(tmpdir(), 'graph-worker-sharded-'));
75
+ cliScript = join(dir, 'fake-cli.cjs');
76
+ writeFileSync(cliScript, SHARD_WORKER_SCRIPT, 'utf8');
77
+ originalArgv1 = process.argv[1];
78
+ process.argv[1] = cliScript;
79
+ messages = [];
80
+ process.send = vi.fn((m) => {
81
+ messages.push(m);
82
+ return true;
83
+ });
84
+ });
85
+ afterEach(() => {
86
+ runWithScopeSync(scope, () => currentAdapterRegistry().clear());
87
+ if (originalArgv1 === undefined)
88
+ process.argv.splice(1, 1);
89
+ else
90
+ process.argv[1] = originalArgv1;
91
+ delete process.send;
92
+ rmSync(dir, { recursive: true, force: true });
93
+ });
94
+ function shard(id) {
95
+ return {
96
+ id,
97
+ rootDir: dir,
98
+ files: [join(dir, `${id}.ts`)],
99
+ };
100
+ }
101
+ it('coordinates real shard workers and returns a live output over IPC', async () => {
102
+ const specPath = join(dir, 'spec.json');
103
+ writeFileSync(specPath, JSON.stringify({
104
+ cwd: dir,
105
+ noCache: true,
106
+ resolution: 'exact',
107
+ exact: false,
108
+ shards: [shard('pkg:a'), shard('pkg:b')],
109
+ }), 'utf8');
110
+ await runWithScope(scope, () => executeGraphWorker(specPath, mockCli()));
111
+ const progress = messages.filter((m) => m.kind === 'progress');
112
+ expect(progress).toEqual(expect.arrayContaining([
113
+ expect.objectContaining({
114
+ kind: 'progress',
115
+ event: expect.objectContaining({
116
+ type: 'stage-start',
117
+ stage: 'parse',
118
+ label: 'Build shards',
119
+ }),
120
+ }),
121
+ expect.objectContaining({
122
+ kind: 'progress',
123
+ event: expect.objectContaining({
124
+ type: 'stage-start',
125
+ stage: 'resolve',
126
+ label: 'Link cross-package',
127
+ }),
128
+ }),
129
+ ]));
130
+ const result = messages.at(-1);
131
+ expect(result?.kind).toBe('result');
132
+ if (result?.kind !== 'result')
133
+ throw new Error('no result message');
134
+ expect(result.value.reportLines.join('\n')).toContain('== Catalog ==');
135
+ expect(Array.isArray(result.value.signals)).toBe(true);
136
+ });
137
+ });
138
+ //# sourceMappingURL=graph-worker-sharded.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-worker-sharded.integration.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/graph-worker-sharded.integration.test.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,16 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
17
17
  import { makeGraphTestScope } from '../../__tests__/test-utils/with-graph-scope.js';
18
18
  import { currentAdapterRegistry } from '../../lang-adapter/registry.js';
19
19
  import { executeGraphWorker } from '../graph-worker.js';
20
+ const graphMocks = vi.hoisted(() => ({
21
+ runShardedLiveBuild: vi.fn(),
22
+ }));
23
+ vi.mock('../graph.js', async (importOriginal) => {
24
+ const actual = await importOriginal();
25
+ return {
26
+ ...actual,
27
+ runShardedLiveBuild: graphMocks.runShardedLiveBuild,
28
+ };
29
+ });
20
30
  function fakeAdapter() {
21
31
  return {
22
32
  id: 'typescript',
@@ -28,7 +38,10 @@ function fakeAdapter() {
28
38
  configPathAbs: undefined,
29
39
  compilerOptions: undefined,
30
40
  }),
31
- parseProject: () => ({ project: { dummy: true }, parseErrors: [] }),
41
+ parseProject: () => ({
42
+ project: { dummy: true },
43
+ parseErrors: [],
44
+ }),
32
45
  walkProject: () => ({
33
46
  occurrences: {
34
47
  fn: [
@@ -77,6 +90,7 @@ let messages;
77
90
  beforeEach(() => {
78
91
  enterScope(makeGraphTestScope());
79
92
  currentAdapterRegistry().register(fakeAdapter());
93
+ graphMocks.runShardedLiveBuild.mockReset();
80
94
  dir = mkdtempSync(join(tmpdir(), 'graph-worker-test-'));
81
95
  messages = [];
82
96
  // The worker posts via process.send (a no-op when not forked); stub it to capture.
@@ -117,6 +131,58 @@ describe('executeGraphWorker', () => {
117
131
  // Result is the last message — progress precedes it.
118
132
  expect(messages.at(-1)?.kind).toBe('result');
119
133
  });
134
+ it('runs the sharded engine branch and preserves sharded progress labels', async () => {
135
+ const specPath = join(dir, 'spec.json');
136
+ const shards = [
137
+ {
138
+ id: 'pkg:a',
139
+ rootDir: join(dir, 'packages/a'),
140
+ files: [join(dir, 'packages/a/src/a.ts')],
141
+ configPathAbs: join(dir, 'packages/a/tsconfig.json'),
142
+ },
143
+ {
144
+ id: 'pkg:b',
145
+ rootDir: join(dir, 'packages/b'),
146
+ files: [join(dir, 'packages/b/src/b.ts')],
147
+ configPathAbs: join(dir, 'packages/b/tsconfig.json'),
148
+ },
149
+ ];
150
+ const output = {
151
+ signals: [],
152
+ suppressedCount: 0,
153
+ reportLines: ['== Catalog =='],
154
+ };
155
+ graphMocks.runShardedLiveBuild.mockImplementation((_args, _shards, _datastore, onProgress) => {
156
+ onProgress({ type: 'stage-start', stage: 'resolve' });
157
+ onProgress({
158
+ type: 'stage-done',
159
+ stage: 'resolve',
160
+ durationMs: 12,
161
+ detail: '3 call site(s)',
162
+ });
163
+ return Promise.resolve(output);
164
+ });
165
+ writeFileSync(specPath, JSON.stringify({
166
+ cwd: dir,
167
+ resolution: 'exact',
168
+ noCache: true,
169
+ exact: false,
170
+ shards,
171
+ }), 'utf8');
172
+ await executeGraphWorker(specPath, mockCli());
173
+ expect(graphMocks.runShardedLiveBuild).toHaveBeenCalledTimes(1);
174
+ expect(graphMocks.runShardedLiveBuild.mock.calls[0]?.[1]).toEqual(shards);
175
+ const progress = messages.find((m) => m.kind === 'progress');
176
+ expect(progress).toMatchObject({
177
+ kind: 'progress',
178
+ event: {
179
+ type: 'stage-start',
180
+ stage: 'resolve',
181
+ label: 'Link cross-package',
182
+ },
183
+ });
184
+ expect(messages.at(-1)).toEqual({ kind: 'result', value: output });
185
+ });
120
186
  it('reports a bad spec path as an error message, not a throw', async () => {
121
187
  await expect(executeGraphWorker(join(dir, 'missing.json'), mockCli())).resolves.toBeUndefined();
122
188
  const err = messages.find((m) => m.kind === 'error');
@@ -1 +1 @@
1
- {"version":3,"file":"graph-worker.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/graph-worker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-worker.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/graph-worker.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph-command-spec.d.ts","sourceRoot":"","sources":["../../../src/cli/graph/graph-command-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAgBH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAqB,MAAM,mBAAmB,CAAC;AAGxF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAsa3C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CA4FhE,CAAC"}
1
+ {"version":3,"file":"graph-command-spec.d.ts","sourceRoot":"","sources":["../../../src/cli/graph/graph-command-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAgBH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAqB,MAAM,mBAAmB,CAAC;AAGxF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAkb3C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAgGhE,CAAC"}
@@ -81,9 +81,9 @@ async function dispatchGraphLiveView(opts, cli, resolution) {
81
81
  // needs the `cli` context (language registry + datastore) the React runner does
82
82
  // not hold. The SAME policy the static path uses (ADR-0032): sharded when
83
83
  // `--exact` is absent and the project yields >1 shard, exact otherwise. The
84
- // runner reads `shards.length` to pick its transport (in-process sharded vs
85
- // off-process exact worker). `isTTY` is never consulted — engine = exact +
86
- // shardability alone.
84
+ // runner reads `shards.length` to pick engine-aware labels and pass the
85
+ // plain-data shard plan to the worker. `isTTY` is never consulted — engine =
86
+ // exact + shardability alone.
87
87
  const shards = await resolveLiveEngineShards({
88
88
  cwd: opts.cwd,
89
89
  noCache: opts.cache === false,
@@ -97,16 +97,18 @@ async function dispatchGraphLiveView(opts, cli, resolution) {
97
97
  verbose: opts.verbose === true,
98
98
  quiet: opts.quiet === true,
99
99
  resolution,
100
- // The engine selector (`--exact` + the pre-resolved shard set). Sharded runs
101
- // in-process; exact forks the off-process worker (ADR-0028).
100
+ // The engine selector (`--exact` + the pre-resolved shard set). The live
101
+ // runner sends this plain-data plan to the worker (ADR-0028).
102
102
  exact: opts.exact === true,
103
103
  shards,
104
- // The recipe NAME (serializable) for the off-process worker, which
105
- // re-resolves rules itself (ADR-0028); `rules` below is the in-process path.
104
+ // The recipe NAME (serializable) for the worker, which re-resolves rules
105
+ // itself (ADR-0028); `rules` below serves the in-process fallback path.
106
106
  ...(opts.recipe === undefined ? {} : { recipe: opts.recipe }),
107
107
  // Pass the resolved rule subset into the live path. Avoids a second
108
108
  // scope read inside the React tree.
109
- rules: resolveRecipeToRules(recipeSelection.name, { tolerant: recipeSelection.tolerant }),
109
+ rules: resolveRecipeToRules(recipeSelection.name, {
110
+ tolerant: recipeSelection.tolerant,
111
+ }),
110
112
  // Honor the project's `graph:` config block in the interactive
111
113
  // path too — parity with `executeGraph` (graph.ts), which loads
112
114
  // it via the same helper. Loading here (not inside the React
@@ -173,7 +175,10 @@ async function runGraphCommand(rawOpts, cli) {
173
175
  // heap sizing.
174
176
  const hasExplicitScope = paths.length > 0 || opts.workspace === true || typeof opts.language === 'string';
175
177
  if (!hasExplicitScope) {
176
- const reExecing = await runHeapPreflight({ cwd: opts.cwd, verbose: opts.verbose === true });
178
+ const reExecing = await runHeapPreflight({
179
+ cwd: opts.cwd,
180
+ verbose: opts.verbose === true,
181
+ });
177
182
  /* v8 ignore next */
178
183
  if (reExecing)
179
184
  return;
@@ -182,8 +187,8 @@ async function runGraphCommand(rawOpts, cli) {
182
187
  // (the Ink live view vs the static `executeGraph` text/JSON path), NEVER the
183
188
  // build engine. The build engine is chosen downstream — by `--exact` +
184
189
  // shardability alone — and the live view drives WHICHEVER engine that policy
185
- // selects (sharded in-process / exact off-process), so the live runner is
186
- // engine-agnostic. A bare `graph` (sharded default) and `graph --exact` BOTH
190
+ // selects through the worker, so the live runner is engine-agnostic. A bare
191
+ // `graph` (sharded default) and `graph --exact` BOTH
187
192
  // show the staged "Code Graph" checklist in a terminal; both fall through to
188
193
  // the static path when piped. The live view is therefore eligible for any
189
194
  // rendering run — there is no `--exact` gate. Every non-rendering mode (json/
@@ -281,7 +286,10 @@ async function runGraphShowMode(opts, cli) {
281
286
  await emitGraphShowError(opts, cli, 'datastore-unavailable', 'session replay requires a datastore');
282
287
  return;
283
288
  }
284
- const resolved = resolveSession(datastore, { ref: opts.show ?? 'latest', tool: 'graph' });
289
+ const resolved = resolveSession(datastore, {
290
+ ref: opts.show ?? 'latest',
291
+ tool: 'graph',
292
+ });
285
293
  if (!resolved.ok) {
286
294
  await emitGraphShowError(opts, cli, resolved.reason, resolved.detail);
287
295
  return;
@@ -301,7 +309,11 @@ async function runGraphShowMode(opts, cli) {
301
309
  async function emitGraphShowError(opts, cli, reason, detail) {
302
310
  if (opts.json === true) {
303
311
  // emitError sets the exit code itself (process exit == reported outcome).
304
- cli.emitError({ message: detail, exitCode: EXIT_CODES.CONFIGURATION_ERROR, code: reason });
312
+ cli.emitError({
313
+ message: detail,
314
+ exitCode: EXIT_CODES.CONFIGURATION_ERROR,
315
+ code: reason,
316
+ });
305
317
  return;
306
318
  }
307
319
  cli.setExitCode(EXIT_CODES.CONFIGURATION_ERROR);
@@ -375,7 +387,11 @@ export const graphCommandSpec = defineCommand({
375
387
  // process.cwd() by the mounter. graph-specific flags stay declared below.
376
388
  commonFlags: ['cwd', 'json', 'quiet', 'verbose', 'debug', 'reportTo', 'apiKey'],
377
389
  options: [
378
- { flag: '--no-cache', description: 'Skip catalog cache (force full rebuild)', negatable: true },
390
+ {
391
+ flag: '--no-cache',
392
+ description: 'Skip catalog cache (force full rebuild)',
393
+ negatable: true,
394
+ },
379
395
  {
380
396
  flag: '--resolution',
381
397
  value: '<mode>',
@@ -1 +1 @@
1
- {"version":3,"file":"graph-command-spec.js","sourceRoot":"","sources":["../../../src/cli/graph/graph-command-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-command-spec.js","sourceRoot":"","sources":["../../../src/cli/graph/graph-command-spec.ts"],"names":[],"mappings":"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"}