build-raptor 0.129.0 → 0.131.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 (216) hide show
  1. package/build-raptor.js +7259 -0
  2. package/index.d.ts +22 -0
  3. package/index.js +7231 -0
  4. package/package.json +13 -17
  5. package/dist/deps/brand/brand.d.ts +0 -5
  6. package/dist/deps/brand/brand.js +0 -3
  7. package/dist/deps/brand/index.d.ts +0 -1
  8. package/dist/deps/brand/index.js +0 -18
  9. package/dist/deps/build-failed-error/build-failed-error.d.ts +0 -14
  10. package/dist/deps/build-failed-error/build-failed-error.js +0 -13
  11. package/dist/deps/build-failed-error/index.d.ts +0 -1
  12. package/dist/deps/build-failed-error/index.js +0 -18
  13. package/dist/deps/build-raptor-api/build-raptor-api.d.ts +0 -351
  14. package/dist/deps/build-raptor-api/build-raptor-api.js +0 -132
  15. package/dist/deps/build-raptor-api/index.d.ts +0 -2
  16. package/dist/deps/build-raptor-api/index.js +0 -19
  17. package/dist/deps/build-raptor-api/step-by-step-processor.d.ts +0 -35
  18. package/dist/deps/build-raptor-api/step-by-step-processor.js +0 -3
  19. package/dist/deps/build-raptor-core/breakdown.d.ts +0 -18
  20. package/dist/deps/build-raptor-core/breakdown.js +0 -99
  21. package/dist/deps/build-raptor-core/build-raptor-config.d.ts +0 -18
  22. package/dist/deps/build-raptor-core/build-raptor-config.js +0 -21
  23. package/dist/deps/build-raptor-core/default-asset-publisher.d.ts +0 -10
  24. package/dist/deps/build-raptor-core/default-asset-publisher.js +0 -16
  25. package/dist/deps/build-raptor-core/engine-bootstrapper.d.ts +0 -50
  26. package/dist/deps/build-raptor-core/engine-bootstrapper.js +0 -200
  27. package/dist/deps/build-raptor-core/engine-event-scheme.d.ts +0 -20
  28. package/dist/deps/build-raptor-core/engine-event-scheme.js +0 -3
  29. package/dist/deps/build-raptor-core/engine.d.ts +0 -66
  30. package/dist/deps/build-raptor-core/engine.js +0 -285
  31. package/dist/deps/build-raptor-core/examplify-zod.d.ts +0 -93
  32. package/dist/deps/build-raptor-core/examplify-zod.js +0 -257
  33. package/dist/deps/build-raptor-core/execution-plan.d.ts +0 -20
  34. package/dist/deps/build-raptor-core/execution-plan.js +0 -66
  35. package/dist/deps/build-raptor-core/execution-record.d.ts +0 -17
  36. package/dist/deps/build-raptor-core/execution-record.js +0 -3
  37. package/dist/deps/build-raptor-core/execution-type.d.ts +0 -2
  38. package/dist/deps/build-raptor-core/execution-type.js +0 -3
  39. package/dist/deps/build-raptor-core/find-repo-dir.d.ts +0 -1
  40. package/dist/deps/build-raptor-core/find-repo-dir.js +0 -27
  41. package/dist/deps/build-raptor-core/fingerprint-ledger.d.ts +0 -33
  42. package/dist/deps/build-raptor-core/fingerprint-ledger.js +0 -164
  43. package/dist/deps/build-raptor-core/fingerprint.d.ts +0 -3
  44. package/dist/deps/build-raptor-core/fingerprint.js +0 -13
  45. package/dist/deps/build-raptor-core/fingerprinter.d.ts +0 -14
  46. package/dist/deps/build-raptor-core/fingerprinter.js +0 -121
  47. package/dist/deps/build-raptor-core/hasher.d.ts +0 -21
  48. package/dist/deps/build-raptor-core/hasher.js +0 -93
  49. package/dist/deps/build-raptor-core/index.d.ts +0 -9
  50. package/dist/deps/build-raptor-core/index.js +0 -26
  51. package/dist/deps/build-raptor-core/model.d.ts +0 -17
  52. package/dist/deps/build-raptor-core/model.js +0 -40
  53. package/dist/deps/build-raptor-core/nop-asset-publisher.d.ts +0 -6
  54. package/dist/deps/build-raptor-core/nop-asset-publisher.js +0 -12
  55. package/dist/deps/build-raptor-core/performance-report.d.ts +0 -5
  56. package/dist/deps/build-raptor-core/performance-report.js +0 -3
  57. package/dist/deps/build-raptor-core/phase.d.ts +0 -1
  58. package/dist/deps/build-raptor-core/phase.js +0 -3
  59. package/dist/deps/build-raptor-core/planner.d.ts +0 -12
  60. package/dist/deps/build-raptor-core/planner.js +0 -43
  61. package/dist/deps/build-raptor-core/purger.d.ts +0 -11
  62. package/dist/deps/build-raptor-core/purger.js +0 -65
  63. package/dist/deps/build-raptor-core/slot-index.d.ts +0 -6
  64. package/dist/deps/build-raptor-core/slot-index.js +0 -17
  65. package/dist/deps/build-raptor-core/step-by-step-transmitter.d.ts +0 -15
  66. package/dist/deps/build-raptor-core/step-by-step-transmitter.js +0 -94
  67. package/dist/deps/build-raptor-core/tar-stream.d.ts +0 -20
  68. package/dist/deps/build-raptor-core/tar-stream.js +0 -194
  69. package/dist/deps/build-raptor-core/task-executor.d.ts +0 -32
  70. package/dist/deps/build-raptor-core/task-executor.js +0 -321
  71. package/dist/deps/build-raptor-core/task-store-cli.d.ts +0 -1
  72. package/dist/deps/build-raptor-core/task-store-cli.js +0 -61
  73. package/dist/deps/build-raptor-core/task-store-event.d.ts +0 -17
  74. package/dist/deps/build-raptor-core/task-store-event.js +0 -3
  75. package/dist/deps/build-raptor-core/task-store.d.ts +0 -41
  76. package/dist/deps/build-raptor-core/task-store.js +0 -302
  77. package/dist/deps/build-raptor-core/task-summary.d.ts +0 -12
  78. package/dist/deps/build-raptor-core/task-summary.js +0 -3
  79. package/dist/deps/build-raptor-core/task-tracker.d.ts +0 -23
  80. package/dist/deps/build-raptor-core/task-tracker.js +0 -97
  81. package/dist/deps/build-raptor-core/task.d.ts +0 -30
  82. package/dist/deps/build-raptor-core/task.js +0 -90
  83. package/dist/deps/build-raptor-core/updatable-task-output-registry.d.ts +0 -13
  84. package/dist/deps/build-raptor-core/updatable-task-output-registry.js +0 -75
  85. package/dist/deps/build-raptor-core/validate-task-infos.d.ts +0 -3
  86. package/dist/deps/build-raptor-core/validate-task-infos.js +0 -53
  87. package/dist/deps/build-raptor-core-testkit/build-raptor-core-testkit.d.ts +0 -1
  88. package/dist/deps/build-raptor-core-testkit/build-raptor-core-testkit.js +0 -18
  89. package/dist/deps/build-raptor-core-testkit/driver.d.ts +0 -119
  90. package/dist/deps/build-raptor-core-testkit/driver.js +0 -305
  91. package/dist/deps/build-raptor-core-testkit/index.d.ts +0 -3
  92. package/dist/deps/build-raptor-core-testkit/index.js +0 -20
  93. package/dist/deps/build-raptor-core-testkit/repo-protocol-testkit.d.ts +0 -35
  94. package/dist/deps/build-raptor-core-testkit/repo-protocol-testkit.js +0 -226
  95. package/dist/deps/build-raptor-core-testkit/simple-node-repo-protocol.d.ts +0 -27
  96. package/dist/deps/build-raptor-core-testkit/simple-node-repo-protocol.js +0 -140
  97. package/dist/deps/build-raptor-jest-reporter/index.d.ts +0 -0
  98. package/dist/deps/build-raptor-jest-reporter/index.js +0 -33
  99. package/dist/deps/build-run-id/build-run-id.d.ts +0 -3
  100. package/dist/deps/build-run-id/build-run-id.js +0 -13
  101. package/dist/deps/build-run-id/index.d.ts +0 -1
  102. package/dist/deps/build-run-id/index.js +0 -18
  103. package/dist/deps/core-types/core-types.d.ts +0 -29
  104. package/dist/deps/core-types/core-types.js +0 -81
  105. package/dist/deps/core-types/index.d.ts +0 -1
  106. package/dist/deps/core-types/index.js +0 -18
  107. package/dist/deps/logger/index.d.ts +0 -1
  108. package/dist/deps/logger/index.js +0 -18
  109. package/dist/deps/logger/logger.d.ts +0 -26
  110. package/dist/deps/logger/logger.js +0 -152
  111. package/dist/deps/misc/arrays.d.ts +0 -7
  112. package/dist/deps/misc/arrays.js +0 -67
  113. package/dist/deps/misc/camelize-record.d.ts +0 -6
  114. package/dist/deps/misc/camelize-record.js +0 -16
  115. package/dist/deps/misc/clean-directory.d.ts +0 -4
  116. package/dist/deps/misc/clean-directory.js +0 -80
  117. package/dist/deps/misc/constructs.d.ts +0 -106
  118. package/dist/deps/misc/constructs.js +0 -131
  119. package/dist/deps/misc/directory-scanner.d.ts +0 -49
  120. package/dist/deps/misc/directory-scanner.js +0 -165
  121. package/dist/deps/misc/executor.d.ts +0 -39
  122. package/dist/deps/misc/executor.js +0 -59
  123. package/dist/deps/misc/file-system-storage-client.d.ts +0 -23
  124. package/dist/deps/misc/file-system-storage-client.js +0 -93
  125. package/dist/deps/misc/folderify.d.ts +0 -8
  126. package/dist/deps/misc/folderify.js +0 -86
  127. package/dist/deps/misc/graph.d.ts +0 -29
  128. package/dist/deps/misc/graph.js +0 -200
  129. package/dist/deps/misc/in-memory-storage-client.d.ts +0 -21
  130. package/dist/deps/misc/in-memory-storage-client.js +0 -75
  131. package/dist/deps/misc/index.d.ts +0 -20
  132. package/dist/deps/misc/index.js +0 -37
  133. package/dist/deps/misc/int.d.ts +0 -10
  134. package/dist/deps/misc/int.js +0 -29
  135. package/dist/deps/misc/internal/graph-executor.d.ts +0 -15
  136. package/dist/deps/misc/internal/graph-executor.js +0 -93
  137. package/dist/deps/misc/maps.d.ts +0 -29
  138. package/dist/deps/misc/maps.js +0 -47
  139. package/dist/deps/misc/misc.d.ts +0 -23
  140. package/dist/deps/misc/misc.js +0 -94
  141. package/dist/deps/misc/object-map.d.ts +0 -10
  142. package/dist/deps/misc/object-map.js +0 -26
  143. package/dist/deps/misc/promises.d.ts +0 -39
  144. package/dist/deps/misc/promises.js +0 -78
  145. package/dist/deps/misc/records.d.ts +0 -11
  146. package/dist/deps/misc/records.js +0 -40
  147. package/dist/deps/misc/slurp-dir.d.ts +0 -1
  148. package/dist/deps/misc/slurp-dir.js +0 -14
  149. package/dist/deps/misc/storage-client.d.ts +0 -12
  150. package/dist/deps/misc/storage-client.js +0 -3
  151. package/dist/deps/misc/stream-to-buffer.d.ts +0 -2
  152. package/dist/deps/misc/stream-to-buffer.js +0 -26
  153. package/dist/deps/misc/strings.d.ts +0 -12
  154. package/dist/deps/misc/strings.js +0 -68
  155. package/dist/deps/misc/typed-publisher.d.ts +0 -17
  156. package/dist/deps/misc/typed-publisher.js +0 -65
  157. package/dist/deps/repo-protocol/index.d.ts +0 -3
  158. package/dist/deps/repo-protocol/index.js +0 -20
  159. package/dist/deps/repo-protocol/repo-protocol.d.ts +0 -49
  160. package/dist/deps/repo-protocol/repo-protocol.js +0 -3
  161. package/dist/deps/repo-protocol/task-info.d.ts +0 -18
  162. package/dist/deps/repo-protocol/task-info.js +0 -3
  163. package/dist/deps/repo-protocol/test-run-summary.d.ts +0 -54
  164. package/dist/deps/repo-protocol/test-run-summary.js +0 -32
  165. package/dist/deps/repo-protocol-toolbox/generate-task-infos.d.ts +0 -5
  166. package/dist/deps/repo-protocol-toolbox/generate-task-infos.js +0 -26
  167. package/dist/deps/repo-protocol-toolbox/index.d.ts +0 -3
  168. package/dist/deps/repo-protocol-toolbox/index.js +0 -20
  169. package/dist/deps/repo-protocol-toolbox/repo-protocol-toolbox.d.ts +0 -10
  170. package/dist/deps/repo-protocol-toolbox/repo-protocol-toolbox.js +0 -90
  171. package/dist/deps/repo-protocol-toolbox/task-definition.d.ts +0 -14
  172. package/dist/deps/repo-protocol-toolbox/task-definition.js +0 -3
  173. package/dist/deps/reporter-output/index.d.ts +0 -1
  174. package/dist/deps/reporter-output/index.js +0 -18
  175. package/dist/deps/reporter-output/reporter-output.d.ts +0 -49
  176. package/dist/deps/reporter-output/reporter-output.js +0 -25
  177. package/dist/deps/s3-storage-client/creds.d.ts +0 -4
  178. package/dist/deps/s3-storage-client/creds.js +0 -3
  179. package/dist/deps/s3-storage-client/get-s3-storage-client-factory.d.ts +0 -3
  180. package/dist/deps/s3-storage-client/get-s3-storage-client-factory.js +0 -45
  181. package/dist/deps/s3-storage-client/index.d.ts +0 -2
  182. package/dist/deps/s3-storage-client/index.js +0 -19
  183. package/dist/deps/s3-storage-client/main.d.ts +0 -1
  184. package/dist/deps/s3-storage-client/main.js +0 -20
  185. package/dist/deps/s3-storage-client/s3-storage-client.d.ts +0 -25
  186. package/dist/deps/s3-storage-client/s3-storage-client.js +0 -134
  187. package/dist/deps/task-name/index.d.ts +0 -1
  188. package/dist/deps/task-name/index.js +0 -18
  189. package/dist/deps/task-name/task-name.d.ts +0 -17
  190. package/dist/deps/task-name/task-name.js +0 -44
  191. package/dist/deps/unit-metadata/index.d.ts +0 -1
  192. package/dist/deps/unit-metadata/index.js +0 -18
  193. package/dist/deps/unit-metadata/unit-metadata.d.ts +0 -14
  194. package/dist/deps/unit-metadata/unit-metadata.js +0 -32
  195. package/dist/deps/yarn-repo-protocol/build-task-record.d.ts +0 -61
  196. package/dist/deps/yarn-repo-protocol/build-task-record.js +0 -29
  197. package/dist/deps/yarn-repo-protocol/generate-test-run-summary.d.ts +0 -4
  198. package/dist/deps/yarn-repo-protocol/generate-test-run-summary.js +0 -26
  199. package/dist/deps/yarn-repo-protocol/index.d.ts +0 -2
  200. package/dist/deps/yarn-repo-protocol/index.js +0 -19
  201. package/dist/deps/yarn-repo-protocol/rerun-list.d.ts +0 -12
  202. package/dist/deps/yarn-repo-protocol/rerun-list.js +0 -6
  203. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol-config.d.ts +0 -24
  204. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol-config.js +0 -33
  205. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol.d.ts +0 -82
  206. package/dist/deps/yarn-repo-protocol/yarn-repo-protocol.js +0 -1036
  207. package/dist/src/build-raptor-cli.d.ts +0 -60
  208. package/dist/src/build-raptor-cli.js +0 -514
  209. package/dist/src/index.d.ts +0 -1
  210. package/dist/src/index.js +0 -20
  211. package/dist/src/main.d.ts +0 -2
  212. package/dist/src/main.js +0 -23
  213. package/dist/src/register-asset-request.d.ts +0 -18
  214. package/dist/src/register-asset-request.js +0 -11
  215. package/dist/src/task-execution-visualizer.d.ts +0 -17
  216. package/dist/src/task-execution-visualizer.js +0 -116
@@ -1,35 +0,0 @@
1
- import { FolderifyRecipe } from 'misc';
2
- import { ExitStatus, RepoProtocol } from 'repo-protocol';
3
- import { TaskDefinition } from 'repo-protocol-toolbox';
4
- import { TaskName } from 'task-name';
5
- import { Run } from './driver';
6
- type TaskLabel = string;
7
- type CatalogSpec = {
8
- readonly taskDefs?: readonly TaskDefinition[];
9
- };
10
- type TaskCallback = ((dir: string) => Promise<ExitStatus>) | ((dir: string) => ExitStatus);
11
- /**
12
- * Returns an array of task names which are the dependencies of the given input (also a task name).
13
- */
14
- type DepFunc = (taskName: string) => string[];
15
- export declare class RepoProtocolTestkit {
16
- private readonly graphJson;
17
- private spec?;
18
- private map;
19
- private countByTask;
20
- private countByTaskInRun;
21
- private readonly units;
22
- constructor(graphJson: Record<string, string[]>, spec?: (CatalogSpec | DepFunc) | undefined);
23
- changeCatalog(spec: CatalogSpec): void;
24
- private assertUnitId;
25
- countOf(unitId: string, taskKind: string, run?: Run): number;
26
- countOf(run: Run): Record<TaskName, number>;
27
- invokedAt(run: Run): TaskName[];
28
- setTask(taskLabel: TaskLabel, cb: TaskCallback): void;
29
- setTaskOutputs(taskLabel: TaskLabel, recipe: FolderifyRecipe): void;
30
- setTaskFunction(taskLabel: TaskLabel, callback: (inputs: FolderifyRecipe) => FolderifyRecipe | Promise<FolderifyRecipe>): void;
31
- setTaskResult(unitId: string, taskKind: 'test' | 'build', result: ExitStatus): void;
32
- setTaskResult(taskLabel: TaskLabel, result: ExitStatus): void;
33
- create(): RepoProtocol;
34
- }
35
- export {};
@@ -1,226 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.RepoProtocolTestkit = void 0;
37
- const core_types_1 = require("core-types");
38
- const fse = __importStar(require("fs-extra"));
39
- const misc_1 = require("misc");
40
- const repo_protocol_toolbox_1 = require("repo-protocol-toolbox");
41
- const task_name_1 = require("task-name");
42
- const unit_metadata_1 = require("unit-metadata");
43
- const zod_1 = require("zod");
44
- function validate(input) {
45
- new TaskInRunUtils().undo(input);
46
- }
47
- class TaskInRunUtils {
48
- undo(input) {
49
- const parsed = JSON.parse(input);
50
- if (!Array.isArray(parsed) || parsed.length !== 2) {
51
- throw new Error(`Bad TaskInRun value: <${input}>`);
52
- }
53
- const [taskName, buildRunId] = parsed;
54
- return { taskName, buildRunId };
55
- }
56
- }
57
- function TaskInRun(...args) {
58
- if (args.length === 2) {
59
- const [tn, buildRunId] = args;
60
- const ret = JSON.stringify([tn, buildRunId]);
61
- validate(ret);
62
- return ret;
63
- }
64
- if (args.length === 0) {
65
- return new TaskInRunUtils();
66
- }
67
- (0, misc_1.shouldNeverHappen)(args);
68
- }
69
- function labelToTaskName(label) {
70
- return (0, task_name_1.TaskName)().parse(label);
71
- }
72
- class RepoProtocolTestkit {
73
- constructor(graphJson, spec) {
74
- this.graphJson = graphJson;
75
- this.spec = spec;
76
- this.map = new Map();
77
- this.countByTask = new Map();
78
- this.countByTaskInRun = new Map();
79
- this.units = Object.keys(graphJson).map(u => new unit_metadata_1.UnitMetadata(u, (0, unit_metadata_1.UnitId)(u)));
80
- }
81
- changeCatalog(spec) {
82
- this.spec = spec;
83
- }
84
- assertUnitId(unitId) {
85
- if (!this.units.find(at => at.id === unitId)) {
86
- throw new Error(`Unit <${unitId}> not found in ${JSON.stringify(this.units)}`);
87
- }
88
- }
89
- countOf(...args) {
90
- if (args.length === 3 || args.length === 2) {
91
- const [unitId, taskKind, run] = args;
92
- this.assertUnitId(unitId);
93
- const tn = (0, task_name_1.TaskName)(unitId, (0, task_name_1.TaskKind)(taskKind));
94
- if (!run) {
95
- return this.countByTask.get(tn) ?? 0;
96
- }
97
- return this.countByTaskInRun.get(TaskInRun(tn, run.buildRunId)) ?? 0;
98
- }
99
- if (args.length === 1) {
100
- const [run] = args;
101
- const triplets = [...this.countByTaskInRun.entries()].map(([k, count]) => {
102
- const { buildRunId, taskName } = TaskInRun().undo(k);
103
- return { buildRunId, taskName, count };
104
- });
105
- const pairs = triplets.filter(at => at.buildRunId === run.buildRunId).map(at => (0, misc_1.pair)(at.taskName, at.count));
106
- return (0, misc_1.pairsToRecord)(pairs);
107
- }
108
- (0, misc_1.shouldNeverHappen)(args.length);
109
- }
110
- invokedAt(run) {
111
- const pairs = (0, misc_1.recordToPairs)(this.countOf(run));
112
- return pairs.filter(([_k, v]) => v > 0).map(([k, _v]) => k);
113
- }
114
- setTask(taskLabel, cb) {
115
- const tn = (0, task_name_1.TaskName)().parse(taskLabel);
116
- this.map.set(tn, cb);
117
- }
118
- setTaskOutputs(taskLabel, recipe) {
119
- this.setTask(taskLabel, async (dir) => {
120
- await (0, misc_1.writeRecipe)(dir, recipe);
121
- return Promise.resolve('OK');
122
- });
123
- }
124
- setTaskFunction(taskLabel, callback) {
125
- this.setTask(taskLabel, async (dir) => {
126
- const inputs = await (0, misc_1.slurpDir)(dir);
127
- const recipe = await callback(inputs);
128
- await (0, misc_1.writeRecipe)(dir, recipe);
129
- return Promise.resolve('OK');
130
- });
131
- }
132
- setTaskResult(...args) {
133
- let tn;
134
- let r;
135
- if (args.length === 3) {
136
- const [unitId, taskKind, result] = args;
137
- tn = (0, task_name_1.TaskName)((0, unit_metadata_1.UnitId)(unitId), (0, task_name_1.TaskKind)(taskKind));
138
- r = result;
139
- }
140
- else if (args.length === 2) {
141
- const [label, result] = args;
142
- tn = labelToTaskName(label);
143
- r = result;
144
- }
145
- else {
146
- (0, misc_1.shouldNeverHappen)(args);
147
- }
148
- const { unitId } = (0, task_name_1.TaskName)().undo(tn);
149
- this.assertUnitId(unitId);
150
- this.map.set(tn, () => r);
151
- }
152
- create() {
153
- const getGraph = () => {
154
- const g = new misc_1.Graph(x => x);
155
- for (const [dir, deps] of Object.entries(this.graphJson)) {
156
- g.vertex((0, unit_metadata_1.UnitId)(dir));
157
- for (const d of deps) {
158
- g.edge((0, unit_metadata_1.UnitId)(dir), (0, unit_metadata_1.UnitId)(d));
159
- }
160
- }
161
- return g;
162
- };
163
- return new RepoProtocolImpl(this.units, {
164
- getGraph,
165
- map: this.map,
166
- countByTask: this.countByTask,
167
- countByTaskInRun: this.countByTaskInRun,
168
- getCatalogSpec: () => this.spec,
169
- });
170
- }
171
- }
172
- exports.RepoProtocolTestkit = RepoProtocolTestkit;
173
- class RepoProtocolImpl {
174
- constructor(units, state) {
175
- this.units = units;
176
- this.state = state;
177
- this.rootDir = (0, core_types_1.RepoRoot)('/');
178
- }
179
- async initialize(rootDir) {
180
- this.rootDir = rootDir;
181
- }
182
- getConfigSchema() {
183
- return zod_1.z.object({});
184
- }
185
- async close() { }
186
- async execute(tn, outputFile, buildRunId) {
187
- (0, misc_1.mapIncrement)(this.state.countByTask, tn, 1);
188
- (0, misc_1.mapIncrement)(this.state.countByTaskInRun, TaskInRun(tn, buildRunId), 1);
189
- const taskCb = this.state.map.get(tn) ?? (() => 'OK');
190
- const { unitId } = (0, task_name_1.TaskName)().undo(tn);
191
- const u = this.units.find(u => u.id === unitId) ?? (0, misc_1.failMe)(`Unit not found (unit ID=${unitId})`);
192
- const dir = this.rootDir.resolve(u.pathInRepo);
193
- const v = await taskCb(dir);
194
- await fse.writeFile(outputFile, `task ${tn} result is ${v}`);
195
- return v;
196
- }
197
- async getGraph() {
198
- return this.state.getGraph();
199
- }
200
- async getUnits() {
201
- const ret = [...this.units];
202
- const arr = await Promise.all(ret.map(async (u) => {
203
- const exist = await fse.pathExists(this.rootDir.resolve(u.pathInRepo));
204
- if (exist) {
205
- return undefined;
206
- }
207
- return u;
208
- }));
209
- const filtered = arr.filter(Boolean);
210
- if (filtered.length) {
211
- throw new Error(`Missing folders for the following units: ${JSON.stringify(filtered)}`);
212
- }
213
- return ret;
214
- }
215
- async getTasks() {
216
- const catalogSpec = this.state.getCatalogSpec();
217
- if (catalogSpec && typeof catalogSpec !== 'function') {
218
- return new repo_protocol_toolbox_1.TaskInfoGenerator().computeInfos(catalogSpec.taskDefs, this.units, this.state.getGraph());
219
- }
220
- const depFunc = typeof catalogSpec === 'function'
221
- ? catalogSpec // eslint-disable-line @typescript-eslint/consistent-type-assertions
222
- : () => [];
223
- return (0, repo_protocol_toolbox_1.generateTaskInfos)(this.units, this.state.getGraph(), depFunc, []);
224
- }
225
- }
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwby1wcm90b2NvbC10ZXN0a2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcG8tcHJvdG9jb2wtdGVzdGtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSwyQ0FBcUM7QUFDckMsOENBQStCO0FBQy9CLCtCQVdhO0FBRWIsaUVBQTRGO0FBQzVGLHlDQUE4QztBQUM5QyxpREFBb0Q7QUFDcEQsNkJBQXVCO0FBTXZCLFNBQVMsUUFBUSxDQUFDLEtBQWE7SUFDN0IsSUFBSSxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUVELE1BQU0sY0FBYztJQUNsQixJQUFJLENBQUMsS0FBYTtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNwRCxDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUE7UUFDckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0NBQ0Y7QUFJRCxTQUFTLFNBQVMsQ0FBQyxHQUFHLElBQWlEO0lBQ3JFLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0QixNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7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
@@ -1,27 +0,0 @@
1
- import { BuildRunId } from 'build-run-id';
2
- import { PathInRepo, RepoRoot } from 'core-types';
3
- import { Graph } from 'misc';
4
- import { ExitStatus, RepoProtocol, TaskInfo } from 'repo-protocol';
5
- import { TaskName } from 'task-name';
6
- import { UnitId, UnitMetadata } from 'unit-metadata';
7
- import { z } from 'zod';
8
- export declare class SimpleNodeRepoProtocol implements RepoProtocol {
9
- private readonly pathToModulesDir;
10
- private readonly buildOutputLocations;
11
- private readonly catalog?;
12
- constructor(pathToModulesDir?: PathInRepo, buildOutputLocations?: string[], catalog?: {
13
- tasks: TaskInfo[];
14
- } | undefined);
15
- getConfigSchema(): z.AnyZodObject;
16
- private units;
17
- private graph;
18
- private rootDir;
19
- initialize(rootDir: RepoRoot): Promise<void>;
20
- close(): Promise<void>;
21
- private readPackageJsonAt;
22
- execute(taskName: TaskName, outputFile: string, _buildRunId: BuildRunId): Promise<ExitStatus>;
23
- getGraph(): Promise<Graph<UnitId>>;
24
- private read;
25
- getUnits(): Promise<UnitMetadata[]>;
26
- getTasks(): Promise<TaskInfo[]>;
27
- }
@@ -1,140 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.SimpleNodeRepoProtocol = void 0;
40
- const core_types_1 = require("core-types");
41
- const execa_1 = __importDefault(require("execa"));
42
- const fse = __importStar(require("fs-extra"));
43
- const misc_1 = require("misc");
44
- const repo_protocol_toolbox_1 = require("repo-protocol-toolbox");
45
- const task_name_1 = require("task-name");
46
- const unit_metadata_1 = require("unit-metadata");
47
- const util = __importStar(require("util"));
48
- const zod_1 = require("zod");
49
- class SimpleNodeRepoProtocol {
50
- constructor(pathToModulesDir = (0, core_types_1.PathInRepo)('modules'), buildOutputLocations = [], catalog) {
51
- this.pathToModulesDir = pathToModulesDir;
52
- this.buildOutputLocations = buildOutputLocations;
53
- this.catalog = catalog;
54
- this.units = [];
55
- this.graph = new misc_1.Graph(x => x);
56
- this.rootDir = (0, core_types_1.RepoRoot)('/tmp');
57
- }
58
- getConfigSchema() {
59
- return zod_1.z.object({});
60
- }
61
- async initialize(rootDir) {
62
- this.rootDir = rootDir;
63
- const list = await this.read();
64
- this.units = list.map(at => new unit_metadata_1.UnitMetadata(at.pathInRepo.val, at.id));
65
- const ids = new Set(this.units.map(at => at.id));
66
- for (const at of list) {
67
- this.graph.vertex(at.id);
68
- const deps = { ...at.packageJson.dependencies, ...at.packageJson.devDependencies };
69
- for (const dep of Object.keys(deps)) {
70
- if (ids.has(dep)) {
71
- this.graph.edge(at.id, (0, unit_metadata_1.UnitId)(dep));
72
- }
73
- }
74
- }
75
- }
76
- async close() {
77
- this.units = [];
78
- this.graph = new misc_1.Graph(x => x);
79
- }
80
- async readPackageJsonAt(pir) {
81
- const resolved = this.rootDir.resolve(pir.expand('package.json'));
82
- try {
83
- const content = await fse.readFile(resolved, 'utf-8');
84
- return JSON.parse(content);
85
- }
86
- catch (e) {
87
- throw new Error(`Failed to read package.json in ${resolved}: ${e}`);
88
- }
89
- }
90
- async execute(taskName, outputFile, _buildRunId) {
91
- const { taskKind, unitId } = (0, task_name_1.TaskName)().undo(taskName);
92
- const unit = this.units.find(u => u.id === unitId) ?? (0, misc_1.failMe)(`unit not found (unit ID=${unitId})`);
93
- const dir = this.rootDir.resolve(unit.pathInRepo);
94
- const packageJson = await this.readPackageJsonAt(unit.pathInRepo);
95
- const script = packageJson?.scripts[taskKind];
96
- if (script === undefined) {
97
- throw new Error(`Missing script for ${taskName}`);
98
- }
99
- const fd = await fse.open(outputFile, 'w');
100
- try {
101
- const p = await execa_1.default.command(script, { cwd: dir, stdout: fd, stderr: fd, reject: false, shell: true });
102
- if (p.exitCode === 0) {
103
- return 'OK';
104
- }
105
- return 'FAIL';
106
- }
107
- catch (e) {
108
- throw new Error(`Crashed when running task ${taskName} in ${dir} (command: ${script}): ${util.inspect(e)}`);
109
- }
110
- finally {
111
- await fse.close(fd);
112
- }
113
- }
114
- async getGraph() {
115
- return this.graph;
116
- }
117
- async read() {
118
- const list = await fse.readdir(this.rootDir.resolve(this.pathToModulesDir));
119
- return await (0, misc_1.promises)(list.map(async (name) => {
120
- const pir = this.pathToModulesDir.expand(name);
121
- const parsed = await this.readPackageJsonAt(pir);
122
- return {
123
- pathInRepo: pir,
124
- id: (0, unit_metadata_1.UnitId)(parsed.name),
125
- packageJson: parsed,
126
- };
127
- })).reify();
128
- }
129
- async getUnits() {
130
- return this.units;
131
- }
132
- async getTasks() {
133
- if (this.catalog) {
134
- return this.catalog.tasks;
135
- }
136
- return (0, repo_protocol_toolbox_1.generateTaskInfos)(this.units, this.graph, () => [], this.buildOutputLocations);
137
- }
138
- }
139
- exports.SimpleNodeRepoProtocol = SimpleNodeRepoProtocol;
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLW5vZGUtcmVwby1wcm90b2NvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW1wbGUtbm9kZS1yZXBvLXByb3RvY29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJDQUFpRDtBQUNqRCxrREFBeUI7QUFDekIsOENBQStCO0FBQy9CLCtCQUE4QztBQUU5QyxpRUFBeUQ7QUFDekQseUNBQW9DO0FBQ3BDLGlEQUFvRDtBQUNwRCwyQ0FBNEI7QUFDNUIsNkJBQXVCO0FBRXZCLE1BQWEsc0JBQXNCO0lBQ2pDLFlBQ21CLG1CQUFtQixJQUFBLHVCQUFVLEVBQUMsU0FBUyxDQUFDLEVBQ3hDLHVCQUFpQyxFQUFFLEVBQ25DLE9BQStCO1FBRi9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFlO1FBQ25DLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBTzFDLFVBQUssR0FBbUIsRUFBRSxDQUFBO1FBQzFCLFVBQUssR0FBa0IsSUFBSSxZQUFLLENBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoRCxZQUFPLEdBQWEsSUFBQSxxQkFBUSxFQUFDLE1BQU0sQ0FBQyxDQUFBO0lBUnpDLENBQUM7SUFFSixlQUFlO1FBQ2IsT0FBTyxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3JCLENBQUM7SUFNRCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQWlCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksNEJBQVksQ0FBQyxF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
File without changes
@@ -1,33 +0,0 @@
1
- const path = require('path')
2
- const fs = require('fs')
3
-
4
- module.exports = class BuildRaptorJestReporter {
5
- constructor(config) {
6
- if (!config.outputFile) {
7
- throw new Error(`outputFile is missing (must be specified in the config)`)
8
- }
9
-
10
- this.file = path.isAbsolute(config.outputFile) ? config.outputFile : path.join(config.rootDir, config.outputFile)
11
- this.cases = []
12
- }
13
-
14
- getLastError() {}
15
- onRunStart() {}
16
-
17
- onTestCaseResult(test, testCaseResult) {
18
- this.cases.push({ testFile: test.path, testCaseResult })
19
- }
20
- onRunComplete() {
21
- const cases = this.cases.map(at => ({
22
- testCaseFullName: at.testCaseResult.fullName,
23
- fileName: at.testFile,
24
- ancestorTitles: at.testCaseResult.ancestorTitles,
25
- title: at.testCaseResult.title,
26
- status: at.testCaseResult.status,
27
- duration: at.testCaseResult.duration ?? undefined,
28
- message: at.testCaseResult.failureMessages?.join('\n'),
29
- }))
30
- const output = { cases }
31
- fs.writeFileSync(this.file, JSON.stringify(output))
32
- }
33
- }
@@ -1,3 +0,0 @@
1
- import { Brand } from 'brand';
2
- export type BuildRunId = Brand<string, 'BuildRunId'>;
3
- export declare function BuildRunId(input: string): BuildRunId;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BuildRunId = BuildRunId;
4
- function validate(input) {
5
- if (input.length === 0) {
6
- throw new Error(`Bad BuildRunId: <${input}>`);
7
- }
8
- }
9
- function BuildRunId(input) {
10
- validate(input);
11
- return input;
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcnVuLWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWxkLXJ1bi1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLGdDQUdDO0FBVEQsU0FBUyxRQUFRLENBQUMsS0FBYTtJQUM3QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsS0FBSyxHQUFHLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNmLE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyJ9
@@ -1 +0,0 @@
1
- export * from './build-run-id';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./build-run-id"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUE4QiJ9
@@ -1,29 +0,0 @@
1
- import { Brand } from 'brand';
2
- export declare function RepoRoot(input: string): {
3
- resolve: (pathInRepo?: PathInRepo) => string;
4
- unresolve: (absolutePath: string) => PathInRepo;
5
- toString: () => string;
6
- toJSON: () => string;
7
- };
8
- export type RepoRoot = ReturnType<typeof RepoRoot>;
9
- type Mark = Brand<string, 'PathInRepo'>;
10
- export type PathInRepo = {
11
- readonly mark: Mark;
12
- val: string;
13
- isPrefixOf(other: PathInRepo): boolean;
14
- /**
15
- * Returns a new PathInRepo object that points to a subdirectory of this path. Fails if "relativePath" tries to climb
16
- * up.
17
- * @param relativePath an addition to this path
18
- */
19
- expand(relativePath: string): PathInRepo;
20
- /**
21
- * Similr to expand() but allows relative paths that climb up as long as they are still inside the repo
22
- * @param relativePath an addition to this path
23
- */
24
- to(relativePath: string): PathInRepo;
25
- toJSON(): string;
26
- toString(): string;
27
- };
28
- export declare function PathInRepo(input: string): PathInRepo;
29
- export {};
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.RepoRoot = RepoRoot;
37
- exports.PathInRepo = PathInRepo;
38
- const misc_1 = require("misc");
39
- const path = __importStar(require("path"));
40
- function RepoRoot(input) {
41
- input = path.normalize(input);
42
- if (!path.isAbsolute(input)) {
43
- throw new Error(`Repo root must be absolute (got: ${input})`);
44
- }
45
- return {
46
- resolve: (pathInRepo) => (pathInRepo ? path.join(input, pathInRepo.val) : input),
47
- unresolve: (absolutePath) => PathInRepo(path.relative(input, absolutePath)),
48
- toString: () => input,
49
- toJSON: () => input,
50
- };
51
- }
52
- function PathInRepo(input) {
53
- const val = norm(input);
54
- if (val.startsWith('..')) {
55
- throw new Error(`cannot go up outside of the repo (got: '${val}')`);
56
- }
57
- const isPrefixOf = (other) => other.val.startsWith(val);
58
- return {
59
- mark: '', // eslint-disable-line @typescript-eslint/consistent-type-assertions
60
- val,
61
- isPrefixOf,
62
- expand: (relativePath) => {
63
- if (val === '.') {
64
- return PathInRepo(relativePath);
65
- }
66
- const ret = PathInRepo(path.normalize(path.join(val, relativePath)));
67
- if (!isPrefixOf(ret)) {
68
- throw new Error(`Cannot expand '${val}' to '${ret}'`);
69
- }
70
- return ret;
71
- },
72
- to: (relativePath) => {
73
- const joined = path.normalize(path.join(val, relativePath));
74
- return PathInRepo(joined);
75
- },
76
- toJSON: () => val,
77
- toString: () => val,
78
- };
79
- }
80
- const norm = (s) => (0, misc_1.threeWaySplit)(path.normalize(s), () => false, c => c === '/').mid;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsNEJBV0M7QUF3QkQsZ0NBOEJDO0FBcEVELCtCQUFvQztBQUNwQywyQ0FBNEI7QUFFNUIsU0FBZ0IsUUFBUSxDQUFDLEtBQWE7SUFDcEMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFDRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLENBQUMsVUFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzdGLFNBQVMsRUFBRSxDQUFDLFlBQW9CLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztRQUNyQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztLQUNwQixDQUFBO0FBQ0gsQ0FBQztBQXdCRCxTQUFnQixVQUFVLENBQUMsS0FBYTtJQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFdkIsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUVuRSxPQUFPO1FBQ0wsSUFBSSxFQUFFLEVBQVUsRUFBRSxvRUFBb0U7UUFDdEYsR0FBRztRQUNILFVBQVU7UUFDVixNQUFNLEVBQUUsQ0FBQyxZQUFvQixFQUFFLEVBQUU7WUFDL0IsSUFBSSxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQ2pDLENBQUM7WUFDRCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsR0FBRyxHQUFHLENBQUMsQ0FBQTtZQUN2RCxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDO1FBQ0QsRUFBRSxFQUFFLENBQUMsWUFBb0IsRUFBRSxFQUFFO1lBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQTtZQUMzRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMzQixDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUc7UUFDakIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUc7S0FDcEIsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQ3pCLElBQUEsb0JBQWEsRUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNqQixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUNmLENBQUMsR0FBRyxDQUFBIn0=
@@ -1 +0,0 @@
1
- export * from './core-types';