@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
@@ -1,32 +1,33 @@
1
- import type { CompactRange, TestRunCoverageFile } from "@alwaysmeticulous/client";
1
+ import type { ProjectJsCoverageOptions, ProjectJsCoverageResponse } from "@alwaysmeticulous/client";
2
2
  import type { CommandModule } from "yargs";
3
+ import { coverageColumnValue, coverageFileToJson, determineColumns, type CoverageColumn } from "./coverage-columns.util";
4
+ export { coverageColumnValue, coverageFileToJson, determineColumns };
3
5
  export interface Options {
4
6
  apiToken?: string | null | undefined;
5
7
  testRunId: string | undefined;
6
8
  commitSha: string | undefined;
7
- dontWaitForTestRunToComplete: boolean;
9
+ latestForProject: boolean;
10
+ project?: string | undefined;
8
11
  replayId: string | undefined;
9
12
  screenshotName: string | undefined;
13
+ headPlusTestRunIds: string | undefined;
14
+ testRunIds: string | undefined;
10
15
  includeAllFiles: boolean;
11
16
  globFilter: string | undefined;
17
+ prDiffOnly: boolean;
12
18
  includeExecutedRanges: boolean;
13
19
  includeExecutableRanges: boolean;
14
20
  includeUncoveredRanges: boolean;
15
21
  includeCoveragePercentage: boolean;
16
- prDiffOnly: boolean;
17
- headPlusTestRunIds: string | undefined;
18
- testRunIds: string | undefined;
22
+ dontWaitForTestRunToComplete: boolean;
19
23
  json: boolean;
20
- project?: string | undefined;
21
24
  }
22
- type CoverageColumn = "executedRanges" | "executableRanges" | "uncoveredRanges" | "coveragePercentage";
25
+ export declare const assertLatestForProjectCompatible: (options: Options) => void;
23
26
  export declare const assertTestRunOnlyFlagsUnsetForReplay: (options: Options) => void;
24
- export declare const determineColumns: (options: Options) => CoverageColumn[];
25
27
  export declare const parseHeadPlusTestRunIds: (raw: string | undefined) => string[];
26
28
  export declare const parseTestRunIds: (raw: string) => string[];
27
- export declare const coverageFileToJson: (file: TestRunCoverageFile, columns: CoverageColumn[]) => Record<string, unknown>;
28
- export declare const coverageColumnValue: (file: TestRunCoverageFile, column: CoverageColumn) => CompactRange[] | number | null;
29
+ export declare const buildProjectCoverageRequestOptions: (options: Options, columns: CoverageColumn[]) => ProjectJsCoverageOptions;
30
+ export declare const printProjectCoverage: (result: ProjectJsCoverageResponse, columns: CoverageColumn[], json: boolean) => void;
29
31
  export declare const isAmbiguousTestRunError: (error: unknown) => boolean;
30
32
  export declare const jsCoverageCommand: CommandModule<unknown, Options>;
31
- export {};
32
33
  //# sourceMappingURL=js-coverage.command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"js-coverage.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/js-coverage.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAGZ,mBAAmB,EAEpB,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa3C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uBAAuB,EAAE,OAAO,CAAC;IACjC,sBAAsB,EAAE,OAAO,CAAC;IAChC,yBAAyB,EAAE,OAAO,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAMD,KAAK,cAAc,GACf,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,CAAC;AAoLzB,eAAO,MAAM,oCAAoC,YACtC,OAAO,KACf,IAkBF,CAAC;AAKF,eAAO,MAAM,gBAAgB,YAAa,OAAO,KAAG,cAAc,EAoBjE,CAAC;AAOF,eAAO,MAAM,uBAAuB,QAAS,MAAM,GAAG,SAAS,KAAG,MAAM,EAcvE,CAAC;AASF,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,MAAM,EAWnD,CAAC;AA0KF,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;AA2BF,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,OAGjC,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA+F7D,CAAC"}
1
+ {"version":3,"file":"js-coverage.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/js-coverage.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EACxB,yBAAyB,EAG1B,MAAM,0BAA0B,CAAC;AAUlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAY3C,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAEhB,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAErE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uBAAuB,EAAE,OAAO,CAAC;IACjC,sBAAsB,EAAE,OAAO,CAAC;IAChC,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,EAAE,OAAO,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;CACf;AA4KD,eAAO,MAAM,gCAAgC,YAAa,OAAO,KAAG,IAuBnE,CAAC;AAMF,eAAO,MAAM,oCAAoC,YACtC,OAAO,KACf,IAkBF,CAAC;AAOF,eAAO,MAAM,uBAAuB,QAAS,MAAM,GAAG,SAAS,KAAG,MAAM,EAcvE,CAAC;AASF,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,MAAM,EAWnD,CAAC;AA6HF,eAAO,MAAM,kCAAkC,YACpC,OAAO,WACP,cAAc,EAAE,KACxB,wBAUF,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,yBAAyB,WACxB,cAAc,EAAE,QACnB,OAAO,KACZ,IAUF,CAAC;AAkDF,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,OAGjC,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA2G7D,CAAC"}
@@ -1,8 +1,8 @@
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]="78a1485d-27d5-56da-a188-7abd28840888")}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]="1e9e6330-3e2f-5e8e-8c64-be08ee6e40f2")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.jsCoverageCommand = exports.isAmbiguousTestRunError = exports.coverageColumnValue = exports.coverageFileToJson = exports.parseTestRunIds = exports.parseHeadPlusTestRunIds = exports.determineColumns = exports.assertTestRunOnlyFlagsUnsetForReplay = void 0;
5
+ exports.jsCoverageCommand = exports.isAmbiguousTestRunError = exports.printProjectCoverage = exports.buildProjectCoverageRequestOptions = exports.parseTestRunIds = exports.parseHeadPlusTestRunIds = exports.assertTestRunOnlyFlagsUnsetForReplay = exports.assertLatestForProjectCompatible = exports.determineColumns = exports.coverageFileToJson = exports.coverageColumnValue = void 0;
6
6
  const client_1 = require("@alwaysmeticulous/client");
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
8
  const print_json_1 = require("../../command-utils/print-json");
@@ -10,17 +10,14 @@ const sentry_utils_1 = require("../../command-utils/sentry.utils");
10
10
  const cli_user_error_1 = require("../../utils/cli-user-error");
11
11
  const format_coverage_ranges_1 = require("../../utils/format-coverage-ranges");
12
12
  const resolve_test_run_from_commit_1 = require("../../utils/resolve-test-run-from-commit");
13
- // Single source of truth mapping each column to the request flag that asks for
14
- // it, so the printed columns and the request payload can't drift apart.
15
- const COVERAGE_COLUMN_FLAG = {
16
- executedRanges: "includeExecutedRanges",
17
- executableRanges: "includeExecutableRanges",
18
- uncoveredRanges: "includeUncoveredRanges",
19
- coveragePercentage: "includeCoveragePercentage",
20
- };
13
+ const coverage_columns_util_1 = require("./coverage-columns.util");
14
+ Object.defineProperty(exports, "coverageColumnValue", { enumerable: true, get: function () { return coverage_columns_util_1.coverageColumnValue; } });
15
+ Object.defineProperty(exports, "coverageFileToJson", { enumerable: true, get: function () { return coverage_columns_util_1.coverageFileToJson; } });
16
+ Object.defineProperty(exports, "determineColumns", { enumerable: true, get: function () { return coverage_columns_util_1.determineColumns; } });
21
17
  const handler = async (options) => {
22
- const { apiToken, testRunId, commitSha, dontWaitForTestRunToComplete, replayId, screenshotName, globFilter, headPlusTestRunIds, testRunIds, json, project, } = options;
18
+ const { apiToken, testRunId, commitSha, latestForProject, project, replayId, screenshotName, headPlusTestRunIds, testRunIds, globFilter, dontWaitForTestRunToComplete, json, } = options;
23
19
  (0, common_1.initLogger)();
20
+ (0, exports.assertLatestForProjectCompatible)(options);
24
21
  if (screenshotName != null && replayId == null) {
25
22
  throw new cli_user_error_1.CliUserError("--screenshotName only applies to --replayId.");
26
23
  }
@@ -44,11 +41,16 @@ const handler = async (options) => {
44
41
  if (replayId != null) {
45
42
  (0, exports.assertTestRunOnlyFlagsUnsetForReplay)(options);
46
43
  }
47
- const columns = (0, exports.determineColumns)(options);
44
+ const columns = (0, coverage_columns_util_1.determineColumns)(options);
48
45
  const client = await (0, client_1.createClientWithOAuth)({
49
46
  apiToken,
50
47
  enableOAuthLogin: true,
51
48
  });
49
+ if (latestForProject) {
50
+ const result = await (0, client_1.getProjectJsCoverage)(client, (0, exports.buildProjectCoverageRequestOptions)(options, columns));
51
+ (0, exports.printProjectCoverage)(result, columns, json);
52
+ return;
53
+ }
52
54
  // --replayId takes precedence: repo file paths are resolved against the run
53
55
  // that executed the replay, and a --testRunId / --commitSha passed alongside
54
56
  // it acts as a membership gate / disambiguator (see below) rather than
@@ -130,6 +132,27 @@ const handler = async (options) => {
130
132
  await printTestRunCoverage(client, resolvedTestRunId, options, columns, json, unionTestRunIds);
131
133
  }
132
134
  };
135
+ const assertLatestForProjectCompatible = (options) => {
136
+ if (!options.latestForProject) {
137
+ return;
138
+ }
139
+ const incompatible = [
140
+ ["testRunId", options.testRunId != null],
141
+ ["commitSha", options.commitSha != null],
142
+ ["replayId", options.replayId != null],
143
+ ["screenshotName", options.screenshotName != null],
144
+ ["headPlusTestRunIds", options.headPlusTestRunIds != null],
145
+ ["testRunIds", options.testRunIds != null],
146
+ ["prDiffOnly", options.prDiffOnly],
147
+ ["dontWaitForTestRunToComplete", options.dontWaitForTestRunToComplete],
148
+ ]
149
+ .filter(([, enabled]) => enabled)
150
+ .map(([name]) => `--${name}`);
151
+ if (incompatible.length > 0) {
152
+ throw new cli_user_error_1.CliUserError(`--latestForProject cannot be combined with ${incompatible.join(", ")}.`);
153
+ }
154
+ };
155
+ exports.assertLatestForProjectCompatible = assertLatestForProjectCompatible;
133
156
  // Executable / uncovered / percentage columns all need executable-line data we
134
157
  // only have for whole test runs; --prDiffOnly reads a test-run-only artifact.
135
158
  // Reject them for a single replay. (--globFilter and --includeAllFiles apply to
@@ -150,30 +173,6 @@ const assertTestRunOnlyFlagsUnsetForReplay = (options) => {
150
173
  }
151
174
  };
152
175
  exports.assertTestRunOnlyFlagsUnsetForReplay = assertTestRunOnlyFlagsUnsetForReplay;
153
- // The columns (after `repoFilePath`) to request and print, in fixed order.
154
- // Defaults to executed ranges when no column flag is given, so a bare
155
- // invocation matches the historical output.
156
- const determineColumns = (options) => {
157
- const includeExecuted = options.includeExecutedRanges ||
158
- (!options.includeExecutableRanges &&
159
- !options.includeUncoveredRanges &&
160
- !options.includeCoveragePercentage);
161
- const columns = [];
162
- if (includeExecuted) {
163
- columns.push("executedRanges");
164
- }
165
- if (options.includeExecutableRanges) {
166
- columns.push("executableRanges");
167
- }
168
- if (options.includeUncoveredRanges) {
169
- columns.push("uncoveredRanges");
170
- }
171
- if (options.includeCoveragePercentage) {
172
- columns.push("coveragePercentage");
173
- }
174
- return columns;
175
- };
176
- exports.determineColumns = determineColumns;
177
176
  // Comma-separated additional test run IDs to union in, alongside the resolved
178
177
  // primary run. Rejects an explicitly-provided-but-empty list (e.g.
179
178
  // --headPlusTestRunIds "" or --headPlusTestRunIds ",,,") rather than silently
@@ -287,84 +286,61 @@ const printReplayResult = (result, json) => {
287
286
  // Summary on stderr regardless of --json (which only changes stdout).
288
287
  (0, common_1.logNotice)(`${files.length} file(s) with coverage`);
289
288
  };
290
- const printTestRunCoverage = async (client, testRunId, options, columns, json, unionTestRunIds) => {
291
- // Send the resolved columns as explicit flags (the default-to-executed rule
292
- // lives here in `determineColumns`, not the backend), so the backend never
293
- // has to guess which columns a flagless request wants. Derive the flags from
294
- // the same `columns` array the headers/formatting use, so they stay in sync.
289
+ const buildProjectCoverageRequestOptions = (options, columns) => {
295
290
  const requestOptions = {
296
291
  includeAllFiles: options.includeAllFiles,
292
+ ...(options.project != null ? { project: options.project } : {}),
297
293
  ...(options.globFilter != null ? { globFilter: options.globFilter } : {}),
298
- ...(unionTestRunIds.length > 0 ? { unionTestRunIds } : {}),
299
294
  };
300
295
  for (const column of columns) {
301
- requestOptions[COVERAGE_COLUMN_FLAG[column]] = true;
296
+ requestOptions[coverage_columns_util_1.COVERAGE_COLUMN_FLAG[column]] = true;
302
297
  }
303
- requestOptions.prDiffOnly = options.prDiffOnly;
304
- const result = await (0, client_1.getTestRunJsCoverage)(client, testRunId, requestOptions);
298
+ return requestOptions;
299
+ };
300
+ exports.buildProjectCoverageRequestOptions = buildProjectCoverageRequestOptions;
301
+ const printProjectCoverage = (result, columns, json) => {
302
+ printCoverageFiles(result.files, columns, json);
303
+ if (result.testRunId == null) {
304
+ (0, common_1.logNotice)("No successful test run with coverage found for this project; returning empty coverage.");
305
+ return;
306
+ }
307
+ (0, common_1.logNotice)(`Resolved project coverage to test run ${result.testRunId}`);
308
+ (0, common_1.logNotice)(`${result.files.length} file(s)`);
309
+ };
310
+ exports.printProjectCoverage = printProjectCoverage;
311
+ const printCoverageFiles = (files, columns, json) => {
305
312
  if (json) {
306
- (0, print_json_1.printJson)(result.files.map((file) => (0, exports.coverageFileToJson)(file, columns)));
313
+ (0, print_json_1.printJson)(files.map((file) => (0, coverage_columns_util_1.coverageFileToJson)(file, columns)));
307
314
  }
308
315
  else {
309
- // Test-run coverage is the precomputed repo-mapped coverage, keyed by repo
310
- // paths. Emit `repoFilePath` then the requested columns in fixed order.
311
316
  console.log(["repoFilePath", ...columns].join("\t"));
312
- for (const file of result.files) {
317
+ for (const file of files) {
313
318
  const fields = [
314
319
  file.repoFilePath,
315
- ...columns.map((column) => formatCoverageColumn(file, column)),
320
+ ...columns.map((column) => (0, coverage_columns_util_1.formatCoverageColumn)(file, column)),
316
321
  ];
317
322
  console.log(fields.join("\t"));
318
323
  }
319
324
  }
320
- // Summary on stderr regardless of --json (which only changes stdout).
321
- (0, common_1.logNotice)(`${result.files.length} file(s)`);
322
325
  };
323
- // The JSON equivalent of a TSV row: `repoFilePath` plus the requested columns,
324
- // with structured values (raw ranges / numeric percentage) rather than the
325
- // TSV-formatted strings.
326
- const coverageFileToJson = (file, columns) => {
327
- const row = { repoFilePath: file.repoFilePath };
326
+ const printTestRunCoverage = async (client, testRunId, options, columns, json, unionTestRunIds) => {
327
+ // Send the resolved columns as explicit flags (the default-to-executed rule
328
+ // lives here in `determineColumns`, not the backend), so the backend never
329
+ // has to guess which columns a flagless request wants. Derive the flags from
330
+ // the same `columns` array the headers/formatting use, so they stay in sync.
331
+ const requestOptions = {
332
+ includeAllFiles: options.includeAllFiles,
333
+ ...(options.globFilter != null ? { globFilter: options.globFilter } : {}),
334
+ ...(unionTestRunIds.length > 0 ? { unionTestRunIds } : {}),
335
+ };
328
336
  for (const column of columns) {
329
- row[column] = (0, exports.coverageColumnValue)(file, column);
337
+ requestOptions[coverage_columns_util_1.COVERAGE_COLUMN_FLAG[column]] = true;
330
338
  }
331
- return row;
332
- };
333
- exports.coverageFileToJson = coverageFileToJson;
334
- const coverageColumnValue = (file, column) => {
335
- switch (column) {
336
- case "executedRanges":
337
- return file.executedRanges ?? [];
338
- case "executableRanges":
339
- return file.executableRanges ?? [];
340
- case "uncoveredRanges":
341
- return file.uncoveredRanges ?? [];
342
- case "coveragePercentage":
343
- return file.coveragePercentage ?? null;
344
- default:
345
- return assertNever(column);
346
- }
347
- };
348
- exports.coverageColumnValue = coverageColumnValue;
349
- // The TSV rendering of a column: the same structured value as the JSON output,
350
- // formatted as a string (ranges joined, percentage to 1dp, absent percentage as
351
- // "n/a"). Delegating to `coverageColumnValue` keeps a single switch over the
352
- // column union.
353
- const formatCoverageColumn = (file, column) => {
354
- const value = (0, exports.coverageColumnValue)(file, column);
355
- if (typeof value === "number") {
356
- return value.toFixed(1);
357
- }
358
- if (value == null) {
359
- return "n/a";
360
- }
361
- return (0, format_coverage_ranges_1.formatCoverageRanges)(value);
362
- };
363
- // Exhaustiveness guard for the CoverageColumn switch in `coverageColumnValue`.
364
- // Local to this package since the public CLI can't depend on the internal
365
- // common-utils helper.
366
- const assertNever = (value) => {
367
- throw new Error(`Unhandled coverage column: ${String(value)}`);
339
+ requestOptions.prDiffOnly = options.prDiffOnly;
340
+ const result = await (0, client_1.getTestRunJsCoverage)(client, testRunId, requestOptions);
341
+ printCoverageFiles(result.files, columns, json);
342
+ // Summary on stderr regardless of --json (which only changes stdout).
343
+ (0, common_1.logNotice)(`${result.files.length} file(s)`);
368
344
  };
369
345
  const isAmbiguousTestRunError = (error) => (0, client_1.isFetchError)(error) &&
370
346
  error.response?.data?.reason ===
@@ -372,9 +348,9 @@ const isAmbiguousTestRunError = (error) => (0, client_1.isFetchError)(error) &&
372
348
  exports.isAmbiguousTestRunError = isAmbiguousTestRunError;
373
349
  exports.jsCoverageCommand = {
374
350
  command: "js-coverage",
375
- describe: "Get JS coverage for a whole test run or a single replay. Outputs TSV, one row per repo file: repoFilePath plus the requested coverage columns (or JSON with --json).",
351
+ describe: "Get the list of per-file JavaScript coverage for a whole test run, a project's preferred latest successful test run, or a single replay (or a single screenshot of it). Outputs a TSV table with columns repoFilePath plus the requested additional columns (default if none: executedRanges).",
376
352
  builder: {
377
- apiToken: { string: true, description: "Meticulous API token" },
353
+ apiToken: { string: true, description: "Meticulous API token." },
378
354
  testRunId: {
379
355
  string: true,
380
356
  description: "The test run ID. On its own, returns coverage for the whole test run. Combined with --replayId, the replay must belong to this run (head or base); if it was this run's head, paths resolve against this run, otherwise against the replay's own execution run. " +
@@ -382,12 +358,23 @@ exports.jsCoverageCommand = {
382
358
  },
383
359
  commitSha: {
384
360
  string: true,
385
- description: "A commit SHA, used as an alternative to --testRunId: the latest test run for the commit is resolved and used. For whole-test-run coverage, defaults to the local git HEAD when neither --testRunId nor --commitSha is given.",
361
+ description: "A commit SHA, used as an alternative to --testRunId: looks up the latest test run for the commit. For whole-test-run coverage, defaults to the current git HEAD when neither --testRunId nor --commitSha is given.",
386
362
  },
387
- dontWaitForTestRunToComplete: {
363
+ latestForProject: {
388
364
  boolean: true,
389
365
  default: false,
390
- description: "For whole-test-run coverage, return immediately instead of the default of blocking until the run finishes; an unfinished run is then reported as not complete.",
366
+ description: "Return coverage from the project's preferred latest successful test run (the same run used by the webapp's project coverage view). Uses --project when provided, otherwise the token's project or the OAuth user's default project. Cannot be combined with an explicit run/commit/replay, --prDiffOnly, run unions, or --dontWaitForTestRunToComplete.",
367
+ // No yargs-level `conflicts` here: yargs treats a conflicting option as
368
+ // "present" once it has a value, including its default — since
369
+ // prDiffOnly/dontWaitForTestRunToComplete also default to false, that
370
+ // would make every invocation (even a bare `js-coverage`) conflict with
371
+ // itself. assertLatestForProjectCompatible below checks actual values
372
+ // instead and covers every one of these flags.
373
+ },
374
+ project: {
375
+ string: true,
376
+ description: "The project to use for --latestForProject or commit lookup (id, 'org/proj', or simply 'proj'). One-off override; when omitted, uses the token's project or the OAuth user's configured default project.",
377
+ conflicts: ["testRunId", "testRunIds"],
391
378
  },
392
379
  replayId: {
393
380
  string: true,
@@ -395,60 +382,60 @@ exports.jsCoverageCommand = {
395
382
  },
396
383
  screenshotName: {
397
384
  string: true,
398
- description: 'Screenshot name (e.g. "after-event-5" or "end-state"), for use with --replayId. Omit for the whole replay.',
385
+ description: "Restrict coverage to this screenshot, which is only the coverage recorded since the preceding screenshot (for use with --replayId; omit for the whole replay).",
386
+ },
387
+ headPlusTestRunIds: {
388
+ string: true,
389
+ description: "Comma-separated additional test run IDs to union with the run resolved via --commitSha, or the current git HEAD by default (cannot be combined with --testRunId — use --testRunIds instead when you already have an explicit primary ID). " +
390
+ "Useful for checking combined coverage of the base (resolved from --commitSha or the current git HEAD) with additional custom-session test runs, each covering a subset of sessions. All runs must be finished, belong to the same project, and have executed the exact same commit as the run resolved above " +
391
+ "(a PR's merge commit is recomputed whenever its base branch moves, so a run triggered against a since-advanced base is rejected). Whole-test-run coverage only.",
392
+ },
393
+ testRunIds: {
394
+ string: true,
395
+ description: "Comma-separated test run IDs: the first is the primary run coverage is returned for, the rest are unioned in exactly like --headPlusTestRunIds. An alternative to --testRunId/--commitSha for callers that already have an ordered list of run IDs on hand. " +
396
+ "Cannot be combined with --testRunId, --commitSha, or --headPlusTestRunIds. Same constraints as --headPlusTestRunIds apply to the additional IDs (same project, same commit as the primary). Whole-test-run coverage only.",
399
397
  },
400
398
  includeAllFiles: {
401
399
  boolean: true,
402
400
  default: false,
403
- description: "Return every file, regardless of the requested columns. By default a file is dropped unless at least one requested column has a value for it (e.g. with only executed ranges, files with no executed lines are dropped). Works for both replay and whole-test-run coverage.",
401
+ description: "Output all files, including those with no value in the requested columns (dropped by default). Works for both replay and whole-test-run coverage.",
404
402
  },
405
403
  globFilter: {
406
404
  string: true,
407
- description: 'Keep only repo file paths matching this gitignore-style glob, e.g. "src/components/**".',
405
+ description: "Output only files whose repo path matches this gitignore-style glob (e.g. src/components/**).",
406
+ },
407
+ prDiffOnly: {
408
+ boolean: true,
409
+ default: false,
410
+ description: "Output only files changed in the PR diff (from coverage.pr.json). Whole-test-run coverage only.",
408
411
  },
409
412
  includeExecutedRanges: {
410
413
  boolean: true,
411
414
  default: false,
412
- description: "Include the executed line ranges column. This is the default column when no other --include* range/percentage flag is given.",
415
+ description: "Add an executedRanges column with the executed line ranges (default if none of the columns are requested).",
413
416
  },
414
417
  includeExecutableRanges: {
415
418
  boolean: true,
416
419
  default: false,
417
- description: "Include the executable line ranges column (lines that could be executed). Whole-test-run coverage only.",
420
+ description: "Add an executableRanges column with the executable line ranges. Whole-test-run coverage only.",
418
421
  },
419
422
  includeUncoveredRanges: {
420
423
  boolean: true,
421
424
  default: false,
422
- description: "Include the uncovered line ranges column (executable minus executed). Whole-test-run coverage only.",
425
+ description: "Add an uncoveredRanges column with the uncovered line ranges (executable minus executed). Whole-test-run coverage only.",
423
426
  },
424
427
  includeCoveragePercentage: {
425
428
  boolean: true,
426
429
  default: false,
427
- description: "Include the coverage percentage column (0–100; executed / executable lines per file). Whole-test-run coverage only.",
430
+ description: "Add a coveragePercentage column with the per-file coverage percentage (0–100). Whole-test-run coverage only.",
428
431
  },
429
- prDiffOnly: {
432
+ dontWaitForTestRunToComplete: {
430
433
  boolean: true,
431
434
  default: false,
432
- description: "Return only coverage for files changed in the PR diff (from coverage.pr.json). Whole-test-run coverage only.",
433
- },
434
- headPlusTestRunIds: {
435
- string: true,
436
- description: "Comma-separated additional test run IDs to union with the run resolved via --commitSha, or the local git HEAD by default (cannot be combined with --testRunId — use --testRunIds instead when you already have an explicit primary ID). " +
437
- "Useful for combining a project's normal coverage with the coverage of a few extra test runs. All runs must be finished, belong to the same project, and have executed the exact same commit as the run resolved above " +
438
- "(a PR's merge commit is recomputed whenever its base branch moves, so a run triggered against a since-advanced base is rejected). Whole-test-run coverage only.",
439
- },
440
- testRunIds: {
441
- string: true,
442
- description: "Comma-separated test run IDs: the first is the primary run coverage is returned for, the rest are unioned in exactly like --headPlusTestRunIds. An alternative to --testRunId/--commitSha for callers that already have an ordered list of run IDs on hand. " +
443
- "Cannot be combined with --testRunId, --commitSha, or --headPlusTestRunIds. Same constraints as --headPlusTestRunIds apply to the additional IDs (same project, same commit as the primary). Whole-test-run coverage only.",
444
- },
445
- project: {
446
- string: true,
447
- description: "Project to resolve --commitSha against (id, 'organization/name', or a bare name unique among your accessible projects). Cannot be combined with --testRunId/--testRunIds (the run already determines the project). One-off override for this call only; when omitted, uses the token's project or the default set via `auth set-project`.",
448
- conflicts: ["testRunId", "testRunIds"],
435
+ description: "For whole-test-run coverage, return immediately instead of the default of blocking until the run finishes; an unfinished run is then reported as not complete.",
449
436
  },
450
437
  },
451
438
  handler: (0, sentry_utils_1.wrapHandler)(handler),
452
439
  };
453
440
  //# sourceMappingURL=js-coverage.command.js.map
454
- //# debugId=78a1485d-27d5-56da-a188-7abd28840888
441
+ //# debugId=1e9e6330-3e2f-5e8e-8c64-be08ee6e40f2
@@ -1 +1 @@
1
- {"version":3,"file":"js-coverage.command.js","sources":["../../../src/commands/agent/js-coverage.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"78a1485d-27d5-56da-a188-7abd28840888"}
1
+ {"version":3,"file":"js-coverage.command.js","sources":["../../../src/commands/agent/js-coverage.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"1e9e6330-3e2f-5e8e-8c64-be08ee6e40f2"}
@@ -1,12 +1,17 @@
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]="f9e1b73b-f936-50f6-9121-8e222d34a1e2")}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]="fd28c041-2770-54b3-ba6d-6653f5fecc55")}catch(e){}}();
3
3
 
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
4
7
  Object.defineProperty(exports, "__esModule", { value: true });
5
8
  const vitest_1 = require("vitest");
9
+ const yargs_1 = __importDefault(require("yargs"));
6
10
  const cli_user_error_1 = require("../../utils/cli-user-error");
7
11
  const js_coverage_command_1 = require("./js-coverage.command");
8
12
  const baseOptions = (overrides = {}) => ({
9
13
  apiToken: undefined,
14
+ latestForProject: false,
10
15
  replayId: undefined,
11
16
  testRunId: undefined,
12
17
  commitSha: undefined,
@@ -22,8 +27,62 @@ const baseOptions = (overrides = {}) => ({
22
27
  headPlusTestRunIds: undefined,
23
28
  testRunIds: undefined,
24
29
  json: false,
30
+ project: undefined,
25
31
  ...overrides,
26
32
  });
33
+ (0, vitest_1.describe)("--latestForProject", () => {
34
+ (0, vitest_1.it)("allows project selection and coverage output options", () => {
35
+ (0, vitest_1.expect)(() => (0, js_coverage_command_1.assertLatestForProjectCompatible)(baseOptions({
36
+ latestForProject: true,
37
+ project: "org/project",
38
+ includeCoveragePercentage: true,
39
+ globFilter: "src/**",
40
+ }))).not.toThrow();
41
+ });
42
+ (0, vitest_1.it)("rejects explicit run selection and test-run-only modifiers", () => {
43
+ (0, vitest_1.expect)(() => (0, js_coverage_command_1.assertLatestForProjectCompatible)(baseOptions({
44
+ latestForProject: true,
45
+ testRunId: "tr-1",
46
+ prDiffOnly: true,
47
+ }))).toThrow(/--testRunId, --prDiffOnly/);
48
+ });
49
+ (0, vitest_1.it)("builds a project request with the default executed-ranges column", () => {
50
+ const options = baseOptions({
51
+ latestForProject: true,
52
+ project: "org/project",
53
+ });
54
+ (0, vitest_1.expect)((0, js_coverage_command_1.buildProjectCoverageRequestOptions)(options, (0, js_coverage_command_1.determineColumns)(options))).toEqual({
55
+ includeAllFiles: false,
56
+ project: "org/project",
57
+ includeExecutedRanges: true,
58
+ });
59
+ });
60
+ // Regression test for a real bug: yargs' `conflicts` treats an option as
61
+ // "present" once it has a value, including its default. latestForProject,
62
+ // prDiffOnly, and dontWaitForTestRunToComplete all default to false, so a
63
+ // yargs-level `conflicts` between them would reject every invocation —
64
+ // including a bare `js-coverage` with no flags at all — before the handler
65
+ // (and assertLatestForProjectCompatible) ever runs. Parse through the real
66
+ // yargs builder (unlike the other tests above, which call
67
+ // assertLatestForProjectCompatible directly) so this class of bug can't
68
+ // silently come back.
69
+ (0, vitest_1.it)("does not reject a bare invocation at the yargs parsing layer", () => {
70
+ (0, vitest_1.expect)(() => (0, yargs_1.default)([])
71
+ .options(js_coverage_command_1.jsCoverageCommand.builder)
72
+ .fail((msg) => {
73
+ throw new Error(msg);
74
+ })
75
+ .parse()).not.toThrow();
76
+ });
77
+ (0, vitest_1.it)("does not reject an explicit --testRunId at the yargs parsing layer", () => {
78
+ (0, vitest_1.expect)(() => (0, yargs_1.default)(["--testRunId", "tr-1"])
79
+ .options(js_coverage_command_1.jsCoverageCommand.builder)
80
+ .fail((msg) => {
81
+ throw new Error(msg);
82
+ })
83
+ .parse()).not.toThrow();
84
+ });
85
+ });
27
86
  (0, vitest_1.describe)("determineColumns", () => {
28
87
  (0, vitest_1.it)("defaults to executed ranges when no column flag is given", () => {
29
88
  (0, vitest_1.expect)((0, js_coverage_command_1.determineColumns)(baseOptions())).toEqual(["executedRanges"]);
@@ -162,6 +221,37 @@ const baseOptions = (overrides = {}) => ({
162
221
  });
163
222
  });
164
223
  });
224
+ (0, vitest_1.describe)("printProjectCoverage", () => {
225
+ let logged = [];
226
+ const spy = vitest_1.vi.spyOn(console, "log").mockImplementation((line) => {
227
+ logged.push(line);
228
+ });
229
+ (0, vitest_1.afterEach)(() => {
230
+ logged = [];
231
+ spy.mockClear();
232
+ });
233
+ (0, vitest_1.it)("prints the same coverage rows as explicit test-run mode", () => {
234
+ const result = {
235
+ testRunId: "tr-9",
236
+ files: [
237
+ {
238
+ repoFilePath: "src/a.ts",
239
+ executedRanges: [[1, 2]],
240
+ coveragePercentage: 40,
241
+ },
242
+ ],
243
+ };
244
+ (0, js_coverage_command_1.printProjectCoverage)(result, ["executedRanges", "coveragePercentage"], false);
245
+ (0, vitest_1.expect)(logged).toEqual([
246
+ "repoFilePath\texecutedRanges\tcoveragePercentage",
247
+ "src/a.ts\t1-2\t40.0",
248
+ ]);
249
+ });
250
+ (0, vitest_1.it)("prints an empty JSON list when no run can be resolved", () => {
251
+ (0, js_coverage_command_1.printProjectCoverage)({ testRunId: null, files: [] }, ["executedRanges"], true);
252
+ (0, vitest_1.expect)(JSON.parse(logged.join("\n"))).toEqual([]);
253
+ });
254
+ });
165
255
  (0, vitest_1.describe)("isAmbiguousTestRunError", () => {
166
256
  (0, vitest_1.it)("detects the ambiguous-test-run reason on a fetch error", () => {
167
257
  (0, vitest_1.expect)((0, js_coverage_command_1.isAmbiguousTestRunError)({
@@ -178,4 +268,4 @@ const baseOptions = (overrides = {}) => ({
178
268
  });
179
269
  });
180
270
  //# sourceMappingURL=js-coverage.command.spec.js.map
181
- //# debugId=f9e1b73b-f936-50f6-9121-8e222d34a1e2
271
+ //# debugId=fd28c041-2770-54b3-ba6d-6653f5fecc55