intershell 0.3.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.
- package/README.md +301 -0
- package/dist/commands/ci/act.d.ts +13 -0
- package/dist/commands/ci/act.d.ts.map +1 -0
- package/dist/commands/ci/act.js +89 -0
- package/dist/commands/ci/act.js.map +1 -0
- package/dist/commands/ci/attach-affected.d.ts +12 -0
- package/dist/commands/ci/attach-affected.d.ts.map +1 -0
- package/dist/commands/ci/attach-affected.js +83 -0
- package/dist/commands/ci/attach-affected.js.map +1 -0
- package/dist/commands/ci/attach-service-ports.d.ts +10 -0
- package/dist/commands/ci/attach-service-ports.d.ts.map +1 -0
- package/dist/commands/ci/attach-service-ports.js +25 -0
- package/dist/commands/ci/attach-service-ports.js.map +1 -0
- package/dist/commands/commit-check.d.ts +13 -0
- package/dist/commands/commit-check.d.ts.map +1 -0
- package/dist/commands/commit-check.js +110 -0
- package/dist/commands/commit-check.js.map +1 -0
- package/dist/commands/commit.d.ts +16 -0
- package/dist/commands/commit.d.ts.map +1 -0
- package/dist/commands/commit.js +91 -0
- package/dist/commands/commit.js.map +1 -0
- package/dist/commands/dev/check.d.ts +13 -0
- package/dist/commands/dev/check.d.ts.map +1 -0
- package/dist/commands/dev/check.js +91 -0
- package/dist/commands/dev/check.js.map +1 -0
- package/dist/commands/dev/cleanup.d.ts +10 -0
- package/dist/commands/dev/cleanup.d.ts.map +1 -0
- package/dist/commands/dev/cleanup.js +28 -0
- package/dist/commands/dev/cleanup.js.map +1 -0
- package/dist/commands/dev/rm.d.ts +12 -0
- package/dist/commands/dev/rm.d.ts.map +1 -0
- package/dist/commands/dev/rm.js +49 -0
- package/dist/commands/dev/rm.js.map +1 -0
- package/dist/commands/dev/setup.d.ts +10 -0
- package/dist/commands/dev/setup.d.ts.map +1 -0
- package/dist/commands/dev/setup.js +40 -0
- package/dist/commands/dev/setup.js.map +1 -0
- package/dist/commands/local/cleanup.d.ts +12 -0
- package/dist/commands/local/cleanup.d.ts.map +1 -0
- package/dist/commands/local/cleanup.js +62 -0
- package/dist/commands/local/cleanup.js.map +1 -0
- package/dist/commands/local/setup.d.ts +11 -0
- package/dist/commands/local/setup.d.ts.map +1 -0
- package/dist/commands/local/setup.js +55 -0
- package/dist/commands/local/setup.js.map +1 -0
- package/dist/commands/local/vscode.d.ts +17 -0
- package/dist/commands/local/vscode.d.ts.map +1 -0
- package/dist/commands/local/vscode.js +94 -0
- package/dist/commands/local/vscode.js.map +1 -0
- package/dist/commands/update-package-json.d.ts +12 -0
- package/dist/commands/update-package-json.d.ts.map +1 -0
- package/dist/commands/update-package-json.js +82 -0
- package/dist/commands/update-package-json.js.map +1 -0
- package/dist/commands/version/apply.d.ts +16 -0
- package/dist/commands/version/apply.d.ts.map +1 -0
- package/dist/commands/version/apply.js +120 -0
- package/dist/commands/version/apply.js.map +1 -0
- package/dist/commands/version/ci.d.ts +12 -0
- package/dist/commands/version/ci.d.ts.map +1 -0
- package/dist/commands/version/ci.js +67 -0
- package/dist/commands/version/ci.js.map +1 -0
- package/dist/commands/version/prepare.d.ts +19 -0
- package/dist/commands/version/prepare.d.ts.map +1 -0
- package/dist/commands/version/prepare.js +153 -0
- package/dist/commands/version/prepare.js.map +1 -0
- package/dist/core/colorify.d.ts +21 -0
- package/dist/core/colorify.d.ts.map +1 -0
- package/dist/core/colorify.js +56 -0
- package/dist/core/colorify.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/types.d.ts +181 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/wrapshell.d.ts +19 -0
- package/dist/core/wrapshell.d.ts.map +1 -0
- package/dist/core/wrapshell.js +323 -0
- package/dist/core/wrapshell.js.map +1 -0
- package/dist/entities/affected/affected.d.ts +4 -0
- package/dist/entities/affected/affected.d.ts.map +1 -0
- package/dist/entities/affected/affected.js +20 -0
- package/dist/entities/affected/affected.js.map +1 -0
- package/dist/entities/affected/affected.test.d.ts +2 -0
- package/dist/entities/affected/affected.test.d.ts.map +1 -0
- package/dist/entities/affected/affected.test.js +305 -0
- package/dist/entities/affected/affected.test.js.map +1 -0
- package/dist/entities/affected/index.d.ts +2 -0
- package/dist/entities/affected/index.d.ts.map +1 -0
- package/dist/entities/affected/index.js +2 -0
- package/dist/entities/affected/index.js.map +1 -0
- package/dist/entities/branch/branch.d.ts +8 -0
- package/dist/entities/branch/branch.d.ts.map +1 -0
- package/dist/entities/branch/branch.js +74 -0
- package/dist/entities/branch/branch.js.map +1 -0
- package/dist/entities/branch/branch.test.d.ts +2 -0
- package/dist/entities/branch/branch.test.d.ts.map +1 -0
- package/dist/entities/branch/branch.test.js +316 -0
- package/dist/entities/branch/branch.test.js.map +1 -0
- package/dist/entities/branch/branch.types.d.ts +6 -0
- package/dist/entities/branch/branch.types.d.ts.map +1 -0
- package/dist/entities/branch/branch.types.js +2 -0
- package/dist/entities/branch/branch.types.js.map +1 -0
- package/dist/entities/branch/index.d.ts +3 -0
- package/dist/entities/branch/index.d.ts.map +1 -0
- package/dist/entities/branch/index.js +3 -0
- package/dist/entities/branch/index.js.map +1 -0
- package/dist/entities/commit/commit.d.ts +15 -0
- package/dist/entities/commit/commit.d.ts.map +1 -0
- package/dist/entities/commit/commit.js +196 -0
- package/dist/entities/commit/commit.js.map +1 -0
- package/dist/entities/commit/commit.test.d.ts +26 -0
- package/dist/entities/commit/commit.test.d.ts.map +1 -0
- package/dist/entities/commit/commit.test.js +550 -0
- package/dist/entities/commit/commit.test.js.map +1 -0
- package/dist/entities/commit/commit.types.d.ts +49 -0
- package/dist/entities/commit/commit.types.d.ts.map +1 -0
- package/dist/entities/commit/commit.types.js +31 -0
- package/dist/entities/commit/commit.types.js.map +1 -0
- package/dist/entities/commit/index.d.ts +3 -0
- package/dist/entities/commit/index.d.ts.map +1 -0
- package/dist/entities/commit/index.js +3 -0
- package/dist/entities/commit/index.js.map +1 -0
- package/dist/entities/commit/pr.d.ts +11 -0
- package/dist/entities/commit/pr.d.ts.map +1 -0
- package/dist/entities/commit/pr.js +201 -0
- package/dist/entities/commit/pr.js.map +1 -0
- package/dist/entities/commit/pr.test.d.ts +2 -0
- package/dist/entities/commit/pr.test.d.ts.map +1 -0
- package/dist/entities/commit/pr.test.js +782 -0
- package/dist/entities/commit/pr.test.js.map +1 -0
- package/dist/entities/compose/compose.d.ts +18 -0
- package/dist/entities/compose/compose.d.ts.map +1 -0
- package/dist/entities/compose/compose.js +197 -0
- package/dist/entities/compose/compose.js.map +1 -0
- package/dist/entities/compose/compose.test.d.ts +2 -0
- package/dist/entities/compose/compose.test.d.ts.map +1 -0
- package/dist/entities/compose/compose.test.js +406 -0
- package/dist/entities/compose/compose.test.js.map +1 -0
- package/dist/entities/compose/compose.types.d.ts +77 -0
- package/dist/entities/compose/compose.types.d.ts.map +1 -0
- package/dist/entities/compose/compose.types.js +2 -0
- package/dist/entities/compose/compose.types.js.map +1 -0
- package/dist/entities/compose/index.d.ts +3 -0
- package/dist/entities/compose/index.d.ts.map +1 -0
- package/dist/entities/compose/index.js +3 -0
- package/dist/entities/compose/index.js.map +1 -0
- package/dist/entities/entities.shell.d.ts +29 -0
- package/dist/entities/entities.shell.d.ts.map +1 -0
- package/dist/entities/entities.shell.js +27 -0
- package/dist/entities/entities.shell.js.map +1 -0
- package/dist/entities/entities.shell.test.d.ts +2 -0
- package/dist/entities/entities.shell.test.d.ts.map +1 -0
- package/dist/entities/entities.shell.test.js +23 -0
- package/dist/entities/entities.shell.test.js.map +1 -0
- package/dist/entities/index.d.ts +12 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +12 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/intershell-config/intershell-config.d.ts +11 -0
- package/dist/entities/intershell-config/intershell-config.d.ts.map +1 -0
- package/dist/entities/intershell-config/intershell-config.default.d.ts +188 -0
- package/dist/entities/intershell-config/intershell-config.default.d.ts.map +1 -0
- package/dist/entities/intershell-config/intershell-config.default.js +225 -0
- package/dist/entities/intershell-config/intershell-config.default.js.map +1 -0
- package/dist/entities/intershell-config/intershell-config.js +132 -0
- package/dist/entities/intershell-config/intershell-config.js.map +1 -0
- package/dist/entities/intershell-config/intershell-config.test.d.ts +2 -0
- package/dist/entities/intershell-config/intershell-config.test.d.ts.map +1 -0
- package/dist/entities/intershell-config/intershell-config.test.js +102 -0
- package/dist/entities/intershell-config/intershell-config.test.js.map +1 -0
- package/dist/entities/intershell-config/intershell-config.types.d.ts +103 -0
- package/dist/entities/intershell-config/intershell-config.types.d.ts.map +1 -0
- package/dist/entities/intershell-config/intershell-config.types.js +2 -0
- package/dist/entities/intershell-config/intershell-config.types.js.map +1 -0
- package/dist/entities/package/index.d.ts +4 -0
- package/dist/entities/package/index.d.ts.map +1 -0
- package/dist/entities/package/index.js +4 -0
- package/dist/entities/package/index.js.map +1 -0
- package/dist/entities/package/package.d.ts +49 -0
- package/dist/entities/package/package.d.ts.map +1 -0
- package/dist/entities/package/package.js +234 -0
- package/dist/entities/package/package.js.map +1 -0
- package/dist/entities/package/package.shell.d.ts +48 -0
- package/dist/entities/package/package.shell.d.ts.map +1 -0
- package/dist/entities/package/package.shell.js +118 -0
- package/dist/entities/package/package.shell.js.map +1 -0
- package/dist/entities/package/package.test.d.ts +23 -0
- package/dist/entities/package/package.test.d.ts.map +1 -0
- package/dist/entities/package/package.test.js +637 -0
- package/dist/entities/package/package.test.js.map +1 -0
- package/dist/entities/package/package.types.d.ts +48 -0
- package/dist/entities/package/package.types.d.ts.map +1 -0
- package/dist/entities/package/package.types.js +2 -0
- package/dist/entities/package/package.types.js.map +1 -0
- package/dist/entities/package-changelog/index.d.ts +4 -0
- package/dist/entities/package-changelog/index.d.ts.map +1 -0
- package/dist/entities/package-changelog/index.js +4 -0
- package/dist/entities/package-changelog/index.js.map +1 -0
- package/dist/entities/package-changelog/package-changelog.d.ts +20 -0
- package/dist/entities/package-changelog/package-changelog.d.ts.map +1 -0
- package/dist/entities/package-changelog/package-changelog.js +59 -0
- package/dist/entities/package-changelog/package-changelog.js.map +1 -0
- package/dist/entities/package-changelog/package-changelog.types.d.ts +25 -0
- package/dist/entities/package-changelog/package-changelog.types.d.ts.map +1 -0
- package/dist/entities/package-changelog/package-changelog.types.js +2 -0
- package/dist/entities/package-changelog/package-changelog.types.js.map +1 -0
- package/dist/entities/package-changelog/template.d.ts +20 -0
- package/dist/entities/package-changelog/template.d.ts.map +1 -0
- package/dist/entities/package-changelog/template.default.d.ts +10 -0
- package/dist/entities/package-changelog/template.default.d.ts.map +1 -0
- package/dist/entities/package-changelog/template.default.js +85 -0
- package/dist/entities/package-changelog/template.default.js.map +1 -0
- package/dist/entities/package-changelog/template.js +90 -0
- package/dist/entities/package-changelog/template.js.map +1 -0
- package/dist/entities/package-commits/dependency-analyzer.d.ts +35 -0
- package/dist/entities/package-commits/dependency-analyzer.d.ts.map +1 -0
- package/dist/entities/package-commits/dependency-analyzer.js +169 -0
- package/dist/entities/package-commits/dependency-analyzer.js.map +1 -0
- package/dist/entities/package-commits/dependency-analyzer.test.d.ts +2 -0
- package/dist/entities/package-commits/dependency-analyzer.test.d.ts.map +1 -0
- package/dist/entities/package-commits/dependency-analyzer.test.js +25 -0
- package/dist/entities/package-commits/dependency-analyzer.test.js.map +1 -0
- package/dist/entities/package-commits/index.d.ts +3 -0
- package/dist/entities/package-commits/index.d.ts.map +1 -0
- package/dist/entities/package-commits/index.js +3 -0
- package/dist/entities/package-commits/index.js.map +1 -0
- package/dist/entities/package-commits/package-commits.d.ts +33 -0
- package/dist/entities/package-commits/package-commits.d.ts.map +1 -0
- package/dist/entities/package-commits/package-commits.js +149 -0
- package/dist/entities/package-commits/package-commits.js.map +1 -0
- package/dist/entities/package-commits/package-commits.test.d.ts +2 -0
- package/dist/entities/package-commits/package-commits.test.d.ts.map +1 -0
- package/dist/entities/package-commits/package-commits.test.js +40 -0
- package/dist/entities/package-commits/package-commits.test.js.map +1 -0
- package/dist/entities/package-tags/index.d.ts +2 -0
- package/dist/entities/package-tags/index.d.ts.map +1 -0
- package/dist/entities/package-tags/index.js +2 -0
- package/dist/entities/package-tags/index.js.map +1 -0
- package/dist/entities/package-tags/package-tags.d.ts +24 -0
- package/dist/entities/package-tags/package-tags.d.ts.map +1 -0
- package/dist/entities/package-tags/package-tags.js +197 -0
- package/dist/entities/package-tags/package-tags.js.map +1 -0
- package/dist/entities/package-tags/package-tags.test.d.ts +2 -0
- package/dist/entities/package-tags/package-tags.test.d.ts.map +1 -0
- package/dist/entities/package-tags/package-tags.test.js +60 -0
- package/dist/entities/package-tags/package-tags.test.js.map +1 -0
- package/dist/entities/package-version/index.d.ts +3 -0
- package/dist/entities/package-version/index.d.ts.map +1 -0
- package/dist/entities/package-version/index.js +3 -0
- package/dist/entities/package-version/index.js.map +1 -0
- package/dist/entities/package-version/package-version.d.ts +16 -0
- package/dist/entities/package-version/package-version.d.ts.map +1 -0
- package/dist/entities/package-version/package-version.js +166 -0
- package/dist/entities/package-version/package-version.js.map +1 -0
- package/dist/entities/package-version/package-version.test.d.ts +2 -0
- package/dist/entities/package-version/package-version.test.d.ts.map +1 -0
- package/dist/entities/package-version/package-version.test.js +113 -0
- package/dist/entities/package-version/package-version.test.js.map +1 -0
- package/dist/entities/package-version/package-version.types.d.ts +31 -0
- package/dist/entities/package-version/package-version.types.d.ts.map +1 -0
- package/dist/entities/package-version/package-version.types.js +2 -0
- package/dist/entities/package-version/package-version.types.js.map +1 -0
- package/dist/entities/tag/index.d.ts +3 -0
- package/dist/entities/tag/index.d.ts.map +1 -0
- package/dist/entities/tag/index.js +3 -0
- package/dist/entities/tag/index.js.map +1 -0
- package/dist/entities/tag/tag.d.ts +24 -0
- package/dist/entities/tag/tag.d.ts.map +1 -0
- package/dist/entities/tag/tag.js +168 -0
- package/dist/entities/tag/tag.js.map +1 -0
- package/dist/entities/tag/tag.test.d.ts +2 -0
- package/dist/entities/tag/tag.test.d.ts.map +1 -0
- package/dist/entities/tag/tag.test.js +638 -0
- package/dist/entities/tag/tag.test.js.map +1 -0
- package/dist/entities/tag/tag.types.d.ts +35 -0
- package/dist/entities/tag/tag.types.d.ts.map +1 -0
- package/dist/entities/tag/tag.types.js +2 -0
- package/dist/entities/tag/tag.types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/package.json +73 -0
- package/src/commands/ci/act.ts +95 -0
- package/src/commands/ci/attach-affected.ts +93 -0
- package/src/commands/ci/attach-service-ports.ts +31 -0
- package/src/commands/commit-check.ts +124 -0
- package/src/commands/commit.ts +103 -0
- package/src/commands/dev/check.ts +117 -0
- package/src/commands/dev/cleanup.ts +34 -0
- package/src/commands/dev/rm.ts +66 -0
- package/src/commands/dev/setup.ts +48 -0
- package/src/commands/local/cleanup.ts +74 -0
- package/src/commands/local/setup.ts +68 -0
- package/src/commands/local/vscode.ts +118 -0
- package/src/commands/update-package-json.ts +104 -0
- package/src/commands/version/apply.ts +156 -0
- package/src/commands/version/ci.ts +85 -0
- package/src/commands/version/prepare.ts +217 -0
- package/src/core/colorify.ts +61 -0
- package/src/core/index.ts +3 -0
- package/src/core/types.ts +262 -0
- package/src/core/wrapshell.ts +388 -0
- package/src/entities/affected/affected.test.ts +427 -0
- package/src/entities/affected/affected.ts +22 -0
- package/src/entities/affected/index.ts +1 -0
- package/src/entities/branch/branch.test.ts +348 -0
- package/src/entities/branch/branch.ts +89 -0
- package/src/entities/branch/branch.types.ts +5 -0
- package/src/entities/branch/index.ts +2 -0
- package/src/entities/commit/commit.test.ts +769 -0
- package/src/entities/commit/commit.ts +245 -0
- package/src/entities/commit/commit.types.ts +81 -0
- package/src/entities/commit/index.ts +2 -0
- package/src/entities/commit/pr.test.ts +860 -0
- package/src/entities/commit/pr.ts +241 -0
- package/src/entities/compose/compose.test.ts +496 -0
- package/src/entities/compose/compose.ts +251 -0
- package/src/entities/compose/compose.types.ts +88 -0
- package/src/entities/compose/index.ts +2 -0
- package/src/entities/entities.shell.test.ts +35 -0
- package/src/entities/entities.shell.ts +81 -0
- package/src/entities/index.ts +11 -0
- package/src/entities/intershell-config/intershell-config.default.ts +229 -0
- package/src/entities/intershell-config/intershell-config.test.ts +117 -0
- package/src/entities/intershell-config/intershell-config.ts +143 -0
- package/src/entities/intershell-config/intershell-config.types.ts +118 -0
- package/src/entities/package/index.ts +3 -0
- package/src/entities/package/package.shell.ts +124 -0
- package/src/entities/package/package.test.ts +830 -0
- package/src/entities/package/package.ts +267 -0
- package/src/entities/package/package.types.ts +49 -0
- package/src/entities/package-changelog/index.ts +3 -0
- package/src/entities/package-changelog/package-changelog.ts +81 -0
- package/src/entities/package-changelog/package-changelog.types.ts +30 -0
- package/src/entities/package-changelog/template.default.ts +109 -0
- package/src/entities/package-changelog/template.ts +118 -0
- package/src/entities/package-commits/dependency-analyzer.test.ts +29 -0
- package/src/entities/package-commits/dependency-analyzer.ts +194 -0
- package/src/entities/package-commits/index.ts +2 -0
- package/src/entities/package-commits/package-commits.test.ts +44 -0
- package/src/entities/package-commits/package-commits.ts +191 -0
- package/src/entities/package-tags/index.ts +1 -0
- package/src/entities/package-tags/package-tags.test.ts +73 -0
- package/src/entities/package-tags/package-tags.ts +234 -0
- package/src/entities/package-version/index.ts +2 -0
- package/src/entities/package-version/package-version.test.ts +141 -0
- package/src/entities/package-version/package-version.ts +234 -0
- package/src/entities/package-version/package-version.types.ts +35 -0
- package/src/entities/tag/index.ts +2 -0
- package/src/entities/tag/tag.test.ts +844 -0
- package/src/entities/tag/tag.ts +208 -0
- package/src/entities/tag/tag.types.ts +37 -0
- package/src/index.ts +7 -0
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, mock } from "bun:test";
|
|
2
|
+
describe("EntityAffected", async () => {
|
|
3
|
+
beforeEach(async () => {
|
|
4
|
+
// Import and mock entitiesShell methods directly
|
|
5
|
+
const { entitiesShell } = await import("../entities.shell");
|
|
6
|
+
// Mock turboRunBuild directly
|
|
7
|
+
entitiesShell.turboRunBuild = mock(() => ({
|
|
8
|
+
exitCode: 0,
|
|
9
|
+
json: () => Promise.resolve({ packages: ["package1", "package2"] }),
|
|
10
|
+
text: () => Promise.resolve('{"packages":["package1","package2"]}'),
|
|
11
|
+
}));
|
|
12
|
+
});
|
|
13
|
+
describe("getAffectedPackages", () => {
|
|
14
|
+
it("should call EntityTag.getBaseCommitSha with correct parameters", async () => {
|
|
15
|
+
// Import and mock EntityTag first
|
|
16
|
+
const { EntityTag } = await import("../tag");
|
|
17
|
+
// Store original method
|
|
18
|
+
const originalGetBaseCommitSha = EntityTag.getBaseCommitSha;
|
|
19
|
+
// Mock EntityTag.getBaseCommitSha
|
|
20
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
21
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
22
|
+
// Now import EntityAffected after mocking
|
|
23
|
+
const { EntityAffected } = await import("./affected");
|
|
24
|
+
// Act
|
|
25
|
+
await EntityAffected.getAffectedPackages("custom-sha").catch(() => undefined);
|
|
26
|
+
// Assert
|
|
27
|
+
expect(mockGetBaseTagSha).toHaveBeenCalledWith("custom-sha");
|
|
28
|
+
// Restore original method
|
|
29
|
+
EntityTag.getBaseCommitSha = originalGetBaseCommitSha;
|
|
30
|
+
});
|
|
31
|
+
it("should call EntityTag.getBaseCommitSha with undefined when no baseSha provided", async () => {
|
|
32
|
+
// Import and mock EntityTag first
|
|
33
|
+
const { EntityTag } = await import("../tag");
|
|
34
|
+
// Store original method
|
|
35
|
+
const originalGetBaseCommitSha = EntityTag.getBaseCommitSha;
|
|
36
|
+
// Mock EntityTag.getBaseCommitSha
|
|
37
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
38
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
39
|
+
// Now import EntityAffected after mocking
|
|
40
|
+
const { EntityAffected } = await import("./affected");
|
|
41
|
+
// Act
|
|
42
|
+
await EntityAffected.getAffectedPackages().catch(() => undefined);
|
|
43
|
+
// Assert
|
|
44
|
+
expect(mockGetBaseTagSha).toHaveBeenCalledWith(undefined);
|
|
45
|
+
// Restore original method
|
|
46
|
+
EntityTag.getBaseCommitSha = originalGetBaseCommitSha;
|
|
47
|
+
});
|
|
48
|
+
it("should handle EntityTag.getBaseCommitSha throwing an error", async () => {
|
|
49
|
+
// Import and mock EntityTag first
|
|
50
|
+
const { EntityTag } = await import("../tag");
|
|
51
|
+
// Store original method
|
|
52
|
+
const originalGetBaseCommitSha = EntityTag.getBaseCommitSha;
|
|
53
|
+
// Mock EntityTag.getBaseCommitSha to throw error
|
|
54
|
+
const mockGetBaseTagSha = mock(() => Promise.reject(new Error("Failed to get base tag SHA")));
|
|
55
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
56
|
+
// Now import EntityAffected after mocking
|
|
57
|
+
const { EntityAffected } = await import("./affected");
|
|
58
|
+
// Act & Assert
|
|
59
|
+
expect(EntityAffected.getAffectedPackages()).rejects.toThrow("Failed to get base tag SHA");
|
|
60
|
+
// Restore original method
|
|
61
|
+
EntityTag.getBaseCommitSha = originalGetBaseCommitSha;
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe("function structure and behavior", () => {
|
|
65
|
+
it("should have getAffectedPackages function", async () => {
|
|
66
|
+
// Import fresh EntityAffected module
|
|
67
|
+
const { EntityAffected } = await import("./affected");
|
|
68
|
+
expect(EntityAffected.getAffectedPackages).toBeDefined();
|
|
69
|
+
expect(typeof EntityAffected.getAffectedPackages).toBe("function");
|
|
70
|
+
});
|
|
71
|
+
it("should return a promise", async () => {
|
|
72
|
+
// Import and mock EntityTag first
|
|
73
|
+
const { EntityTag } = await import("../tag");
|
|
74
|
+
// Store original method
|
|
75
|
+
const originalGetBaseCommitSha = EntityTag.getBaseCommitSha;
|
|
76
|
+
// Mock the EntityTag to prevent actual execution
|
|
77
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("test-sha"));
|
|
78
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
79
|
+
// Now import EntityAffected after mocking
|
|
80
|
+
const { EntityAffected } = await import("./affected");
|
|
81
|
+
const result = EntityAffected.getAffectedPackages();
|
|
82
|
+
expect(result).toBeInstanceOf(Promise);
|
|
83
|
+
// Restore original method
|
|
84
|
+
EntityTag.getBaseCommitSha = originalGetBaseCommitSha;
|
|
85
|
+
});
|
|
86
|
+
it("should accept optional baseSha parameter", async () => {
|
|
87
|
+
// Import fresh EntityAffected module
|
|
88
|
+
const { EntityAffected } = await import("./affected");
|
|
89
|
+
// This test verifies the function signature
|
|
90
|
+
// The function has 2 parameters: baseSha (optional) and to (with default value)
|
|
91
|
+
// But function.length only counts parameters before the first default value, so it's 1
|
|
92
|
+
expect(EntityAffected.getAffectedPackages.length).toBe(1);
|
|
93
|
+
});
|
|
94
|
+
it("should accept optional to parameter with default value", async () => {
|
|
95
|
+
// Import fresh EntityAffected module
|
|
96
|
+
const { EntityAffected } = await import("./affected");
|
|
97
|
+
// This test verifies the function signature
|
|
98
|
+
// The function has 2 parameters: baseSha (optional) and to (with default value)
|
|
99
|
+
// But function.length only counts parameters before the first default value, so it's 1
|
|
100
|
+
expect(EntityAffected.getAffectedPackages.length).toBe(1);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
describe("parameter handling", () => {
|
|
104
|
+
it("should handle string baseSha parameter", async () => {
|
|
105
|
+
// Import EntityAffected first
|
|
106
|
+
const { EntityAffected } = await import("./affected");
|
|
107
|
+
// Now import EntityTag and mock its method
|
|
108
|
+
const { EntityTag } = await import("../tag");
|
|
109
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
110
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
111
|
+
// Act
|
|
112
|
+
await EntityAffected.getAffectedPackages("test-sha").catch(() => undefined);
|
|
113
|
+
// Assert
|
|
114
|
+
expect(mockGetBaseTagSha).toHaveBeenCalledWith("test-sha");
|
|
115
|
+
});
|
|
116
|
+
it("should handle undefined baseSha parameter", async () => {
|
|
117
|
+
// Import EntityAffected first
|
|
118
|
+
const { EntityAffected } = await import("./affected");
|
|
119
|
+
// Now import EntityTag and mock its method
|
|
120
|
+
const { EntityTag } = await import("../tag");
|
|
121
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
122
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
123
|
+
// Act
|
|
124
|
+
await EntityAffected.getAffectedPackages().catch(() => undefined);
|
|
125
|
+
// Assert
|
|
126
|
+
expect(mockGetBaseTagSha).toHaveBeenCalledWith(undefined);
|
|
127
|
+
});
|
|
128
|
+
it("should handle custom to parameter", async () => {
|
|
129
|
+
// Import EntityAffected first
|
|
130
|
+
const { EntityAffected } = await import("./affected");
|
|
131
|
+
// Now import EntityTag and mock its method
|
|
132
|
+
const { EntityTag } = await import("../tag");
|
|
133
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
134
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
135
|
+
// Act
|
|
136
|
+
await EntityAffected.getAffectedPackages("test-sha", "custom-branch").catch(() => undefined);
|
|
137
|
+
// Assert
|
|
138
|
+
expect(mockGetBaseTagSha).toHaveBeenCalledWith("test-sha");
|
|
139
|
+
});
|
|
140
|
+
it("should use HEAD as default to parameter", async () => {
|
|
141
|
+
// Import EntityAffected first
|
|
142
|
+
const { EntityAffected } = await import("./affected");
|
|
143
|
+
// Now import EntityTag and mock its method
|
|
144
|
+
const { EntityTag } = await import("../tag");
|
|
145
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
146
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
147
|
+
// Act
|
|
148
|
+
await EntityAffected.getAffectedPackages("test-sha").catch(() => undefined);
|
|
149
|
+
// Assert
|
|
150
|
+
expect(mockGetBaseTagSha).toHaveBeenCalledWith("test-sha");
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
describe("successful execution", () => {
|
|
154
|
+
it("should return affected packages from turbo output", async () => {
|
|
155
|
+
// Import and mock EntityTag first
|
|
156
|
+
const { EntityTag } = await import("../tag");
|
|
157
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
158
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
159
|
+
// Import and mock entitiesShell
|
|
160
|
+
const { entitiesShell } = await import("../entities.shell");
|
|
161
|
+
const mockTurboRunBuild = mock(() => ({
|
|
162
|
+
text: () => Promise.resolve(JSON.stringify({
|
|
163
|
+
tasks: [
|
|
164
|
+
{ package: "package1" },
|
|
165
|
+
{ package: "package2" },
|
|
166
|
+
{ package: "//" }, // root package should be filtered out
|
|
167
|
+
],
|
|
168
|
+
})),
|
|
169
|
+
}));
|
|
170
|
+
entitiesShell.turboRunBuild = mockTurboRunBuild;
|
|
171
|
+
// Now import EntityAffected after mocking
|
|
172
|
+
const { EntityAffected } = await import("./affected");
|
|
173
|
+
// Act
|
|
174
|
+
const result = await EntityAffected.getAffectedPackages("test-sha");
|
|
175
|
+
// Assert
|
|
176
|
+
expect(result).toEqual(["package1", "package2"]);
|
|
177
|
+
expect(mockTurboRunBuild).toHaveBeenCalledWith(["--filter=...[resolved-sha...HEAD]"]);
|
|
178
|
+
});
|
|
179
|
+
it("should handle empty tasks array", async () => {
|
|
180
|
+
// Import and mock EntityTag first
|
|
181
|
+
const { EntityTag } = await import("../tag");
|
|
182
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
183
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
184
|
+
// Import and mock entitiesShell
|
|
185
|
+
const { entitiesShell } = await import("../entities.shell");
|
|
186
|
+
const mockTurboRunBuild = mock(() => ({
|
|
187
|
+
text: () => Promise.resolve(JSON.stringify({
|
|
188
|
+
tasks: [],
|
|
189
|
+
})),
|
|
190
|
+
}));
|
|
191
|
+
entitiesShell.turboRunBuild = mockTurboRunBuild;
|
|
192
|
+
// Now import EntityAffected after mocking
|
|
193
|
+
const { EntityAffected } = await import("./affected");
|
|
194
|
+
// Act
|
|
195
|
+
const result = await EntityAffected.getAffectedPackages("test-sha");
|
|
196
|
+
// Assert
|
|
197
|
+
expect(result).toEqual([]);
|
|
198
|
+
});
|
|
199
|
+
it("should handle missing tasks property", async () => {
|
|
200
|
+
// Import and mock EntityTag first
|
|
201
|
+
const { EntityTag } = await import("../tag");
|
|
202
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
203
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
204
|
+
// Import and mock entitiesShell
|
|
205
|
+
const { entitiesShell } = await import("../entities.shell");
|
|
206
|
+
const mockTurboRunBuild = mock(() => ({
|
|
207
|
+
text: () => Promise.resolve(JSON.stringify({
|
|
208
|
+
packages: ["package1", "package2"],
|
|
209
|
+
})),
|
|
210
|
+
}));
|
|
211
|
+
entitiesShell.turboRunBuild = mockTurboRunBuild;
|
|
212
|
+
// Now import EntityAffected after mocking
|
|
213
|
+
const { EntityAffected } = await import("./affected");
|
|
214
|
+
// Act
|
|
215
|
+
const result = await EntityAffected.getAffectedPackages("test-sha");
|
|
216
|
+
// Assert
|
|
217
|
+
expect(result).toEqual([]);
|
|
218
|
+
});
|
|
219
|
+
it("should filter out root package and undefined values", async () => {
|
|
220
|
+
// Import and mock EntityTag first
|
|
221
|
+
const { EntityTag } = await import("../tag");
|
|
222
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
223
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
224
|
+
// Import and mock entitiesShell
|
|
225
|
+
const { entitiesShell } = await import("../entities.shell");
|
|
226
|
+
const mockTurboRunBuild = mock(() => ({
|
|
227
|
+
text: () => Promise.resolve(JSON.stringify({
|
|
228
|
+
tasks: [
|
|
229
|
+
{ package: "package1" },
|
|
230
|
+
{ package: "//" }, // root package should be filtered out
|
|
231
|
+
{ package: "" }, // empty string should be filtered out
|
|
232
|
+
{ package: undefined }, // undefined should be filtered out
|
|
233
|
+
{ package: "package2" },
|
|
234
|
+
],
|
|
235
|
+
})),
|
|
236
|
+
}));
|
|
237
|
+
entitiesShell.turboRunBuild = mockTurboRunBuild;
|
|
238
|
+
// Now import EntityAffected after mocking
|
|
239
|
+
const { EntityAffected } = await import("./affected");
|
|
240
|
+
// Act
|
|
241
|
+
const result = await EntityAffected.getAffectedPackages("test-sha");
|
|
242
|
+
// Assert
|
|
243
|
+
expect(result).toEqual(["package1", "package2"]);
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
describe("error handling", () => {
|
|
247
|
+
it("should propagate EntityTag.getBaseCommitSha errors", async () => {
|
|
248
|
+
// Import EntityAffected first
|
|
249
|
+
const { EntityAffected } = await import("./affected");
|
|
250
|
+
// Now import EntityTag and mock its method
|
|
251
|
+
const { EntityTag } = await import("../tag");
|
|
252
|
+
const mockGetBaseTagSha = mock(() => Promise.reject(new Error("Custom error message")));
|
|
253
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
254
|
+
// Act & Assert
|
|
255
|
+
expect(EntityAffected.getAffectedPackages()).rejects.toThrow("Custom error message");
|
|
256
|
+
});
|
|
257
|
+
it("should handle different error types from EntityTag.getBaseCommitSha", async () => {
|
|
258
|
+
// Import EntityAffected first
|
|
259
|
+
const { EntityAffected } = await import("./affected");
|
|
260
|
+
// Now import EntityTag and mock its method
|
|
261
|
+
const { EntityTag } = await import("../tag");
|
|
262
|
+
const mockGetBaseTagSha = mock(() => Promise.reject(new TypeError("Type error")));
|
|
263
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
264
|
+
// Act & Assert
|
|
265
|
+
expect(EntityAffected.getAffectedPackages()).rejects.toThrow("Type error");
|
|
266
|
+
});
|
|
267
|
+
it("should handle turbo command errors and return empty array", async () => {
|
|
268
|
+
// Import and mock EntityTag first
|
|
269
|
+
const { EntityTag } = await import("../tag");
|
|
270
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
271
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
272
|
+
// Import and mock entitiesShell
|
|
273
|
+
const { entitiesShell } = await import("../entities.shell");
|
|
274
|
+
const mockTurboRunBuild = mock(() => ({
|
|
275
|
+
text: () => Promise.reject(new Error("Turbo command failed")),
|
|
276
|
+
}));
|
|
277
|
+
entitiesShell.turboRunBuild = mockTurboRunBuild;
|
|
278
|
+
// Now import EntityAffected after mocking
|
|
279
|
+
const { EntityAffected } = await import("./affected");
|
|
280
|
+
// Act
|
|
281
|
+
const result = await EntityAffected.getAffectedPackages("test-sha");
|
|
282
|
+
// Assert
|
|
283
|
+
expect(result).toEqual([]);
|
|
284
|
+
});
|
|
285
|
+
it("should handle JSON parsing errors and return empty array", async () => {
|
|
286
|
+
// Import and mock EntityTag first
|
|
287
|
+
const { EntityTag } = await import("../tag");
|
|
288
|
+
const mockGetBaseTagSha = mock(() => Promise.resolve("resolved-sha"));
|
|
289
|
+
EntityTag.getBaseCommitSha = mockGetBaseTagSha;
|
|
290
|
+
// Import and mock entitiesShell
|
|
291
|
+
const { entitiesShell } = await import("../entities.shell");
|
|
292
|
+
const mockTurboRunBuild = mock(() => ({
|
|
293
|
+
text: () => Promise.resolve("invalid json"),
|
|
294
|
+
}));
|
|
295
|
+
entitiesShell.turboRunBuild = mockTurboRunBuild;
|
|
296
|
+
// Now import EntityAffected after mocking
|
|
297
|
+
const { EntityAffected } = await import("./affected");
|
|
298
|
+
// Act
|
|
299
|
+
const result = await EntityAffected.getAffectedPackages("test-sha");
|
|
300
|
+
// Assert
|
|
301
|
+
expect(result).toEqual([]);
|
|
302
|
+
});
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
//# sourceMappingURL=affected.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"affected.test.js","sourceRoot":"","sources":["../../../src/entities/affected/affected.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entities/affected/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/affected/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ParsedBranch } from "./branch.types";
|
|
2
|
+
export declare class EntityBranch {
|
|
3
|
+
parseByName(branchName: string): ParsedBranch;
|
|
4
|
+
getCurrentBranch(): Promise<string>;
|
|
5
|
+
validate(input: string | ParsedBranch): true | string;
|
|
6
|
+
private mainValidator;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=branch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/entities/branch/branch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBAAa,YAAY;IACxB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAqCvC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKzC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,GAAG,MAAM;IAMrD,OAAO,CAAC,aAAa;CAmCrB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { entitiesShell } from "../entities.shell";
|
|
2
|
+
import { entitiesConfig } from "../intershell-config/intershell-config";
|
|
3
|
+
export class EntityBranch {
|
|
4
|
+
parseByName(branchName) {
|
|
5
|
+
const config = entitiesConfig.getConfig().branch;
|
|
6
|
+
const validPrefixes = config.prefixes;
|
|
7
|
+
// Split the branch name by "/" to get all parts
|
|
8
|
+
const parts = branchName.split("/");
|
|
9
|
+
// Find the first valid prefix in the parts
|
|
10
|
+
let foundPrefixIndex = -1;
|
|
11
|
+
let foundPrefix = "";
|
|
12
|
+
for (let i = 0; i < parts.length; i++) {
|
|
13
|
+
if (validPrefixes.includes(parts[i])) {
|
|
14
|
+
foundPrefixIndex = i;
|
|
15
|
+
foundPrefix = parts[i];
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// If we found a valid prefix, use everything from that point as the name
|
|
20
|
+
if (foundPrefixIndex !== -1) {
|
|
21
|
+
const nameParts = parts.slice(foundPrefixIndex);
|
|
22
|
+
return {
|
|
23
|
+
prefix: foundPrefix,
|
|
24
|
+
name: nameParts.join("/"),
|
|
25
|
+
fullName: branchName,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
// If no valid prefix found, use the entire name
|
|
29
|
+
return {
|
|
30
|
+
prefix: undefined,
|
|
31
|
+
name: branchName,
|
|
32
|
+
fullName: branchName,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
async getCurrentBranch() {
|
|
36
|
+
const result = await entitiesShell.gitBranchShowCurrent();
|
|
37
|
+
return result.text().trim();
|
|
38
|
+
}
|
|
39
|
+
validate(input) {
|
|
40
|
+
const branch = typeof input === "string" ? this.parseByName(input) : input;
|
|
41
|
+
return this.mainValidator(branch);
|
|
42
|
+
}
|
|
43
|
+
mainValidator(branch) {
|
|
44
|
+
const config = entitiesConfig.getConfig().branch;
|
|
45
|
+
if (!branch.fullName)
|
|
46
|
+
return "branch name is empty";
|
|
47
|
+
if (config.name.minLength && branch.fullName.length < config.name.minLength)
|
|
48
|
+
return `branch name should be at least ${config.name.minLength} characters long`;
|
|
49
|
+
if (config.name.maxLength && branch.fullName.length > config.name.maxLength)
|
|
50
|
+
return `branch name should be max ${config.name.maxLength} characters, received: ${branch.fullName.length}`;
|
|
51
|
+
if (config.name.allowedCharacters && !config.name.allowedCharacters.test(branch.fullName))
|
|
52
|
+
return "branch name can only contain letters, numbers, hyphens, underscores, and forward slashes";
|
|
53
|
+
if (config.name.noConsecutiveSeparators && /[-_/]{2,}/.test(branch.fullName))
|
|
54
|
+
return "branch name should not have consecutive separators";
|
|
55
|
+
if (config.name.noLeadingTrailingSeparators && /(^[-_/]|[-_/]$)/.test(branch.fullName))
|
|
56
|
+
return "branch name should not start or end with separators";
|
|
57
|
+
if (branch.fullName === config.defaultBranch) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
if (config.prefixes.length === 0) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
const prefix = branch.prefix ?? "";
|
|
64
|
+
const name = branch.name;
|
|
65
|
+
if (!prefix) {
|
|
66
|
+
return `branch name should have a prefix. valid prefixes: ${config.prefixes.join(", ")}`;
|
|
67
|
+
}
|
|
68
|
+
if (!name) {
|
|
69
|
+
return "branch name should have a name";
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=branch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../src/entities/branch/branch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.test.d.ts","sourceRoot":"","sources":["../../../src/entities/branch/branch.test.ts"],"names":[],"mappings":""}
|