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,102 @@
|
|
|
1
|
+
import { describe, expect, mock, test } from "bun:test";
|
|
2
|
+
describe("Config", () => {
|
|
3
|
+
// Common mock setup for dependencies
|
|
4
|
+
const setupMocks = async () => {
|
|
5
|
+
// Mock EntityPackage methods
|
|
6
|
+
const { EntityPackage } = await import("../package");
|
|
7
|
+
EntityPackage.prototype.readJson = mock(() => ({
|
|
8
|
+
name: "test-package",
|
|
9
|
+
version: "1.0.0",
|
|
10
|
+
}));
|
|
11
|
+
return { EntityPackage };
|
|
12
|
+
};
|
|
13
|
+
test.skip("should have default commit configuration", async () => {
|
|
14
|
+
await setupMocks();
|
|
15
|
+
const { entitiesConfig } = await import("./intershell-config");
|
|
16
|
+
const config = entitiesConfig.getConfig();
|
|
17
|
+
expect(config.commit.conventional.type?.list).toBeDefined();
|
|
18
|
+
expect(config.commit.conventional.type?.list?.length).toBeGreaterThan(0);
|
|
19
|
+
expect(config.commit.staged).toBeDefined();
|
|
20
|
+
expect(config.commit.staged?.length).toBeGreaterThan(0);
|
|
21
|
+
});
|
|
22
|
+
test.skip("should have default branch configuration", async () => {
|
|
23
|
+
await setupMocks();
|
|
24
|
+
const { entitiesConfig } = await import("./intershell-config");
|
|
25
|
+
const config = entitiesConfig.getConfig();
|
|
26
|
+
expect(config.branch.defaultBranch).toBe("main");
|
|
27
|
+
expect(config.branch.prefixes).toEqual([
|
|
28
|
+
"feature",
|
|
29
|
+
"fix",
|
|
30
|
+
"hotfix",
|
|
31
|
+
"release",
|
|
32
|
+
"docs",
|
|
33
|
+
"refactor",
|
|
34
|
+
"ci",
|
|
35
|
+
"chore",
|
|
36
|
+
"wip",
|
|
37
|
+
"renovate",
|
|
38
|
+
]);
|
|
39
|
+
});
|
|
40
|
+
test.skip("should have default tag configuration", async () => {
|
|
41
|
+
await setupMocks();
|
|
42
|
+
const { entitiesConfig } = await import("./intershell-config");
|
|
43
|
+
const config = entitiesConfig.getConfig();
|
|
44
|
+
expect(config.tag.name.enabled).toBe(true);
|
|
45
|
+
expect(config.tag.name.minLength).toBe(1);
|
|
46
|
+
expect(config.tag.name.maxLength).toBe(100);
|
|
47
|
+
expect(config.tag.name.noSpaces).toBe(true);
|
|
48
|
+
expect(config.tag.name.noSpecialChars).toBe(false);
|
|
49
|
+
});
|
|
50
|
+
test.skip("should merge custom commit configuration", async () => {
|
|
51
|
+
await setupMocks();
|
|
52
|
+
const { entitiesConfig } = await import("./intershell-config");
|
|
53
|
+
// Mock custom config as a JSON string (as expected by PackageJson interface)
|
|
54
|
+
const customConfig = {
|
|
55
|
+
commit: {
|
|
56
|
+
conventional: {
|
|
57
|
+
type: {
|
|
58
|
+
list: [
|
|
59
|
+
{
|
|
60
|
+
type: "feat",
|
|
61
|
+
label: "Features",
|
|
62
|
+
description: "A new feature",
|
|
63
|
+
category: "features",
|
|
64
|
+
emoji: "🚀",
|
|
65
|
+
badgeColor: "00D4AA",
|
|
66
|
+
breakingAllowed: true,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
// Mock EntityPackage to return custom config
|
|
74
|
+
const { EntityPackage } = await import("../package");
|
|
75
|
+
EntityPackage.prototype.readJson = mock(() => ({
|
|
76
|
+
name: "test-package",
|
|
77
|
+
version: "1.0.0",
|
|
78
|
+
intershell: {
|
|
79
|
+
config: JSON.stringify(customConfig),
|
|
80
|
+
},
|
|
81
|
+
}));
|
|
82
|
+
const config = entitiesConfig.getConfig();
|
|
83
|
+
expect(config.commit.conventional.type?.list?.[0]?.type).toBe("feat");
|
|
84
|
+
expect(config.commit.conventional.type?.list?.[0]?.emoji).toBe("🚀");
|
|
85
|
+
});
|
|
86
|
+
test("should validate branch name regex pattern", async () => {
|
|
87
|
+
await setupMocks();
|
|
88
|
+
const { entitiesConfig } = await import("./intershell-config");
|
|
89
|
+
const config = entitiesConfig.getConfig();
|
|
90
|
+
const allowedCharacters = config.branch.name.allowedCharacters;
|
|
91
|
+
expect(allowedCharacters).toBeInstanceOf(RegExp);
|
|
92
|
+
// Test valid characters
|
|
93
|
+
expect(allowedCharacters.test("feature-branch")).toBe(true);
|
|
94
|
+
expect(allowedCharacters.test("fix_bug_123")).toBe(true);
|
|
95
|
+
expect(allowedCharacters.test("docs/update-readme")).toBe(true);
|
|
96
|
+
// Test invalid characters
|
|
97
|
+
expect(allowedCharacters.test("feature branch")).toBe(false); // space
|
|
98
|
+
expect(allowedCharacters.test("fix@bug")).toBe(false); // @ symbol
|
|
99
|
+
expect(allowedCharacters.test("docs#update")).toBe(false); // # symbol
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=intershell-config.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intershell-config.test.js","sourceRoot":"","sources":["../../../src/entities/intershell-config/intershell-config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export type PRCategory = "features" | "bugfixes" | "dependencies" | "infrastructure" | "documentation" | "refactoring" | "other";
|
|
2
|
+
type Validator = (commit: unknown) => true | string;
|
|
3
|
+
export interface CommitConfig {
|
|
4
|
+
conventional: {
|
|
5
|
+
type?: {
|
|
6
|
+
list?: CommitTypeDefinition[];
|
|
7
|
+
validator?: Validator;
|
|
8
|
+
};
|
|
9
|
+
scopes?: {
|
|
10
|
+
list?: string[];
|
|
11
|
+
validator?: Validator;
|
|
12
|
+
};
|
|
13
|
+
description?: {
|
|
14
|
+
minLength?: number;
|
|
15
|
+
maxLength?: number;
|
|
16
|
+
shouldNotEndWithPeriod?: boolean;
|
|
17
|
+
shouldNotStartWithType?: boolean;
|
|
18
|
+
validator?: Validator;
|
|
19
|
+
};
|
|
20
|
+
bodyLines?: {
|
|
21
|
+
minLength?: number;
|
|
22
|
+
maxLength?: number;
|
|
23
|
+
validator?: Validator;
|
|
24
|
+
};
|
|
25
|
+
isBreaking?: {
|
|
26
|
+
validator?: Validator;
|
|
27
|
+
};
|
|
28
|
+
isMerge?: {
|
|
29
|
+
validator?: Validator;
|
|
30
|
+
};
|
|
31
|
+
isDependency?: {
|
|
32
|
+
validator?: Validator;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
staged?: StagedConfig;
|
|
36
|
+
}
|
|
37
|
+
export interface CommitTypeDefinition {
|
|
38
|
+
readonly type: string;
|
|
39
|
+
readonly label: string;
|
|
40
|
+
readonly description: string;
|
|
41
|
+
readonly category: PRCategory;
|
|
42
|
+
readonly emoji: string;
|
|
43
|
+
readonly badgeColor: string;
|
|
44
|
+
readonly breakingAllowed: boolean;
|
|
45
|
+
}
|
|
46
|
+
export type StagedConfig = {
|
|
47
|
+
filePattern: RegExp[];
|
|
48
|
+
contentPattern?: RegExp[];
|
|
49
|
+
description: string;
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
ignore?: {
|
|
52
|
+
mode: "create" | "update";
|
|
53
|
+
};
|
|
54
|
+
}[];
|
|
55
|
+
interface BranchConfig {
|
|
56
|
+
readonly defaultBranch: string;
|
|
57
|
+
readonly prefixes: string[];
|
|
58
|
+
readonly name: {
|
|
59
|
+
readonly minLength: number;
|
|
60
|
+
readonly maxLength: number;
|
|
61
|
+
readonly allowedCharacters: RegExp;
|
|
62
|
+
readonly noConsecutiveSeparators: boolean;
|
|
63
|
+
readonly noLeadingTrailingSeparators: boolean;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
interface PackageValidationConfig {
|
|
67
|
+
readonly selectiveVersioning: {
|
|
68
|
+
readonly enabled: boolean;
|
|
69
|
+
readonly description: string;
|
|
70
|
+
};
|
|
71
|
+
readonly semanticVersioning: {
|
|
72
|
+
readonly enabled: boolean;
|
|
73
|
+
readonly description: string;
|
|
74
|
+
};
|
|
75
|
+
readonly description: {
|
|
76
|
+
readonly enabled: boolean;
|
|
77
|
+
readonly description: string;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
interface TagValidationConfig {
|
|
81
|
+
readonly name: {
|
|
82
|
+
readonly enabled: boolean;
|
|
83
|
+
readonly description: string;
|
|
84
|
+
readonly minLength: number;
|
|
85
|
+
readonly maxLength: number;
|
|
86
|
+
readonly allowedCharacters: RegExp;
|
|
87
|
+
readonly noSpaces: boolean;
|
|
88
|
+
readonly noSpecialChars: boolean;
|
|
89
|
+
readonly validator?: Validator;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export interface IConfig {
|
|
93
|
+
readonly commit: CommitConfig;
|
|
94
|
+
readonly branch: BranchConfig;
|
|
95
|
+
readonly package: PackageValidationConfig;
|
|
96
|
+
readonly tag: TagValidationConfig;
|
|
97
|
+
}
|
|
98
|
+
type DeepPartial<T> = {
|
|
99
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
100
|
+
};
|
|
101
|
+
export type CustomConfigJson = DeepPartial<IConfig>;
|
|
102
|
+
export {};
|
|
103
|
+
//# sourceMappingURL=intershell-config.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intershell-config.types.d.ts","sourceRoot":"","sources":["../../../src/entities/intershell-config/intershell-config.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intershell-config.types.js","sourceRoot":"","sources":["../../../src/entities/intershell-config/intershell-config.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entities/package/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/package/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { PackageJson, TsConfig } from "./package.types";
|
|
2
|
+
export declare class EntityPackage {
|
|
3
|
+
private readonly packageName;
|
|
4
|
+
private packageJson;
|
|
5
|
+
constructor(packageName: string);
|
|
6
|
+
getName(): string;
|
|
7
|
+
isRoot(): boolean;
|
|
8
|
+
getPath(): string;
|
|
9
|
+
getJsonPath(): string;
|
|
10
|
+
readJson(): PackageJson;
|
|
11
|
+
writeJson(data: PackageJson): Promise<void>;
|
|
12
|
+
readVersion(): string | undefined;
|
|
13
|
+
writeVersion(version: string): Promise<void>;
|
|
14
|
+
getTsconfigPath(): string;
|
|
15
|
+
readTsconfig(): TsConfig;
|
|
16
|
+
writeTsconfig(content: string): Promise<void>;
|
|
17
|
+
getChangelogPath(): string;
|
|
18
|
+
readChangelog(): string;
|
|
19
|
+
writeChangelog(content: string): Promise<void>;
|
|
20
|
+
validatePackage(): string[];
|
|
21
|
+
/**
|
|
22
|
+
* Determines if this package should be versioned based on its private field
|
|
23
|
+
* @returns true if the package should be versioned (private !== true)
|
|
24
|
+
*/
|
|
25
|
+
shouldVersion(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Gets the tag series name for this package
|
|
28
|
+
* @returns tag series prefix (e.g., 'v', 'intershell-v') or null if package shouldn't be versioned
|
|
29
|
+
*/
|
|
30
|
+
getTagSeriesName(): string | null;
|
|
31
|
+
static getRepoUrl(): string;
|
|
32
|
+
static getAllPackages(): Promise<string[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets all packages that should be versioned (private !== true)
|
|
35
|
+
* @returns Array of package names that should be versioned
|
|
36
|
+
*/
|
|
37
|
+
static getVersionedPackages(): Promise<string[]>;
|
|
38
|
+
/**
|
|
39
|
+
* Gets all packages that should NOT be versioned (private === true)
|
|
40
|
+
* @returns Array of package names that should NOT be versioned
|
|
41
|
+
*/
|
|
42
|
+
static getUnversionedPackages(): Promise<string[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Validates all packages in the workspace
|
|
45
|
+
* @returns Object containing validation results for all packages
|
|
46
|
+
*/
|
|
47
|
+
static validateAllPackages(): Promise<string[]>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/entities/package/package.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE7D,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,WAAW,CAA0B;gBACjC,WAAW,EAAE,MAAM;IAK/B,OAAO,IAAI,MAAM;IAGjB,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,MAAM;IAOjB,WAAW,IAAI,MAAM;IAGrB,QAAQ,IAAI,WAAW;IAajB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,WAAW,IAAI,MAAM,GAAG,SAAS;IAG3B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,eAAe,IAAI,MAAM;IAGzB,YAAY,IAAI,QAAQ;IAKlB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,gBAAgB,IAAI,MAAM;IAG1B,aAAa,IAAI,MAAM;IAIjB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD,eAAe,IAAI,MAAM,EAAE;IA2C3B;;;OAGG;IACH,aAAa,IAAI,OAAO;IAMxB;;;OAGG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAQjC,MAAM,CAAC,UAAU,IAAI,MAAM;WAMd,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAyDhD;;;OAGG;WACU,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IActD;;;OAGG;WACU,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAcxD;;;OAGG;WACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAarD"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { entitiesShell } from "../entities.shell";
|
|
2
|
+
import { entitiesConfig } from "../intershell-config/intershell-config";
|
|
3
|
+
import { packagesShell } from "./package.shell";
|
|
4
|
+
export class EntityPackage {
|
|
5
|
+
packageName;
|
|
6
|
+
packageJson;
|
|
7
|
+
constructor(packageName) {
|
|
8
|
+
this.packageName = packageName;
|
|
9
|
+
this.packageJson = this.readJson();
|
|
10
|
+
}
|
|
11
|
+
getName() {
|
|
12
|
+
return this.packageName;
|
|
13
|
+
}
|
|
14
|
+
isRoot() {
|
|
15
|
+
return this.getName() === "root";
|
|
16
|
+
}
|
|
17
|
+
getPath() {
|
|
18
|
+
if (this.packageName === "root")
|
|
19
|
+
return ".";
|
|
20
|
+
if (this.packageName.startsWith("@repo/"))
|
|
21
|
+
return `packages/${this.packageName.replace("@repo/", "")}`;
|
|
22
|
+
return `apps/${this.packageName}`;
|
|
23
|
+
}
|
|
24
|
+
getJsonPath() {
|
|
25
|
+
return `${this.getPath()}/package.json`;
|
|
26
|
+
}
|
|
27
|
+
readJson() {
|
|
28
|
+
if (this.packageJson) {
|
|
29
|
+
return this.packageJson;
|
|
30
|
+
}
|
|
31
|
+
const jsonPath = this.getJsonPath();
|
|
32
|
+
try {
|
|
33
|
+
const packageJson = packagesShell.readJsonFile(jsonPath);
|
|
34
|
+
return packageJson;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw new Error(`Package not found ${this.packageName} at ${this.getJsonPath()}: ${error}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async writeJson(data) {
|
|
41
|
+
await packagesShell.writeJsonFile(this.getJsonPath(), data);
|
|
42
|
+
this.packageJson = data;
|
|
43
|
+
await entitiesShell.runBiomeCheck(this.getJsonPath());
|
|
44
|
+
}
|
|
45
|
+
readVersion() {
|
|
46
|
+
return this.readJson().version;
|
|
47
|
+
}
|
|
48
|
+
async writeVersion(version) {
|
|
49
|
+
const packageJson = this.readJson();
|
|
50
|
+
packageJson.version = version;
|
|
51
|
+
this.packageJson = packageJson;
|
|
52
|
+
await this.writeJson(packageJson);
|
|
53
|
+
}
|
|
54
|
+
getTsconfigPath() {
|
|
55
|
+
return `${this.getPath()}/tsconfig.json`;
|
|
56
|
+
}
|
|
57
|
+
readTsconfig() {
|
|
58
|
+
const tsconfigPath = this.getTsconfigPath();
|
|
59
|
+
const content = packagesShell.readFileAsTextSync(tsconfigPath);
|
|
60
|
+
return JSON.parse(content);
|
|
61
|
+
}
|
|
62
|
+
async writeTsconfig(content) {
|
|
63
|
+
const tsconfigPath = this.getTsconfigPath();
|
|
64
|
+
await packagesShell.writeFileAsText(tsconfigPath, content);
|
|
65
|
+
await entitiesShell.runBiomeCheck(tsconfigPath);
|
|
66
|
+
}
|
|
67
|
+
getChangelogPath() {
|
|
68
|
+
return `${this.getPath()}/CHANGELOG.md`;
|
|
69
|
+
}
|
|
70
|
+
readChangelog() {
|
|
71
|
+
const changelogPath = this.getChangelogPath();
|
|
72
|
+
return packagesShell.readChangelogFile(changelogPath);
|
|
73
|
+
}
|
|
74
|
+
async writeChangelog(content) {
|
|
75
|
+
await packagesShell.writeChangelogFile(this.getChangelogPath(), content);
|
|
76
|
+
await entitiesShell.runBiomeCheck(this.getChangelogPath());
|
|
77
|
+
}
|
|
78
|
+
validatePackage() {
|
|
79
|
+
const packageJson = this.readJson();
|
|
80
|
+
const config = entitiesConfig.getConfig();
|
|
81
|
+
const errors = [];
|
|
82
|
+
// Only validate if package validation is enabled
|
|
83
|
+
if (!config.package) {
|
|
84
|
+
return errors;
|
|
85
|
+
}
|
|
86
|
+
const rules = config.package;
|
|
87
|
+
// Selective versioning rules
|
|
88
|
+
if (rules.selectiveVersioning.enabled) {
|
|
89
|
+
if (packageJson.private === true && packageJson.version) {
|
|
90
|
+
errors.push(`${this.packageName}: Private packages should not have version field`);
|
|
91
|
+
}
|
|
92
|
+
if (packageJson.private !== true && !packageJson.version) {
|
|
93
|
+
errors.push(`${this.packageName}: Versioned packages must have a version field`);
|
|
94
|
+
}
|
|
95
|
+
if (!packageJson.version && packageJson.private !== true) {
|
|
96
|
+
errors.push(`${this.packageName}: Unversioned packages must have private: true`);
|
|
97
|
+
}
|
|
98
|
+
if (packageJson.version && packageJson.private === true) {
|
|
99
|
+
errors.push(`${this.packageName}: Versioned packages should not have private: true`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Semantic versioning rules
|
|
103
|
+
if (rules.semanticVersioning.enabled && packageJson.version) {
|
|
104
|
+
if (!/^\d+\.\d+\.\d+$/.test(packageJson.version)) {
|
|
105
|
+
errors.push(`${this.packageName}: Version should follow semantic versioning (e.g., 1.0.0)`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Description rules
|
|
109
|
+
if (rules.description.enabled && packageJson.version && !packageJson.description) {
|
|
110
|
+
errors.push(`${this.packageName}: Consider adding a description to package.json`);
|
|
111
|
+
}
|
|
112
|
+
return errors;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Determines if this package should be versioned based on its private field
|
|
116
|
+
* @returns true if the package should be versioned (private !== true)
|
|
117
|
+
*/
|
|
118
|
+
shouldVersion() {
|
|
119
|
+
const packageJson = this.readJson();
|
|
120
|
+
// Package should be versioned if private is false or undefined
|
|
121
|
+
return packageJson.private !== true;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Gets the tag series name for this package
|
|
125
|
+
* @returns tag series prefix (e.g., 'v', 'intershell-v') or null if package shouldn't be versioned
|
|
126
|
+
*/
|
|
127
|
+
getTagSeriesName() {
|
|
128
|
+
if (!this.shouldVersion())
|
|
129
|
+
return null;
|
|
130
|
+
// Generate tag series name based on package name
|
|
131
|
+
if (this.packageName === "root")
|
|
132
|
+
return "v";
|
|
133
|
+
return `${this.packageName.replace("@repo/", "")}-v`;
|
|
134
|
+
}
|
|
135
|
+
static getRepoUrl() {
|
|
136
|
+
const rootPackageJson = new EntityPackage("root").readJson();
|
|
137
|
+
return typeof rootPackageJson.repository === "string"
|
|
138
|
+
? rootPackageJson.repository
|
|
139
|
+
: rootPackageJson.repository?.url || "";
|
|
140
|
+
}
|
|
141
|
+
static async getAllPackages() {
|
|
142
|
+
const packages = ["root"];
|
|
143
|
+
// Get workspace root
|
|
144
|
+
const workspaceRoot = await packagesShell.getWorkspaceRoot();
|
|
145
|
+
// Read apps directory
|
|
146
|
+
let apps = [];
|
|
147
|
+
try {
|
|
148
|
+
const appsPath = `${workspaceRoot}/apps`;
|
|
149
|
+
apps = await packagesShell.readDirectory(appsPath);
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
// apps directory doesn't exist or can't be read
|
|
153
|
+
}
|
|
154
|
+
// Read packages directory
|
|
155
|
+
let pkgs = [];
|
|
156
|
+
try {
|
|
157
|
+
const packagesPath = `${workspaceRoot}/packages`;
|
|
158
|
+
const packageNames = await packagesShell.readDirectory(packagesPath);
|
|
159
|
+
pkgs = packageNames.map((name) => `@repo/${name}`);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// packages directory doesn't exist or can't be read
|
|
163
|
+
}
|
|
164
|
+
// Filter packages that have valid package.json files
|
|
165
|
+
const filteredPackages = await Promise.all([...apps, ...pkgs].map(async (pkg) => {
|
|
166
|
+
const packageInstance = new EntityPackage(pkg);
|
|
167
|
+
const packageJsonPath = packageInstance.getJsonPath();
|
|
168
|
+
try {
|
|
169
|
+
const exists = await packagesShell.canAccessFile(packageJsonPath);
|
|
170
|
+
if (!exists)
|
|
171
|
+
return null;
|
|
172
|
+
const packageJsonContent = await packagesShell.readFileAsText(packageJsonPath);
|
|
173
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
174
|
+
const name = packageJson.name;
|
|
175
|
+
if (!name)
|
|
176
|
+
return null;
|
|
177
|
+
if (name !== pkg) {
|
|
178
|
+
throw new Error(`Package ${pkg} has a different name in package.json: ${name}`);
|
|
179
|
+
}
|
|
180
|
+
return name;
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
}));
|
|
186
|
+
packages.push(...filteredPackages.filter((pkg) => pkg !== null));
|
|
187
|
+
return packages;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Gets all packages that should be versioned (private !== true)
|
|
191
|
+
* @returns Array of package names that should be versioned
|
|
192
|
+
*/
|
|
193
|
+
static async getVersionedPackages() {
|
|
194
|
+
const allPackages = await EntityPackage.getAllPackages();
|
|
195
|
+
const versionedPackages = [];
|
|
196
|
+
for (const packageName of allPackages) {
|
|
197
|
+
const packageInstance = new EntityPackage(packageName);
|
|
198
|
+
if (packageInstance.shouldVersion()) {
|
|
199
|
+
versionedPackages.push(packageName);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return versionedPackages;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Gets all packages that should NOT be versioned (private === true)
|
|
206
|
+
* @returns Array of package names that should NOT be versioned
|
|
207
|
+
*/
|
|
208
|
+
static async getUnversionedPackages() {
|
|
209
|
+
const allPackages = await EntityPackage.getAllPackages();
|
|
210
|
+
const unversionedPackages = [];
|
|
211
|
+
for (const packageName of allPackages) {
|
|
212
|
+
const packageInstance = new EntityPackage(packageName);
|
|
213
|
+
if (!packageInstance.shouldVersion()) {
|
|
214
|
+
unversionedPackages.push(packageName);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return unversionedPackages;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Validates all packages in the workspace
|
|
221
|
+
* @returns Object containing validation results for all packages
|
|
222
|
+
*/
|
|
223
|
+
static async validateAllPackages() {
|
|
224
|
+
const allPackages = await EntityPackage.getAllPackages();
|
|
225
|
+
const errors = [];
|
|
226
|
+
for (const packageName of allPackages) {
|
|
227
|
+
const packageInstance = new EntityPackage(packageName);
|
|
228
|
+
const packageErrors = packageInstance.validatePackage();
|
|
229
|
+
errors.push(...packageErrors);
|
|
230
|
+
}
|
|
231
|
+
return errors;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/entities/package/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,OAAO,aAAa;IACR,WAAW,CAAS;IAC7B,WAAW,CAA0B;IAC7C,YAAY,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IACD,MAAM;QACL,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC;IAClC,CAAC;IAED,OAAO;QACN,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;QAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;YACxC,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,WAAW;QACV,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;IACzC,CAAC;IACD,QAAQ;QACP,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzD,OAAO,WAAW,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;QAC7F,CAAC;IACF,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,IAAiB;QAChC,MAAM,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,OAAe;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,eAAe;QACd,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAC1C,CAAC;IACD,YAAY;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,OAAe;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,aAAa,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB;QACf,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;IACzC,CAAC;IACD,aAAa;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,OAAO,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,OAAe;QACnC,MAAM,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,iDAAiD;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QAE7B,6BAA6B;QAC7B,IAAI,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,kDAAkD,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,gDAAgD,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,gDAAgD,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,oDAAoD,CAAC,CAAC;YACtF,CAAC;QACF,CAAC;QAED,4BAA4B;QAC5B,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YAC7D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,2DAA2D,CAAC,CAAC;YAC7F,CAAC;QACF,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAClF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,iDAAiD,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,aAAa;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,+DAA+D;QAC/D,OAAO,WAAW,CAAC,OAAO,KAAK,IAAI,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACf,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAEvC,iDAAiD;QACjD,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;QAC5C,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,UAAU;QAChB,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,OAAO,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YACpD,CAAC,CAAC,eAAe,CAAC,UAAU;YAC5B,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,cAAc;QAC1B,MAAM,QAAQ,GAAa,CAAC,MAAM,CAAC,CAAC;QAEpC,qBAAqB;QACrB,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAE7D,sBAAsB;QACtB,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,GAAG,aAAa,OAAO,CAAC;YACzC,IAAI,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACR,gDAAgD;QACjD,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,MAAM,YAAY,GAAG,GAAG,aAAa,WAAW,CAAC;YACjD,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACrE,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACR,oDAAoD;QACrD,CAAC;QAED,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAEtD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAClE,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBAEzB,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBAE9B,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAEvB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,0CAA0C,IAAI,EAAE,CAAC,CAAC;gBACjF,CAAC;gBAED,OAAO,IAAI,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC,CAAC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC;QAEhF,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB;QAChC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,eAAe,CAAC,aAAa,EAAE,EAAE,CAAC;gBACrC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,sBAAsB;QAClC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,mBAAmB,GAAa,EAAE,CAAC;QAEzC,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,CAAC;gBACtC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB;QAC/B,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;YAExD,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { PackageJson } from "./package.types";
|
|
2
|
+
export declare const packagesShell: {
|
|
3
|
+
/**
|
|
4
|
+
* Reads a JSON file synchronously
|
|
5
|
+
*/
|
|
6
|
+
readJsonFile: (filePath: string) => PackageJson;
|
|
7
|
+
/**
|
|
8
|
+
* Writes JSON data to a file
|
|
9
|
+
*/
|
|
10
|
+
writeJsonFile: (filePath: string, data: PackageJson) => Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Reads a changelog file
|
|
13
|
+
*/
|
|
14
|
+
readChangelogFile: (filePath: string) => string;
|
|
15
|
+
/**
|
|
16
|
+
* Writes content to a changelog file
|
|
17
|
+
*/
|
|
18
|
+
writeChangelogFile: (filePath: string, content: string) => Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Checks if a file exists
|
|
21
|
+
*/
|
|
22
|
+
fileExists: (filePath: string) => Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Reads directory contents
|
|
25
|
+
*/
|
|
26
|
+
readDirectory: (dirPath: string) => Promise<string[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Checks if a file can be accessed
|
|
29
|
+
*/
|
|
30
|
+
canAccessFile: (filePath: string) => Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* Reads a file as text
|
|
33
|
+
*/
|
|
34
|
+
readFileAsText: (filePath: string) => Promise<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Reads a file as text synchronously
|
|
37
|
+
*/
|
|
38
|
+
readFileAsTextSync: (filePath: string) => string;
|
|
39
|
+
/**
|
|
40
|
+
* Writes content to a file as text
|
|
41
|
+
*/
|
|
42
|
+
writeFileAsText: (filePath: string, content: string) => Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Gets the workspace root directory
|
|
45
|
+
*/
|
|
46
|
+
getWorkspaceRoot: () => Promise<string>;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=package.shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.shell.d.ts","sourceRoot":"","sources":["../../../src/entities/package/package.shell.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,aAAa;IACzB;;OAEG;6BACsB,MAAM,KAAG,WAAW;IAS7C;;OAEG;8BAC6B,MAAM,QAAQ,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;OAEG;kCAC2B,MAAM,KAAG,MAAM;IAS7C;;OAEG;mCACkC,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAS5E;;OAEG;2BAC0B,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAStD;;OAEG;6BAC4B,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMzD;;OAEG;8BAC6B,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAUzD;;OAEG;+BAC8B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;IAKzD;;OAEG;mCAC4B,MAAM,KAAG,MAAM;IAI9C;;OAEG;gCAC+B,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;OAEG;4BACyB,OAAO,CAAC,MAAM,CAAC;CAe3C,CAAC"}
|