@procedures/lib 0.2.3 → 0.4.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/CHANGELOG.md +89 -0
- package/README.md +19 -40
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +22 -51
- package/dist/module.js.map +1 -1
- package/dist/procedures/lib/graph.d.ts +21 -0
- package/dist/procedures/lib/graph.d.ts.map +1 -0
- package/dist/procedures/lib/graph.js +118 -0
- package/dist/procedures/lib/graph.js.map +1 -0
- package/dist/procedures/lib/index.d.ts +1 -0
- package/dist/procedures/lib/index.d.ts.map +1 -1
- package/dist/procedures/lib/index.js +1 -0
- package/dist/procedures/lib/index.js.map +1 -1
- package/dist/types.d.ts +42 -58
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +27 -89
- package/dist/types.js.map +1 -1
- package/package.json +9 -9
- package/src/index.ts +2 -0
- package/src/module.ts +22 -60
- package/src/procedures/lib/graph.ts +134 -0
- package/src/procedures/lib/index.ts +1 -0
- package/src/types.ts +77 -144
- package/dist/procedures/core/catch.d.ts +0 -33
- package/dist/procedures/core/catch.d.ts.map +0 -1
- package/dist/procedures/core/catch.js +0 -118
- package/dist/procedures/core/catch.js.map +0 -1
- package/dist/procedures/core/index.d.ts +0 -9
- package/dist/procedures/core/index.d.ts.map +0 -1
- package/dist/procedures/core/index.js +0 -8
- package/dist/procedures/core/index.js.map +0 -1
- package/dist/procedures/dag/index.d.ts +0 -5
- package/dist/procedures/dag/index.d.ts.map +0 -1
- package/dist/procedures/dag/index.js +0 -5
- package/dist/procedures/dag/index.js.map +0 -1
- package/dist/procedures/dag/traverse.d.ts +0 -54
- package/dist/procedures/dag/traverse.d.ts.map +0 -1
- package/dist/procedures/dag/traverse.js +0 -252
- package/dist/procedures/dag/traverse.js.map +0 -1
- package/src/procedures/core/catch.ts +0 -142
- package/src/procedures/core/index.ts +0 -9
- package/src/procedures/dag/index.ts +0 -5
- package/src/procedures/dag/traverse.ts +0 -281
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export * from "./module.js";
|
|
7
7
|
export * from "./types.js";
|
|
8
|
-
export { libScan, libRename, libNew, libAudit, } from "./procedures/lib/index.js";
|
|
8
|
+
export { libScan, libRename, libNew, libAudit, libGraph, } from "./procedures/lib/index.js";
|
|
9
|
+
export { findCycles } from "./procedures/lib/graph.js";
|
|
9
10
|
export { ecosystemProcedures, EcosystemProceduresInputSchema, } from "./procedures/ecosystem/index.js";
|
|
10
11
|
export type { EcosystemProceduresInput, EcosystemProceduresOutput, ProcedureInfo, PackageProcedures, } from "./procedures/ecosystem/index.js";
|
|
11
12
|
export { buildDAGNodes, filterDAGFromRoot, getAncestors, getDescendants, buildLeveledDAG, getTopologicalOrder, visualizeDAG, executeDAG, executeDAGSequential, createProcessor, } from "./dag/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,8 @@ export * from "./module.js";
|
|
|
7
7
|
// Re-export types
|
|
8
8
|
export * from "./types.js";
|
|
9
9
|
// Re-export procedures
|
|
10
|
-
export { libScan, libRename, libNew, libAudit, } from "./procedures/lib/index.js";
|
|
10
|
+
export { libScan, libRename, libNew, libAudit, libGraph, } from "./procedures/lib/index.js";
|
|
11
|
+
export { findCycles } from "./procedures/lib/graph.js";
|
|
11
12
|
// Re-export ecosystem procedures
|
|
12
13
|
export { ecosystemProcedures, EcosystemProceduresInputSchema, } from "./procedures/ecosystem/index.js";
|
|
13
14
|
// Re-export DAG utilities (ecosystem-specific)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,uBAAuB;AACvB,OAAO,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,uBAAuB;AACvB,OAAO,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,iCAAiC;AACjC,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,iCAAiC,CAAC;AAQzC,+CAA+C;AAC/C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,0BAA0B;AAC1B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,+FAA+F;AAC/F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAsB,MAAM,gBAAgB,CAAC"}
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA6C,KAAK,eAAe,EAAuC,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAgKlK;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,eASG,CAAC;eAEb,SAAS;AAExB;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,iBAAsC,GAAG,IAAI,CAE5F"}
|
package/dist/module.js
CHANGED
|
@@ -6,14 +6,13 @@
|
|
|
6
6
|
* This is the canonical home for lib.* procedures.
|
|
7
7
|
* client-cli no longer registers these to avoid duplicates.
|
|
8
8
|
*/
|
|
9
|
-
import { createProcedure, zodAdapter,
|
|
9
|
+
import { createProcedure, zodAdapter, defineModule, PROCEDURE_REGISTRY, registerModules } from "@procedures/client";
|
|
10
10
|
import gitModule from "@procedures/git/module";
|
|
11
11
|
import fsModule from "@procedures/fs/module";
|
|
12
|
-
import { libScan, libRename, libNew, libAudit, } from "./procedures/lib/index.js";
|
|
12
|
+
import { libScan, libRename, libNew, libAudit, libGraph, } from "./procedures/lib/index.js";
|
|
13
13
|
import { ecosystemProcedures, EcosystemProceduresInputSchema, EcosystemProceduresOutputSchema, } from "./procedures/ecosystem/index.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { LibScanInputSchema, LibRenameInputSchema, LibNewInputSchema, LibAuditInputSchema, DagTraverseInputSchema, CoreCatchInputSchema, LibScanOutputSchema, LibRenameOutputSchema, LibNewOutputSchema, LibAuditOutputSchema, DagTraverseOutputSchema, CoreCatchOutputSchema, } from "./types.js";
|
|
14
|
+
import { LibScanInputSchema, LibRenameInputSchema, LibNewInputSchema, LibAuditInputSchema, LibScanOutputSchema, LibRenameOutputSchema, LibNewOutputSchema, LibAuditOutputSchema, } from "./types.js";
|
|
15
|
+
import { LibGraphInputSchema, LibGraphOutputSchema } from "./types.js";
|
|
17
16
|
// =============================================================================
|
|
18
17
|
// lib.* Procedures
|
|
19
18
|
// =============================================================================
|
|
@@ -87,6 +86,21 @@ const libAuditProcedure = createProcedure()
|
|
|
87
86
|
return libAudit(input, ctx);
|
|
88
87
|
})
|
|
89
88
|
.build();
|
|
89
|
+
// lib.graph (roadmap R44)
|
|
90
|
+
const libGraphProcedure = createProcedure()
|
|
91
|
+
.path(["lib", "graph"])
|
|
92
|
+
.input(zodAdapter(LibGraphInputSchema))
|
|
93
|
+
.output(zodAdapter(LibGraphOutputSchema))
|
|
94
|
+
.meta({
|
|
95
|
+
description: "The dependency graph of the workspace packages: nodes, workspace: edges, cycles and build levels",
|
|
96
|
+
calls: ["fs.readdir", "fs.read.json"],
|
|
97
|
+
effects: { reads: ["fs"], writes: [] },
|
|
98
|
+
args: [],
|
|
99
|
+
shorts: {},
|
|
100
|
+
output: "json",
|
|
101
|
+
})
|
|
102
|
+
.handler(async (input, ctx) => libGraph(input, ctx))
|
|
103
|
+
.build();
|
|
90
104
|
// =============================================================================
|
|
91
105
|
// ecosystem.* Procedures
|
|
92
106
|
// =============================================================================
|
|
@@ -106,48 +120,8 @@ const ecosystemProceduresProcedure = createProcedure()
|
|
|
106
120
|
return ecosystemProcedures(input, ctx);
|
|
107
121
|
})
|
|
108
122
|
.build();
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
// =============================================================================
|
|
112
|
-
const dagTraverseProcedure = createProcedure()
|
|
113
|
-
.path(["dag", "traverse"])
|
|
114
|
-
.input(zodAdapter(DagTraverseInputSchema))
|
|
115
|
-
.output(zodAdapter(DagTraverseOutputSchema))
|
|
116
|
-
.meta({
|
|
117
|
-
description: "Traverse ecosystem packages in dependency order, executing visit procedure for each",
|
|
118
|
-
// It runs the procedure refs of its input: a server with an expose rule limits what they call
|
|
119
|
-
tags: [RUNS_REFS_TAG],
|
|
120
|
-
// Its own effect is the scan of the workspace. The admission examines each visit call.
|
|
121
|
-
effects: { reads: ["fs"], writes: [] },
|
|
122
|
-
args: [],
|
|
123
|
-
shorts: { root: "r", concurrency: "j", continueOnError: "c", dryRun: "d" },
|
|
124
|
-
output: "streaming",
|
|
125
|
-
})
|
|
126
|
-
.handler(async (input, ctx) => {
|
|
127
|
-
return dagTraverse(input, ctx);
|
|
128
|
-
})
|
|
129
|
-
.build();
|
|
130
|
-
// =============================================================================
|
|
131
|
-
// core.* Procedures
|
|
132
|
-
// =============================================================================
|
|
133
|
-
const coreCatchProcedure = createProcedure()
|
|
134
|
-
.path(["core", "catch"])
|
|
135
|
-
.input(zodAdapter(CoreCatchInputSchema))
|
|
136
|
-
.output(zodAdapter(CoreCatchOutputSchema))
|
|
137
|
-
.meta({
|
|
138
|
-
description: "Execute a procedure with error handling",
|
|
139
|
-
// It runs the procedure refs of its input: a server with an expose rule limits what they call
|
|
140
|
-
tags: [RUNS_REFS_TAG],
|
|
141
|
-
// Control flow: no effects of its own. The admission examines each nested call.
|
|
142
|
-
effects: { reads: [], writes: [] },
|
|
143
|
-
args: [],
|
|
144
|
-
shorts: {},
|
|
145
|
-
output: "json",
|
|
146
|
-
})
|
|
147
|
-
.handler(async (input, ctx) => {
|
|
148
|
-
return coreCatch(input, ctx);
|
|
149
|
-
})
|
|
150
|
-
.build();
|
|
123
|
+
// dag.traverse is in the module of @procedures/dag. It calls lib.scan of this module.
|
|
124
|
+
// core.catch is removed: client.tryCatch of @procedures/client does the same.
|
|
151
125
|
// =============================================================================
|
|
152
126
|
// Registration
|
|
153
127
|
// =============================================================================
|
|
@@ -161,12 +135,9 @@ export const libModule = defineModule("@procedures/lib", [
|
|
|
161
135
|
libRenameProcedure,
|
|
162
136
|
libNewProcedure,
|
|
163
137
|
libAuditProcedure,
|
|
138
|
+
libGraphProcedure,
|
|
164
139
|
// ecosystem.* procedures
|
|
165
140
|
ecosystemProceduresProcedure,
|
|
166
|
-
// dag.* procedures (canonical home)
|
|
167
|
-
dagTraverseProcedure,
|
|
168
|
-
// core.* procedures
|
|
169
|
-
coreCatchProcedure,
|
|
170
141
|
], [fsModule, gitModule]);
|
|
171
142
|
export default libModule;
|
|
172
143
|
/**
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lib.graph procedure (roadmap R44)
|
|
3
|
+
*
|
|
4
|
+
* The dependency graph of the workspace packages (`<root>/packages/*`): one node for each
|
|
5
|
+
* package, and one edge for each dependency with a `workspace:` specifier. The procedure finds
|
|
6
|
+
* the cycles (the strongly connected components, and a package that depends on itself). Without
|
|
7
|
+
* a cycle, it also gives the levels of a build order. It only reads, through `fs.readdir` and
|
|
8
|
+
* `fs.read.json`, so a root of the host confines it as it confines `lib.scan`.
|
|
9
|
+
*/
|
|
10
|
+
import type { ProcedureContext } from "@procedures/client";
|
|
11
|
+
import type { LibGraphInput, LibGraphOutput } from "../../types.js";
|
|
12
|
+
/**
|
|
13
|
+
* The cycles of a graph: each strongly connected component with more than one node, and each
|
|
14
|
+
* node with an edge to itself (Tarjan's algorithm). Each cycle and the list are in name order.
|
|
15
|
+
*/
|
|
16
|
+
export declare function findCycles(names: readonly string[], edges: ReadonlyMap<string, readonly string[]>): string[][];
|
|
17
|
+
/**
|
|
18
|
+
* The dependency graph of the workspace packages
|
|
19
|
+
*/
|
|
20
|
+
export declare function libGraph(input: LibGraphInput, ctx: ProcedureContext): Promise<LibGraphOutput>;
|
|
21
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/procedures/lib/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAgC,aAAa,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAmBhH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAqC9G;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAuDnG"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lib.graph procedure (roadmap R44)
|
|
3
|
+
*
|
|
4
|
+
* The dependency graph of the workspace packages (`<root>/packages/*`): one node for each
|
|
5
|
+
* package, and one edge for each dependency with a `workspace:` specifier. The procedure finds
|
|
6
|
+
* the cycles (the strongly connected components, and a package that depends on itself). Without
|
|
7
|
+
* a cycle, it also gives the levels of a build order. It only reads, through `fs.readdir` and
|
|
8
|
+
* `fs.read.json`, so a root of the host confines it as it confines `lib.scan`.
|
|
9
|
+
*/
|
|
10
|
+
import { join } from "node:path";
|
|
11
|
+
import { buildLeveledDAG } from "@procedures/dag";
|
|
12
|
+
import { packagesDir, resolveWorkspaceRoot } from "../../workspace.js";
|
|
13
|
+
const KINDS = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
|
|
14
|
+
/**
|
|
15
|
+
* The cycles of a graph: each strongly connected component with more than one node, and each
|
|
16
|
+
* node with an edge to itself (Tarjan's algorithm). Each cycle and the list are in name order.
|
|
17
|
+
*/
|
|
18
|
+
export function findCycles(names, edges) {
|
|
19
|
+
let counter = 0;
|
|
20
|
+
const index = new Map();
|
|
21
|
+
const low = new Map();
|
|
22
|
+
const stack = [];
|
|
23
|
+
const onStack = new Set();
|
|
24
|
+
const cycles = [];
|
|
25
|
+
const visit = (name) => {
|
|
26
|
+
index.set(name, counter);
|
|
27
|
+
low.set(name, counter);
|
|
28
|
+
counter++;
|
|
29
|
+
stack.push(name);
|
|
30
|
+
onStack.add(name);
|
|
31
|
+
for (const next of edges.get(name) ?? []) {
|
|
32
|
+
if (!index.has(next)) {
|
|
33
|
+
visit(next);
|
|
34
|
+
low.set(name, Math.min(low.get(name), low.get(next)));
|
|
35
|
+
}
|
|
36
|
+
else if (onStack.has(next)) {
|
|
37
|
+
low.set(name, Math.min(low.get(name), index.get(next)));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (low.get(name) === index.get(name)) {
|
|
41
|
+
const component = [];
|
|
42
|
+
let member;
|
|
43
|
+
do {
|
|
44
|
+
member = stack.pop();
|
|
45
|
+
onStack.delete(member);
|
|
46
|
+
component.push(member);
|
|
47
|
+
} while (member !== name);
|
|
48
|
+
const selfEdge = component.length === 1 && (edges.get(name) ?? []).includes(name);
|
|
49
|
+
if (component.length > 1 || selfEdge)
|
|
50
|
+
cycles.push(component.sort());
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
for (const name of names)
|
|
54
|
+
if (!index.has(name))
|
|
55
|
+
visit(name);
|
|
56
|
+
return cycles.sort((a, b) => a[0].localeCompare(b[0]));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The dependency graph of the workspace packages
|
|
60
|
+
*/
|
|
61
|
+
export async function libGraph(input, ctx) {
|
|
62
|
+
const root = resolveWorkspaceRoot(input.rootPath);
|
|
63
|
+
const dir = packagesDir(root);
|
|
64
|
+
const warnings = [];
|
|
65
|
+
const listing = await ctx.client.call(["fs", "readdir"], { path: dir });
|
|
66
|
+
const packages = [];
|
|
67
|
+
for (const entry of listing.entries.filter((item) => item.type === "directory").sort((a, b) => a.name.localeCompare(b.name))) {
|
|
68
|
+
const path = join(dir, entry.name, "package.json");
|
|
69
|
+
try {
|
|
70
|
+
const { data } = await ctx.client.call(["fs", "read.json"], { path });
|
|
71
|
+
const manifest = data;
|
|
72
|
+
if (typeof manifest.name !== "string" || manifest.name.length === 0) {
|
|
73
|
+
warnings.push({ path, issue: "package.json has no name" });
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
packages.push({ folder: entry.name, manifest });
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
warnings.push({ path, issue: `Failed to read package.json: ${error instanceof Error ? error.message : String(error)}` });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const names = new Set(packages.map((pkg) => pkg.manifest.name));
|
|
83
|
+
const nodes = [];
|
|
84
|
+
const edges = [];
|
|
85
|
+
const adjacency = new Map();
|
|
86
|
+
for (const { folder, manifest } of packages) {
|
|
87
|
+
const name = manifest.name;
|
|
88
|
+
const node = { name, folder };
|
|
89
|
+
if (typeof manifest.version === "string")
|
|
90
|
+
node.version = manifest.version;
|
|
91
|
+
if (typeof manifest.private === "boolean")
|
|
92
|
+
node.private = manifest.private;
|
|
93
|
+
nodes.push(node);
|
|
94
|
+
const targets = new Set();
|
|
95
|
+
for (const kind of KINDS) {
|
|
96
|
+
for (const [dependency, spec] of Object.entries(manifest[kind] ?? {})) {
|
|
97
|
+
if (typeof spec !== "string" || !spec.startsWith("workspace:"))
|
|
98
|
+
continue;
|
|
99
|
+
if (!names.has(dependency)) {
|
|
100
|
+
warnings.push({ path: join(dir, folder, "package.json"), issue: `${dependency} (${spec}) is not a package of the workspace` });
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
edges.push({ from: name, to: dependency, kind, spec });
|
|
104
|
+
targets.add(dependency);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
adjacency.set(name, [...targets].sort());
|
|
108
|
+
}
|
|
109
|
+
nodes.sort((a, b) => a.name.localeCompare(b.name));
|
|
110
|
+
const cycles = findCycles(nodes.map((node) => node.name), adjacency);
|
|
111
|
+
const output = { root, nodes, edges, acyclic: cycles.length === 0, cycles, warnings };
|
|
112
|
+
if (cycles.length === 0) {
|
|
113
|
+
const dagNodes = new Map(nodes.map((node) => [node.name, { id: node.name, dependencies: adjacency.get(node.name) ?? [] }]));
|
|
114
|
+
output.levels = buildLeveledDAG(dagNodes).levels.map((level) => level.map((node) => node.id).sort());
|
|
115
|
+
}
|
|
116
|
+
return output;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/procedures/lib/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/procedures/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/procedures/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/procedures/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/procedures/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -183,66 +183,50 @@ export interface LibAuditOutput {
|
|
|
183
183
|
invalid: number;
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
|
-
/**
|
|
187
|
-
* Schema for $proc references with $when control.
|
|
188
|
-
*/
|
|
189
|
-
declare const ProcRefSchema: z.ZodObject<{
|
|
190
|
-
$proc: z.ZodArray<z.ZodString>;
|
|
191
|
-
input: z.ZodOptional<z.ZodUnknown>;
|
|
192
|
-
$when: z.ZodOptional<z.ZodString>;
|
|
193
|
-
$name: z.ZodOptional<z.ZodString>;
|
|
194
|
-
}>;
|
|
195
|
-
export declare const DagTraverseInputSchema: z.ZodObject<{
|
|
196
|
-
visit: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, typeof ProcRefSchema]>;
|
|
197
|
-
filter: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
198
|
-
root: z.ZodOptional<z.ZodString>;
|
|
199
|
-
rootPath: z.ZodOptional<z.ZodString>;
|
|
200
|
-
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
201
|
-
serialize: z.ZodDefault<z.ZodEnum<{
|
|
202
|
-
auto: "auto";
|
|
203
|
-
repository: "repository";
|
|
204
|
-
none: "none";
|
|
205
|
-
}>>;
|
|
206
|
-
continueOnError: z.ZodDefault<z.ZodBoolean>;
|
|
207
|
-
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
208
|
-
}>;
|
|
209
|
-
export type DagTraverseInput = z.infer<typeof DagTraverseInputSchema>;
|
|
210
|
-
export interface TraverseNodeResult {
|
|
211
|
-
name: string;
|
|
212
|
-
path: string;
|
|
213
|
-
success: boolean;
|
|
214
|
-
duration: number;
|
|
215
|
-
error?: string | undefined;
|
|
216
|
-
output?: unknown | undefined;
|
|
217
|
-
}
|
|
218
|
-
export interface DagTraverseOutput {
|
|
219
|
-
success: boolean;
|
|
220
|
-
results: TraverseNodeResult[];
|
|
221
|
-
totalDuration: number;
|
|
222
|
-
visited: number;
|
|
223
|
-
failed: number;
|
|
224
|
-
}
|
|
225
|
-
export declare const CoreCatchInputSchema: z.ZodObject<{
|
|
226
|
-
try: z.ZodUnknown;
|
|
227
|
-
handler: z.ZodOptional<z.ZodUnknown>;
|
|
228
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
229
|
-
}>;
|
|
230
|
-
export type CoreCatchInput = z.infer<typeof CoreCatchInputSchema>;
|
|
231
|
-
export interface CoreCatchOutput {
|
|
232
|
-
/** Whether the try succeeded */
|
|
233
|
-
success: boolean;
|
|
234
|
-
/** Result from try (if success) or handler decision */
|
|
235
|
-
result?: unknown | undefined;
|
|
236
|
-
/** Error message if failed */
|
|
237
|
-
error?: string | undefined;
|
|
238
|
-
/** Whether execution should continue (from handler) */
|
|
239
|
-
continue: boolean;
|
|
240
|
-
}
|
|
241
186
|
export declare const LibScanOutputSchema: z.ZodType<LibScanOutput>;
|
|
242
187
|
export declare const LibRenameOutputSchema: z.ZodType<LibRenameOutput>;
|
|
243
188
|
export declare const LibNewOutputSchema: z.ZodType<LibNewOutput>;
|
|
244
189
|
export declare const LibAuditOutputSchema: z.ZodType<LibAuditOutput>;
|
|
245
|
-
|
|
246
|
-
export
|
|
247
|
-
export {
|
|
190
|
+
/** The fields of package.json that give the edges of the graph. */
|
|
191
|
+
export type DependencyKind = "dependencies" | "devDependencies" | "peerDependencies" | "optionalDependencies";
|
|
192
|
+
export interface LibGraphInput {
|
|
193
|
+
/** The workspace root (default: the pnpm workspace that contains client-lib) */
|
|
194
|
+
rootPath?: string | undefined;
|
|
195
|
+
}
|
|
196
|
+
export interface LibGraphNode {
|
|
197
|
+
/** The name in package.json */
|
|
198
|
+
name: string;
|
|
199
|
+
/** The folder in packages/ */
|
|
200
|
+
folder: string;
|
|
201
|
+
version?: string | undefined;
|
|
202
|
+
private?: boolean | undefined;
|
|
203
|
+
}
|
|
204
|
+
export interface LibGraphEdge {
|
|
205
|
+
/** The package that depends */
|
|
206
|
+
from: string;
|
|
207
|
+
/** The package that it depends on */
|
|
208
|
+
to: string;
|
|
209
|
+
kind: DependencyKind;
|
|
210
|
+
/** The specifier, for example workspace:* */
|
|
211
|
+
spec: string;
|
|
212
|
+
}
|
|
213
|
+
export interface LibGraphOutput {
|
|
214
|
+
/** The workspace root */
|
|
215
|
+
root: string;
|
|
216
|
+
nodes: LibGraphNode[];
|
|
217
|
+
edges: LibGraphEdge[];
|
|
218
|
+
/** True when the graph has no cycle */
|
|
219
|
+
acyclic: boolean;
|
|
220
|
+
/** Each cycle: the packages of a strongly connected component, in name order */
|
|
221
|
+
cycles: string[][];
|
|
222
|
+
/** Without a cycle: the packages in levels. Level 0 depends on no workspace package. */
|
|
223
|
+
levels?: string[][] | undefined;
|
|
224
|
+
/** The folders that the procedure could not read */
|
|
225
|
+
warnings: Array<{
|
|
226
|
+
path: string;
|
|
227
|
+
issue: string;
|
|
228
|
+
}>;
|
|
229
|
+
}
|
|
230
|
+
export declare const LibGraphInputSchema: z.ZodType<LibGraphInput>;
|
|
231
|
+
export declare const LibGraphOutputSchema: z.ZodType<LibGraphOutput>;
|
|
248
232
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|