@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 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` (default: from config or `main`) |
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":"AAeA,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,CAmIpE"}
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"}
@@ -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 changedFiles = (0, compare_js_1.getChangedFiles)(base, repoRoot);
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":";;AAyBA,sCAmIC;AA5JD,yCAAoC;AACpC,8CAA4E;AAC5E,4CAAyC;AACzC,gEAG+B;AAC/B,gEAAgE;AAChE,4CAKqB;AAYd,KAAK,UAAU,aAAa,CAAC,IAAiB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAA;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAA;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAA;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAA;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE3E,iCAAiC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,IAAA,6CAAuB,EAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAEhE,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACV,IAAA,4BAAgB,EAAC;gBAChB,SAAS,EAAE,GAAG;gBACd,YAAY,EAAE,CAAC;gBACf,iBAAiB,EAAE,CAAC;gBACpB,cAAc,EAAE,CAAC;gBACjB,SAAS,EAAE,EAAE;aACb,CAAC,CACF,CAAA;QACF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;QACzD,CAAC;QACD,OAAM;IACP,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,SAAS,WAAW,CAAC,cAAc,eAAe,WAAW,CAAC,OAAO,CAAC,IAAI,yBAAyB,CACnG,CAAA;IAED,iCAAiC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,MAAM,IAAA,0CAAoB,EAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAElE,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,IAAA,wBAAW,EAAC,GAAG,CAAC,CAAA;IACjC,MAAM,YAAY,GAAG,IAAA,4BAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,IAAA,oBAAQ,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAE3C,mEAAmE;IACnE,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CACtD,CAAA;IAED,IAAI,mBAAgC,CAAA;IAEpC,IAAI,GAAG,EAAE,CAAC;QACT,mBAAmB,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,oBAAQ,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CACrE,CAAA;IACF,CAAC;SAAM,CAAC;QACP,uFAAuF;QACvF,mDAAmD;QACnD,6FAA6F;QAC7F,mBAAmB,GAAG,IAAA,4CAAsB,EAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAE5E,wCAAwC;QACxC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,IAAA,oBAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,CACxB,CAAA;QACD,MAAM,YAAY,GAAG,IAAA,4CAAsB,EAC1C,uBAAuB,EACvB,KAAK,CAAC,UAAU,CAChB,CAAA;QACD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC/B,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC5B,CAAC;IACF,CAAC;IAED,IAAI,mBAAmB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACV,IAAA,4BAAgB,EAAC;gBAChB,SAAS,EAAE,GAAG;gBACd,YAAY,EAAE,oBAAoB,CAAC,MAAM;gBACzC,iBAAiB,EAAE,CAAC;gBACpB,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,SAAS,EAAE,EAAE;aACb,CAAC,CACF,CAAA;QACF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC/D,CAAC;QACD,OAAM;IACP,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,mBAAmB,CAAC,IAAI,6CAA6C,IAAI,OAAO,CACnF,CAAA;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAc,EAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAEzE,iBAAiB;IACjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAA;IACvD,MAAM,UAAU,GAAG,IAAA,2BAAe,EACjC,UAAU,EACV,oBAAoB,CAAC,MAAM,EAC3B,WAAW,CAAC,cAAc,EAC1B,GAAG,EACH,gBAAgB,CAChB,CAAA;IAED,MAAM,aAAa,GAAkB;QACpC,OAAO;QACP,IAAI;QACJ,SAAS;QACT,GAAG;KACH,CAAA;IAED,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,IAAA,4BAAgB,EAAC,UAAU,CAAC,CAAC,CAAA;IAC1C,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,IAAA,4BAAgB,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,wDAAwD;IACxD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;QAC3E,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,2CAA2C,SAAS,WAAW,CAC/D,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;IACF,CAAC;AACF,CAAC"}
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":"AAOA,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,CAkCf"}
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
- process.stderr.write(`Bundling ${entryPoint} (current vs ${base})...\n`);
19
- const { currentPath, basePath } = await (0, visualize_js_1.visualizeDiff)(entryPoint, config, cwd, base, vizOptions);
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":";;AAiBA,0CAqCC;AAtDD,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,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,UAAU,gBAAgB,IAAI,QAAQ,CAAC,CAAA;QACxE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,4BAAa,EACpD,UAAU,EACV,MAAM,EACN,GAAG,EACH,IAAI,EACJ,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"}
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 branch and HEAD.
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(base: string, repoRoot: string): string[];
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
- * Run a function against a git worktree checked out at the given branch.
43
+ * Resolve the merge-base (divergence point) of the base branch and HEAD.
42
44
  *
43
- * Creates a temporary worktree, symlinks node_modules, calls `fn` with the
44
- * worktree-equivalent of `cwd`, and cleans up afterwards.
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>(branch: string, cwd: string, fn: (worktreeCwd: string) => Promise<T>): Promise<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
@@ -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;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAcxE;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,GACT,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AA2BD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,CAAC,EACnC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,CAAC,CAAC,CA6BZ"}
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 branch and HEAD.
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(base, repoRoot) {
20
- try {
21
- const output = (0, node_child_process_1.execSync)(`git diff --name-only ${base}...HEAD`, {
22
- cwd: repoRoot,
23
- encoding: "utf-8",
24
- });
25
- return output
26
- .trim()
27
- .split("\n")
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 on base branch using git worktree
100
- const base = await bundleOnBase(affectedEntryPoints, config, cwd, config.base);
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
- * Run a function against a git worktree checked out at the given branch.
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
- * Creates a temporary worktree, symlinks node_modules, calls `fn` with the
143
- * worktree-equivalent of `cwd`, and cleans up afterwards.
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(branch, cwd, fn) {
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, branch) {
174
- return withWorktree(branch, cwd, async (worktreeCwd) => {
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);
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":";;AA8BA,0CAcC;AAKD,kCAKC;AAQD,4CAgCC;AAED,oCAgBC;AAOD,wCA6BC;AAiCD,oCAiCC;AAtND,2DAA6C;AAC7C,qCAA4D;AAC5D,qCAAgC;AAChC,yCAAmD;AACnD,qCAA8C;AAE9C,2DAAyD;AAoBzD;;;GAGG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,QAAgB;IAC7D,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAA,6BAAQ,EAAC,wBAAwB,IAAI,SAAS,EAAE;YAC9D,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAA;QACF,OAAO,MAAM;aACX,IAAI,EAAE;aACN,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACR,+EAA+E;QAC/E,OAAO,EAAE,CAAA;IACV,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAW;IACtC,OAAO,IAAA,6BAAQ,EAAC,+BAA+B,EAAE;QAChD,GAAG;QACH,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC,IAAI,EAAE,CAAA;AACV,CAAC;AAED,MAAM,UAAU,GAAG,EAAE,CAAA;AAErB;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACrC,WAAmC,EACnC,MAA4B,EAC5B,GAAW;IAEX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,GAAG,EAAE,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;QAC/C,MAAM,KAAK,GAA2B,EAAE,CAAA;QACxC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,uCAAmB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAA;QAE9D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACtD,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACnB,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAA;AAChB,CAAC;AAED,SAAgB,YAAY,CAAC,QAAkB;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE3C,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/D,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;QACjC,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;YACzC,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;YAChD,CAAC;YAED,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5D,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CACnC,mBAAgC,EAChC,MAA4B,EAC5B,GAAW;IAEX,gDAAgD;IAChD,MAAM,WAAW,GAA2B,EAAE,CAAA;IAC9C,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACtC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAEhE,2CAA2C;IAC3C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAE9E,yCAAyC;IACzC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IACxC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAA;IAE5C,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,QAAgB;IACnD,IAAI,CAAC;QACJ,IAAA,6BAAQ,EAAC,2BAA2B,MAAM,GAAG,EAAE;YAC9C,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACb,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACR,sCAAsC;QACtC,MAAM,MAAM,GAAG,UAAU,MAAM,EAAE,CAAA;QACjC,IAAA,6BAAQ,EAAC,2BAA2B,MAAM,GAAG,EAAE;YAC9C,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACb,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACd,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CACjC,MAAc,EACd,GAAW,EACX,EAAuC;IAEvC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,WAAW,GAAG,IAAA,oBAAQ,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,uBAAuB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAExE,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACxC,IAAA,6BAAQ,EAAC,qBAAqB,YAAY,MAAM,GAAG,YAAY,EAAE;YAChE,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACb,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAEnD,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAE5D,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,CAAA;IAC7B,CAAC;YAAS,CAAC;QACV,IAAI,CAAC;YACJ,IAAA,6BAAQ,EAAC,wBAAwB,YAAY,WAAW,EAAE;gBACzD,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACb,CAAC,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACR,sBAAsB;QACvB,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAC1B,WAAwB,EACxB,MAA4B,EAC5B,GAAW,EACX,MAAc;IAEd,OAAO,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QACtD,MAAM,mBAAmB,GAA2B,EAAE,CAAA;QACtD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAC1C,IAAI,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,mBAAmB,CAAC,EAAE,CAAC,GAAG,YAAY,CAAA;YACvC,CAAC;QACF,CAAC;QAED,OAAO,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAC1B,GAAW,EACX,WAAmB,EACnB,QAAgB,EAChB,YAAoB;IAEpB,6BAA6B;IAC7B,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IACrD,IAAI,IAAA,oBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,oBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QACxD,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,IAAA,qBAAW,EAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,iDAAiD;IACjD,MAAM,cAAc,GAAG,IAAA,gBAAI,EAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IAC1D,IAAI,IAAA,oBAAU,EAAC,cAAc,CAAC,IAAI,CAAC,IAAA,oBAAU,EAAC,eAAe,CAAC,EAAE,CAAC;QAChE,IAAA,qBAAW,EAAC,cAAc,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;AACF,CAAC"}
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";
@@ -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,2CAQqB;AANpB,8GAAA,gBAAgB,OAAA;AAEhB,4GAAA,cAAc,OAAA;AACd,6GAAA,eAAe,OAAA;AACf,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"}
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"}
@@ -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
  }>;
@@ -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,CA+BpD"}
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
- const baseHtml = await (0, compare_js_1.withWorktree)(base, cwd, (worktreeCwd) => buildAndVisualize(entryPoint, config, worktreeCwd, options));
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;
@@ -1 +1 @@
1
- {"version":3,"file":"visualize.js","sourceRoot":"","sources":["../src/visualize.ts"],"names":[],"mappings":";;AAkBA,4CAoBC;AAED,4CAqCC;AAkBD,kDAEC;AA2CD,kDAkBC;AAED,sCAqCC;AArMD,2DAA6C;AAC7C,qCAAmD;AACnD,yCAAqE;AACrE,qCAA8C;AAC9C,6CAA2C;AAE3C,2DAAyD;AAYzD,SAAgB,gBAAgB,CAAC,QAAkB;IAClD,MAAM,MAAM,GAAuB,EAAE,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAwB,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,cAAc,GAAyB,EAAE,CAAA;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;YAC7B,CAAC;QACF,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACxD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAkB,EAAE,CAAS;IAC7D,4EAA4E;IAC5E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,CAAA;QACpE,CAAC;IACF,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,CACvB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CACvB,CAAA;IAED,yCAAyC;IACzC,MAAM,MAAM,GAAuB,EAAE,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAwB,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,cAAc,GAAyB,EAAE,CAAA;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;YAC7B,CAAC;QACF,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACxD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,GAAW;IACzD,kDAAkD;IAClD,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IACpC,IAAI,IAAA,oBAAU,EAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAE/B,wBAAwB;IACxB,IAAI,CAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,GAAG,EAAE,UAAU,GAAG,GAAG,CAAC,CAAA;YAChD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAA;QAC5C,CAAC;IACF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,mBAAmB,GAAG,GAAG,CAAC,CAAA;AAC/E,CAAC;AAED,SAAgB,mBAAmB,CAAC,UAAkB;IACrD,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,MAA4B,EAC5B,GAAW,EACX,OAAyB;IAEzB,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAEvD,MAAM,SAAS,GAAG,IAAA,uCAAmB,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,CAAA;IACtE,SAAS,CAAC,aAAa,GAAG,GAAG,CAAA;IAE7B,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EAAC,SAAS,CAAC,CAAA;IAErC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACtD,CAAC;IAED,uCAAuC;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,MAAM,CACnC,yCAAyC,CACzC,CAKA,CAAA;IAED,IAAI,QAAQ,GAAG,OAAO,CAAC,iBAAiB;QACvC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;IAElB,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,UAAU;KACjB,CAAC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACxC,UAAkB,EAClB,MAA4B,EAC5B,GAAW,EACX,OAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAEtE,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACjD,MAAM,OAAO,GACZ,OAAO,CAAC,UAAU,IAAI,4BAA4B,SAAS,OAAO,CAAA;IACnE,IAAA,uBAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,IAAA,6BAAQ,EAAC,QAAQ,OAAO,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAEM,KAAK,UAAU,aAAa,CAClC,UAAkB,EAClB,MAA4B,EAC5B,GAAW,EACX,IAAY,EACZ,OAAyB;IAEzB,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAC7E,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9D,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAC3D,CAAA;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAEjD,IAAI,WAAmB,CAAA;IACvB,IAAI,QAAgB,CAAA;IAEpB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAC9C,WAAW,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,GAAG,IAAI,WAAW,GAAG,EAAE,CAAC,CAAA;QAChD,QAAQ,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACP,WAAW,GAAG,4BAA4B,SAAS,eAAe,CAAA;QAClE,QAAQ,GAAG,4BAA4B,SAAS,IAAI,IAAI,OAAO,CAAA;IAChE,CAAC;IAED,IAAA,uBAAa,EAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACvC,IAAA,uBAAa,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEjC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,IAAA,6BAAQ,EAAC,QAAQ,WAAW,EAAE,CAAC,CAAA;QAC/B,IAAA,6BAAQ,EAAC,QAAQ,QAAQ,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"visualize.js","sourceRoot":"","sources":["../src/visualize.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomnieuwland/sls-bundle-analyser",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Analyze bundle size changes for Typescript/Javascript Serverless Framework Lambda functions using esbuild.",
5
5
  "repository": {
6
6
  "type": "git",