@tomnieuwland/sls-bundle-analyser 1.3.0 → 1.3.1
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/README.md +5 -3
- package/dist/commands/compare.d.ts.map +1 -1
- package/dist/commands/compare.js +7 -4
- package/dist/commands/compare.js.map +1 -1
- package/dist/commands/visualize.d.ts.map +1 -1
- package/dist/commands/visualize.js +5 -2
- package/dist/commands/visualize.js.map +1 -1
- package/dist/compare.d.ts +23 -7
- package/dist/compare.d.ts.map +1 -1
- package/dist/compare.js +57 -26
- package/dist/compare.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/visualize.d.ts +1 -1
- package/dist/visualize.d.ts.map +1 -1
- package/dist/visualize.js +4 -2
- package/dist/visualize.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,9 +10,11 @@ To get started, run `npx @tomnieuwland/sls-bundle-analyser sizes` in the root of
|
|
|
10
10
|
|
|
11
11
|
Compares bundle sizes between the current branch and a base branch. Builds a dependency graph to determine which functions are affected by code changes, then reports size deltas.
|
|
12
12
|
|
|
13
|
+
The baseline is the **merge-base** (the point where the current branch diverged from the base branch), not the current tip of the base branch. This measures only the effect of this branch's own changes when merged, so it stays accurate even when the base branch moves ahead and touches the same files. In CI, fetch full history (e.g. `actions/checkout` with `fetch-depth: 0`) so the merge-base is reachable — otherwise the command fails with a clear error rather than reporting misleading deltas.
|
|
14
|
+
|
|
13
15
|
| Flag | Description |
|
|
14
16
|
| ---------------------- | ------------------------------------------------------------------------------- |
|
|
15
|
-
| `--base <branch>` | Base branch to compare against (default: from config or `main`)
|
|
17
|
+
| `--base <branch>` | Base branch to compare against, using its merge-base with the current branch (default: from config or `main`) |
|
|
16
18
|
| `--all` | Analyze all functions, not just those affected by changes |
|
|
17
19
|
| `--verbose` | Show per-module breakdown for each function |
|
|
18
20
|
| `--json` | Output raw JSON instead of a text table |
|
|
@@ -40,8 +42,8 @@ Generates an interactive treemap (or sunburst/network diagram) for a single hand
|
|
|
40
42
|
| `--no-open` | Generate the file without opening it in the browser |
|
|
41
43
|
| `--top <n>` | Show only the N largest modules |
|
|
42
44
|
| `--output <path>` | Write HTML to this path instead of opening in the browser |
|
|
43
|
-
| `--diff` | Generate side-by-side visualizations comparing current branch against base
|
|
44
|
-
| `--base <branch>` | Base branch for `--diff
|
|
45
|
+
| `--diff` | Generate side-by-side visualizations comparing current branch against the base merge-base |
|
|
46
|
+
| `--base <branch>` | Base branch for `--diff`, compared at its merge-base (default: from config or `main`) |
|
|
45
47
|
|
|
46
48
|
### `sls-bundle-analyser shared-modules`
|
|
47
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2IpE"}
|
package/dist/commands/compare.js
CHANGED
|
@@ -38,9 +38,12 @@ async function compareAction(opts) {
|
|
|
38
38
|
// Step 2: Build dependency graph
|
|
39
39
|
process.stderr.write("Building dependency graph...\n");
|
|
40
40
|
const graph = await (0, dependency_graph_js_1.buildDependencyGraph)(parseResult, config, cwd);
|
|
41
|
-
// Step 3: Determine affected entry points
|
|
41
|
+
// Step 3: Determine affected entry points.
|
|
42
|
+
// Compare against the merge-base (divergence point) so we measure only this
|
|
43
|
+
// branch's changes, not whatever the base branch did after we branched off.
|
|
42
44
|
const repoRoot = (0, compare_js_1.getRepoRoot)(cwd);
|
|
43
|
-
const
|
|
45
|
+
const mergeBase = (0, compare_js_1.getMergeBase)(base, repoRoot);
|
|
46
|
+
const changedFiles = (0, compare_js_1.getChangedFiles)(mergeBase, repoRoot);
|
|
44
47
|
const cwdRelative = (0, node_path_1.relative)(repoRoot, cwd);
|
|
45
48
|
// Filter changed files to those relevant to this service directory
|
|
46
49
|
const relevantChangedFiles = changedFiles.filter((f) => f.startsWith(`${cwdRelative}/`) || !cwdRelative);
|
|
@@ -75,9 +78,9 @@ async function compareAction(opts) {
|
|
|
75
78
|
}
|
|
76
79
|
return;
|
|
77
80
|
}
|
|
78
|
-
process.stderr.write(`${affectedEntryPoints.size} affected entry points, comparing against ${base}...\n`);
|
|
81
|
+
process.stderr.write(`${affectedEntryPoints.size} affected entry points, comparing against ${base} (merge-base ${mergeBase.slice(0, 8)})...\n`);
|
|
79
82
|
// Step 4: Compare bundles
|
|
80
|
-
const comparison = await (0, compare_js_1.compareBundles)(affectedEntryPoints, config, cwd);
|
|
83
|
+
const comparison = await (0, compare_js_1.compareBundles)(affectedEntryPoints, config, cwd, mergeBase);
|
|
81
84
|
// Step 5: Report
|
|
82
85
|
const includeZeroDelta = opts.includeZeroDelta === true;
|
|
83
86
|
const reportData = (0, report_js_1.buildReportData)(comparison, relevantChangedFiles.length, parseResult.totalFunctions, cwd, includeZeroDelta);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualize.d.ts","sourceRoot":"","sources":["../../src/commands/visualize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visualize.d.ts","sourceRoot":"","sources":["../../src/commands/visualize.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,eAAe,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC,IAAI,CAAC,CAuCf"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.visualizeAction = visualizeAction;
|
|
4
|
+
const compare_js_1 = require("../compare.js");
|
|
4
5
|
const config_js_1 = require("../config.js");
|
|
5
6
|
const visualize_js_1 = require("../visualize.js");
|
|
6
7
|
async function visualizeAction(entryPoint, opts) {
|
|
@@ -15,8 +16,10 @@ async function visualizeAction(entryPoint, opts) {
|
|
|
15
16
|
};
|
|
16
17
|
if (opts.diff) {
|
|
17
18
|
const base = opts.base ?? config.base;
|
|
18
|
-
|
|
19
|
-
const
|
|
19
|
+
// Diff against the merge-base (divergence point), matching the compare command.
|
|
20
|
+
const mergeBase = (0, compare_js_1.getMergeBase)(base, (0, compare_js_1.getRepoRoot)(cwd));
|
|
21
|
+
process.stderr.write(`Bundling ${entryPoint} (current vs ${base} merge-base ${mergeBase.slice(0, 8)})...\n`);
|
|
22
|
+
const { currentPath, basePath } = await (0, visualize_js_1.visualizeDiff)(entryPoint, config, cwd, base, mergeBase, vizOptions);
|
|
20
23
|
process.stderr.write(`Current: ${currentPath}\n`);
|
|
21
24
|
process.stderr.write(`Base: ${basePath}\n`);
|
|
22
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualize.js","sourceRoot":"","sources":["../../src/commands/visualize.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"visualize.js","sourceRoot":"","sources":["../../src/commands/visualize.ts"],"names":[],"mappings":";;AAkBA,0CA0CC;AA5DD,8CAAyD;AACzD,4CAAyC;AACzC,kDAIwB;AAYjB,KAAK,UAAU,eAAe,CACpC,UAAkB,EAClB,IAAmB;IAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,GAAG,CAAC,CAAA;IAE9B,MAAM,UAAU,GAAqB;QACpC,QAAQ,EAAE,IAAI,CAAC,QAA8C;QAC7D,iBAAiB,EAAE,CAAC,IAAI,CAAC,UAAU;QACnC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAClD,UAAU,EAAE,IAAI,CAAC,MAAM;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;KACf,CAAA;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAA;QACrC,gFAAgF;QAChF,MAAM,SAAS,GAAG,IAAA,yBAAY,EAAC,IAAI,EAAE,IAAA,wBAAW,EAAC,GAAG,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,YAAY,UAAU,gBAAgB,IAAI,eAAe,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CACtF,CAAA;QACD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,4BAAa,EACpD,UAAU,EACV,MAAM,EACN,GAAG,EACH,IAAI,EACJ,SAAS,EACT,UAAU,CACV,CAAA;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,WAAW,IAAI,CAAC,CAAA;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAA;IAC/C,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,UAAU,OAAO,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAmB,EACxC,UAAU,EACV,MAAM,EACN,GAAG,EACH,UAAU,CACV,CAAA;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,IAAI,CAAC,CAAA;IAChD,CAAC;AACF,CAAC"}
|
package/dist/compare.d.ts
CHANGED
|
@@ -17,10 +17,12 @@ export interface ComparisonResult {
|
|
|
17
17
|
removedEntryPoints: Set<string>;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Get files changed between the base
|
|
20
|
+
* Get files changed between the merge-base and HEAD.
|
|
21
|
+
* Pass the merge-base SHA from {@link getMergeBase}; this diffs the branch's own
|
|
22
|
+
* changes (what will land when merged), independent of how far the base has moved.
|
|
21
23
|
* Returns paths relative to the repo root.
|
|
22
24
|
*/
|
|
23
|
-
export declare function getChangedFiles(
|
|
25
|
+
export declare function getChangedFiles(mergeBase: string, repoRoot: string): string[];
|
|
24
26
|
/**
|
|
25
27
|
* Find the root of the git repository.
|
|
26
28
|
*/
|
|
@@ -36,12 +38,26 @@ export declare function extractSizes(metafile: Metafile): Map<string, BundleSize
|
|
|
36
38
|
*
|
|
37
39
|
* Uses git worktree to checkout the base branch without disturbing the working directory.
|
|
38
40
|
*/
|
|
39
|
-
export declare function compareBundles(affectedEntryPoints: Set<string>, config: BundleAnalyserConfig, cwd: string): Promise<ComparisonResult>;
|
|
41
|
+
export declare function compareBundles(affectedEntryPoints: Set<string>, config: BundleAnalyserConfig, cwd: string, mergeBase: string): Promise<ComparisonResult>;
|
|
40
42
|
/**
|
|
41
|
-
*
|
|
43
|
+
* Resolve the merge-base (divergence point) of the base branch and HEAD.
|
|
42
44
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
+
* We compare against the merge-base — not the current tip of the base branch —
|
|
46
|
+
* so the analysis measures only the effect of this branch's own changes when
|
|
47
|
+
* merged. Comparing against the tip would conflate those changes with whatever
|
|
48
|
+
* the base branch did after this branch diverged.
|
|
49
|
+
*
|
|
50
|
+
* Throws if the merge-base cannot be determined (e.g. a shallow CI clone that
|
|
51
|
+
* lacks the common ancestor, or unrelated histories), since silently falling
|
|
52
|
+
* back to the tip would produce misleading results.
|
|
53
|
+
*/
|
|
54
|
+
export declare function getMergeBase(base: string, repoRoot: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* Run a function against a git worktree checked out at the given ref.
|
|
57
|
+
*
|
|
58
|
+
* `ref` must be a concrete, already-resolved ref (e.g. a merge-base SHA from
|
|
59
|
+
* {@link getMergeBase}). Creates a temporary worktree, symlinks node_modules,
|
|
60
|
+
* calls `fn` with the worktree-equivalent of `cwd`, and cleans up afterwards.
|
|
45
61
|
*/
|
|
46
|
-
export declare function withWorktree<T>(
|
|
62
|
+
export declare function withWorktree<T>(ref: string, cwd: string, fn: (worktreeCwd: string) => Promise<T>): Promise<T>;
|
|
47
63
|
//# sourceMappingURL=compare.d.ts.map
|
package/dist/compare.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,WAAW,UAAU;IAC1B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAChC,iEAAiE;IACjE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAChC,uFAAuF;IACvF,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC7B,wDAAwD;IACxD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,wDAAwD;IACxD,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B;AAED
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,WAAW,UAAU;IAC1B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAChC,iEAAiE;IACjE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAChC,uFAAuF;IACvF,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC7B,wDAAwD;IACxD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,wDAAwD;IACxD,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAS7E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAID;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CA4BlC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAgBxE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CACnC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AA2BD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwBnE;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,CAAC,EACnC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,CAAC,CAAC,CA4BZ"}
|
package/dist/compare.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.getRepoRoot = getRepoRoot;
|
|
|
5
5
|
exports.bundleAndMeasure = bundleAndMeasure;
|
|
6
6
|
exports.extractSizes = extractSizes;
|
|
7
7
|
exports.compareBundles = compareBundles;
|
|
8
|
+
exports.getMergeBase = getMergeBase;
|
|
8
9
|
exports.withWorktree = withWorktree;
|
|
9
10
|
const node_child_process_1 = require("node:child_process");
|
|
10
11
|
const node_fs_1 = require("node:fs");
|
|
@@ -13,24 +14,20 @@ const node_path_1 = require("node:path");
|
|
|
13
14
|
const esbuild_1 = require("esbuild");
|
|
14
15
|
const esbuild_config_js_1 = require("./esbuild-config.js");
|
|
15
16
|
/**
|
|
16
|
-
* Get files changed between the base
|
|
17
|
+
* Get files changed between the merge-base and HEAD.
|
|
18
|
+
* Pass the merge-base SHA from {@link getMergeBase}; this diffs the branch's own
|
|
19
|
+
* changes (what will land when merged), independent of how far the base has moved.
|
|
17
20
|
* Returns paths relative to the repo root.
|
|
18
21
|
*/
|
|
19
|
-
function getChangedFiles(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.filter((f) => f.length > 0);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
// If the base branch doesn't exist or there's no common ancestor, return empty
|
|
32
|
-
return [];
|
|
33
|
-
}
|
|
22
|
+
function getChangedFiles(mergeBase, repoRoot) {
|
|
23
|
+
const output = (0, node_child_process_1.execSync)(`git diff --name-only ${mergeBase} HEAD`, {
|
|
24
|
+
cwd: repoRoot,
|
|
25
|
+
encoding: "utf-8",
|
|
26
|
+
});
|
|
27
|
+
return output
|
|
28
|
+
.trim()
|
|
29
|
+
.split("\n")
|
|
30
|
+
.filter((f) => f.length > 0);
|
|
34
31
|
}
|
|
35
32
|
/**
|
|
36
33
|
* Find the root of the git repository.
|
|
@@ -88,7 +85,7 @@ function extractSizes(metafile) {
|
|
|
88
85
|
*
|
|
89
86
|
* Uses git worktree to checkout the base branch without disturbing the working directory.
|
|
90
87
|
*/
|
|
91
|
-
async function compareBundles(affectedEntryPoints, config, cwd) {
|
|
88
|
+
async function compareBundles(affectedEntryPoints, config, cwd, mergeBase) {
|
|
92
89
|
// Build entry points map for affected functions
|
|
93
90
|
const entryPoints = {};
|
|
94
91
|
for (const ep of affectedEntryPoints) {
|
|
@@ -96,8 +93,8 @@ async function compareBundles(affectedEntryPoints, config, cwd) {
|
|
|
96
93
|
}
|
|
97
94
|
// Bundle on current branch
|
|
98
95
|
const current = await bundleAndMeasure(entryPoints, config, cwd);
|
|
99
|
-
// Bundle
|
|
100
|
-
const base = await bundleOnBase(affectedEntryPoints, config, cwd,
|
|
96
|
+
// Bundle at the merge-base using git worktree
|
|
97
|
+
const base = await bundleOnBase(affectedEntryPoints, config, cwd, mergeBase);
|
|
101
98
|
// Determine new and removed entry points
|
|
102
99
|
const newEntryPoints = new Set();
|
|
103
100
|
const removedEntryPoints = new Set();
|
|
@@ -137,17 +134,51 @@ function resolveRef(branch, repoRoot) {
|
|
|
137
134
|
}
|
|
138
135
|
}
|
|
139
136
|
/**
|
|
140
|
-
*
|
|
137
|
+
* Resolve the merge-base (divergence point) of the base branch and HEAD.
|
|
138
|
+
*
|
|
139
|
+
* We compare against the merge-base — not the current tip of the base branch —
|
|
140
|
+
* so the analysis measures only the effect of this branch's own changes when
|
|
141
|
+
* merged. Comparing against the tip would conflate those changes with whatever
|
|
142
|
+
* the base branch did after this branch diverged.
|
|
143
|
+
*
|
|
144
|
+
* Throws if the merge-base cannot be determined (e.g. a shallow CI clone that
|
|
145
|
+
* lacks the common ancestor, or unrelated histories), since silently falling
|
|
146
|
+
* back to the tip would produce misleading results.
|
|
147
|
+
*/
|
|
148
|
+
function getMergeBase(base, repoRoot) {
|
|
149
|
+
let ref;
|
|
150
|
+
try {
|
|
151
|
+
ref = resolveRef(base, repoRoot);
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
throw new Error(`Could not resolve base branch '${base}' (tried '${base}' and 'origin/${base}'). ` +
|
|
155
|
+
`In CI, ensure the base branch is fetched (e.g. actions/checkout with fetch-depth: 0).`);
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
return (0, node_child_process_1.execSync)(`git merge-base "${ref}" HEAD`, {
|
|
159
|
+
cwd: repoRoot,
|
|
160
|
+
encoding: "utf-8",
|
|
161
|
+
stdio: "pipe",
|
|
162
|
+
}).trim();
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
throw new Error(`Could not determine the merge-base of '${base}' and HEAD. ` +
|
|
166
|
+
`This usually means the clone is too shallow to contain the common ancestor — ` +
|
|
167
|
+
`in CI, fetch full history (e.g. actions/checkout with fetch-depth: 0).`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Run a function against a git worktree checked out at the given ref.
|
|
141
172
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
173
|
+
* `ref` must be a concrete, already-resolved ref (e.g. a merge-base SHA from
|
|
174
|
+
* {@link getMergeBase}). Creates a temporary worktree, symlinks node_modules,
|
|
175
|
+
* calls `fn` with the worktree-equivalent of `cwd`, and cleans up afterwards.
|
|
144
176
|
*/
|
|
145
|
-
async function withWorktree(
|
|
177
|
+
async function withWorktree(ref, cwd, fn) {
|
|
146
178
|
const repoRoot = getRepoRoot(cwd);
|
|
147
179
|
const cwdRelative = (0, node_path_1.relative)(repoRoot, cwd);
|
|
148
180
|
const worktreePath = (0, node_path_1.join)((0, node_os_1.tmpdir)(), `sls-bundle-analyser-${Date.now()}`);
|
|
149
181
|
try {
|
|
150
|
-
const ref = resolveRef(branch, repoRoot);
|
|
151
182
|
(0, node_child_process_1.execSync)(`git worktree add "${worktreePath}" "${ref}" --detach`, {
|
|
152
183
|
cwd: repoRoot,
|
|
153
184
|
encoding: "utf-8",
|
|
@@ -170,8 +201,8 @@ async function withWorktree(branch, cwd, fn) {
|
|
|
170
201
|
}
|
|
171
202
|
}
|
|
172
203
|
}
|
|
173
|
-
async function bundleOnBase(entryPoints, config, cwd,
|
|
174
|
-
return withWorktree(
|
|
204
|
+
async function bundleOnBase(entryPoints, config, cwd, ref) {
|
|
205
|
+
return withWorktree(ref, cwd, async (worktreeCwd) => {
|
|
175
206
|
const worktreeEntryPoints = {};
|
|
176
207
|
for (const ep of entryPoints) {
|
|
177
208
|
const worktreeFile = (0, node_path_1.join)(worktreeCwd, ep);
|
package/dist/compare.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type BundleSize, bundleAndMeasure, type ComparisonResult, compareBundles, getChangedFiles, getRepoRoot, withWorktree, } from "./compare.js";
|
|
1
|
+
export { type BundleSize, bundleAndMeasure, type ComparisonResult, compareBundles, getChangedFiles, getMergeBase, getRepoRoot, withWorktree, } from "./compare.js";
|
|
2
2
|
export { type BundleAnalyserConfig, loadConfig } from "./config.js";
|
|
3
3
|
export { buildDependencyGraph, type DependencyGraph, getAffectedEntryPoints, } from "./dependency-graph.js";
|
|
4
4
|
export { type HandlerEntry, type ParseResult, parseServerlessHandlers, } from "./parse-serverless.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,OAAO,EACN,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EACN,oBAAoB,EACpB,KAAK,eAAe,EACpB,sBAAsB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,uBAAuB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,UAAU,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,KAAK,gBAAgB,EACrB,aAAa,EACb,mBAAmB,GACnB,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EACN,oBAAoB,EACpB,KAAK,eAAe,EACpB,sBAAsB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,uBAAuB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,UAAU,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,KAAK,gBAAgB,EACrB,aAAa,EACb,mBAAmB,GACnB,MAAM,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.visualizeEntryPoint = exports.visualizeDiff = exports.formatSharedModulesText = exports.formatSharedModulesJson = exports.analyzeSharedModules = exports.formatTextReport = exports.formatJsonReport = exports.buildReportData = exports.parseServerlessHandlers = exports.getAffectedEntryPoints = exports.buildDependencyGraph = exports.loadConfig = exports.withWorktree = exports.getRepoRoot = exports.getChangedFiles = exports.compareBundles = exports.bundleAndMeasure = void 0;
|
|
3
|
+
exports.visualizeEntryPoint = exports.visualizeDiff = exports.formatSharedModulesText = exports.formatSharedModulesJson = exports.analyzeSharedModules = exports.formatTextReport = exports.formatJsonReport = exports.buildReportData = exports.parseServerlessHandlers = exports.getAffectedEntryPoints = exports.buildDependencyGraph = exports.loadConfig = exports.withWorktree = exports.getRepoRoot = exports.getMergeBase = exports.getChangedFiles = exports.compareBundles = exports.bundleAndMeasure = void 0;
|
|
4
4
|
var compare_js_1 = require("./compare.js");
|
|
5
5
|
Object.defineProperty(exports, "bundleAndMeasure", { enumerable: true, get: function () { return compare_js_1.bundleAndMeasure; } });
|
|
6
6
|
Object.defineProperty(exports, "compareBundles", { enumerable: true, get: function () { return compare_js_1.compareBundles; } });
|
|
7
7
|
Object.defineProperty(exports, "getChangedFiles", { enumerable: true, get: function () { return compare_js_1.getChangedFiles; } });
|
|
8
|
+
Object.defineProperty(exports, "getMergeBase", { enumerable: true, get: function () { return compare_js_1.getMergeBase; } });
|
|
8
9
|
Object.defineProperty(exports, "getRepoRoot", { enumerable: true, get: function () { return compare_js_1.getRepoRoot; } });
|
|
9
10
|
Object.defineProperty(exports, "withWorktree", { enumerable: true, get: function () { return compare_js_1.withWorktree; } });
|
|
10
11
|
var config_js_1 = require("./config.js");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CASqB;AAPpB,8GAAA,gBAAgB,OAAA;AAEhB,4GAAA,cAAc,OAAA;AACd,6GAAA,eAAe,OAAA;AACf,0GAAA,YAAY,OAAA;AACZ,yGAAA,WAAW,OAAA;AACX,0GAAA,YAAY,OAAA;AAEb,yCAAmE;AAA/B,uGAAA,UAAU,OAAA;AAC9C,6DAI8B;AAH7B,2HAAA,oBAAoB,OAAA;AAEpB,6HAAA,sBAAsB,OAAA;AAEvB,6DAI8B;AAD7B,8HAAA,uBAAuB,OAAA;AAExB,yCAKoB;AAJnB,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAA;AAGjB,yDAM4B;AAL3B,yHAAA,oBAAoB,OAAA;AACpB,4HAAA,uBAAuB,OAAA;AACvB,4HAAA,uBAAuB,OAAA;AAIxB,+CAIuB;AAFtB,6GAAA,aAAa,OAAA;AACb,mHAAA,mBAAmB,OAAA"}
|
package/dist/visualize.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare function filterThirdParty(metafile: Metafile): Metafile;
|
|
|
12
12
|
export declare function filterTopModules(metafile: Metafile, n: number): Metafile;
|
|
13
13
|
export declare function sanitizeForFilename(entryPoint: string): string;
|
|
14
14
|
export declare function visualizeEntryPoint(entryPoint: string, config: BundleAnalyserConfig, cwd: string, options: VisualizeOptions): Promise<string>;
|
|
15
|
-
export declare function visualizeDiff(entryPoint: string, config: BundleAnalyserConfig, cwd: string, base: string, options: VisualizeOptions): Promise<{
|
|
15
|
+
export declare function visualizeDiff(entryPoint: string, config: BundleAnalyserConfig, cwd: string, base: string, baseRef: string, options: VisualizeOptions): Promise<{
|
|
16
16
|
currentPath: string;
|
|
17
17
|
basePath: string;
|
|
18
18
|
}>;
|
package/dist/visualize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualize.d.ts","sourceRoot":"","sources":["../src/visualize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGvD,KAAK,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAoB7D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAqCxE;AAkBD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AA2CD,wBAAsB,mBAAmB,CACxC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAsB,aAAa,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"visualize.d.ts","sourceRoot":"","sources":["../src/visualize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGvD,KAAK,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAoB7D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAqCxE;AAkBD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AA2CD,wBAAsB,mBAAmB,CACxC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAsB,aAAa,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiCpD"}
|
package/dist/visualize.js
CHANGED
|
@@ -111,9 +111,11 @@ async function visualizeEntryPoint(entryPoint, config, cwd, options) {
|
|
|
111
111
|
}
|
|
112
112
|
return outPath;
|
|
113
113
|
}
|
|
114
|
-
async function visualizeDiff(entryPoint, config, cwd, base, options) {
|
|
114
|
+
async function visualizeDiff(entryPoint, config, cwd, base, baseRef, options) {
|
|
115
115
|
const currentHtml = await buildAndVisualize(entryPoint, config, cwd, options);
|
|
116
|
-
|
|
116
|
+
// baseRef is the merge-base SHA (see getMergeBase); base is the human-readable
|
|
117
|
+
// branch name used only for labels/filenames.
|
|
118
|
+
const baseHtml = await (0, compare_js_1.withWorktree)(baseRef, cwd, (worktreeCwd) => buildAndVisualize(entryPoint, config, worktreeCwd, options));
|
|
117
119
|
const sanitized = sanitizeForFilename(entryPoint);
|
|
118
120
|
let currentPath;
|
|
119
121
|
let basePath;
|
package/dist/visualize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualize.js","sourceRoot":"","sources":["../src/visualize.ts"],"names":[],"mappings":";;AAkBA,4CAoBC;AAED,4CAqCC;AAkBD,kDAEC;AA2CD,kDAkBC;AAED,
|
|
1
|
+
{"version":3,"file":"visualize.js","sourceRoot":"","sources":["../src/visualize.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED