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,11 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class LocalSetup extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"skip-vscode": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
"skip-tests": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/commands/local/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC9C,MAAM,CAAC,WAAW,SACyG;IAE3H,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwC1B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Command, Flags } from "@oclif/core";
|
|
2
|
+
import { $ } from "bun";
|
|
3
|
+
import { colorify } from "../../core";
|
|
4
|
+
export default class LocalSetup extends Command {
|
|
5
|
+
static description = "Complete local development environment setup with dependency installation, local builds, and VS Code configuration sync";
|
|
6
|
+
static examples = [
|
|
7
|
+
"intershell local:setup",
|
|
8
|
+
"intershell local:setup --skip-vscode",
|
|
9
|
+
"intershell local:setup --skip-tests",
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
"skip-vscode": Flags.boolean({
|
|
13
|
+
char: "v",
|
|
14
|
+
description: "Skip VS Code configuration sync",
|
|
15
|
+
default: false,
|
|
16
|
+
}),
|
|
17
|
+
"skip-tests": Flags.boolean({
|
|
18
|
+
char: "t",
|
|
19
|
+
description: "Skip running tests",
|
|
20
|
+
default: false,
|
|
21
|
+
}),
|
|
22
|
+
};
|
|
23
|
+
async run() {
|
|
24
|
+
const { flags } = await this.parse(LocalSetup);
|
|
25
|
+
this.log(colorify.blue("š Starting local development setup..."));
|
|
26
|
+
// Step 1: Install dependencies
|
|
27
|
+
this.log(colorify.blue("š¦ Installing dependencies..."));
|
|
28
|
+
await $ `bun install`;
|
|
29
|
+
// Step 2: Run code quality checks
|
|
30
|
+
this.log(colorify.blue("š Running code quality checks..."));
|
|
31
|
+
await $ `bun run check:fix`;
|
|
32
|
+
// Step 3: Type checking
|
|
33
|
+
this.log(colorify.blue("š Running type checks..."));
|
|
34
|
+
await $ `bun run check:types`;
|
|
35
|
+
// Step 4: Run tests (unless skipped)
|
|
36
|
+
if (!flags["skip-tests"]) {
|
|
37
|
+
this.log(colorify.blue("š§Ŗ Running tests..."));
|
|
38
|
+
await $ `bun run test`;
|
|
39
|
+
}
|
|
40
|
+
// Step 5: Build all packages
|
|
41
|
+
this.log(colorify.blue("šļø Building all packages..."));
|
|
42
|
+
await $ `bun run build`;
|
|
43
|
+
// Step 6: Sync VS Code configuration (unless skipped)
|
|
44
|
+
if (!flags["skip-vscode"]) {
|
|
45
|
+
this.log(colorify.blue("šÆ Syncing VS Code configuration..."));
|
|
46
|
+
await $ `bun run local:vscode`;
|
|
47
|
+
}
|
|
48
|
+
this.log(colorify.green("ā
Local setup completed successfully!"));
|
|
49
|
+
this.log(colorify.cyan("\nš” Useful commands:"));
|
|
50
|
+
this.log(colorify.cyan(" - bun run check:quick # Quick verification"));
|
|
51
|
+
this.log(colorify.cyan(" - intershell dev:setup # Setup DevContainer environment"));
|
|
52
|
+
this.log(colorify.cyan(" - intershell local:cleanup # Clean everything"));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/local/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC9C,MAAM,CAAC,WAAW,GACjB,yHAAyH,CAAC;IAE3H,MAAM,CAAC,QAAQ,GAAG;QACjB,wBAAwB;QACxB,sCAAsC;QACtC,qCAAqC;KACrC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACd,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,KAAK;SACd,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;YAC3B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,KAAK;SACd,CAAC;KACF,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAElE,+BAA+B;QAC/B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,CAAA,aAAa,CAAC;QAErB,kCAAkC;QAClC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,CAAA,mBAAmB,CAAC;QAE3B,wBAAwB;QACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,CAAA,qBAAqB,CAAC;QAE7B,qCAAqC;QACrC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,CAAA,cAAc,CAAC;QACvB,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,CAAA,eAAe,CAAC;QAEvB,sDAAsD;QACtD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC/D,MAAM,CAAC,CAAA,sBAAsB,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC3E,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class LocalVscode extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"dry-run": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
"extensions-only": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
"settings-only": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Log a message only if not in quiet mode
|
|
13
|
+
*/
|
|
14
|
+
private logQuiet;
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=vscode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../../src/commands/local/vscode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC/C,MAAM,CAAC,WAAW,SAC0E;IAE5F,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,KAAK;;;;;MAiBV;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ;IAMV,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6D1B"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { exists, mkdir } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { Command, Flags } from "@oclif/core";
|
|
4
|
+
import { $ } from "bun";
|
|
5
|
+
import { EntityPackage } from "../../entities";
|
|
6
|
+
export default class LocalVscode extends Command {
|
|
7
|
+
static description = "Synchronize VS Code extensions and settings from devcontainer.json to .vscode/ directory";
|
|
8
|
+
static examples = [
|
|
9
|
+
"intershell local:vscode",
|
|
10
|
+
"intershell local:vscode --dry-run",
|
|
11
|
+
"intershell local:vscode --extensions-only",
|
|
12
|
+
"intershell local:vscode --settings-only",
|
|
13
|
+
"intershell local:vscode --quiet",
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
"dry-run": Flags.boolean({
|
|
17
|
+
description: "Show what would be synced without making changes",
|
|
18
|
+
default: false,
|
|
19
|
+
}),
|
|
20
|
+
"extensions-only": Flags.boolean({
|
|
21
|
+
description: "Only sync extensions",
|
|
22
|
+
default: false,
|
|
23
|
+
}),
|
|
24
|
+
"settings-only": Flags.boolean({
|
|
25
|
+
description: "Only sync settings",
|
|
26
|
+
default: false,
|
|
27
|
+
}),
|
|
28
|
+
quiet: Flags.boolean({
|
|
29
|
+
description: "Suppress all output except errors",
|
|
30
|
+
default: false,
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Log a message only if not in quiet mode
|
|
35
|
+
*/
|
|
36
|
+
logQuiet(message, quiet) {
|
|
37
|
+
if (!quiet) {
|
|
38
|
+
this.log(message);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async run() {
|
|
42
|
+
const { flags } = await this.parse(LocalVscode);
|
|
43
|
+
this.logQuiet("š Syncing VS Code configuration from devcontainer.json...", flags.quiet);
|
|
44
|
+
const scopes = await EntityPackage.getAllPackages();
|
|
45
|
+
this.logQuiet(`š Generated scopes: ${scopes.join(", ")}`, flags.quiet);
|
|
46
|
+
const { customizations: { vscode: { extensions: recommendations = [], settings = {} } = {} } = {}, } = JSON.parse(stripComments(await Bun.file(join(process.cwd(), ".devcontainer", "devcontainer.json")).text()));
|
|
47
|
+
// Update settings with generated scopes
|
|
48
|
+
const updatedSettings = {
|
|
49
|
+
...settings,
|
|
50
|
+
"conventionalCommits.scopes": scopes,
|
|
51
|
+
};
|
|
52
|
+
const settingsConfigString = JSON.stringify(updatedSettings, null, 2);
|
|
53
|
+
const extensionsConfigString = JSON.stringify({ recommendations }, null, 2);
|
|
54
|
+
if (flags["dry-run"]) {
|
|
55
|
+
this.logQuiet("š Dry run mode - showing what would be synced:", flags.quiet);
|
|
56
|
+
this.logQuiet(`š¦ Extensions:\n${extensionsConfigString}`, flags.quiet);
|
|
57
|
+
this.logQuiet(`āļø Settings:\n${settingsConfigString}`, flags.quiet);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Update devcontainer.json with new scopes
|
|
61
|
+
const devcontainerPath = join(process.cwd(), ".devcontainer", "devcontainer.json");
|
|
62
|
+
const devcontainerContent = JSON.parse(stripComments(await Bun.file(devcontainerPath).text()));
|
|
63
|
+
// Update the scopes in devcontainer.json
|
|
64
|
+
devcontainerContent.customizations.vscode.settings["conventionalCommits.scopes"] = scopes;
|
|
65
|
+
// Write back the updated devcontainer.json
|
|
66
|
+
await Bun.write(devcontainerPath, JSON.stringify(devcontainerContent, null, 2));
|
|
67
|
+
await $ `bun run biome check --write ${devcontainerPath}`;
|
|
68
|
+
this.logQuiet(`ā
Updated ${devcontainerPath} with new scopes!`, flags.quiet);
|
|
69
|
+
const vscodeDir = join(process.cwd(), ".vscode");
|
|
70
|
+
if (!(await exists(vscodeDir)))
|
|
71
|
+
await mkdir(vscodeDir, { recursive: true });
|
|
72
|
+
const extensionsPath = join(vscodeDir, "extensions.json");
|
|
73
|
+
const settingsPath = join(vscodeDir, "settings.json");
|
|
74
|
+
if (!flags["settings-only"]) {
|
|
75
|
+
await Bun.write(extensionsPath, extensionsConfigString);
|
|
76
|
+
this.logQuiet(`ā
Updated ${extensionsPath}!`, flags.quiet);
|
|
77
|
+
}
|
|
78
|
+
if (!flags["extensions-only"]) {
|
|
79
|
+
await Bun.write(settingsPath, settingsConfigString);
|
|
80
|
+
this.logQuiet(`ā
Updated ${settingsPath}!`, flags.quiet);
|
|
81
|
+
}
|
|
82
|
+
this.logQuiet("ā
VS Code configuration synced successfully!", flags.quiet);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Strip comments from JSON content
|
|
87
|
+
*/
|
|
88
|
+
function stripComments(content) {
|
|
89
|
+
return content
|
|
90
|
+
.replace(/\/\/[^\r\n]*/g, "")
|
|
91
|
+
.replace(/\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g, "")
|
|
92
|
+
.replace(/^\s*[\r\n]/gm, "");
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=vscode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../src/commands/local/vscode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class UpdatePackageJson extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
src: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
"dry-run": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
private getNewExports;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=update-package-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-package-json.d.ts","sourceRoot":"","sources":["../../src/commands/update-package-json.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,OAAO;IACrD,MAAM,CAAC,WAAW,SAC8D;IAEhF,MAAM,CAAC,QAAQ,WAAsC;IAErD,MAAM,CAAC,KAAK;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAiCZ,aAAa;CA6C3B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { readdir } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { Command, Flags } from "@oclif/core";
|
|
4
|
+
import { $ } from "bun";
|
|
5
|
+
import { colorify } from "../core";
|
|
6
|
+
export default class UpdatePackageJson extends Command {
|
|
7
|
+
static description = "Update the package.json exports attributes based on the files in the package";
|
|
8
|
+
static examples = ["intershell update-package-json"];
|
|
9
|
+
static flags = {
|
|
10
|
+
src: Flags.boolean({
|
|
11
|
+
char: "s",
|
|
12
|
+
description: "Are you using src directory? (default: true)",
|
|
13
|
+
default: true,
|
|
14
|
+
}),
|
|
15
|
+
"dry-run": Flags.boolean({
|
|
16
|
+
char: "d",
|
|
17
|
+
description: "Show what would be updated without making changes",
|
|
18
|
+
default: false,
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
const { flags } = await this.parse(UpdatePackageJson);
|
|
23
|
+
this.log(colorify.blue("š§¹ Starting package.json update..."));
|
|
24
|
+
const packageJsonPath = path.join(process.cwd(), "package.json");
|
|
25
|
+
const packageDir = path.dirname(packageJsonPath);
|
|
26
|
+
const srcDir = flags.src ? path.join(packageDir, "src") : packageDir;
|
|
27
|
+
const files = await readdir(srcDir, {
|
|
28
|
+
withFileTypes: true,
|
|
29
|
+
recursive: false,
|
|
30
|
+
});
|
|
31
|
+
this.log(colorify.blue(`š Found ${files.length} exportable modules:`), colorify.cyan(files.map((f) => f.name).join(" ")));
|
|
32
|
+
const newExports = await this.getNewExports(files, srcDir, packageDir);
|
|
33
|
+
if (flags["dry-run"]) {
|
|
34
|
+
this.log(colorify.yellow("š Dry run mode, skipping write:"));
|
|
35
|
+
this.log(JSON.stringify(newExports, null, 2));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const packageJson = JSON.parse(await Bun.file(packageJsonPath).text());
|
|
39
|
+
packageJson.exports = newExports;
|
|
40
|
+
await Bun.write(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
41
|
+
await $ `bun biome check --write --no-errors-on-unmatched ${packageJsonPath}`;
|
|
42
|
+
this.log(colorify.green("ā
Package.json updated successfully"));
|
|
43
|
+
}
|
|
44
|
+
async getNewExports(files, srcDir, packageDir) {
|
|
45
|
+
const newExports = {};
|
|
46
|
+
for (const file of files) {
|
|
47
|
+
if (file.isDirectory()) {
|
|
48
|
+
const indexFile = path.join(srcDir, file.name, "index.ts");
|
|
49
|
+
const indexTsxFile = path.join(srcDir, file.name, "index.tsx");
|
|
50
|
+
const sameNameFile = path.join(srcDir, file.name, `${file.name}.ts`);
|
|
51
|
+
const sameNameTsxFile = path.join(srcDir, file.name, `${file.name}.tsx`);
|
|
52
|
+
if (await Bun.file(indexFile).exists()) {
|
|
53
|
+
newExports[`./${file.name}`] = `./${path.relative(packageDir, indexFile)}`;
|
|
54
|
+
}
|
|
55
|
+
else if (await Bun.file(indexTsxFile).exists()) {
|
|
56
|
+
newExports[`./${file.name}`] = `./${path.relative(packageDir, indexTsxFile)}`;
|
|
57
|
+
}
|
|
58
|
+
else if (await Bun.file(sameNameFile).exists()) {
|
|
59
|
+
newExports[`./${file.name}`] = `./${path.relative(packageDir, sameNameFile)}`;
|
|
60
|
+
}
|
|
61
|
+
else if (await Bun.file(sameNameTsxFile).exists()) {
|
|
62
|
+
newExports[`./${file.name}`] = `./${path.relative(packageDir, sameNameTsxFile)}`;
|
|
63
|
+
}
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const shouldSkip = !file.name.endsWith(".ts") && !file.name.endsWith(".tsx");
|
|
67
|
+
if (shouldSkip)
|
|
68
|
+
continue;
|
|
69
|
+
if (file.name === "index.ts") {
|
|
70
|
+
newExports["."] = "./index.ts";
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const mainFile = path.join(srcDir, file.name);
|
|
74
|
+
const relativePath = `./${path.relative(packageDir, mainFile)}`;
|
|
75
|
+
if (await Bun.file(mainFile).exists()) {
|
|
76
|
+
newExports[`./${file.name}`] = relativePath;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return newExports;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=update-package-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-package-json.js","sourceRoot":"","sources":["../../src/commands/update-package-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class VersionApply extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
package: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
message: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
"no-push": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
"dry-run": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
private commitVersionChanges;
|
|
13
|
+
private createTagsForPackage;
|
|
14
|
+
private pushChanges;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/commands/version/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAChD,MAAM,CAAC,WAAW,SAAwD;IAE1E,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;MAmBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA4CZ,oBAAoB;YAapB,oBAAoB;YA0CpB,WAAW;CAqBzB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Command, Flags } from "@oclif/core";
|
|
2
|
+
import { $ } from "bun";
|
|
3
|
+
import { colorify } from "../../core";
|
|
4
|
+
import { EntityPackage, EntityPackageTags } from "../../entities";
|
|
5
|
+
export default class VersionApply extends Command {
|
|
6
|
+
static description = "Create git version tags and commit version changes";
|
|
7
|
+
static examples = [
|
|
8
|
+
"intershell version:apply",
|
|
9
|
+
"intershell version:apply --message 'Release version 1.2.3'",
|
|
10
|
+
"intershell version:apply --no-push",
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
package: Flags.string({
|
|
14
|
+
char: "p",
|
|
15
|
+
description: "Package name to process (default: all packages)",
|
|
16
|
+
}),
|
|
17
|
+
message: Flags.string({
|
|
18
|
+
char: "m",
|
|
19
|
+
description: "Tag message",
|
|
20
|
+
}),
|
|
21
|
+
"no-push": Flags.boolean({
|
|
22
|
+
char: "n",
|
|
23
|
+
description: "Don't push tag to remote after creation",
|
|
24
|
+
default: false,
|
|
25
|
+
}),
|
|
26
|
+
"dry-run": Flags.boolean({
|
|
27
|
+
char: "d",
|
|
28
|
+
description: "Show planned changes without applying them",
|
|
29
|
+
default: false,
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
async run() {
|
|
33
|
+
const { flags } = await this.parse(VersionApply);
|
|
34
|
+
const packageName = flags.package || "root";
|
|
35
|
+
this.log(`š¦ Processing package: ${colorify.blue(packageName)}`);
|
|
36
|
+
const packageInstance = new EntityPackage(packageName);
|
|
37
|
+
const version = packageInstance.readVersion();
|
|
38
|
+
const tagSeriesName = packageInstance.getTagSeriesName();
|
|
39
|
+
const tagName = `${tagSeriesName}${version}`;
|
|
40
|
+
if (!tagSeriesName) {
|
|
41
|
+
throw new Error(`Tag series name not found for ${packageName}, this package should not be versioned (private package). Only versioned packages can be processed.`);
|
|
42
|
+
}
|
|
43
|
+
if (flags["dry-run"]) {
|
|
44
|
+
this.log(colorify.yellow("š Dry run mode - would execute:"));
|
|
45
|
+
this.log(colorify.gray(` ⢠Commit version changes for package ${packageName}`));
|
|
46
|
+
this.log(colorify.gray(` ⢠Create tag ${tagName} for ${packageName}`));
|
|
47
|
+
if (!flags["no-push"]) {
|
|
48
|
+
this.log(colorify.gray(" ⢠Push commit changes to remote"));
|
|
49
|
+
this.log(colorify.gray(" ⢠Push tags to remote"));
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.log("š Adding all changes...");
|
|
54
|
+
await $ `git add .`;
|
|
55
|
+
const statusResult = await $ `git status --porcelain`.nothrow();
|
|
56
|
+
const hasChanges = statusResult.text().trim() !== "";
|
|
57
|
+
if (!hasChanges) {
|
|
58
|
+
this.log(colorify.yellow("ā ļø No changes to commit"));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
await this.commitVersionChanges();
|
|
62
|
+
await this.createTagsForPackage(packageName, flags);
|
|
63
|
+
await this.pushChanges(flags);
|
|
64
|
+
this.log(colorify.green("ā
Version apply operation completed successfully!"));
|
|
65
|
+
}
|
|
66
|
+
async commitVersionChanges() {
|
|
67
|
+
const commitMessage = await Bun.file(".git/COMMIT_EDITMSG").text();
|
|
68
|
+
this.log("š Commit message:");
|
|
69
|
+
this.log(commitMessage);
|
|
70
|
+
await $ `git commit -m "${commitMessage}"`;
|
|
71
|
+
this.log(colorify.green("ā
Successfully committed version changes"));
|
|
72
|
+
const commitHash = await $ `git rev-parse --short HEAD`.text();
|
|
73
|
+
this.log(`š·ļø Commit hash: ${commitHash.trim()}`);
|
|
74
|
+
}
|
|
75
|
+
async createTagsForPackage(packageName, flags) {
|
|
76
|
+
const packageInstance = new EntityPackage(packageName);
|
|
77
|
+
const version = packageInstance.readVersion();
|
|
78
|
+
if (!version) {
|
|
79
|
+
throw new Error(`Version not found for ${packageName}`);
|
|
80
|
+
}
|
|
81
|
+
const packageTags = new EntityPackageTags(packageInstance);
|
|
82
|
+
// Check if tag already exists
|
|
83
|
+
const tagExists = await packageTags.packageTagExists(version);
|
|
84
|
+
if (tagExists) {
|
|
85
|
+
const prefix = await packageTags.getTagPrefix();
|
|
86
|
+
const tagName = `${prefix}${version}`;
|
|
87
|
+
this.log(`āļø Tag already exists: ${tagName}`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.log(`š·ļø Creating tag for ${packageName}: ${version}`);
|
|
91
|
+
try {
|
|
92
|
+
await packageTags.createPackageTag(version, flags.message || `Release ${packageName} version ${version}`);
|
|
93
|
+
const prefix = await packageTags.getTagPrefix();
|
|
94
|
+
const tagName = `${prefix}${version}`;
|
|
95
|
+
this.log(`ā
Created tag: ${tagName}`);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
throw new Error(`Failed to create tag for ${packageName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async pushChanges(flags) {
|
|
102
|
+
if (flags["no-push"]) {
|
|
103
|
+
this.log(colorify.yellow("ā ļø Skipping push (--no-push specified)"));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (flags["dry-run"]) {
|
|
107
|
+
this.log(colorify.yellow("ā ļø Skipping push (--dry-run specified)"));
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
this.log("š¤ Pushing commit changes to remote...");
|
|
112
|
+
await $ `git push --follow-tags`;
|
|
113
|
+
this.log("ā
Pushed commit changes to remote");
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
throw new Error(`Failed to push commit changes to remote: ${error instanceof Error ? error.message : String(error)}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=apply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/commands/version/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class VersionCi extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"no-push": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
"dry-run": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
private configureGitAuth;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ci.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../../src/commands/version/ci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA6D;IAE/E,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAsBZ,gBAAgB;CAmC9B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Command, Flags } from "@oclif/core";
|
|
2
|
+
import { $ } from "bun";
|
|
3
|
+
import { colorify } from "../../core";
|
|
4
|
+
import { EntityTag } from "../../entities";
|
|
5
|
+
export default class VersionCi extends Command {
|
|
6
|
+
static description = "Complete CI versioning workflow: auth ā prepare ā apply";
|
|
7
|
+
static examples = [
|
|
8
|
+
"intershell version:ci",
|
|
9
|
+
"intershell version:ci --dry-run",
|
|
10
|
+
"intershell version:ci --no-push",
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
"no-push": Flags.boolean({
|
|
14
|
+
char: "n",
|
|
15
|
+
description: "Don't push tag to remote after creation",
|
|
16
|
+
default: false,
|
|
17
|
+
}),
|
|
18
|
+
"dry-run": Flags.boolean({
|
|
19
|
+
char: "d",
|
|
20
|
+
description: "Show planned changes without applying them",
|
|
21
|
+
default: false,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { flags } = await this.parse(VersionCi);
|
|
26
|
+
this.log("š Starting CI version workflow...");
|
|
27
|
+
await this.configureGitAuth(flags);
|
|
28
|
+
const fromTag = await EntityTag.getBaseCommitSha();
|
|
29
|
+
this.log(`š Using base commit: ${colorify.blue(fromTag)}`);
|
|
30
|
+
this.log("\nš§ Preparing versions...");
|
|
31
|
+
// Note: In a real implementation, you would call the prepare command here
|
|
32
|
+
// For now, we'll just show what would happen
|
|
33
|
+
this.log(`š Would run: intershell version:prepare --from ${fromTag}`);
|
|
34
|
+
this.log("\nš Applying version changes...");
|
|
35
|
+
// Note: In a real implementation, you would call the apply command here
|
|
36
|
+
// For now, we'll just show what would happen
|
|
37
|
+
this.log(`š Would run: intershell version:apply${flags["no-push"] ? " --no-push" : ""}`);
|
|
38
|
+
this.log(colorify.green("\nā
CI version workflow completed successfully!"));
|
|
39
|
+
}
|
|
40
|
+
async configureGitAuth(flags) {
|
|
41
|
+
this.log("š Configuring Git authentication...");
|
|
42
|
+
if (flags["dry-run"]) {
|
|
43
|
+
this.log("-> š Dry run, skipping git config");
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (!process.env.GITHUB_ACTIONS) {
|
|
47
|
+
this.log("-> š Running locally, skip git config");
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!process.env.GITHUB_REPOSITORY) {
|
|
51
|
+
this.log("-> ā ļø GITHUB_REPOSITORY not found");
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (!process.env.GITHUB_TOKEN) {
|
|
55
|
+
this.log("-> ā ļø GITHUB_TOKEN not found");
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.log("-> š Configuring Git authentication...");
|
|
59
|
+
await $ `git config user.name "github-actions[bot]"`;
|
|
60
|
+
await $ `git config user.email "github-actions[bot]@users.noreply.github.com"`;
|
|
61
|
+
await $ `git remote set-url origin https://x-access-token:${process.env.GITHUB_TOKEN}@github.com/${process.env.GITHUB_REPOSITORY}.git`;
|
|
62
|
+
const actualRemoteUrl = await $ `git remote get-url origin`.text();
|
|
63
|
+
const maskedUrl = actualRemoteUrl.replace(/https:\/\/x-access-token:[^@]+@/, "***@");
|
|
64
|
+
this.log(`-> š Git authentication configured, remote URL: ${maskedUrl}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=ci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci.js","sourceRoot":"","sources":["../../../src/commands/version/ci.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
export default class VersionPrepare extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
package: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
to: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
"from-version": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
"to-version": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
"bump-type": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Resolves from/to commits, handling version-to-tag conversion when needed
|
|
16
|
+
*/
|
|
17
|
+
private resolveCommitRange;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=prepare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/commands/version/prepare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAiB7C,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAAgE;IAElF,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,KAAK;;;;;;;MA0BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAmH1B;;OAEG;YACW,kBAAkB;CAuChC"}
|