@alwaysmeticulous/cli 2.309.0 → 2.312.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.
Files changed (99) hide show
  1. package/dist/command-utils/__tests__/parse-rewrites.spec.d.ts +2 -0
  2. package/dist/command-utils/__tests__/parse-rewrites.spec.d.ts.map +1 -0
  3. package/dist/command-utils/__tests__/parse-rewrites.spec.js +31 -0
  4. package/dist/command-utils/__tests__/parse-rewrites.spec.js.map +1 -0
  5. package/dist/command-utils/__tests__/warn-regex-rewrites.spec.d.ts +2 -0
  6. package/dist/command-utils/__tests__/warn-regex-rewrites.spec.d.ts.map +1 -0
  7. package/dist/command-utils/__tests__/warn-regex-rewrites.spec.js +140 -0
  8. package/dist/command-utils/__tests__/warn-regex-rewrites.spec.js.map +1 -0
  9. package/dist/command-utils/parse-rewrites.d.ts.map +1 -1
  10. package/dist/command-utils/parse-rewrites.js +6 -3
  11. package/dist/command-utils/parse-rewrites.js.map +1 -1
  12. package/dist/command-utils/warn-regex-rewrites.d.ts +3 -0
  13. package/dist/command-utils/warn-regex-rewrites.d.ts.map +1 -0
  14. package/dist/command-utils/warn-regex-rewrites.js +50 -0
  15. package/dist/command-utils/warn-regex-rewrites.js.map +1 -0
  16. package/dist/commands/agent/coverage-columns.util.d.ts +14 -0
  17. package/dist/commands/agent/coverage-columns.util.d.ts.map +1 -0
  18. package/dist/commands/agent/coverage-columns.util.js +85 -0
  19. package/dist/commands/agent/coverage-columns.util.js.map +1 -0
  20. package/dist/commands/agent/index.d.ts.map +1 -1
  21. package/dist/commands/agent/index.js +7 -5
  22. package/dist/commands/agent/index.js.map +1 -1
  23. package/dist/commands/agent/js-coverage-diff.command.d.ts +0 -1
  24. package/dist/commands/agent/js-coverage-diff.command.d.ts.map +1 -1
  25. package/dist/commands/agent/js-coverage-diff.command.js +9 -16
  26. package/dist/commands/agent/js-coverage-diff.command.js.map +1 -1
  27. package/dist/commands/agent/js-coverage.command.d.ts +12 -11
  28. package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
  29. package/dist/commands/agent/js-coverage.command.js +113 -126
  30. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  31. package/dist/commands/agent/js-coverage.command.spec.js +92 -2
  32. package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
  33. package/dist/commands/agent/screenshot-dom-diff.command.d.ts +0 -1
  34. package/dist/commands/agent/screenshot-dom-diff.command.d.ts.map +1 -1
  35. package/dist/commands/agent/screenshot-dom-diff.command.js +12 -26
  36. package/dist/commands/agent/screenshot-dom-diff.command.js.map +1 -1
  37. package/dist/commands/agent/screenshot-image-files.command.d.ts.map +1 -1
  38. package/dist/commands/agent/screenshot-image-files.command.js +8 -11
  39. package/dist/commands/agent/screenshot-image-files.command.js.map +1 -1
  40. package/dist/commands/agent/screenshot-image.command.d.ts.map +1 -1
  41. package/dist/commands/agent/screenshot-image.command.js +10 -13
  42. package/dist/commands/agent/screenshot-image.command.js.map +1 -1
  43. package/dist/commands/agent/sessions.command.d.ts +20 -0
  44. package/dist/commands/agent/sessions.command.d.ts.map +1 -0
  45. package/dist/commands/agent/sessions.command.js +173 -0
  46. package/dist/commands/agent/sessions.command.js.map +1 -0
  47. package/dist/commands/agent/sessions.command.spec.d.ts +2 -0
  48. package/dist/commands/agent/sessions.command.spec.d.ts.map +1 -0
  49. package/dist/commands/agent/sessions.command.spec.js +215 -0
  50. package/dist/commands/agent/sessions.command.spec.js.map +1 -0
  51. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  52. package/dist/commands/agent/test-run-diffs.command.js +27 -28
  53. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  54. package/dist/commands/agent/test-run-diffs.command.spec.js +8 -8
  55. package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
  56. package/dist/commands/agent/test-run-diffs.utils.d.ts +5 -10
  57. package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
  58. package/dist/commands/agent/test-run-diffs.utils.js +31 -45
  59. package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
  60. package/dist/commands/agent/test-run-diffs.utils.spec.js +37 -100
  61. package/dist/commands/agent/test-run-diffs.utils.spec.js.map +1 -1
  62. package/dist/commands/agent/test-run-for-commit.command.js +9 -9
  63. package/dist/commands/agent/test-run-for-commit.command.js.map +1 -1
  64. package/dist/commands/agent/timeline.command.d.ts.map +1 -1
  65. package/dist/commands/agent/timeline.command.js +8 -12
  66. package/dist/commands/agent/timeline.command.js.map +1 -1
  67. package/dist/commands/agent/timeline.command.spec.js +9 -9
  68. package/dist/commands/agent/timeline.command.spec.js.map +1 -1
  69. package/dist/commands/agent/trigger-test-run.command.d.ts +20 -0
  70. package/dist/commands/agent/trigger-test-run.command.d.ts.map +1 -1
  71. package/dist/commands/agent/trigger-test-run.command.js +55 -6
  72. package/dist/commands/agent/trigger-test-run.command.js.map +1 -1
  73. package/dist/commands/agent/trigger-test-run.command.spec.js +57 -2
  74. package/dist/commands/agent/trigger-test-run.command.spec.js.map +1 -1
  75. package/dist/commands/auth/__tests__/login.command.spec.js +29 -5
  76. package/dist/commands/auth/__tests__/login.command.spec.js.map +1 -1
  77. package/dist/commands/auth/login.command.d.ts +1 -0
  78. package/dist/commands/auth/login.command.d.ts.map +1 -1
  79. package/dist/commands/auth/login.command.js +31 -18
  80. package/dist/commands/auth/login.command.js.map +1 -1
  81. package/dist/commands/ci/generate-sessions.command.d.ts +16 -0
  82. package/dist/commands/ci/generate-sessions.command.d.ts.map +1 -0
  83. package/dist/commands/ci/generate-sessions.command.js +136 -0
  84. package/dist/commands/ci/generate-sessions.command.js.map +1 -0
  85. package/dist/commands/ci/index.d.ts.map +1 -1
  86. package/dist/commands/ci/index.js +4 -2
  87. package/dist/commands/ci/index.js.map +1 -1
  88. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts.map +1 -1
  89. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js +27 -22
  90. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js.map +1 -1
  91. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.spec.d.ts +2 -0
  92. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.spec.d.ts.map +1 -0
  93. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.spec.js +37 -0
  94. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.spec.js.map +1 -0
  95. package/dist/commands/ci/run-with-uploaded-asset-chunks.utils.d.ts +8 -0
  96. package/dist/commands/ci/run-with-uploaded-asset-chunks.utils.d.ts.map +1 -0
  97. package/dist/commands/ci/run-with-uploaded-asset-chunks.utils.js +57 -0
  98. package/dist/commands/ci/run-with-uploaded-asset-chunks.utils.js.map +1 -0
  99. package/package.json +13 -13
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parse-rewrites.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-rewrites.spec.d.ts","sourceRoot":"","sources":["../../../src/command-utils/__tests__/parse-rewrites.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="740dcfe8-c38e-5791-9b37-83659568749f")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const vitest_1 = require("vitest");
6
+ const cli_user_error_1 = require("../../utils/cli-user-error");
7
+ const parse_rewrites_1 = require("../parse-rewrites");
8
+ vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
9
+ initLogger: () => ({ warn: vitest_1.vi.fn() }),
10
+ }));
11
+ (0, vitest_1.describe)("parseRewrites", () => {
12
+ (0, vitest_1.test)("parses valid rewrites", () => {
13
+ const result = (0, parse_rewrites_1.parseRewrites)('[{"source": "**", "destination": "/index.html"}]');
14
+ (0, vitest_1.expect)(result).toEqual([{ source: "**", destination: "/index.html" }]);
15
+ });
16
+ (0, vitest_1.test)("returns empty array for default input", () => {
17
+ (0, vitest_1.expect)((0, parse_rewrites_1.parseRewrites)("[]")).toEqual([]);
18
+ (0, vitest_1.expect)((0, parse_rewrites_1.parseRewrites)(undefined)).toEqual([]);
19
+ });
20
+ (0, vitest_1.test)("throws on invalid JSON", () => {
21
+ (0, vitest_1.expect)(() => (0, parse_rewrites_1.parseRewrites)("not json")).toThrow(cli_user_error_1.CliUserError);
22
+ });
23
+ (0, vitest_1.test)("throws on non-array JSON", () => {
24
+ (0, vitest_1.expect)(() => (0, parse_rewrites_1.parseRewrites)('{"source": "x"}')).toThrow(cli_user_error_1.CliUserError);
25
+ });
26
+ (0, vitest_1.test)("throws when elements lack required properties", () => {
27
+ (0, vitest_1.expect)(() => (0, parse_rewrites_1.parseRewrites)('[{"source": "x"}]')).toThrow(cli_user_error_1.CliUserError);
28
+ });
29
+ });
30
+ //# sourceMappingURL=parse-rewrites.spec.js.map
31
+ //# debugId=740dcfe8-c38e-5791-9b37-83659568749f
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-rewrites.spec.js","sources":["../../../src/command-utils/__tests__/parse-rewrites.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;AAAA,mCAAoD;AACpD,+DAA0D;AAC1D,sDAAkD;AAElD,WAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAE,CAAC,EAAE,EAAE,EAAE,CAAC;CACtC,CAAC,CAAC,CAAC;AAEJ,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,aAAI,EAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,IAAA,8BAAa,EAC1B,kDAAkD,CACnD,CAAC;QACF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,IAAA,eAAM,EAAC,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,IAAA,8BAAa,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,wBAAwB,EAAE,GAAG,EAAE;QAClC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,8BAAa,EAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,6BAAY,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,8BAAa,EAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,6BAAY,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,8BAAa,EAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,6BAAY,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","debugId":"740dcfe8-c38e-5791-9b37-83659568749f"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warn-regex-rewrites.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn-regex-rewrites.spec.d.ts","sourceRoot":"","sources":["../../../src/command-utils/__tests__/warn-regex-rewrites.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="dad0a8ed-7870-540f-b8b9-8c1cd243884d")}catch(e){}}();
3
+
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ const vitest_1 = require("vitest");
39
+ const warn_regex_rewrites_1 = require("../warn-regex-rewrites");
40
+ vitest_1.vi.mock("@alwaysmeticulous/common", () => {
41
+ const warn = vitest_1.vi.fn();
42
+ return {
43
+ initLogger: () => ({ warn }),
44
+ __mockWarn: warn,
45
+ };
46
+ });
47
+ const getMockWarn = async () => {
48
+ const mod = await Promise.resolve().then(() => __importStar(require("@alwaysmeticulous/common")));
49
+ return mod
50
+ .__mockWarn;
51
+ };
52
+ (0, vitest_1.describe)("warnIfRewriteSourcesLookLikeRegexes", () => {
53
+ (0, vitest_1.test)("warns on capture group with quantifier, e.g. (.*)", async () => {
54
+ const warn = await getMockWarn();
55
+ warn.mockClear();
56
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
57
+ { source: "/a/b/(.*)", destination: "/index.html" },
58
+ ]);
59
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("look like regular expressions"));
60
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("/a/b/(.*)"));
61
+ });
62
+ (0, vitest_1.test)("warns on (.+) pattern", async () => {
63
+ const warn = await getMockWarn();
64
+ warn.mockClear();
65
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
66
+ { source: "/path/(.+)", destination: "/index.html" },
67
+ ]);
68
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("/path/(.+)"));
69
+ });
70
+ (0, vitest_1.test)("warns on non-capturing group (?:...)", async () => {
71
+ const warn = await getMockWarn();
72
+ warn.mockClear();
73
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
74
+ { source: "/(?:foo|bar)/page", destination: "/index.html" },
75
+ ]);
76
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("(?:foo|bar)"));
77
+ });
78
+ (0, vitest_1.test)("warns on backslash escape", async () => {
79
+ const warn = await getMockWarn();
80
+ warn.mockClear();
81
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
82
+ { source: "/user/\\d+", destination: "/index.html" },
83
+ ]);
84
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("backslash escape"));
85
+ });
86
+ (0, vitest_1.test)("warns on .* after a slash", async () => {
87
+ const warn = await getMockWarn();
88
+ warn.mockClear();
89
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
90
+ { source: "/api/.*", destination: "/index.html" },
91
+ ]);
92
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("regex wildcard .*"));
93
+ });
94
+ (0, vitest_1.test)("warns on .* at the start of the string", async () => {
95
+ const warn = await getMockWarn();
96
+ warn.mockClear();
97
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
98
+ { source: ".*", destination: "/index.html" },
99
+ ]);
100
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("regex wildcard .*"));
101
+ });
102
+ (0, vitest_1.test)("warns on .+ pattern", async () => {
103
+ const warn = await getMockWarn();
104
+ warn.mockClear();
105
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
106
+ { source: "/api/.+", destination: "/index.html" },
107
+ ]);
108
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("regex quantifier .+"));
109
+ });
110
+ (0, vitest_1.test)("warns on $ end anchor", async () => {
111
+ const warn = await getMockWarn();
112
+ warn.mockClear();
113
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
114
+ { source: "/path$", destination: "/index.html" },
115
+ ]);
116
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("end-of-string anchor"));
117
+ });
118
+ (0, vitest_1.test)("warns on ^ start anchor", async () => {
119
+ const warn = await getMockWarn();
120
+ warn.mockClear();
121
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
122
+ { source: "^/path", destination: "/index.html" },
123
+ ]);
124
+ (0, vitest_1.expect)(warn).toHaveBeenCalledWith(vitest_1.expect.stringContaining("start-of-string anchor"));
125
+ });
126
+ (0, vitest_1.test)("does not warn on valid glob patterns", async () => {
127
+ const warn = await getMockWarn();
128
+ warn.mockClear();
129
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)([
130
+ { source: "**", destination: "/index.html" },
131
+ { source: "/app/**", destination: "/app/index.html" },
132
+ { source: "/files/*.html", destination: "/index.html" },
133
+ { source: "file.*", destination: "/index.html" },
134
+ { source: "*.*", destination: "/index.html" },
135
+ ]);
136
+ (0, vitest_1.expect)(warn).not.toHaveBeenCalled();
137
+ });
138
+ });
139
+ //# sourceMappingURL=warn-regex-rewrites.spec.js.map
140
+ //# debugId=dad0a8ed-7870-540f-b8b9-8c1cd243884d
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn-regex-rewrites.spec.js","sources":["../../../src/command-utils/__tests__/warn-regex-rewrites.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAoD;AACpD,gEAA6E;AAE7E,WAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACvC,MAAM,IAAI,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IACrB,OAAO;QACL,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5B,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC7B,MAAM,GAAG,GAAG,wDAAa,0BAA0B,GAAC,CAAC;IACrD,OAAQ,GAA2D;SAChE,UAAU,CAAC;AAChB,CAAC,CAAC;AAEF,IAAA,iBAAQ,EAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAA,aAAI,EAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE;SACpD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,eAAM,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CACzD,CAAC;QACF,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,eAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;SACrD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,eAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE;SAC5D,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,eAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;SACrD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,eAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAC5C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE;SAClD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,eAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;SAC7C,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,eAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE;SAClD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,eAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;SACjD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,eAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAChD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;SACjD,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,eAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAA,yDAAmC,EAAC;YAClC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;YAC5C,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACrD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE;YACvD,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;YAChD,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE;SAC9C,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","debugId":"dad0a8ed-7870-540f-b8b9-8c1cd243884d"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-rewrites.d.ts","sourceRoot":"","sources":["../../src/command-utils/parse-rewrites.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE;;;;GAIG;AACH,eAAO,MAAM,aAAa,oBACP,MAAM,KACtB,mBAAmB,CAAC,UAAU,CAkChC,CAAC"}
1
+ {"version":3,"file":"parse-rewrites.d.ts","sourceRoot":"","sources":["../../src/command-utils/parse-rewrites.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;;;GAIG;AACH,eAAO,MAAM,aAAa,oBACP,MAAM,KACtB,mBAAmB,CAAC,UAAU,CAoChC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4905220c-3b2e-51ec-9202-bd724dda1214")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c5c0ab1d-6101-58d7-8497-bc76e2f69fd0")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.parseRewrites = void 0;
6
6
  const cli_user_error_1 = require("../utils/cli-user-error");
7
+ const warn_regex_rewrites_1 = require("./warn-regex-rewrites");
7
8
  /**
8
9
  * Parses the `--rewrites` CLI flag's JSON string into the structured array
9
10
  * `AssetUploadMetadata["rewrites"]` expects. Throws a `CliUserError` on
@@ -30,8 +31,10 @@ const parseRewrites = (rewritesString) => {
30
31
  "with 'source' and 'destination' string properties. See " +
31
32
  "https://github.com/vercel/serve-handler?tab=readme-ov-file#rewrites-array for more details.");
32
33
  }
33
- return parsedRewrites;
34
+ const rewrites = parsedRewrites;
35
+ (0, warn_regex_rewrites_1.warnIfRewriteSourcesLookLikeRegexes)(rewrites);
36
+ return rewrites;
34
37
  };
35
38
  exports.parseRewrites = parseRewrites;
36
39
  //# sourceMappingURL=parse-rewrites.js.map
37
- //# debugId=4905220c-3b2e-51ec-9202-bd724dda1214
40
+ //# debugId=c5c0ab1d-6101-58d7-8497-bc76e2f69fd0
@@ -1 +1 @@
1
- {"version":3,"file":"parse-rewrites.js","sources":["../../src/command-utils/parse-rewrites.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,4DAAuD;AAEvD;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAC3B,cAAuB,EACU,EAAE;IACnC,IAAI,cAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,6BAAY,CACpB,sEAAsE;YACpE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,6BAAY,CACpB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAClC,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAC/B,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CACvC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,6BAAY,CACpB,uEAAuE;YACrE,yDAAyD;YACzD,6FAA6F,CAChG,CAAC;IACJ,CAAC;IAED,OAAO,cAAiD,CAAC;AAC3D,CAAC,CAAC;AApCW,QAAA,aAAa,iBAoCxB","debugId":"4905220c-3b2e-51ec-9202-bd724dda1214"}
1
+ {"version":3,"file":"parse-rewrites.js","sources":["../../src/command-utils/parse-rewrites.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,4DAAuD;AACvD,+DAA4E;AAE5E;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAC3B,cAAuB,EACU,EAAE;IACnC,IAAI,cAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,6BAAY,CACpB,sEAAsE;YACpE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,6BAAY,CACpB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAClC,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAC/B,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CACvC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,6BAAY,CACpB,uEAAuE;YACrE,yDAAyD;YACzD,6FAA6F,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,cAAiD,CAAC;IACnE,IAAA,yDAAmC,EAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAtCW,QAAA,aAAa,iBAsCxB","debugId":"c5c0ab1d-6101-58d7-8497-bc76e2f69fd0"}
@@ -0,0 +1,3 @@
1
+ import type { AssetUploadMetadata } from "@alwaysmeticulous/api";
2
+ export declare const warnIfRewriteSourcesLookLikeRegexes: (rewrites: AssetUploadMetadata["rewrites"]) => void;
3
+ //# sourceMappingURL=warn-regex-rewrites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn-regex-rewrites.d.ts","sourceRoot":"","sources":["../../src/command-utils/warn-regex-rewrites.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA4BjE,eAAO,MAAM,mCAAmC,aACpC,mBAAmB,CAAC,UAAU,CAAC,KACxC,IAwBF,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1dd7ba4a-98c1-599f-9aee-ef50d2bbcedc")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.warnIfRewriteSourcesLookLikeRegexes = void 0;
6
+ const common_1 = require("@alwaysmeticulous/common");
7
+ const REGEX_INDICATORS = [
8
+ {
9
+ pattern: /\(\.[*+?]/,
10
+ label: "capture group with quantifier, e.g. (.*)",
11
+ },
12
+ {
13
+ pattern: /\(\?[:=!<]/,
14
+ label: "non-capturing group or lookahead/lookbehind",
15
+ },
16
+ { pattern: /\\/, label: "backslash escape" },
17
+ { pattern: /(^|\/)\.\*/, label: "regex wildcard .*" },
18
+ { pattern: /(^|\/)\.\+/, label: "regex quantifier .+" },
19
+ { pattern: /\$$/, label: "end-of-string anchor $" },
20
+ { pattern: /^\^/, label: "start-of-string anchor ^" },
21
+ ];
22
+ const looksLikeRegex = (source) => {
23
+ for (const { pattern, label } of REGEX_INDICATORS) {
24
+ if (pattern.test(source)) {
25
+ return label;
26
+ }
27
+ }
28
+ return null;
29
+ };
30
+ const warnIfRewriteSourcesLookLikeRegexes = (rewrites) => {
31
+ const suspects = rewrites
32
+ .map((rule) => ({
33
+ source: rule.source,
34
+ reason: looksLikeRegex(rule.source),
35
+ }))
36
+ .filter((entry) => entry.reason != null);
37
+ if (suspects.length === 0) {
38
+ return;
39
+ }
40
+ const logger = (0, common_1.initLogger)();
41
+ logger.warn("One or more --rewrites source patterns look like regular expressions, " +
42
+ "but rewrite sources use glob syntax (see https://github.com/vercel/serve-handler?tab=readme-ov-file#rewrites-array). " +
43
+ "Regex patterns will not match as expected.");
44
+ for (const { source, reason } of suspects) {
45
+ logger.warn(` - "${source}" looks like a regex (${reason})`);
46
+ }
47
+ };
48
+ exports.warnIfRewriteSourcesLookLikeRegexes = warnIfRewriteSourcesLookLikeRegexes;
49
+ //# sourceMappingURL=warn-regex-rewrites.js.map
50
+ //# debugId=1dd7ba4a-98c1-599f-9aee-ef50d2bbcedc
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn-regex-rewrites.js","sources":["../../src/command-utils/warn-regex-rewrites.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,qDAAsD;AAEtD,MAAM,gBAAgB,GAAyC;IAC7D;QACE,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,0CAA0C;KAClD;IACD;QACE,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,6CAA6C;KACrD;IACD,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC5C,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACrD,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACvD,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACnD,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE;CACtD,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAc,EAAiB,EAAE;IACvD,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,mCAAmC,GAAG,CACjD,QAAyC,EACnC,EAAE;IACR,MAAM,QAAQ,GAAG,QAAQ;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;SACF,MAAM,CACL,CAAC,KAAK,EAA+C,EAAE,CACrD,KAAK,CAAC,MAAM,IAAI,IAAI,CACvB,CAAC;IAEJ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CACT,wEAAwE;QACtE,uHAAuH;QACvH,4CAA4C,CAC/C,CAAC;IACF,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,yBAAyB,MAAM,GAAG,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC;AA1BW,QAAA,mCAAmC,uCA0B9C","debugId":"1dd7ba4a-98c1-599f-9aee-ef50d2bbcedc"}
@@ -0,0 +1,14 @@
1
+ import type { CompactRange, TestRunCoverageFile } from "@alwaysmeticulous/client";
2
+ export type CoverageColumn = "executedRanges" | "executableRanges" | "uncoveredRanges" | "coveragePercentage";
3
+ export declare const COVERAGE_COLUMN_FLAG: Record<CoverageColumn, "includeExecutedRanges" | "includeExecutableRanges" | "includeUncoveredRanges" | "includeCoveragePercentage">;
4
+ export interface CoverageColumnSelection {
5
+ includeExecutedRanges: boolean;
6
+ includeExecutableRanges: boolean;
7
+ includeUncoveredRanges: boolean;
8
+ includeCoveragePercentage: boolean;
9
+ }
10
+ export declare const determineColumns: (selection: CoverageColumnSelection) => CoverageColumn[];
11
+ export declare const coverageFileToJson: (file: TestRunCoverageFile, columns: CoverageColumn[]) => Record<string, unknown>;
12
+ export declare const coverageColumnValue: (file: TestRunCoverageFile, column: CoverageColumn) => CompactRange[] | number | null;
13
+ export declare const formatCoverageColumn: (file: TestRunCoverageFile, column: CoverageColumn) => string;
14
+ //# sourceMappingURL=coverage-columns.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-columns.util.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/coverage-columns.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAOlC,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,CAAC;AAIzB,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,cAAc,EACZ,uBAAuB,GACvB,yBAAyB,GACzB,wBAAwB,GACxB,2BAA2B,CAM9B,CAAC;AAGF,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uBAAuB,EAAE,OAAO,CAAC;IACjC,sBAAsB,EAAE,OAAO,CAAC;IAChC,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAKD,eAAO,MAAM,gBAAgB,cAChB,uBAAuB,KACjC,cAAc,EAgBhB,CAAC;AAKF,eAAO,MAAM,kBAAkB,SACvB,mBAAmB,WAChB,cAAc,EAAE,KACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAMxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,SACxB,mBAAmB,UACjB,cAAc,KACrB,YAAY,EAAE,GAAG,MAAM,GAAG,IAa5B,CAAC;AAMF,eAAO,MAAM,oBAAoB,SACzB,mBAAmB,UACjB,cAAc,KACrB,MASF,CAAC"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="09330147-63b8-5062-bca5-34a9e203cf90")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.formatCoverageColumn = exports.coverageColumnValue = exports.coverageFileToJson = exports.determineColumns = exports.COVERAGE_COLUMN_FLAG = void 0;
6
+ const client_1 = require("@alwaysmeticulous/client");
7
+ const format_coverage_ranges_1 = require("../../utils/format-coverage-ranges");
8
+ // Single source of truth mapping each column to the request flag that asks for
9
+ // it, so the printed columns and the request payload can't drift apart.
10
+ exports.COVERAGE_COLUMN_FLAG = {
11
+ executedRanges: "includeExecutedRanges",
12
+ executableRanges: "includeExecutableRanges",
13
+ uncoveredRanges: "includeUncoveredRanges",
14
+ coveragePercentage: "includeCoveragePercentage",
15
+ };
16
+ // The columns (after `repoFilePath`) to request and print, in fixed order.
17
+ // Defaults to executed ranges when no column flag is given, so a bare
18
+ // invocation matches the historical output.
19
+ const determineColumns = (selection) => {
20
+ const includeExecuted = (0, client_1.shouldDefaultToExecutedRanges)(selection);
21
+ const columns = [];
22
+ if (includeExecuted) {
23
+ columns.push("executedRanges");
24
+ }
25
+ if (selection.includeExecutableRanges) {
26
+ columns.push("executableRanges");
27
+ }
28
+ if (selection.includeUncoveredRanges) {
29
+ columns.push("uncoveredRanges");
30
+ }
31
+ if (selection.includeCoveragePercentage) {
32
+ columns.push("coveragePercentage");
33
+ }
34
+ return columns;
35
+ };
36
+ exports.determineColumns = determineColumns;
37
+ // The JSON equivalent of a TSV row: `repoFilePath` plus the requested columns,
38
+ // with structured values (raw ranges / numeric percentage) rather than the
39
+ // TSV-formatted strings.
40
+ const coverageFileToJson = (file, columns) => {
41
+ const row = { repoFilePath: file.repoFilePath };
42
+ for (const column of columns) {
43
+ row[column] = (0, exports.coverageColumnValue)(file, column);
44
+ }
45
+ return row;
46
+ };
47
+ exports.coverageFileToJson = coverageFileToJson;
48
+ const coverageColumnValue = (file, column) => {
49
+ switch (column) {
50
+ case "executedRanges":
51
+ return file.executedRanges ?? [];
52
+ case "executableRanges":
53
+ return file.executableRanges ?? [];
54
+ case "uncoveredRanges":
55
+ return file.uncoveredRanges ?? [];
56
+ case "coveragePercentage":
57
+ return file.coveragePercentage ?? null;
58
+ default:
59
+ return assertNever(column);
60
+ }
61
+ };
62
+ exports.coverageColumnValue = coverageColumnValue;
63
+ // The TSV rendering of a column: the same structured value as the JSON output,
64
+ // formatted as a string (ranges joined, percentage to 1dp, absent percentage as
65
+ // "n/a"). Delegating to `coverageColumnValue` keeps a single switch over the
66
+ // column union.
67
+ const formatCoverageColumn = (file, column) => {
68
+ const value = (0, exports.coverageColumnValue)(file, column);
69
+ if (typeof value === "number") {
70
+ return value.toFixed(1);
71
+ }
72
+ if (value == null) {
73
+ return "n/a";
74
+ }
75
+ return (0, format_coverage_ranges_1.formatCoverageRanges)(value);
76
+ };
77
+ exports.formatCoverageColumn = formatCoverageColumn;
78
+ // Exhaustiveness guard for the CoverageColumn switch in `coverageColumnValue`.
79
+ // Local to this package since the public CLI can't depend on the internal
80
+ // common-utils helper.
81
+ const assertNever = (value) => {
82
+ throw new Error(`Unhandled coverage column: ${String(value)}`);
83
+ };
84
+ //# sourceMappingURL=coverage-columns.util.js.map
85
+ //# debugId=09330147-63b8-5062-bca5-34a9e203cf90
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-columns.util.js","sources":["../../../src/commands/agent/coverage-columns.util.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAIA,qDAAyE;AACzE,+EAA0E;AAW1E,+EAA+E;AAC/E,wEAAwE;AAC3D,QAAA,oBAAoB,GAM7B;IACF,cAAc,EAAE,uBAAuB;IACvC,gBAAgB,EAAE,yBAAyB;IAC3C,eAAe,EAAE,wBAAwB;IACzC,kBAAkB,EAAE,2BAA2B;CAChD,CAAC;AAUF,2EAA2E;AAC3E,sEAAsE;AACtE,4CAA4C;AACrC,MAAM,gBAAgB,GAAG,CAC9B,SAAkC,EAChB,EAAE;IACpB,MAAM,eAAe,GAAG,IAAA,sCAA6B,EAAC,SAAS,CAAC,CAAC;IACjE,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,SAAS,CAAC,uBAAuB,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,SAAS,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,SAAS,CAAC,yBAAyB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B;AAEF,+EAA+E;AAC/E,2EAA2E;AAC3E,yBAAyB;AAClB,MAAM,kBAAkB,GAAG,CAChC,IAAyB,EACzB,OAAyB,EACA,EAAE;IAC3B,MAAM,GAAG,GAA4B,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,IAAA,2BAAmB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,mBAAmB,GAAG,CACjC,IAAyB,EACzB,MAAsB,EACU,EAAE;IAClC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;QACnC,KAAK,kBAAkB;YACrB,OAAO,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACrC,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QACpC,KAAK,oBAAoB;YACvB,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;QACzC;YACE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B;AAEF,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,gBAAgB;AACT,MAAM,oBAAoB,GAAG,CAClC,IAAyB,EACzB,MAAsB,EACd,EAAE;IACV,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAA,6CAAoB,EAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B;AAEF,+EAA+E;AAC/E,0EAA0E;AAC1E,uBAAuB;AACvB,MAAM,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;IAC1C,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC","debugId":"09330147-63b8-5062-bca5-34a9e203cf90"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAY3C,eAAO,MAAM,YAAY,EAAE,aAmC1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa3C,eAAO,MAAM,YAAY,EAAE,aAoC1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d2bb5fd4-e527-5027-aab2-659b0c79dfdc")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8a0d2d00-088b-5743-a941-37a0753908d0")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.agentCommand = void 0;
@@ -8,6 +8,7 @@ const js_coverage_command_1 = require("./js-coverage.command");
8
8
  const screenshot_dom_diff_command_1 = require("./screenshot-dom-diff.command");
9
9
  const screenshot_image_files_command_1 = require("./screenshot-image-files.command");
10
10
  const screenshot_image_command_1 = require("./screenshot-image.command");
11
+ const sessions_command_1 = require("./sessions.command");
11
12
  const test_run_diffs_command_1 = require("./test-run-diffs.command");
12
13
  const test_run_for_commit_command_1 = require("./test-run-for-commit.command");
13
14
  const timeline_command_1 = require("./timeline.command");
@@ -15,18 +16,19 @@ const trigger_test_run_command_1 = require("./trigger-test-run.command");
15
16
  const upload_build_command_1 = require("./upload-build.command");
16
17
  exports.agentCommand = {
17
18
  command: "agent",
18
- describe: "Agent commands for retrieving data from and interacting with Meticulous",
19
+ describe: "Agent commands for retrieving data from and interacting with Meticulous.",
19
20
  builder: (yargs) => yargs
20
21
  .command(test_run_for_commit_command_1.testRunForCommitCommand)
21
22
  .command(test_run_diffs_command_1.testRunDiffsCommand)
23
+ .command(js_coverage_command_1.jsCoverageCommand)
24
+ .command(js_coverage_diff_command_1.jsCoverageDiffCommand)
22
25
  .command(screenshot_image_files_command_1.imageFilesCommand)
23
26
  .command(screenshot_image_command_1.imageUrlsCommand)
24
27
  .command(screenshot_dom_diff_command_1.domDiffCommand)
25
28
  .command(timeline_command_1.timelineDiffCommand)
26
- .command(js_coverage_command_1.jsCoverageCommand)
27
- .command(js_coverage_diff_command_1.jsCoverageDiffCommand)
28
29
  .command(upload_build_command_1.uploadBuildCommand)
29
30
  .command(trigger_test_run_command_1.triggerTestRunCommand)
31
+ .command(sessions_command_1.sessionsCommand)
30
32
  .option("verbose", {
31
33
  boolean: true,
32
34
  default: false,
@@ -46,4 +48,4 @@ exports.agentCommand = {
46
48
  },
47
49
  };
48
50
  //# sourceMappingURL=index.js.map
49
- //# debugId=d2bb5fd4-e527-5027-aab2-659b0c79dfdc
51
+ //# debugId=8a0d2d00-088b-5743-a941-37a0753908d0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/commands/agent/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,yEAAmE;AACnE,+DAA0D;AAC1D,+EAA+D;AAC/D,qFAAqE;AACrE,yEAA8D;AAC9D,qEAA+D;AAC/D,+EAAwE;AACxE,yDAAyD;AACzD,yEAAmE;AACnE,iEAA4D;AAE/C,QAAA,YAAY,GAAkB;IACzC,OAAO,EAAE,OAAO;IAChB,QAAQ,EACN,yEAAyE;IAC3E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,qDAAuB,CAAC;SAChC,OAAO,CAAC,4CAAmB,CAAC;SAC5B,OAAO,CAAC,kDAAiB,CAAC;SAC1B,OAAO,CAAC,2CAAgB,CAAC;SACzB,OAAO,CAAC,4CAAc,CAAC;SACvB,OAAO,CAAC,sCAAmB,CAAC;SAC5B,OAAO,CAAC,uCAAiB,CAAC;SAC1B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,OAAO,CAAC,yCAAkB,CAAC;SAC3B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,4GAA4G;KAC/G,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,oEAAoE;YACpE,gEAAgE;YAChE,0DAA0D;KAC7D,CAAC;SACD,aAAa,EAAE;SACf,IAAI,EAAE;IACX,OAAO,EAAE,GAAG,EAAE;QACZ,0BAA0B;IAC5B,CAAC;CACF,CAAC","debugId":"d2bb5fd4-e527-5027-aab2-659b0c79dfdc"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/commands/agent/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,yEAAmE;AACnE,+DAA0D;AAC1D,+EAA+D;AAC/D,qFAAqE;AACrE,yEAA8D;AAC9D,yDAAqD;AACrD,qEAA+D;AAC/D,+EAAwE;AACxE,yDAAyD;AACzD,yEAAmE;AACnE,iEAA4D;AAE/C,QAAA,YAAY,GAAkB;IACzC,OAAO,EAAE,OAAO;IAChB,QAAQ,EACN,0EAA0E;IAC5E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,qDAAuB,CAAC;SAChC,OAAO,CAAC,4CAAmB,CAAC;SAC5B,OAAO,CAAC,uCAAiB,CAAC;SAC1B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,OAAO,CAAC,kDAAiB,CAAC;SAC1B,OAAO,CAAC,2CAAgB,CAAC;SACzB,OAAO,CAAC,4CAAc,CAAC;SACvB,OAAO,CAAC,sCAAmB,CAAC;SAC5B,OAAO,CAAC,yCAAkB,CAAC;SAC3B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,OAAO,CAAC,kCAAe,CAAC;SACxB,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,4GAA4G;KAC/G,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,oEAAoE;YACpE,gEAAgE;YAChE,0DAA0D;KAC7D,CAAC;SACD,aAAa,EAAE;SACf,IAAI,EAAE;IACX,OAAO,EAAE,GAAG,EAAE;QACZ,0BAA0B;IAC5B,CAAC;CACF,CAAC","debugId":"8a0d2d00-088b-5743-a941-37a0753908d0"}
@@ -3,7 +3,6 @@ interface Options {
3
3
  apiToken?: string | null | undefined;
4
4
  replayDiffId: string;
5
5
  screenshotName: string | undefined;
6
- includeAllFiles: boolean;
7
6
  globFilter: string | undefined;
8
7
  json: boolean;
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"js-coverage-diff.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/js-coverage-diff.command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;CACf;AA6DD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA6BjE,CAAC"}
1
+ {"version":3,"file":"js-coverage-diff.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/js-coverage-diff.command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;CACf;AA0DD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAuBjE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="aaff74c8-4b9c-5cc4-9df3-c8c20b83b491")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e66f9b1b-49f5-5b6c-80a5-afb7e2bbc564")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.jsCoverageDiffCommand = void 0;
@@ -8,14 +8,13 @@ const common_1 = require("@alwaysmeticulous/common");
8
8
  const print_json_1 = require("../../command-utils/print-json");
9
9
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
10
10
  const format_coverage_ranges_1 = require("../../utils/format-coverage-ranges");
11
- const handler = async ({ apiToken, replayDiffId, screenshotName, includeAllFiles, globFilter, json, }) => {
11
+ const handler = async ({ apiToken, replayDiffId, screenshotName, globFilter, json, }) => {
12
12
  (0, common_1.initLogger)();
13
13
  const client = await (0, client_1.createClientWithOAuth)({
14
14
  apiToken,
15
15
  enableOAuthLogin: true,
16
16
  });
17
17
  const result = await (0, client_1.getReplayDiffJsCoverage)(client, replayDiffId, screenshotName, {
18
- includeAllFiles,
19
18
  globFilter,
20
19
  });
21
20
  const added = result.diff.filter((d) => d.status === "added").length;
@@ -44,34 +43,28 @@ const handler = async ({ apiToken, replayDiffId, screenshotName, includeAllFiles
44
43
  }
45
44
  // Summary on stderr regardless of --json (which only changes stdout).
46
45
  (0, common_1.logNotice)(`${result.diff.length} file(s) with coverage changes ` +
47
- `(${added} added, ${removed} removed, ${modified} modified); ` +
48
- `base ${result.base?.length ?? 0} file(s), head ${result.head?.length ?? 0} file(s)`);
46
+ `(${added} added, ${removed} removed, ${modified} modified)`);
49
47
  };
50
48
  exports.jsCoverageDiffCommand = {
51
49
  command: "js-coverage-diff",
52
- describe: "Get the JS coverage diff for a replay diff. Outputs TSV, one row per changed file: repoFilePath, status, baseRanges, headRanges (or JSON with --json).",
50
+ describe: "Get the list of per-file JavaScript coverage diffs for a given replay diff (or a single screenshot of it). Outputs a TSV table with columns repoFilePath, status, baseRanges, headRanges.",
53
51
  builder: {
54
- apiToken: { string: true, description: "Meticulous API token" },
52
+ apiToken: { string: true, description: "Meticulous API token." },
55
53
  replayDiffId: {
56
54
  string: true,
57
- description: "The replay diff ID",
55
+ description: "The replay diff ID.",
58
56
  demandOption: true,
59
57
  },
60
58
  screenshotName: {
61
59
  string: true,
62
- description: 'Screenshot name (e.g. "after-event-5" or "end-state"). Omit for the whole-replay diff.',
63
- },
64
- includeAllFiles: {
65
- boolean: true,
66
- default: false,
67
- description: "Include base/head rows with no executed ranges (dropped by default).",
60
+ description: "Restrict coverage to this screenshot, which is only the coverage recorded since the preceding screenshot (omit for the whole-replay diff).",
68
61
  },
69
62
  globFilter: {
70
63
  string: true,
71
- description: 'Keep only repo file paths matching this gitignore-style glob, e.g. "src/components/**". Scopes base, head, and the diff.',
64
+ description: "Output only files whose repo path matches this gitignore-style glob (e.g. src/components/**).",
72
65
  },
73
66
  },
74
67
  handler: (0, sentry_utils_1.wrapHandler)(handler),
75
68
  };
76
69
  //# sourceMappingURL=js-coverage-diff.command.js.map
77
- //# debugId=aaff74c8-4b9c-5cc4-9df3-c8c20b83b491
70
+ //# debugId=e66f9b1b-49f5-5b6c-80a5-afb7e2bbc564
@@ -1 +1 @@
1
- {"version":3,"file":"js-coverage-diff.command.js","sources":["../../../src/commands/agent/js-coverage-diff.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAGkC;AAClC,qDAAiE;AAEjE,+DAA2D;AAC3D,mEAA+D;AAC/D,+EAA0E;AAW1E,MAAM,OAAO,GAAG,KAAK,EAAE,EACrB,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,UAAU,EACV,IAAI,GACI,EAAiB,EAAE;IAC3B,IAAA,mBAAU,GAAE,CAAC;IACb,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC;QACzC,QAAQ;QACR,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAuB,EAC1C,MAAM,EACN,YAAY,EACZ,cAAc,EACd;QACE,eAAe;QACf,UAAU;KACX,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAE3E,IAAI,IAAI,EAAE,CAAC;QACT,IAAA,sBAAS,EACP,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,YAAY,EAAE,CAAC,CAAC,QAAQ;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG;gBACb,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM;gBACR,IAAA,6CAAoB,EAAC,CAAC,CAAC,UAAU,CAAC;gBAClC,IAAA,6CAAoB,EAAC,CAAC,CAAC,UAAU,CAAC;aACnC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAA,kBAAS,EACP,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,iCAAiC;QACpD,IAAI,KAAK,WAAW,OAAO,aAAa,QAAQ,cAAc;QAC9D,QAAQ,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,UAAU,CACvF,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,qBAAqB,GAAoC;IACpE,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,EACN,wJAAwJ;IAC1J,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE;QAC/D,YAAY,EAAE;YACZ,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,IAAI;SACnB;QACD,cAAc,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,wFAAwF;SAC3F;QACD,eAAe,EAAE;YACf,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,WAAW,EACT,sEAAsE;SACzE;QACD,UAAU,EAAE;YACV,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,0HAA0H;SAC7H;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,OAAO,CAAC;CAC9B,CAAC","debugId":"aaff74c8-4b9c-5cc4-9df3-c8c20b83b491"}
1
+ {"version":3,"file":"js-coverage-diff.command.js","sources":["../../../src/commands/agent/js-coverage-diff.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"e66f9b1b-49f5-5b6c-80a5-afb7e2bbc564"}