intershell 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/compose/compose.d.ts.map +1 -1
- package/dist/compose/compose.js +2 -2
- package/dist/compose/compose.js.map +1 -1
- package/dist/compose/compose.test.js +33 -32
- package/dist/compose/compose.test.js.map +1 -1
- package/dist/intershell-config/intershell-config.d.ts.map +1 -1
- package/dist/intershell-config/intershell-config.default.js +1 -1
- package/dist/intershell-config/intershell-config.default.js.map +1 -1
- package/dist/intershell-config/intershell-config.js +5 -21
- package/dist/intershell-config/intershell-config.js.map +1 -1
- package/dist/package/index.d.ts +1 -0
- package/dist/package/index.d.ts.map +1 -1
- package/dist/package/index.js +1 -0
- package/dist/package/index.js.map +1 -1
- package/dist/package/package-test-mock.d.ts +2 -0
- package/dist/package/package-test-mock.d.ts.map +1 -0
- package/dist/package/package-test-mock.js +28 -0
- package/dist/package/package-test-mock.js.map +1 -0
- package/dist/package/package.d.ts +1 -1
- package/dist/package/package.d.ts.map +1 -1
- package/dist/package/package.js +14 -49
- package/dist/package/package.js.map +1 -1
- package/dist/package/package.test.js +93 -56
- package/dist/package/package.test.js.map +1 -1
- package/dist/package/package.types.d.ts +3 -1
- package/dist/package/package.types.d.ts.map +1 -1
- package/dist/package/workspace-discovery.d.ts +18 -0
- package/dist/package/workspace-discovery.d.ts.map +1 -0
- package/dist/package/workspace-discovery.js +166 -0
- package/dist/package/workspace-discovery.js.map +1 -0
- package/dist/package/workspace-discovery.test.d.ts +2 -0
- package/dist/package/workspace-discovery.test.d.ts.map +1 -0
- package/dist/package/workspace-discovery.test.js +27 -0
- package/dist/package/workspace-discovery.test.js.map +1 -0
- package/dist/package-commits/dependency-analyzer.d.ts +1 -3
- package/dist/package-commits/dependency-analyzer.d.ts.map +1 -1
- package/dist/package-commits/dependency-analyzer.js +21 -35
- package/dist/package-commits/dependency-analyzer.js.map +1 -1
- package/dist/package-commits/package-commits.test.js +12 -7
- package/dist/package-commits/package-commits.test.js.map +1 -1
- package/dist/package-tags/package-tags.js +1 -1
- package/dist/package-tags/package-tags.js.map +1 -1
- package/dist/package-tags/package-tags.test.js +24 -20
- package/dist/package-tags/package-tags.test.js.map +1 -1
- package/dist/package-version/package-version.test.js +43 -34
- package/dist/package-version/package-version.test.js.map +1 -1
- package/package.json +2 -2
- package/src/compose/compose.test.ts +36 -35
- package/src/compose/compose.ts +2 -4
- package/src/intershell-config/intershell-config.default.ts +1 -1
- package/src/intershell-config/intershell-config.ts +8 -23
- package/src/package/index.ts +1 -0
- package/src/package/package-test-mock.ts +33 -0
- package/src/package/package.test.ts +93 -56
- package/src/package/package.ts +27 -55
- package/src/package/package.types.ts +1 -1
- package/src/package/workspace-discovery.test.ts +51 -0
- package/src/package/workspace-discovery.ts +219 -0
- package/src/package-commits/dependency-analyzer.ts +61 -40
- package/src/package-commits/package-commits.test.ts +15 -7
- package/src/package-tags/package-tags.test.ts +27 -20
- package/src/package-tags/package-tags.ts +1 -1
- package/src/package-version/package-version.test.ts +48 -35
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { describe, expect, test } from "bun:test";
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, mock, test } from "bun:test";
|
|
2
2
|
import type { ParsedCommitData } from "../commit";
|
|
3
3
|
import { EntityPackage } from "../package";
|
|
4
|
+
import { installPackagesShellTestMock } from "../package/package-test-mock";
|
|
4
5
|
import { EntityPackageCommits } from "../package-commits";
|
|
5
6
|
import { EntityPackageTags } from "../package-tags";
|
|
6
7
|
import { EntityPackageVersion } from "./package-version";
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
let restorePackagesShellMock: () => void;
|
|
10
|
+
let originalGetLatestPackageVersionInHistory: typeof EntityPackageTags.prototype.getLatestPackageVersionInHistory;
|
|
11
|
+
|
|
9
12
|
function createEntityPackageVersion(packageName: string): EntityPackageVersion {
|
|
10
13
|
const packageInstance = new EntityPackage(packageName);
|
|
11
14
|
const commitPackage = new EntityPackageCommits(packageInstance);
|
|
@@ -14,18 +17,38 @@ function createEntityPackageVersion(packageName: string): EntityPackageVersion {
|
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
describe("EntityPackageVersion", () => {
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
restorePackagesShellMock = installPackagesShellTestMock();
|
|
22
|
+
|
|
23
|
+
originalGetLatestPackageVersionInHistory =
|
|
24
|
+
EntityPackageTags.prototype.getLatestPackageVersionInHistory;
|
|
25
|
+
EntityPackageTags.prototype.getLatestPackageVersionInHistory = mock(function (
|
|
26
|
+
this: EntityPackageTags,
|
|
27
|
+
) {
|
|
28
|
+
const packageName = (this as unknown as { package: EntityPackage }).package.getName();
|
|
29
|
+
if (packageName === "root") return Promise.resolve("1.0.0");
|
|
30
|
+
return Promise.resolve("0.1.0");
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
afterEach(() => {
|
|
35
|
+
restorePackagesShellMock();
|
|
36
|
+
EntityPackageTags.prototype.getLatestPackageVersionInHistory =
|
|
37
|
+
originalGetLatestPackageVersionInHistory;
|
|
38
|
+
});
|
|
39
|
+
|
|
17
40
|
test("should create instance", () => {
|
|
18
|
-
const
|
|
19
|
-
expect(
|
|
41
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
42
|
+
expect(entityPackageVersion).toBeDefined();
|
|
20
43
|
});
|
|
21
44
|
|
|
22
45
|
test("should create root instance", () => {
|
|
23
|
-
const
|
|
24
|
-
expect(
|
|
46
|
+
const entityPackageVersion = createEntityPackageVersion("root");
|
|
47
|
+
expect(entityPackageVersion).toBeDefined();
|
|
25
48
|
});
|
|
26
49
|
|
|
27
50
|
test("should calculate bump type for regular package", async () => {
|
|
28
|
-
const
|
|
51
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
29
52
|
|
|
30
53
|
const commits: ParsedCommitData[] = [
|
|
31
54
|
{
|
|
@@ -34,12 +57,12 @@ describe("EntityPackageVersion", () => {
|
|
|
34
57
|
} as ParsedCommitData,
|
|
35
58
|
];
|
|
36
59
|
|
|
37
|
-
const versionData = await
|
|
60
|
+
const versionData = await entityPackageVersion.calculateVersionData(commits);
|
|
38
61
|
expect(versionData.bumpType).toBe("minor");
|
|
39
62
|
});
|
|
40
63
|
|
|
41
64
|
test("should calculate bump type for breaking changes", async () => {
|
|
42
|
-
const
|
|
65
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
43
66
|
|
|
44
67
|
const commits: ParsedCommitData[] = [
|
|
45
68
|
{
|
|
@@ -48,12 +71,12 @@ describe("EntityPackageVersion", () => {
|
|
|
48
71
|
} as ParsedCommitData,
|
|
49
72
|
];
|
|
50
73
|
|
|
51
|
-
const versionData = await
|
|
74
|
+
const versionData = await entityPackageVersion.calculateVersionData(commits);
|
|
52
75
|
expect(versionData.bumpType).toBe("major");
|
|
53
76
|
});
|
|
54
77
|
|
|
55
78
|
test("should calculate bump type for patch changes", async () => {
|
|
56
|
-
const
|
|
79
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
57
80
|
|
|
58
81
|
const commits: ParsedCommitData[] = [
|
|
59
82
|
{
|
|
@@ -62,22 +85,21 @@ describe("EntityPackageVersion", () => {
|
|
|
62
85
|
} as ParsedCommitData,
|
|
63
86
|
];
|
|
64
87
|
|
|
65
|
-
const versionData = await
|
|
88
|
+
const versionData = await entityPackageVersion.calculateVersionData(commits);
|
|
66
89
|
expect(versionData.bumpType).toBe("patch");
|
|
67
90
|
});
|
|
68
91
|
|
|
69
92
|
test("should return none for empty commits", async () => {
|
|
70
|
-
const
|
|
71
|
-
const versionData = await
|
|
93
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
94
|
+
const versionData = await entityPackageVersion.calculateVersionData([]);
|
|
72
95
|
expect(versionData.bumpType).toBe("none");
|
|
73
96
|
});
|
|
74
97
|
|
|
75
98
|
test("should calculate version data for first version", async () => {
|
|
76
|
-
const
|
|
99
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
77
100
|
|
|
78
|
-
const versionData = await
|
|
101
|
+
const versionData = await entityPackageVersion.calculateVersionData([]);
|
|
79
102
|
|
|
80
|
-
// The api package already has version 0.1.0, so no bump needed
|
|
81
103
|
expect(versionData.shouldBump).toBe(false);
|
|
82
104
|
expect(versionData.targetVersion).toBe("0.1.0");
|
|
83
105
|
expect(versionData.bumpType).toBe("none");
|
|
@@ -85,24 +107,18 @@ describe("EntityPackageVersion", () => {
|
|
|
85
107
|
});
|
|
86
108
|
|
|
87
109
|
test("should not bump when no commits", async () => {
|
|
88
|
-
const
|
|
110
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
89
111
|
|
|
90
|
-
const versionData = await
|
|
112
|
+
const versionData = await entityPackageVersion.calculateVersionData([]);
|
|
91
113
|
|
|
92
114
|
expect(versionData.shouldBump).toBe(false);
|
|
93
|
-
expect(versionData.targetVersion).toBe("0.1.0");
|
|
115
|
+
expect(versionData.targetVersion).toBe("0.1.0");
|
|
94
116
|
expect(versionData.bumpType).toBe("none");
|
|
95
117
|
expect(versionData.reason).toBe("No commits in range");
|
|
96
118
|
});
|
|
97
119
|
|
|
98
|
-
test("should throw error when version on disk is higher", async () => {
|
|
99
|
-
// This test needs to be updated since the method now gets version from package.json internally
|
|
100
|
-
// We'll need to mock the package version or create a different test
|
|
101
|
-
expect(true).toBe(true); // Placeholder - this test needs to be redesigned
|
|
102
|
-
});
|
|
103
|
-
|
|
104
120
|
test("should calculate bump type for root package", async () => {
|
|
105
|
-
const
|
|
121
|
+
const entityPackageVersion = createEntityPackageVersion("root");
|
|
106
122
|
|
|
107
123
|
const commits: ParsedCommitData[] = [
|
|
108
124
|
{
|
|
@@ -111,12 +127,12 @@ describe("EntityPackageVersion", () => {
|
|
|
111
127
|
} as ParsedCommitData,
|
|
112
128
|
];
|
|
113
129
|
|
|
114
|
-
const versionData = await
|
|
130
|
+
const versionData = await entityPackageVersion.calculateVersionData(commits);
|
|
115
131
|
expect(versionData.bumpType).toBe("minor");
|
|
116
132
|
});
|
|
117
133
|
|
|
118
134
|
test("should use override bump type when provided", async () => {
|
|
119
|
-
const
|
|
135
|
+
const entityPackageVersion = createEntityPackageVersion("@apps/api");
|
|
120
136
|
|
|
121
137
|
const commits: ParsedCommitData[] = [
|
|
122
138
|
{
|
|
@@ -125,16 +141,13 @@ describe("EntityPackageVersion", () => {
|
|
|
125
141
|
} as ParsedCommitData,
|
|
126
142
|
];
|
|
127
143
|
|
|
128
|
-
|
|
129
|
-
const versionDataMajor = await EntityPackageVersion.calculateVersionData(commits, "major");
|
|
144
|
+
const versionDataMajor = await entityPackageVersion.calculateVersionData(commits, "major");
|
|
130
145
|
expect(versionDataMajor.bumpType).toBe("major");
|
|
131
146
|
|
|
132
|
-
|
|
133
|
-
const versionDataPatch = await EntityPackageVersion.calculateVersionData(commits, "patch");
|
|
147
|
+
const versionDataPatch = await entityPackageVersion.calculateVersionData(commits, "patch");
|
|
134
148
|
expect(versionDataPatch.bumpType).toBe("patch");
|
|
135
149
|
|
|
136
|
-
|
|
137
|
-
const versionDataNone = await EntityPackageVersion.calculateVersionData(commits, "none");
|
|
150
|
+
const versionDataNone = await entityPackageVersion.calculateVersionData(commits, "none");
|
|
138
151
|
expect(versionDataNone.bumpType).toBe("none");
|
|
139
152
|
expect(versionDataNone.shouldBump).toBe(false);
|
|
140
153
|
});
|