@dep-radius/core 0.1.0 → 0.2.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/inventory/installed.d.ts.map +1 -1
- package/dist/inventory/installed.js +31 -16
- package/dist/inventory/since.d.ts +18 -0
- package/dist/inventory/since.d.ts.map +1 -0
- package/dist/inventory/since.js +108 -0
- package/dist/model.d.ts +4 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/options.d.ts +1 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/render/groups.d.ts +1 -0
- package/dist/render/groups.d.ts.map +1 -1
- package/dist/render/groups.js +5 -0
- package/dist/render/index.d.ts +1 -1
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +1 -1
- package/dist/render/json.d.ts +4 -0
- package/dist/render/json.d.ts.map +1 -1
- package/dist/render/json.js +1 -0
- package/dist/render/markdown.d.ts.map +1 -1
- package/dist/render/markdown.js +6 -2
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +31 -2
- package/package.json +1 -1
- package/schema/brief-v1.schema.json +13 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installed.d.ts","sourceRoot":"","sources":["../../src/inventory/installed.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACf;AAGD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA6BtC;
|
|
1
|
+
{"version":3,"file":"installed.d.ts","sourceRoot":"","sources":["../../src/inventory/installed.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACf;AAGD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA6BtC;AA+ED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,gBAAgB,EACtB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,SAAS,CAAC,CAqFpB"}
|
|
@@ -38,6 +38,9 @@ export async function resolveInstalled(fromDir, key, stopAt) {
|
|
|
38
38
|
dir = parent;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
+
// The nearest lockfile, from `root` up to the repository root: a package of a monorepo has none of
|
|
42
|
+
// its own. Outside a repository only `root` itself is looked at, so a stray lockfile in a parent
|
|
43
|
+
// folder never answers for a project.
|
|
41
44
|
async function loadLock(root) {
|
|
42
45
|
const tries = [
|
|
43
46
|
["pnpm-lock.yaml", pnpmLock],
|
|
@@ -46,20 +49,30 @@ async function loadLock(root) {
|
|
|
46
49
|
["yarn.lock", yarnLock],
|
|
47
50
|
["bun.lock", bunLock],
|
|
48
51
|
];
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
const boundary = projectBoundary(root);
|
|
53
|
+
const inRepository = existsSync(join(boundary, ".git"));
|
|
54
|
+
let dir = root;
|
|
55
|
+
for (;;) {
|
|
56
|
+
for (const [file, reader] of tries) {
|
|
57
|
+
const p = join(dir, file);
|
|
58
|
+
if (!existsSync(p))
|
|
59
|
+
continue;
|
|
60
|
+
try {
|
|
61
|
+
const r = reader(await readFile(p, "utf8"));
|
|
62
|
+
if (r)
|
|
63
|
+
return { reader: r, dir };
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// unreadable lockfile: fall through to the next source
|
|
67
|
+
}
|
|
60
68
|
}
|
|
69
|
+
if (!inRepository || dir === boundary)
|
|
70
|
+
return undefined;
|
|
71
|
+
const parent = dirname(dir);
|
|
72
|
+
if (parent === dir)
|
|
73
|
+
return undefined;
|
|
74
|
+
dir = parent;
|
|
61
75
|
}
|
|
62
|
-
return undefined;
|
|
63
76
|
}
|
|
64
77
|
async function patchedNames(root) {
|
|
65
78
|
const names = new Set();
|
|
@@ -117,7 +130,9 @@ export async function buildInventory(root, opts, files) {
|
|
|
117
130
|
const manifests = await findManifests(root, projectFiles);
|
|
118
131
|
const lock = await loadLock(root);
|
|
119
132
|
const patched = await patchedNames(root);
|
|
120
|
-
const
|
|
133
|
+
const lockDir = lock?.dir ?? root;
|
|
134
|
+
const hasPnp = existsSync(join(lockDir, ".pnp.cjs")) ||
|
|
135
|
+
existsSync(join(lockDir, ".pnp.js"));
|
|
121
136
|
const byId = new Map();
|
|
122
137
|
const local = new Set();
|
|
123
138
|
const notAnalyzed = new Map();
|
|
@@ -205,16 +220,16 @@ async function resolveDep(root, m, d, lock, hasPnp) {
|
|
|
205
220
|
}
|
|
206
221
|
}
|
|
207
222
|
if (lock) {
|
|
208
|
-
const hit = lock.lookup(relPath(
|
|
223
|
+
const hit = lock.reader.lookup(relPath(lock.dir, m.dir), d.key, d.spec);
|
|
209
224
|
if (hit) {
|
|
210
225
|
const flags = [];
|
|
211
226
|
if (hit.name !== d.key)
|
|
212
227
|
flags.push("alias");
|
|
213
228
|
return {
|
|
214
|
-
id: `${lock.source}:${hit.name}@${hit.version}`,
|
|
229
|
+
id: `${lock.reader.source}:${hit.name}@${hit.version}`,
|
|
215
230
|
name: hit.name,
|
|
216
231
|
version: hit.version,
|
|
217
|
-
versionSource: lock.source,
|
|
232
|
+
versionSource: lock.reader.source,
|
|
218
233
|
local: false,
|
|
219
234
|
declaredBy: [],
|
|
220
235
|
flags,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { InstalledDep, Inventory, NotAnalyzed } from "../model.ts";
|
|
2
|
+
export interface BaseTree {
|
|
3
|
+
dir: string;
|
|
4
|
+
ref: string;
|
|
5
|
+
commit: string;
|
|
6
|
+
cleanup: () => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function readBaseTree(root: string, ref: string): Promise<BaseTree>;
|
|
9
|
+
export interface SincePlan {
|
|
10
|
+
changed: {
|
|
11
|
+
dep: InstalledDep;
|
|
12
|
+
to: string;
|
|
13
|
+
}[];
|
|
14
|
+
unchanged: number;
|
|
15
|
+
added: NotAnalyzed[];
|
|
16
|
+
}
|
|
17
|
+
export declare function planSince(now: InstalledDep[], base: Pick<Inventory, "installed" | "manifests" | "root">, ref: string): SincePlan;
|
|
18
|
+
//# sourceMappingURL=since.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"since.d.ts","sourceRoot":"","sources":["../../src/inventory/since.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAkBvE,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAMD,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,QAAQ,CAAC,CAkDnB;AAED,MAAM,WAAW,SAAS;IAExB,OAAO,EAAE;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,EAAE,CAAA;CACrB;AAKD,wBAAgB,SAAS,CACvB,GAAG,EAAE,YAAY,EAAE,EACnB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC,EACzD,GAAG,EAAE,MAAM,GACV,SAAS,CAkDX"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { tmpdir } from "node:os";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { execFile } from "node:child_process";
|
|
5
|
+
import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
6
|
+
import semver from "semver";
|
|
7
|
+
import { relPath, SKIP_DIRS } from "./manifests.js";
|
|
8
|
+
const run = promisify(execFile);
|
|
9
|
+
// What decides a dependency's version at a commit. Source files are never needed: usage is
|
|
10
|
+
// always read from the working tree, the code that will run after the change.
|
|
11
|
+
const VERSION_FILES = new Set([
|
|
12
|
+
"package.json",
|
|
13
|
+
"pnpm-lock.yaml",
|
|
14
|
+
"pnpm-workspace.yaml",
|
|
15
|
+
"package-lock.json",
|
|
16
|
+
"npm-shrinkwrap.json",
|
|
17
|
+
"yarn.lock",
|
|
18
|
+
"bun.lock",
|
|
19
|
+
".pnp.cjs",
|
|
20
|
+
".pnp.js",
|
|
21
|
+
]);
|
|
22
|
+
// Writes the manifests and lockfiles of the whole repository at `ref` into a temporary folder, and
|
|
23
|
+
// points at the folder `root` maps to inside it: a package of a monorepo reads the lockfile at the
|
|
24
|
+
// repository root, as it does in the working tree. Nothing is installed there, so versions come
|
|
25
|
+
// from the lockfile.
|
|
26
|
+
export async function readBaseTree(root, ref) {
|
|
27
|
+
const git = (args) => run("git", args, { cwd: root, maxBuffer: 256 * 1024 * 1024 });
|
|
28
|
+
let commit;
|
|
29
|
+
try {
|
|
30
|
+
commit = (await git(["rev-parse", "--verify", "--quiet", `${ref}^{commit}`])).stdout.trim();
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
throw new Error(`--since ${ref}: no such commit here (not a git repository, or the ref is not fetched)`);
|
|
34
|
+
}
|
|
35
|
+
const prefix = (await git(["rev-parse", "--show-prefix"])).stdout.trim();
|
|
36
|
+
const { stdout } = await git([
|
|
37
|
+
"ls-tree",
|
|
38
|
+
"-r",
|
|
39
|
+
"-z",
|
|
40
|
+
"--full-tree",
|
|
41
|
+
"--name-only",
|
|
42
|
+
commit,
|
|
43
|
+
]);
|
|
44
|
+
const paths = stdout.split("\0").filter((p) => {
|
|
45
|
+
const segs = p.split("/");
|
|
46
|
+
return (VERSION_FILES.has(segs.at(-1) ?? "") &&
|
|
47
|
+
!segs.slice(0, -1).some((s) => SKIP_DIRS.has(s)));
|
|
48
|
+
});
|
|
49
|
+
const top = await mkdtemp(join(tmpdir(), "radius-since-"));
|
|
50
|
+
// bounds the node_modules and lockfile walks, as the real repository does
|
|
51
|
+
await mkdir(join(top, ".git"));
|
|
52
|
+
for (const rel of paths) {
|
|
53
|
+
const { stdout: content } = await run("git", ["show", `${commit}:${rel}`], {
|
|
54
|
+
cwd: root,
|
|
55
|
+
encoding: "buffer",
|
|
56
|
+
maxBuffer: 256 * 1024 * 1024,
|
|
57
|
+
});
|
|
58
|
+
await mkdir(dirname(join(top, rel)), { recursive: true });
|
|
59
|
+
await writeFile(join(top, rel), content);
|
|
60
|
+
}
|
|
61
|
+
const dir = join(top, prefix);
|
|
62
|
+
await mkdir(dir, { recursive: true });
|
|
63
|
+
return {
|
|
64
|
+
dir,
|
|
65
|
+
ref,
|
|
66
|
+
commit,
|
|
67
|
+
cleanup: () => rm(top, { recursive: true, force: true }),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// Pairs each dependency of the working tree with the same dependency at the ref, where the same
|
|
71
|
+
// manifest declares it under the same key. Declared somewhere new, it counts as added, even when
|
|
72
|
+
// another manifest has an older version: that one is paired on its own.
|
|
73
|
+
export function planSince(now, base, ref) {
|
|
74
|
+
const plan = { changed: [], unchanged: 0, added: [] };
|
|
75
|
+
const declaration = (manifest, key) => `${manifest}\0${key}`;
|
|
76
|
+
const declaredAtRef = new Set(base.manifests.flatMap((m) => m.deps.map((d) => declaration(relPath(base.root, m.path), d.key))));
|
|
77
|
+
for (const dep of now) {
|
|
78
|
+
const pool = base.installed.filter((b) => b.name === dep.name &&
|
|
79
|
+
b.declaredBy.some((bd) => dep.declaredBy.some((d) => d.manifest === bd.manifest && d.key === bd.key)));
|
|
80
|
+
if (pool.length === 0) {
|
|
81
|
+
plan.added.push({
|
|
82
|
+
pkg: dep.name,
|
|
83
|
+
reason: dep.declaredBy.some((d) => declaredAtRef.has(declaration(d.manifest, d.key)))
|
|
84
|
+
? `its version at ${ref} is unknown (no lockfile entry), so there is nothing to compare`
|
|
85
|
+
: `added since ${ref}, so there is no earlier version to compare`,
|
|
86
|
+
});
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (pool.some((b) => b.version === dep.version)) {
|
|
90
|
+
plan.unchanged++;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
// several earlier versions: the lowest one, so the compared range covers every change
|
|
94
|
+
const prev = [...pool].sort((a, b) => semver.valid(a.version) && semver.valid(b.version)
|
|
95
|
+
? semver.compare(a.version, b.version)
|
|
96
|
+
: a.version.localeCompare(b.version))[0];
|
|
97
|
+
plan.changed.push({
|
|
98
|
+
dep: {
|
|
99
|
+
...dep,
|
|
100
|
+
version: prev.version,
|
|
101
|
+
versionSource: prev.versionSource,
|
|
102
|
+
flags: [...new Set([...dep.flags, ...prev.flags])],
|
|
103
|
+
},
|
|
104
|
+
to: dep.version,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return plan;
|
|
108
|
+
}
|
package/dist/model.d.ts
CHANGED
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/options.d.ts
CHANGED
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAA;IAEf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;CACf;AAGD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAElE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAE9C,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CACvB;AAaD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAI5C;AAED,eAAO,MAAM,kBAAkB,WAAa,CAAA"}
|
package/dist/render/groups.d.ts
CHANGED
|
@@ -13,4 +13,5 @@ export declare function ago(iso: string, now: number): string;
|
|
|
13
13
|
export declare function opaqueLabel(p: PackageBrief): string;
|
|
14
14
|
export declare function coverageLabel(p: PackageBrief): string;
|
|
15
15
|
export declare function surfaceLabel(p: PackageBrief): string;
|
|
16
|
+
export declare function sinceLabel(since: NonNullable<Brief["since"]>): string;
|
|
16
17
|
//# sourceMappingURL=groups.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/render/groups.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAa5D,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAInD;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAUhD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAMrD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAOjE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAIzC;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAanD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBrD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBpD"}
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/render/groups.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAa5D,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAInD;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAUhD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAMrD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAOjE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAIzC;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAanD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBrD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBpD;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAGrE"}
|
package/dist/render/groups.js
CHANGED
|
@@ -103,3 +103,8 @@ export function surfaceLabel(p) {
|
|
|
103
103
|
return `unknown (${s.detail ?? "extraction failed"})`;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
+
// "main (8f74b3b)", or only the short hash when the ref already is a hash, as in a pull request
|
|
107
|
+
export function sinceLabel(since) {
|
|
108
|
+
const short = since.commit.slice(0, 7);
|
|
109
|
+
return since.commit.startsWith(since.ref) ? short : `${since.ref} (${short})`;
|
|
110
|
+
}
|
package/dist/render/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ago, coverageLabel, groupBriefs, type Groups, isUnseenOnly, oneNetOnly, opaqueLabel, siteLabel, sitesFor, surfaceLabel, } from "./groups.ts";
|
|
1
|
+
export { ago, coverageLabel, groupBriefs, type Groups, isUnseenOnly, oneNetOnly, opaqueLabel, sinceLabel, siteLabel, sitesFor, surfaceLabel, } from "./groups.ts";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,GAAG,EACH,aAAa,EACb,WAAW,EACX,KAAK,MAAM,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,GACb,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,GAAG,EACH,aAAa,EACb,WAAW,EACX,KAAK,MAAM,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,GACb,MAAM,aAAa,CAAA"}
|
package/dist/render/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Building blocks for a renderer of your own: how briefs are grouped and labelled, shared by the
|
|
2
2
|
// markdown renderer here and the terminal renderer of the CLI.
|
|
3
|
-
export { ago, coverageLabel, groupBriefs, isUnseenOnly, oneNetOnly, opaqueLabel, siteLabel, sitesFor, surfaceLabel, } from "./groups.js";
|
|
3
|
+
export { ago, coverageLabel, groupBriefs, isUnseenOnly, oneNetOnly, opaqueLabel, sinceLabel, siteLabel, sitesFor, surfaceLabel, } from "./groups.js";
|
package/dist/render/json.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/render/json.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/render/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAKL,aAAa,EACd,MAAM,aAAa,CAAA;AAMpB,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;IACvC,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,EAAE,CAAA;YAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAA;YAC5C,SAAS,EAAE,OAAO,GAAG,SAAS,CAAA;YAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;YACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;YAChB,KAAK,EAAE,MAAM,EAAE,CAAA;SAChB,EAAE,CAAA;KACJ,CAAA;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAA;YACf,MAAM,EAAE,MAAM,CAAA;YACd,MAAM,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;YACtC,MAAM,CAAC,EAAE,MAAM,CAAA;SAChB,EAAE,CAAA;QACH,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAA;YACf,KAAK,EAAE,MAAM,CAAA;YACb,QAAQ,EAAE,OAAO,CAAA;YACjB,MAAM,EAAE,OAAO,CAAA;YACf,IAAI,EAAE,MAAM,EAAE,CAAA;YACd,KAAK,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SACzE,EAAE,CAAA;QACH,kBAAkB,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAA;KACzE,CAAA;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;QAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACrC,SAAS,EAAE,WAAW,EAAE,CAAA;KACzB,CAAA;IACD,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACrE,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAClD;AAED,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,CAAC,CAAA;IAChB,IAAI,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC/C,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CA+B9C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE/C"}
|
package/dist/render/json.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/render/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/render/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAA;AActD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAyChE"}
|
package/dist/render/markdown.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ago, coverageLabel, groupBriefs, oneNetOnly, opaqueLabel, siteLabel, sitesFor, surfaceLabel, } from "./groups.js";
|
|
1
|
+
import { ago, coverageLabel, groupBriefs, oneNetOnly, opaqueLabel, sinceLabel, siteLabel, sitesFor, surfaceLabel, } from "./groups.js";
|
|
2
2
|
// A pull request comment: one table, then a section per package that needs a look.
|
|
3
3
|
export function renderMarkdown(brief, now) {
|
|
4
4
|
const g = groupBriefs(brief);
|
|
@@ -6,8 +6,12 @@ export function renderMarkdown(brief, now) {
|
|
|
6
6
|
const icon = { blocked: "🛑 blocked", review: "👀 review", quiet: "✅ quiet" };
|
|
7
7
|
out.push("### radius");
|
|
8
8
|
out.push("");
|
|
9
|
+
if (brief.since)
|
|
10
|
+
out.push(`Dependency changes since ${sinceLabel(brief.since)}.`, "");
|
|
9
11
|
if (brief.packages.length === 0) {
|
|
10
|
-
out.push(
|
|
12
|
+
out.push(brief.since
|
|
13
|
+
? "No direct dependency changed version."
|
|
14
|
+
: "No dependency has an eligible update.");
|
|
11
15
|
return `${out.join("\n")}\n`;
|
|
12
16
|
}
|
|
13
17
|
out.push("| package | update | verdict | surface changes | changes you touch | notes mentioning you |");
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,GAAG,EAER,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EACV,KAAK,EAMN,MAAM,YAAY,CAAA;AAEnB,wBAAgB,WAAW,IAAI,MAAM,CAQpC;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI7C;AAED,wBAAsB,GAAG,CACvB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAe,GACxC,OAAO,CAAC,KAAK,CAAC,CA4LhB"}
|
package/dist/run.js
CHANGED
|
@@ -10,6 +10,7 @@ import { getPackument } from "./registry/packument.js";
|
|
|
10
10
|
import { buildInventory } from "./inventory/installed.js";
|
|
11
11
|
import { selectCandidate } from "./registry/candidates.js";
|
|
12
12
|
import { listProjectFiles } from "./inventory/manifests.js";
|
|
13
|
+
import { planSince, readBaseTree } from "./inventory/since.js";
|
|
13
14
|
import { isAgeExcluded, loadRegistryConfig } from "./registry/npmrc.js";
|
|
14
15
|
import { analyzeSurface } from "./surface/analyze.js";
|
|
15
16
|
import { DEFAULT_MIN_AGE_MS, } from "./options.js";
|
|
@@ -34,6 +35,8 @@ export async function run(opts, ctx, onEvent = () => { }) {
|
|
|
34
35
|
const cfg = loadRegistryConfig(root, ctx.env);
|
|
35
36
|
const minAgeMs = opts.minAgeMs ?? cfg.minimumReleaseAgeMs ?? DEFAULT_MIN_AGE_MS;
|
|
36
37
|
const specs = opts.specs.map(parseSpec);
|
|
38
|
+
if (opts.since && (opts.latest || specs.some((s) => s.version)))
|
|
39
|
+
throw new Error("--since compares with a commit, so it takes package names only, without --latest or @version");
|
|
37
40
|
const notAnalyzed = [...inventory.notAnalyzed];
|
|
38
41
|
let targets = inventory.installed;
|
|
39
42
|
if (specs.length > 0) {
|
|
@@ -49,6 +52,27 @@ export async function run(opts, ctx, onEvent = () => { }) {
|
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
}
|
|
55
|
+
let since;
|
|
56
|
+
// with --since, the version a dependency has now is the target, whatever its age
|
|
57
|
+
const sinceTargets = new Map();
|
|
58
|
+
let unchanged = 0;
|
|
59
|
+
if (opts.since) {
|
|
60
|
+
const base = await readBaseTree(root, opts.since);
|
|
61
|
+
let baseInventory;
|
|
62
|
+
try {
|
|
63
|
+
baseInventory = await buildInventory(base.dir, { prod: opts.prod }, await listProjectFiles(base.dir));
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
await base.cleanup();
|
|
67
|
+
}
|
|
68
|
+
since = { ref: base.ref, commit: base.commit };
|
|
69
|
+
const plan = planSince(targets, baseInventory, base.ref);
|
|
70
|
+
targets = plan.changed.map((c) => c.dep);
|
|
71
|
+
for (const c of plan.changed)
|
|
72
|
+
sinceTargets.set(c.dep, c.to);
|
|
73
|
+
unchanged = plan.unchanged;
|
|
74
|
+
notAnalyzed.push(...plan.added);
|
|
75
|
+
}
|
|
52
76
|
const scanned = targets.length > 0
|
|
53
77
|
? await scanUsage(ctx, root, files, inventory, (done, total) => onEvent({ type: "files", done, total }))
|
|
54
78
|
: emptyUsage();
|
|
@@ -74,7 +98,11 @@ export async function run(opts, ctx, onEvent = () => { }) {
|
|
|
74
98
|
minAgeMs,
|
|
75
99
|
ageExcluded: (v) => isAgeExcluded(cfg, dep.name, v),
|
|
76
100
|
latest: opts.latest,
|
|
77
|
-
...(
|
|
101
|
+
...(sinceTargets.has(dep)
|
|
102
|
+
? { explicit: sinceTargets.get(dep) }
|
|
103
|
+
: spec?.version
|
|
104
|
+
? { explicit: spec.version }
|
|
105
|
+
: {}),
|
|
78
106
|
});
|
|
79
107
|
if (choice.kind === "error") {
|
|
80
108
|
notAnalyzed.push({ pkg: dep.name, reason: choice.reason });
|
|
@@ -142,9 +170,10 @@ export async function run(opts, ctx, onEvent = () => { }) {
|
|
|
142
170
|
tool: { version: toolVersion(), typescript: ts.version },
|
|
143
171
|
root,
|
|
144
172
|
generatedAt: new Date(ctx.now).toISOString(),
|
|
173
|
+
...(since ? { since } : {}),
|
|
145
174
|
manifests: inventory.manifests.length,
|
|
146
175
|
packages: briefs,
|
|
147
|
-
upToDate,
|
|
176
|
+
upToDate: upToDate + unchanged,
|
|
148
177
|
notAnalyzed: dedupeNotAnalyzed(notAnalyzed),
|
|
149
178
|
global: scanned.global,
|
|
150
179
|
limits: limitsFor(briefs, scanned.global),
|
package/package.json
CHANGED
|
@@ -33,6 +33,19 @@
|
|
|
33
33
|
},
|
|
34
34
|
"root": { "type": "string" },
|
|
35
35
|
"generatedAt": { "type": "string", "description": "ISO 8601" },
|
|
36
|
+
"since": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"description": "Present with --since: packages are the dependencies whose version changed between this commit and the working tree, and summary.upToDate counts the unchanged ones",
|
|
39
|
+
"additionalProperties": false,
|
|
40
|
+
"required": ["ref", "commit"],
|
|
41
|
+
"properties": {
|
|
42
|
+
"ref": { "type": "string", "description": "The ref as given" },
|
|
43
|
+
"commit": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"description": "The full commit hash it resolved to"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
36
49
|
"exitCode": {
|
|
37
50
|
"enum": [0, 1, 2],
|
|
38
51
|
"description": "0 quiet, 1 review, 2 blocked: the worst verdict"
|