@kitsi/pack-version 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/checks/conventional-commits.d.ts +6 -0
  2. package/dist/checks/conventional-commits.d.ts.map +1 -0
  3. package/dist/checks/conventional-commits.js +46 -0
  4. package/dist/checks/conventional-commits.js.map +1 -0
  5. package/dist/checks/git-clean.d.ts +6 -0
  6. package/dist/checks/git-clean.d.ts.map +1 -0
  7. package/dist/checks/git-clean.js +46 -0
  8. package/dist/checks/git-clean.js.map +1 -0
  9. package/dist/checks/git-repository.d.ts +6 -0
  10. package/dist/checks/git-repository.d.ts.map +1 -0
  11. package/dist/checks/git-repository.js +20 -0
  12. package/dist/checks/git-repository.js.map +1 -0
  13. package/dist/checks/index.d.ts +19 -0
  14. package/dist/checks/index.d.ts.map +1 -0
  15. package/dist/checks/index.js +34 -0
  16. package/dist/checks/index.js.map +1 -0
  17. package/dist/checks/standard-version.d.ts +6 -0
  18. package/dist/checks/standard-version.d.ts.map +1 -0
  19. package/dist/checks/standard-version.js +29 -0
  20. package/dist/checks/standard-version.js.map +1 -0
  21. package/dist/checks/workspace-config.d.ts +7 -0
  22. package/dist/checks/workspace-config.d.ts.map +1 -0
  23. package/dist/checks/workspace-config.js +34 -0
  24. package/dist/checks/workspace-config.js.map +1 -0
  25. package/dist/index.d.ts +84 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +79 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/refs.d.ts +16 -0
  30. package/dist/refs.d.ts.map +1 -0
  31. package/dist/refs.js +16 -0
  32. package/dist/refs.js.map +1 -0
  33. package/dist/release.d.ts +45 -0
  34. package/dist/release.d.ts.map +1 -0
  35. package/dist/release.js +206 -0
  36. package/dist/release.js.map +1 -0
  37. package/dist/steps/bump-package.d.ts +16 -0
  38. package/dist/steps/bump-package.d.ts.map +1 -0
  39. package/dist/steps/bump-package.js +104 -0
  40. package/dist/steps/bump-package.js.map +1 -0
  41. package/dist/steps/collect-changed-packages.d.ts +8 -0
  42. package/dist/steps/collect-changed-packages.d.ts.map +1 -0
  43. package/dist/steps/collect-changed-packages.js +29 -0
  44. package/dist/steps/collect-changed-packages.js.map +1 -0
  45. package/dist/steps/commit-versions.d.ts +7 -0
  46. package/dist/steps/commit-versions.d.ts.map +1 -0
  47. package/dist/steps/commit-versions.js +22 -0
  48. package/dist/steps/commit-versions.js.map +1 -0
  49. package/dist/steps/discover-packages.d.ts +8 -0
  50. package/dist/steps/discover-packages.d.ts.map +1 -0
  51. package/dist/steps/discover-packages.js +54 -0
  52. package/dist/steps/discover-packages.js.map +1 -0
  53. package/dist/steps/generate-changelog.d.ts +6 -0
  54. package/dist/steps/generate-changelog.d.ts.map +1 -0
  55. package/dist/steps/generate-changelog.js +31 -0
  56. package/dist/steps/generate-changelog.js.map +1 -0
  57. package/dist/steps/index.d.ts +7 -0
  58. package/dist/steps/index.d.ts.map +1 -0
  59. package/dist/steps/index.js +7 -0
  60. package/dist/steps/index.js.map +1 -0
  61. package/dist/steps/tag-versions.d.ts +7 -0
  62. package/dist/steps/tag-versions.d.ts.map +1 -0
  63. package/dist/steps/tag-versions.js +16 -0
  64. package/dist/steps/tag-versions.js.map +1 -0
  65. package/dist/types/check-result.d.ts +18 -0
  66. package/dist/types/check-result.d.ts.map +1 -0
  67. package/dist/types/check-result.js +2 -0
  68. package/dist/types/check-result.js.map +1 -0
  69. package/dist/types/index.d.ts +6 -0
  70. package/dist/types/index.d.ts.map +1 -0
  71. package/dist/types/index.js +2 -0
  72. package/dist/types/index.js.map +1 -0
  73. package/dist/types/package-config.d.ts +14 -0
  74. package/dist/types/package-config.d.ts.map +1 -0
  75. package/dist/types/package-config.js +2 -0
  76. package/dist/types/package-config.js.map +1 -0
  77. package/dist/types/package-result.d.ts +18 -0
  78. package/dist/types/package-result.d.ts.map +1 -0
  79. package/dist/types/package-result.js +2 -0
  80. package/dist/types/package-result.js.map +1 -0
  81. package/dist/types/release-type.d.ts +9 -0
  82. package/dist/types/release-type.d.ts.map +1 -0
  83. package/dist/types/release-type.js +2 -0
  84. package/dist/types/release-type.js.map +1 -0
  85. package/dist/types/version-options.d.ts +40 -0
  86. package/dist/types/version-options.d.ts.map +1 -0
  87. package/dist/types/version-options.js +2 -0
  88. package/dist/types/version-options.js.map +1 -0
  89. package/package.json +57 -0
@@ -0,0 +1,6 @@
1
+ import type { CheckResult } from '../types/check-result.js';
2
+ /**
3
+ * Verifies that there are conventional commits since the last tag.
4
+ */
5
+ export declare function checkConventionalCommits(hasConventionalCommits: boolean, commitCount: number, lastTag: string | null): CheckResult;
6
+ //# sourceMappingURL=conventional-commits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conventional-commits.d.ts","sourceRoot":"","sources":["../../src/checks/conventional-commits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,sBAAsB,EAAE,OAAO,EAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,WAAW,CA2Cb"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Verifies that there are conventional commits since the last tag.
3
+ */
4
+ export function checkConventionalCommits(hasConventionalCommits, commitCount, lastTag) {
5
+ if (hasConventionalCommits) {
6
+ const since = lastTag ? `since ${lastTag}` : 'in repository';
7
+ return {
8
+ name: 'Conventional Commits',
9
+ status: 'pass',
10
+ message: `Found ${commitCount} conventional commit(s) ${since}`,
11
+ };
12
+ }
13
+ if (commitCount === 0) {
14
+ const since = lastTag ? `since ${lastTag}` : '';
15
+ return {
16
+ name: 'Conventional Commits',
17
+ status: 'warn',
18
+ message: `No commits found ${since}`,
19
+ remediation: `No commits to analyze. Make sure you have commits to release.
20
+
21
+ If this is your first release, use firstRelease: true to skip version bump.`,
22
+ };
23
+ }
24
+ return {
25
+ name: 'Conventional Commits',
26
+ status: 'warn',
27
+ message: `Found ${commitCount} commits, but none follow conventional format`,
28
+ remediation: `This pack uses conventional commits to determine version bumps.
29
+ Your commits should follow the format:
30
+ feat: add new feature -> minor bump
31
+ fix: resolve bug -> patch bump
32
+ feat!: breaking change -> major bump
33
+ chore: maintenance -> no bump
34
+ docs: documentation -> no bump
35
+
36
+ Examples:
37
+ feat(api): add user authentication
38
+ fix(ui): correct button alignment
39
+ feat!: redesign configuration API
40
+
41
+ See: https://www.conventionalcommits.org/
42
+
43
+ To force a specific version bump, use releaseAs: 'patch' | 'minor' | 'major'`,
44
+ };
45
+ }
46
+ //# sourceMappingURL=conventional-commits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conventional-commits.js","sourceRoot":"","sources":["../../src/checks/conventional-commits.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,sBAA+B,EAC/B,WAAmB,EACnB,OAAsB;IAEtB,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAC7D,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS,WAAW,2BAA2B,KAAK,EAAE;SAChE,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAoB,KAAK,EAAE;YACpC,WAAW,EAAE;;8EAE2D;SACzE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS,WAAW,+CAA+C;QAC5E,WAAW,EAAE;;;;;;;;;;;;;;;+EAe8D;KAC5E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CheckResult } from '../types/check-result.js';
2
+ /**
3
+ * Verifies that the working tree is clean (no uncommitted changes).
4
+ */
5
+ export declare function checkGitClean(isClean: boolean, modifiedFiles: string[], allowDirty: boolean): CheckResult;
6
+ //# sourceMappingURL=git-clean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-clean.d.ts","sourceRoot":"","sources":["../../src/checks/git-clean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,UAAU,EAAE,OAAO,GAClB,WAAW,CA6Cb"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Verifies that the working tree is clean (no uncommitted changes).
3
+ */
4
+ export function checkGitClean(isClean, modifiedFiles, allowDirty) {
5
+ if (isClean) {
6
+ return {
7
+ name: 'Clean Working Tree',
8
+ status: 'pass',
9
+ message: 'Working tree is clean',
10
+ };
11
+ }
12
+ const fileCount = modifiedFiles.length;
13
+ const fileList = fileCount <= 5
14
+ ? modifiedFiles.join('\n ')
15
+ : `${modifiedFiles.slice(0, 5).join('\n ')}\n ... and ${fileCount - 5} more`;
16
+ if (allowDirty) {
17
+ return {
18
+ name: 'Clean Working Tree',
19
+ status: 'warn',
20
+ message: `Uncommitted changes detected (${fileCount} files) - proceeding with allowDirty`,
21
+ remediation: `Found modified files:
22
+ ${fileList}
23
+
24
+ Consider committing or stashing changes first:
25
+ git add -A && git commit -m "wip"
26
+ # or
27
+ git stash`,
28
+ };
29
+ }
30
+ return {
31
+ name: 'Clean Working Tree',
32
+ status: 'fail',
33
+ message: `Uncommitted changes detected (${fileCount} files)`,
34
+ remediation: `Found modified files:
35
+ ${fileList}
36
+
37
+ Version bumps should be done on a clean tree.
38
+ Either commit or stash your changes:
39
+ git add -A && git commit -m "wip"
40
+ # or
41
+ git stash
42
+
43
+ To proceed anyway, use allowDirty: true (not recommended)`,
44
+ };
45
+ }
46
+ //# sourceMappingURL=git-clean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-clean.js","sourceRoot":"","sources":["../../src/checks/git-clean.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,aAAuB,EACvB,UAAmB;IAEnB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,uBAAuB;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;IACvC,MAAM,QAAQ,GACZ,SAAS,IAAI,CAAC;QACZ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,SAAS,GAAG,CAAC,OAAO,CAAC;IAE3F,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,iCAAiC,SAAS,sCAAsC;YACzF,WAAW,EAAE;QACX,QAAQ;;;;;cAKF;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,iCAAiC,SAAS,SAAS;QAC5D,WAAW,EAAE;QACT,QAAQ;;;;;;;;4DAQ4C;KACzD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CheckResult } from '../types/check-result.js';
2
+ /**
3
+ * Verifies that the current directory is a git repository.
4
+ */
5
+ export declare function checkGitRepository(gitExists: boolean): CheckResult;
6
+ //# sourceMappingURL=git-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-repository.d.ts","sourceRoot":"","sources":["../../src/checks/git-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,CAgBlE"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Verifies that the current directory is a git repository.
3
+ */
4
+ export function checkGitRepository(gitExists) {
5
+ if (gitExists) {
6
+ return {
7
+ name: 'Git Repository',
8
+ status: 'pass',
9
+ message: 'Git repository detected',
10
+ };
11
+ }
12
+ return {
13
+ name: 'Git Repository',
14
+ status: 'fail',
15
+ message: 'Not a git repository',
16
+ remediation: `This pack requires a git repository. Run:
17
+ git init`,
18
+ };
19
+ }
20
+ //# sourceMappingURL=git-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-repository.js","sourceRoot":"","sources":["../../src/checks/git-repository.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAkB;IACnD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,yBAAyB;SACnC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE;aACJ;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ export { checkConventionalCommits } from './conventional-commits.js';
2
+ export { checkGitClean } from './git-clean.js';
3
+ export { checkGitRepository } from './git-repository.js';
4
+ export { checkStandardVersion } from './standard-version.js';
5
+ export { checkWorkspaceConfig } from './workspace-config.js';
6
+ import type { CheckResult } from '../types/check-result.js';
7
+ /**
8
+ * Formats check results for display.
9
+ */
10
+ export declare function formatCheckResults(results: CheckResult[]): string;
11
+ /**
12
+ * Checks if any result is a failure.
13
+ */
14
+ export declare function hasFailures(results: CheckResult[]): boolean;
15
+ /**
16
+ * Checks if any result is a warning.
17
+ */
18
+ export declare function hasWarnings(results: CheckResult[]): boolean;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAgBjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAE3D"}
@@ -0,0 +1,34 @@
1
+ export { checkConventionalCommits } from './conventional-commits.js';
2
+ export { checkGitClean } from './git-clean.js';
3
+ export { checkGitRepository } from './git-repository.js';
4
+ export { checkStandardVersion } from './standard-version.js';
5
+ export { checkWorkspaceConfig } from './workspace-config.js';
6
+ /**
7
+ * Formats check results for display.
8
+ */
9
+ export function formatCheckResults(results) {
10
+ const lines = ['Preflight Checks', ''];
11
+ for (const result of results) {
12
+ const icon = result.status === 'pass' ? '\u2713' : result.status === 'warn' ? '\u26a0' : '\u2717';
13
+ lines.push(`${icon} ${result.name}: ${result.message}`);
14
+ if (result.remediation && result.status !== 'pass') {
15
+ lines.push('');
16
+ lines.push(result.remediation);
17
+ lines.push('');
18
+ }
19
+ }
20
+ return lines.join('\n');
21
+ }
22
+ /**
23
+ * Checks if any result is a failure.
24
+ */
25
+ export function hasFailures(results) {
26
+ return results.some((r) => r.status === 'fail');
27
+ }
28
+ /**
29
+ * Checks if any result is a warning.
30
+ */
31
+ export function hasWarnings(results) {
32
+ return results.some((r) => r.status === 'warn');
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI7D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,MAAM,KAAK,GAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAEjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GACR,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAExD,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CheckResult } from '../types/check-result.js';
2
+ /**
3
+ * Verifies that standard-version is installed.
4
+ */
5
+ export declare function checkStandardVersion(isInstalled: boolean, pm: string): CheckResult;
6
+ //# sourceMappingURL=standard-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-version.d.ts","sourceRoot":"","sources":["../../src/checks/standard-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CA2BlF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Verifies that standard-version is installed.
3
+ */
4
+ export function checkStandardVersion(isInstalled, pm) {
5
+ if (isInstalled) {
6
+ return {
7
+ name: 'Standard Version',
8
+ status: 'pass',
9
+ message: 'standard-version is installed',
10
+ };
11
+ }
12
+ const installCommands = {
13
+ npm: 'npm install -D standard-version',
14
+ pnpm: 'pnpm add -D standard-version',
15
+ yarn: 'yarn add -D standard-version',
16
+ bun: 'bun add -D standard-version',
17
+ };
18
+ const installCmd = installCommands[pm] ?? installCommands.npm;
19
+ return {
20
+ name: 'Standard Version',
21
+ status: 'fail',
22
+ message: 'standard-version not found',
23
+ remediation: `Install standard-version as a dev dependency:
24
+ ${installCmd}
25
+
26
+ The pack will try to install it automatically if missing.`,
27
+ };
28
+ }
29
+ //# sourceMappingURL=standard-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-version.js","sourceRoot":"","sources":["../../src/checks/standard-version.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAoB,EAAE,EAAU;IACnE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,+BAA+B;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAA2B;QAC9C,GAAG,EAAE,iCAAiC;QACtC,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,8BAA8B;QACpC,GAAG,EAAE,6BAA6B;KACnC,CAAC;IAEF,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC;IAE9D,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,4BAA4B;QACrC,WAAW,EAAE;MACX,UAAU;;4DAE4C;KACzD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { CheckResult } from '../types/check-result.js';
2
+ import type { PackageConfig } from '../types/package-config.js';
3
+ /**
4
+ * Verifies that packages are configured or can be discovered.
5
+ */
6
+ export declare function checkWorkspaceConfig(packages: PackageConfig[], explicitlyConfigured: boolean): CheckResult;
7
+ //# sourceMappingURL=workspace-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-config.d.ts","sourceRoot":"","sources":["../../src/checks/workspace-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EAAE,EACzB,oBAAoB,EAAE,OAAO,GAC5B,WAAW,CA8Bb"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Verifies that packages are configured or can be discovered.
3
+ */
4
+ export function checkWorkspaceConfig(packages, explicitlyConfigured) {
5
+ if (packages.length > 0) {
6
+ const source = explicitlyConfigured ? 'explicitly configured' : 'discovered from workspace';
7
+ return {
8
+ name: 'Workspace Configuration',
9
+ status: 'pass',
10
+ message: `Found ${packages.length} package(s) (${source})`,
11
+ };
12
+ }
13
+ return {
14
+ name: 'Workspace Configuration',
15
+ status: 'fail',
16
+ message: 'No packages found to version',
17
+ remediation: `Expected workspace config in package.json:
18
+ { "workspaces": ["packages/*"] }
19
+
20
+ Or specify packages explicitly:
21
+ version.release({
22
+ packages: [
23
+ { name: '@my/pkg', path: 'packages/pkg' },
24
+ { name: '@my/other', path: 'packages/other' },
25
+ ]
26
+ })
27
+
28
+ Make sure:
29
+ - Package directories exist
30
+ - Each package has a valid package.json
31
+ - Private packages are included (they can still be versioned)`,
32
+ };
33
+ }
34
+ //# sourceMappingURL=workspace-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-config.js","sourceRoot":"","sources":["../../src/checks/workspace-config.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,oBAA6B;IAE7B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,CAAC;QAC5F,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS,QAAQ,CAAC,MAAM,gBAAgB,MAAM,GAAG;SAC3D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE;;;;;;;;;;;;;;gEAc+C;KAC7D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @kitsi/pack-version
3
+ *
4
+ * Kitsi pack for semantic versioning with changelog generation in monorepos.
5
+ * Uses standard-version under the hood with custom orchestration for independent
6
+ * per-package versioning.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { version } from '@kitsi/pack-version';
11
+ *
12
+ * // Simple usage - auto-discover packages
13
+ * export const ci = registry(
14
+ * version.release({ pm: 'bun' }),
15
+ * );
16
+ *
17
+ * // With explicit packages
18
+ * export const ci = registry(
19
+ * version.release({
20
+ * pm: 'bun',
21
+ * packages: [
22
+ * { name: '@kitsi/cli', path: 'packages/cli' },
23
+ * { name: '@kitsi/action', path: 'packages/action' },
24
+ * ],
25
+ * rootChangelog: true,
26
+ * }),
27
+ * );
28
+ * ```
29
+ */
30
+ import { release, tasks } from './release.js';
31
+ import * as steps from './steps/index.js';
32
+ export type { CheckResult, CheckStatus } from './types/check-result.js';
33
+ export type { PackageConfig } from './types/package-config.js';
34
+ export type { PackageResult } from './types/package-result.js';
35
+ export type { ReleaseType } from './types/release-type.js';
36
+ export type { VersionOptions } from './types/version-options.js';
37
+ export { refs } from './refs.js';
38
+ export * as steps from './steps/index.js';
39
+ export * as checks from './checks/index.js';
40
+ /**
41
+ * Version pack for semantic versioning with changelog generation.
42
+ */
43
+ export declare const version: {
44
+ /**
45
+ * Creates a release plan that bumps versions, generates changelogs,
46
+ * creates git commits and tags, and optionally pushes to remote.
47
+ */
48
+ readonly release: typeof release;
49
+ /**
50
+ * Creates individual version tasks that can be composed into other plans.
51
+ * Use this when you need to integrate version tasks with other workflows
52
+ * like publish.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const { preflight, bump, commit, push } = version.tasks({ packages: [...] });
57
+ *
58
+ * plan('release').tasks(
59
+ * buildTask,
60
+ * preflight.needs(buildTask),
61
+ * bump,
62
+ * commit,
63
+ * push,
64
+ * publishTask.needs(push),
65
+ * );
66
+ * ```
67
+ */
68
+ readonly tasks: typeof tasks;
69
+ /**
70
+ * Reusable step generators for custom workflows.
71
+ */
72
+ readonly steps: typeof steps;
73
+ /**
74
+ * Output references for accessing version results between tasks.
75
+ */
76
+ readonly refs: {
77
+ readonly Versions: import("@kitsi/cli").ValueRef<Record<string, string>>;
78
+ readonly Results: import("@kitsi/cli").ValueRef<import("./index.js").PackageResult[]>;
79
+ readonly HasChanges: import("@kitsi/cli").ValueRef<boolean>;
80
+ readonly RootChangelog: import("@kitsi/cli").ValueRef<string>;
81
+ };
82
+ };
83
+ export default version;
84
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAG1C,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAG1C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;;OAGG;;IAGH;;;;;;;;;;;;;;;;;;OAkBG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;CAEK,CAAC;AAGX,eAAe,OAAO,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @kitsi/pack-version
3
+ *
4
+ * Kitsi pack for semantic versioning with changelog generation in monorepos.
5
+ * Uses standard-version under the hood with custom orchestration for independent
6
+ * per-package versioning.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { version } from '@kitsi/pack-version';
11
+ *
12
+ * // Simple usage - auto-discover packages
13
+ * export const ci = registry(
14
+ * version.release({ pm: 'bun' }),
15
+ * );
16
+ *
17
+ * // With explicit packages
18
+ * export const ci = registry(
19
+ * version.release({
20
+ * pm: 'bun',
21
+ * packages: [
22
+ * { name: '@kitsi/cli', path: 'packages/cli' },
23
+ * { name: '@kitsi/action', path: 'packages/action' },
24
+ * ],
25
+ * rootChangelog: true,
26
+ * }),
27
+ * );
28
+ * ```
29
+ */
30
+ import { refs } from './refs.js';
31
+ import { release, tasks } from './release.js';
32
+ import * as steps from './steps/index.js';
33
+ // Re-export refs
34
+ export { refs } from './refs.js';
35
+ // Re-export steps for custom workflows
36
+ export * as steps from './steps/index.js';
37
+ // Re-export checks for custom preflight
38
+ export * as checks from './checks/index.js';
39
+ /**
40
+ * Version pack for semantic versioning with changelog generation.
41
+ */
42
+ export const version = {
43
+ /**
44
+ * Creates a release plan that bumps versions, generates changelogs,
45
+ * creates git commits and tags, and optionally pushes to remote.
46
+ */
47
+ release,
48
+ /**
49
+ * Creates individual version tasks that can be composed into other plans.
50
+ * Use this when you need to integrate version tasks with other workflows
51
+ * like publish.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const { preflight, bump, commit, push } = version.tasks({ packages: [...] });
56
+ *
57
+ * plan('release').tasks(
58
+ * buildTask,
59
+ * preflight.needs(buildTask),
60
+ * bump,
61
+ * commit,
62
+ * push,
63
+ * publishTask.needs(push),
64
+ * );
65
+ * ```
66
+ */
67
+ tasks,
68
+ /**
69
+ * Reusable step generators for custom workflows.
70
+ */
71
+ steps,
72
+ /**
73
+ * Output references for accessing version results between tasks.
74
+ */
75
+ refs,
76
+ };
77
+ // Default export for convenience
78
+ export default version;
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAS1C,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,uCAAuC;AACvC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,wCAAwC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB;;;OAGG;IACH,OAAO;IAEP;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK;IAEL;;OAEG;IACH,KAAK;IAEL;;OAEG;IACH,IAAI;CACI,CAAC;AAEX,iCAAiC;AACjC,eAAe,OAAO,CAAC"}
package/dist/refs.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ import type { PackageResult } from './types/package-result.js';
2
+ /**
3
+ * Output references for the version pack.
4
+ * Use these with `emit()` and `use()` to pass data between tasks.
5
+ */
6
+ export declare const refs: {
7
+ /** Map of package name to new version */
8
+ readonly Versions: import("@kitsi/cli").ValueRef<Record<string, string>>;
9
+ /** Detailed results for each versioned package */
10
+ readonly Results: import("@kitsi/cli").ValueRef<PackageResult[]>;
11
+ /** Whether any packages were bumped */
12
+ readonly HasChanges: import("@kitsi/cli").ValueRef<boolean>;
13
+ /** Root changelog content (if rootChangelog enabled) */
14
+ readonly RootChangelog: import("@kitsi/cli").ValueRef<string>;
15
+ };
16
+ //# sourceMappingURL=refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,IAAI;IACf,yCAAyC;;IAGzC,kDAAkD;;IAGlD,uCAAuC;;IAGvC,wDAAwD;;CAEhD,CAAC"}
package/dist/refs.js ADDED
@@ -0,0 +1,16 @@
1
+ import { out } from '@kitsi/cli';
2
+ /**
3
+ * Output references for the version pack.
4
+ * Use these with `emit()` and `use()` to pass data between tasks.
5
+ */
6
+ export const refs = {
7
+ /** Map of package name to new version */
8
+ Versions: out.json('version:versions'),
9
+ /** Detailed results for each versioned package */
10
+ Results: out.json('version:results'),
11
+ /** Whether any packages were bumped */
12
+ HasChanges: out.boolean('version:has-changes'),
13
+ /** Root changelog content (if rootChangelog enabled) */
14
+ RootChangelog: out.string('version:root-changelog'),
15
+ };
16
+ //# sourceMappingURL=refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAyB,kBAAkB,CAAC;IAE9D,kDAAkD;IAClD,OAAO,EAAE,GAAG,CAAC,IAAI,CAAkB,iBAAiB,CAAC;IAErD,uCAAuC;IACvC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAE9C,wDAAwD;IACxD,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { VersionOptions } from './types/version-options.js';
2
+ /**
3
+ * Creates a release plan for semantic versioning with changelog generation.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * import { version } from '@kitsi/pack-version';
8
+ *
9
+ * export const ci = registry(
10
+ * version.release({
11
+ * pm: 'bun',
12
+ * packages: [
13
+ * { name: '@kitsi/cli', path: 'packages/cli' },
14
+ * { name: '@kitsi/action', path: 'packages/action' },
15
+ * ],
16
+ * }),
17
+ * );
18
+ * ```
19
+ */
20
+ export declare function release(opts?: VersionOptions): import("@kitsi/cli").PlanBuilder;
21
+ /**
22
+ * Creates individual version tasks that can be composed into other plans.
23
+ * Use this when you need to integrate version tasks with other workflows.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const { preflight, bump, commit, push } = version.tasks({ packages: [...] });
28
+ *
29
+ * plan('release').tasks(
30
+ * buildTask,
31
+ * preflight.needs(buildTask),
32
+ * bump,
33
+ * commit,
34
+ * push,
35
+ * publishTask.needs(push),
36
+ * );
37
+ * ```
38
+ */
39
+ export declare function tasks(opts?: VersionOptions): {
40
+ preflight: import("@kitsi/cli").TaskBuilder;
41
+ bump: import("@kitsi/cli").TaskBuilder;
42
+ commit: import("@kitsi/cli").TaskBuilder;
43
+ push: import("@kitsi/cli").TaskBuilder;
44
+ };
45
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAMjE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,cAAmB,oCAahD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,IAAI,GAAE,cAAmB;;;;;EAuM9C"}