apify-test-tools 0.10.2-beta.4 → 0.10.2-beta.5

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 (90) hide show
  1. package/.github/cli/apify-test-tools.mjs +125 -127
  2. package/.github/scripts/run-with-apify-tokens.mjs +1 -1
  3. package/CHANGELOG.md +5 -0
  4. package/CONTRIBUTING.md +4 -1
  5. package/README.md +69 -71
  6. package/bin/affected-actors.ts +132 -91
  7. package/bin/build.ts +0 -2
  8. package/bin/diff-changes.ts +7 -6
  9. package/bin/diff-json-schema.ts +5 -6
  10. package/bin/git.ts +21 -55
  11. package/bin/main.ts +7 -97
  12. package/bin/slack.ts +14 -27
  13. package/bin/types.ts +6 -0
  14. package/dist/bin/affected-actors.d.ts +23 -22
  15. package/dist/bin/affected-actors.d.ts.map +1 -1
  16. package/dist/bin/affected-actors.js +108 -60
  17. package/dist/bin/affected-actors.js.map +1 -1
  18. package/dist/bin/build.d.ts +0 -1
  19. package/dist/bin/build.d.ts.map +1 -1
  20. package/dist/bin/build.js +0 -2
  21. package/dist/bin/build.js.map +1 -1
  22. package/dist/bin/diff-changes.d.ts +4 -3
  23. package/dist/bin/diff-changes.d.ts.map +1 -1
  24. package/dist/bin/diff-changes.js +4 -4
  25. package/dist/bin/diff-changes.js.map +1 -1
  26. package/dist/bin/diff-json-schema.d.ts +2 -2
  27. package/dist/bin/diff-json-schema.d.ts.map +1 -1
  28. package/dist/bin/diff-json-schema.js +1 -4
  29. package/dist/bin/diff-json-schema.js.map +1 -1
  30. package/dist/bin/git.d.ts +6 -9
  31. package/dist/bin/git.d.ts.map +1 -1
  32. package/dist/bin/git.js +20 -48
  33. package/dist/bin/git.js.map +1 -1
  34. package/dist/bin/main.js +7 -77
  35. package/dist/bin/main.js.map +1 -1
  36. package/dist/bin/slack.d.ts +2 -7
  37. package/dist/bin/slack.d.ts.map +1 -1
  38. package/dist/bin/slack.js +12 -18
  39. package/dist/bin/slack.js.map +1 -1
  40. package/dist/bin/types.d.ts +5 -0
  41. package/dist/bin/types.d.ts.map +1 -1
  42. package/dist/test/bundle/cli-bundle.test.js +14 -16
  43. package/dist/test/bundle/cli-bundle.test.js.map +1 -1
  44. package/dist/test/e2e/cli-bundle.e2e.test.js +22 -63
  45. package/dist/test/e2e/cli-bundle.e2e.test.js.map +1 -1
  46. package/dist/test/e2e/git-build-release.e2e.test.d.ts +2 -0
  47. package/dist/test/e2e/git-build-release.e2e.test.d.ts.map +1 -0
  48. package/dist/test/e2e/git-build-release.e2e.test.js +87 -0
  49. package/dist/test/e2e/git-build-release.e2e.test.js.map +1 -0
  50. package/dist/test/e2e/helpers.d.ts +37 -0
  51. package/dist/test/e2e/helpers.d.ts.map +1 -0
  52. package/dist/test/e2e/helpers.js +57 -0
  53. package/dist/test/e2e/helpers.js.map +1 -0
  54. package/dist/test/unit/bin/affected-actors-cli.test.d.ts +2 -0
  55. package/dist/test/unit/bin/affected-actors-cli.test.d.ts.map +1 -0
  56. package/dist/test/unit/bin/affected-actors-cli.test.js +161 -0
  57. package/dist/test/unit/bin/affected-actors-cli.test.js.map +1 -0
  58. package/dist/test/unit/bin/affected-actors.test.js +65 -78
  59. package/dist/test/unit/bin/affected-actors.test.js.map +1 -1
  60. package/dist/test/unit/bin/build-cli.test.js +5 -13
  61. package/dist/test/unit/bin/build-cli.test.js.map +1 -1
  62. package/dist/test/unit/bin/compiled-cli.d.ts +6 -0
  63. package/dist/test/unit/bin/compiled-cli.d.ts.map +1 -0
  64. package/dist/test/unit/bin/compiled-cli.js +16 -0
  65. package/dist/test/unit/bin/compiled-cli.js.map +1 -0
  66. package/dist/test/unit/bin/diff-changes.test.js +55 -55
  67. package/dist/test/unit/bin/diff-changes.test.js.map +1 -1
  68. package/dist/test/unit/bin/diff.test.js +25 -28
  69. package/dist/test/unit/bin/diff.test.js.map +1 -1
  70. package/dist/test/unit/bin/git.test.js +29 -97
  71. package/dist/test/unit/bin/git.test.js.map +1 -1
  72. package/dist/test/unit/bin/slack.test.js +6 -27
  73. package/dist/test/unit/bin/slack.test.js.map +1 -1
  74. package/dist/test/unit/should-built-and-test.test.js +18 -21
  75. package/dist/test/unit/should-built-and-test.test.js.map +1 -1
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/package.json +1 -1
  78. package/test/bundle/cli-bundle.test.ts +14 -24
  79. package/test/e2e/cli-bundle.e2e.test.ts +39 -84
  80. package/test/e2e/git-build-release.e2e.test.ts +113 -0
  81. package/test/e2e/helpers.ts +82 -0
  82. package/test/unit/bin/affected-actors-cli.test.ts +193 -0
  83. package/test/unit/bin/affected-actors.test.ts +83 -85
  84. package/test/unit/bin/build-cli.test.ts +6 -12
  85. package/test/unit/bin/compiled-cli.ts +17 -0
  86. package/test/unit/bin/diff-changes.test.ts +55 -55
  87. package/test/unit/bin/diff.test.ts +25 -28
  88. package/test/unit/bin/git.test.ts +37 -120
  89. package/test/unit/bin/slack.test.ts +6 -30
  90. package/test/unit/should-built-and-test.test.ts +19 -22
@@ -1,5 +1,5 @@
1
1
  import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- import { getAffectedActors, toAffectedActorsDocument } from '../../../bin/affected-actors.js';
2
+ import { getAffectedActors } from '../../../bin/affected-actors.js';
3
3
  import * as DiffChanges from '../../../bin/diff-changes.js';
4
4
  import * as Git from '../../../bin/git.js';
5
5
  import * as LoadConfig from '../../../bin/utils/config/load-config.js';
@@ -30,73 +30,85 @@ describe('getAffectedActors', () => {
30
30
  await expect(getAffectedActors({ ...options, since: '' })).rejects.toThrow('Pass --base, --since, or both');
31
31
  });
32
32
  describe('with --base', () => {
33
- let getCommitsSpy;
33
+ const mergeBaseSha = 'b'.repeat(40);
34
+ let commitsBetweenSpy;
34
35
  beforeEach(() => {
35
- vi.spyOn(Git, 'hasMergeFromTarget').mockResolvedValue(false);
36
- getCommitsSpy = vi.spyOn(Git, 'getCommits').mockResolvedValue(commits);
36
+ vi.spyOn(Git, 'getMergeBase').mockResolvedValue(mergeBaseSha);
37
+ commitsBetweenSpy = vi.spyOn(Git, 'getCommitsBetween').mockResolvedValue(commits);
37
38
  });
38
- it('inspects the branch commits after --since', async () => {
39
- const result = await getAffectedActors({
40
- base: 'origin/master',
41
- since: sinceSha,
42
- ...selection,
43
- });
39
+ it("inspects the branch's own changes, from where it forked from or last merged --base", async () => {
40
+ const findCommitSpy = vi.spyOn(Git, 'findCommitSha');
41
+ const result = await getAffectedActors({ base: 'origin/master', ...selection });
44
42
  expect(result).toStrictEqual({
45
- headSha,
43
+ version: 1,
44
+ head: headSha,
46
45
  commits,
47
46
  changedFiles,
48
47
  changelog: '- Added foo',
49
- functionallyChangedActors: [actorA],
50
- cosmeticallyChangedActors: [actorB],
51
- });
52
- expect(getCommitsSpy).toHaveBeenCalledWith({
53
- sourceBranch: 'HEAD',
54
- targetBranch: 'origin/master',
55
- baseCommit: sinceSha,
48
+ // Only the names, the config file stays the source of truth for the rest
49
+ functionallyChangedActors: [{ actorFullName: 'owner/a' }],
50
+ cosmeticallyChangedActors: [{ actorFullName: 'owner/b' }],
56
51
  });
57
- // From the parent of the oldest commit to the newest one, for the files and the changelog alike
58
- expect(Git.getChangedFilesBetween).toHaveBeenCalledWith(`${commits[0].sha}~`, commits[1].sha);
59
- expect(Git.getChangelogAdditions).toHaveBeenCalledWith(`${commits[0].sha}~`, commits[1].sha, changedFiles);
52
+ expect(Git.getMergeBase).toHaveBeenCalledWith('origin/master', 'HEAD');
53
+ expect(Git.getChangedFilesBetween).toHaveBeenCalledWith(mergeBaseSha, headSha);
54
+ expect(Git.getChangelogAdditions).toHaveBeenCalledWith(mergeBaseSha, headSha, changedFiles);
55
+ expect(commitsBetweenSpy).toHaveBeenCalledWith(mergeBaseSha, headSha);
60
56
  expect(changedActorsSpy).toHaveBeenCalledWith({
61
57
  filepathsChanged: changedFiles,
62
58
  actorConfigs: [actorA, actorB],
63
- commits,
59
+ range: { fromRef: mergeBaseSha, toRef: headSha },
64
60
  });
61
+ expect(findCommitSpy).not.toHaveBeenCalled();
65
62
  });
66
- describe('when the branch merged --base in', () => {
63
+ describe('and --since', () => {
64
+ const sinceFiles = ['README.md'];
67
65
  beforeEach(() => {
68
- vi.spyOn(Git, 'hasMergeFromTarget').mockResolvedValue(true);
69
- vi.spyOn(Git, 'getBranchOnlyChangedFiles').mockResolvedValue(['own-file']);
66
+ vi.spyOn(Git, 'findCommitSha').mockResolvedValue(sinceSha);
67
+ vi.spyOn(Git, 'getChangedFilesBetween').mockImplementation(async (fromRef) => fromRef === sinceSha ? sinceFiles : changedFiles);
70
68
  });
71
- const getWithOwnChanges = async (own) => {
72
- changedActorsSpy.mockImplementation(async ({ filepathsChanged }) => filepathsChanged[0] === 'own-file' ? own : { functional: [actorA], cosmetic: [actorB] });
73
- return getAffectedActors({ base: 'master', since: sinceSha, ...selection });
69
+ const getNarrowed = async (branch, sinceValidated) => {
70
+ changedActorsSpy.mockImplementation(async ({ range }) => range.fromRef === sinceSha ? sinceValidated : branch);
71
+ const result = await getAffectedActors({ base: 'origin/master', since: sinceSha, ...selection });
72
+ return {
73
+ functional: result.functionallyChangedActors.map(({ actorFullName }) => actorFullName),
74
+ cosmetic: result.cosmeticallyChangedActors.map(({ actorFullName }) => actorFullName),
75
+ };
74
76
  };
75
- it("classifies the branch's own files against the whole branch, ignoring --since", async () => {
76
- await getWithOwnChanges({ functional: [actorA], cosmetic: [] });
77
+ it('classifies the changes since --since separately', async () => {
78
+ await getNarrowed({ functional: [actorA], cosmetic: [] }, { functional: [actorA], cosmetic: [] });
77
79
  expect(changedActorsSpy).toHaveBeenCalledWith({
78
- filepathsChanged: ['own-file'],
80
+ filepathsChanged: sinceFiles,
79
81
  actorConfigs: [actorA, actorB],
80
- commits,
82
+ range: { fromRef: sinceSha, toRef: headSha },
81
83
  });
82
- expect(getCommitsSpy).toHaveBeenCalledWith({ sourceBranch: 'HEAD', targetBranch: 'master' });
83
84
  });
84
- it('reports everything when the branch has functional changes of its own', async () => {
85
- const result = await getWithOwnChanges({ functional: [actorA], cosmetic: [] });
86
- expect(result.functionallyChangedActors).toStrictEqual([actorA]);
87
- expect(result.cosmeticallyChangedActors).toStrictEqual([actorB]);
85
+ it('still describes the whole branch', async () => {
86
+ const result = await getAffectedActors({ base: 'origin/master', since: sinceSha, ...selection });
87
+ expect(result.commits).toStrictEqual(commits);
88
+ expect(result.changedFiles).toStrictEqual(changedFiles);
88
89
  });
89
- it('reports only cosmetic Actors when its own changes are only cosmetic', async () => {
90
- const result = await getWithOwnChanges({ functional: [], cosmetic: [actorB] });
91
- expect(result.functionallyChangedActors).toStrictEqual([]);
92
- expect(result.cosmeticallyChangedActors).toStrictEqual([actorB]);
90
+ it('retests an Actor whose validated change meets a new functional change', async () => {
91
+ await expect(getNarrowed({ functional: [actorA], cosmetic: [] }, { functional: [actorA], cosmetic: [] })).resolves.toStrictEqual({ functional: ['owner/a'], cosmetic: [] });
93
92
  });
94
- it('reports nothing when it has no changes of its own', async () => {
95
- const result = await getWithOwnChanges({ functional: [], cosmetic: [] });
96
- expect(result.functionallyChangedActors).toStrictEqual([]);
97
- expect(result.cosmeticallyChangedActors).toStrictEqual([]);
98
- // The range is still reported
99
- expect(result.commits).toStrictEqual(commits);
93
+ it('leaves out Actors that only the branch changed before --since or only --base changed', async () => {
94
+ await expect(getNarrowed({ functional: [actorA], cosmetic: [] }, { functional: [actorB], cosmetic: [] })).resolves.toStrictEqual({ functional: [], cosmetic: [] });
95
+ });
96
+ it('takes the less impactful change when the two disagree', async () => {
97
+ // A validated functional change, then only cosmetic changes (e.g. a README merged in from base)
98
+ await expect(getNarrowed({ functional: [actorA], cosmetic: [] }, { functional: [], cosmetic: [actorA] })).resolves.toStrictEqual({ functional: [], cosmetic: ['owner/a'] });
99
+ // A functional change merged in from base, while the branch only changes the README
100
+ await expect(getNarrowed({ functional: [], cosmetic: [actorA] }, { functional: [actorA], cosmetic: [] })).resolves.toStrictEqual({ functional: [], cosmetic: ['owner/a'] });
101
+ });
102
+ it.each([
103
+ ['is HEAD (a rerun)', headSha],
104
+ ['is not in the local history', undefined],
105
+ ])('checks the whole branch when --since %s', async (_, found) => {
106
+ vi.spyOn(Git, 'findCommitSha').mockResolvedValue(found);
107
+ const result = await getAffectedActors({ base: 'origin/master', since: sinceSha, ...selection });
108
+ expect(result.functionallyChangedActors).toStrictEqual([{ actorFullName: 'owner/a' }]);
109
+ // With no usable validated commit, the "since" diff falls back to the same range as the
110
+ // base diff, so getChangedActors runs twice for identical ranges instead of once.
111
+ expect(changedActorsSpy).toHaveBeenCalledTimes(2);
100
112
  });
101
113
  });
102
114
  });
@@ -107,48 +119,23 @@ describe('getAffectedActors', () => {
107
119
  resolveBaseSpy = vi.spyOn(Git, 'resolveReleaseBaseCommit').mockResolvedValue(sinceSha);
108
120
  commitsBetweenSpy = vi.spyOn(Git, 'getCommitsBetween').mockResolvedValue(commits);
109
121
  });
110
- it('inspects everything after --since up to --head', async () => {
122
+ it('inspects everything after --since up to HEAD', async () => {
111
123
  const result = await getAffectedActors({ since: 'HEAD~2', ...selection });
112
124
  expect(result).toStrictEqual({
113
- headSha,
125
+ version: 1,
126
+ head: headSha,
114
127
  commits,
115
128
  changedFiles,
116
129
  changelog: '- Added foo',
117
- functionallyChangedActors: [actorA],
118
- cosmeticallyChangedActors: [actorB],
130
+ // Only the names, the config file stays the source of truth for the rest
131
+ functionallyChangedActors: [{ actorFullName: 'owner/a' }],
132
+ cosmeticallyChangedActors: [{ actorFullName: 'owner/b' }],
119
133
  });
120
134
  expect(resolveBaseSpy).toHaveBeenCalledWith('HEAD~2');
121
135
  expect(commitsBetweenSpy).toHaveBeenCalledWith(sinceSha, headSha);
122
136
  expect(Git.getChangedFilesBetween).toHaveBeenCalledWith(sinceSha, headSha);
123
137
  expect(Git.getChangelogAdditions).toHaveBeenCalledWith(sinceSha, headSha, changedFiles);
124
138
  });
125
- it('has no commits when head is the --since commit', async () => {
126
- resolveBaseSpy.mockResolvedValue(headSha);
127
- const result = await getAffectedActors({ since: headSha, ...selection });
128
- expect(result.commits).toStrictEqual([]);
129
- // Empty `git log x..x` output doesn't parse as a commit, so it's never run
130
- expect(commitsBetweenSpy).not.toHaveBeenCalled();
131
- });
132
- });
133
- });
134
- describe('toAffectedActorsDocument', () => {
135
- it('keeps only the Actor names, the config file stays the source of truth for the rest', () => {
136
- expect(toAffectedActorsDocument({
137
- headSha,
138
- commits,
139
- changedFiles: ['src/main.ts'],
140
- changelog: null,
141
- functionallyChangedActors: [actorA],
142
- cosmeticallyChangedActors: [actorB],
143
- })).toStrictEqual({
144
- version: 1,
145
- head: headSha,
146
- commits,
147
- changedFiles: ['src/main.ts'],
148
- changelog: null,
149
- functionallyChangedActors: [{ actorFullName: 'owner/a' }],
150
- cosmeticallyChangedActors: [{ actorFullName: 'owner/b' }],
151
- });
152
139
  });
153
140
  });
154
141
  //# sourceMappingURL=affected-actors.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"affected-actors.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/affected-actors.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,KAAK,WAAW,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,KAAK,UAAU,MAAM,0CAA0C,CAAC;AAEvE,qGAAqG;AACrG,MAAM,MAAM,GAAG,EAAE,aAAa,EAAE,SAAS,EAAiB,CAAC;AAC3D,MAAM,MAAM,GAAG,EAAE,aAAa,EAAE,SAAS,EAAiB,CAAC;AAE3D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAChH,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAErD,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAE7C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,IAAI,gBAA8B,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3E,gBAAgB,GAAG,EAAE;aAChB,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC;aACtC,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7D,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACxE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC1F,wEAAwE;QACxE,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,IAAI,aAA2B,CAAC;QAEhC,UAAU,CAAC,GAAG,EAAE;YACZ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC7D,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;gBACnC,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,QAAQ;gBACf,GAAG,SAAS;aACf,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBACzB,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,SAAS,EAAE,aAAa;gBACxB,yBAAyB,EAAE,CAAC,MAAM,CAAC;gBACnC,yBAAyB,EAAE,CAAC,MAAM,CAAC;aACtC,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;gBACvC,YAAY,EAAE,MAAM;gBACpB,YAAY,EAAE,eAAe;gBAC7B,UAAU,EAAE,QAAQ;aACvB,CAAC,CAAC;YACH,gGAAgG;YAChG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9F,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC3G,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC;gBAC1C,gBAAgB,EAAE,YAAY;gBAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC9B,OAAO;aACV,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC9C,UAAU,CAAC,GAAG,EAAE;gBACZ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC5D,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAA8B,EAAE,EAAE;gBAC/D,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAC/D,gBAAgB,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAC1F,CAAC;gBACF,OAAO,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAChF,CAAC,CAAC;YAEF,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;gBAC1F,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChE,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC;oBAC1C,gBAAgB,EAAE,CAAC,UAAU,CAAC;oBAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;oBAC9B,OAAO;iBACV,CAAC,CAAC;gBACH,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;gBAClF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/E,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACjF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/E,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC3D,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC3D,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC3D,8BAA8B;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,IAAI,cAA4B,CAAC;QACjC,IAAI,iBAA+B,CAAC;QAEpC,UAAU,CAAC,GAAG,EAAE;YACZ,cAAc,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvF,iBAAiB,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBACzB,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,SAAS,EAAE,aAAa;gBACxB,yBAAyB,EAAE,CAAC,MAAM,CAAC;gBACnC,yBAAyB,EAAE,CAAC,MAAM,CAAC;aACtC,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAEzE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACzC,2EAA2E;YAC3E,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;QAC1F,MAAM,CACF,wBAAwB,CAAC;YACrB,OAAO;YACP,OAAO;YACP,YAAY,EAAE,CAAC,aAAa,CAAC;YAC7B,SAAS,EAAE,IAAI;YACf,yBAAyB,EAAE,CAAC,MAAM,CAAC;YACnC,yBAAyB,EAAE,CAAC,MAAM,CAAC;SACtC,CAAC,CACL,CAAC,aAAa,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,OAAO;YACP,YAAY,EAAE,CAAC,aAAa,CAAC;YAC7B,SAAS,EAAE,IAAI;YACf,yBAAyB,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;YACzD,yBAAyB,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;SAC5D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"affected-actors.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/affected-actors.test.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,17 @@
1
- import { execFileSync, spawnSync } from 'node:child_process';
2
- import { chmod, mkdtemp, rm } from 'node:fs/promises';
3
- import path from 'node:path';
1
+ import { spawnSync } from 'node:child_process';
4
2
  import process from 'node:process';
5
- import { fileURLToPath } from 'node:url';
6
3
  import { afterAll, beforeAll, describe, expect, it } from 'vitest';
7
- const projectRoot = fileURLToPath(new URL('../../../', import.meta.url));
8
- const compilerPath = fileURLToPath(new URL('../../../node_modules/typescript/bin/tsc', import.meta.url));
4
+ import { compileCli } from './compiled-cli.js';
9
5
  let cliPath;
10
- let buildDir;
6
+ let cleanup;
11
7
  const run = (command, input, env = process.env) => spawnSync(cliPath, command, { encoding: 'utf8', input, stdio: ['pipe', 'pipe', 'pipe'], env });
12
8
  const runBuild = (input, args = ['--version-number', '0.99']) => run(['build', ...args], input);
13
9
  describe('build and notify-release CLI', () => {
14
10
  beforeAll(async () => {
15
- buildDir = await mkdtemp(path.join(projectRoot, '.cli-test-'));
16
- execFileSync(process.execPath, [compilerPath, '--outDir', buildDir], { cwd: projectRoot });
17
- cliPath = path.join(buildDir, 'bin/main.js');
18
- await chmod(cliPath, 0o755);
11
+ ({ cliPath, cleanup } = await compileCli());
19
12
  });
20
13
  afterAll(async () => {
21
- if (buildDir)
22
- await rm(buildDir, { recursive: true, force: true });
14
+ await cleanup?.();
23
15
  });
24
16
  it('builds nothing for an empty list and prints an empty build list', () => {
25
17
  const result = runBuild('{"actors":[]}');
@@ -1 +1 @@
1
- {"version":3,"file":"build-cli.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/build-cli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-cli.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/build-cli.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Compiles the CLI from the sources into a temporary directory, so tests run it the way users do. */
2
+ export declare const compileCli: () => Promise<{
3
+ cliPath: string;
4
+ cleanup: () => Promise<void>;
5
+ }>;
6
+ //# sourceMappingURL=compiled-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-cli.d.ts","sourceRoot":"","sources":["../../../../test/unit/bin/compiled-cli.ts"],"names":[],"mappings":"AASA,sGAAsG;AACtG,eAAO,MAAM,UAAU;;;EAMtB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { chmod, mkdtemp, rm } from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import process from 'node:process';
5
+ import { fileURLToPath } from 'node:url';
6
+ const projectRoot = fileURLToPath(new URL('../../../', import.meta.url));
7
+ const compilerPath = fileURLToPath(new URL('../../../node_modules/typescript/bin/tsc', import.meta.url));
8
+ /** Compiles the CLI from the sources into a temporary directory, so tests run it the way users do. */
9
+ export const compileCli = async () => {
10
+ const buildDir = await mkdtemp(path.join(projectRoot, '.cli-test-'));
11
+ execFileSync(process.execPath, [compilerPath, '--outDir', buildDir], { cwd: projectRoot });
12
+ const cliPath = path.join(buildDir, 'bin/main.js');
13
+ await chmod(cliPath, 0o755);
14
+ return { cliPath, cleanup: async () => rm(buildDir, { recursive: true, force: true }) };
15
+ };
16
+ //# sourceMappingURL=compiled-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-cli.js","sourceRoot":"","sources":["../../../../test/unit/bin/compiled-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzG,sGAAsG;AACtG,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IACrE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC5F,CAAC,CAAC"}