@kitsi/pack-github-release 0.0.4 → 0.0.7

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 (50) hide show
  1. package/dist/checks/gh-auth.d.ts +1 -1
  2. package/dist/checks/gh-auth.d.ts.map +1 -1
  3. package/dist/checks/gh-auth.js +3 -17
  4. package/dist/checks/gh-auth.js.map +1 -1
  5. package/dist/checks/gh-cli.d.ts +1 -1
  6. package/dist/checks/gh-cli.d.ts.map +1 -1
  7. package/dist/checks/gh-cli.js +3 -19
  8. package/dist/checks/gh-cli.js.map +1 -1
  9. package/dist/checks/github-token.d.ts +6 -0
  10. package/dist/checks/github-token.d.ts.map +1 -0
  11. package/dist/checks/github-token.js +23 -0
  12. package/dist/checks/github-token.js.map +1 -0
  13. package/dist/checks/http-client.d.ts +6 -0
  14. package/dist/checks/http-client.d.ts.map +1 -0
  15. package/dist/checks/http-client.js +19 -0
  16. package/dist/checks/http-client.js.map +1 -0
  17. package/dist/checks/index.d.ts +2 -0
  18. package/dist/checks/index.d.ts.map +1 -1
  19. package/dist/checks/index.js +2 -0
  20. package/dist/checks/index.js.map +1 -1
  21. package/dist/release.d.ts.map +1 -1
  22. package/dist/release.js +14 -3
  23. package/dist/release.js.map +1 -1
  24. package/dist/steps/create-release.d.ts +3 -1
  25. package/dist/steps/create-release.d.ts.map +1 -1
  26. package/dist/steps/create-release.js +43 -44
  27. package/dist/steps/create-release.js.map +1 -1
  28. package/dist/steps/detect-repository.d.ts +4 -0
  29. package/dist/steps/detect-repository.d.ts.map +1 -1
  30. package/dist/steps/detect-repository.js +17 -0
  31. package/dist/steps/detect-repository.js.map +1 -1
  32. package/dist/steps/github-api.d.ts +6 -0
  33. package/dist/steps/github-api.d.ts.map +1 -0
  34. package/dist/steps/github-api.js +41 -0
  35. package/dist/steps/github-api.js.map +1 -0
  36. package/dist/steps/index.d.ts +1 -1
  37. package/dist/steps/index.d.ts.map +1 -1
  38. package/dist/steps/index.js +1 -1
  39. package/dist/steps/index.js.map +1 -1
  40. package/dist/steps/preflight-checks.d.ts +5 -5
  41. package/dist/steps/preflight-checks.d.ts.map +1 -1
  42. package/dist/steps/preflight-checks.js +27 -19
  43. package/dist/steps/preflight-checks.js.map +1 -1
  44. package/dist/steps/upload-assets.d.ts +7 -2
  45. package/dist/steps/upload-assets.d.ts.map +1 -1
  46. package/dist/steps/upload-assets.js +90 -20
  47. package/dist/steps/upload-assets.js.map +1 -1
  48. package/dist/types/release-options.d.ts +5 -0
  49. package/dist/types/release-options.d.ts.map +1 -1
  50. package/package.json +3 -2
@@ -1,6 +1,6 @@
1
1
  import type { CheckResult } from '../types/check-result.js';
2
2
  /**
3
- * Verifies that the GitHub CLI is authenticated.
3
+ * Backwards-compatible alias for GitHub token checks.
4
4
  */
5
5
  export declare function checkGhAuth(authenticated: boolean): CheckResult;
6
6
  //# sourceMappingURL=gh-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gh-auth.d.ts","sourceRoot":"","sources":["../../src/checks/gh-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,OAAO,GAAG,WAAW,CAkB/D"}
1
+ {"version":3,"file":"gh-auth.d.ts","sourceRoot":"","sources":["../../src/checks/gh-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D;;GAEG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,OAAO,GAAG,WAAW,CAE/D"}
@@ -1,22 +1,8 @@
1
+ import { checkGithubToken } from './github-token.js';
1
2
  /**
2
- * Verifies that the GitHub CLI is authenticated.
3
+ * Backwards-compatible alias for GitHub token checks.
3
4
  */
4
5
  export function checkGhAuth(authenticated) {
5
- if (authenticated) {
6
- return {
7
- name: 'GitHub Authentication',
8
- status: 'pass',
9
- message: 'Authenticated with GitHub',
10
- };
11
- }
12
- return {
13
- name: 'GitHub Authentication',
14
- status: 'fail',
15
- message: 'Not authenticated with GitHub',
16
- remediation: `The GitHub CLI must be authenticated. Run:
17
- gh auth login
18
-
19
- Or set the GH_TOKEN or GITHUB_TOKEN environment variable.`,
20
- };
6
+ return checkGithubToken(authenticated, 'GITHUB_TOKEN');
21
7
  }
22
8
  //# sourceMappingURL=gh-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gh-auth.js","sourceRoot":"","sources":["../../src/checks/gh-auth.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,2BAA2B;SACrC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,+BAA+B;QACxC,WAAW,EAAE;;;0DAGyC;KACvD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gh-auth.js","sourceRoot":"","sources":["../../src/checks/gh-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,OAAO,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACzD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { CheckResult } from '../types/check-result.js';
2
2
  /**
3
- * Verifies that the GitHub CLI (gh) is installed and available.
3
+ * Backwards-compatible alias for HTTP client checks.
4
4
  */
5
5
  export declare function checkGhCli(installed: boolean): CheckResult;
6
6
  //# sourceMappingURL=gh-cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gh-cli.d.ts","sourceRoot":"","sources":["../../src/checks/gh-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,CAoB1D"}
1
+ {"version":3,"file":"gh-cli.d.ts","sourceRoot":"","sources":["../../src/checks/gh-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,CAE1D"}
@@ -1,24 +1,8 @@
1
+ import { checkHttpClient } from './http-client.js';
1
2
  /**
2
- * Verifies that the GitHub CLI (gh) is installed and available.
3
+ * Backwards-compatible alias for HTTP client checks.
3
4
  */
4
5
  export function checkGhCli(installed) {
5
- if (installed) {
6
- return {
7
- name: 'GitHub CLI',
8
- status: 'pass',
9
- message: 'GitHub CLI (gh) is installed',
10
- };
11
- }
12
- return {
13
- name: 'GitHub CLI',
14
- status: 'fail',
15
- message: 'GitHub CLI (gh) is not installed',
16
- remediation: `This pack requires the GitHub CLI. Install it from:
17
- https://cli.github.com/
18
-
19
- On macOS: brew install gh
20
- On Linux: See https://github.com/cli/cli/blob/trunk/docs/install_linux.md
21
- On Windows: winget install --id GitHub.cli`,
22
- };
6
+ return checkHttpClient(installed);
23
7
  }
24
8
  //# sourceMappingURL=gh-cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gh-cli.js","sourceRoot":"","sources":["../../src/checks/gh-cli.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,SAAkB;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,8BAA8B;SACxC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EAAE;;;;;2CAK0B;KACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gh-cli.js","sourceRoot":"","sources":["../../src/checks/gh-cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,SAAkB;IAC3C,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CheckResult } from '../types/check-result.js';
2
+ /**
3
+ * Verifies that a GitHub token is available.
4
+ */
5
+ export declare function checkGithubToken(present: boolean, tokenEnv: string): CheckResult;
6
+ //# sourceMappingURL=github-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-token.d.ts","sourceRoot":"","sources":["../../src/checks/github-token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAmBhF"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Verifies that a GitHub token is available.
3
+ */
4
+ export function checkGithubToken(present, tokenEnv) {
5
+ if (present) {
6
+ return {
7
+ name: 'GitHub Token',
8
+ status: 'pass',
9
+ message: `Token available via ${tokenEnv}`,
10
+ };
11
+ }
12
+ return {
13
+ name: 'GitHub Token',
14
+ status: 'fail',
15
+ message: `Missing ${tokenEnv}`,
16
+ remediation: `Set ${tokenEnv} with a GitHub access token.
17
+
18
+ For GitHub Actions:
19
+ env:
20
+ ${tokenEnv}: \${{ secrets.GITHUB_TOKEN }}`,
21
+ };
22
+ }
23
+ //# sourceMappingURL=github-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-token.js","sourceRoot":"","sources":["../../src/checks/github-token.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,QAAgB;IACjE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,uBAAuB,QAAQ,EAAE;SAC3C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,WAAW,QAAQ,EAAE;QAC9B,WAAW,EAAE,OAAO,QAAQ;;;;QAIxB,QAAQ,gCAAgC;KAC7C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CheckResult } from '../types/check-result.js';
2
+ /**
3
+ * Verifies that a native HTTP client (fetch) is available.
4
+ */
5
+ export declare function checkHttpClient(installed: boolean): CheckResult;
6
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/checks/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,CAgB/D"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Verifies that a native HTTP client (fetch) is available.
3
+ */
4
+ export function checkHttpClient(installed) {
5
+ if (installed) {
6
+ return {
7
+ name: 'HTTP Client',
8
+ status: 'pass',
9
+ message: 'fetch is available',
10
+ };
11
+ }
12
+ return {
13
+ name: 'HTTP Client',
14
+ status: 'fail',
15
+ message: 'fetch is not available',
16
+ remediation: 'This pack requires a runtime with fetch support (Node 18+ or Bun). Upgrade the runtime.',
17
+ };
18
+ }
19
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/checks/http-client.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAkB;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAoB;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,wBAAwB;QACjC,WAAW,EACT,yFAAyF;KAC5F,CAAC;AACJ,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export { checkGhCli } from './gh-cli.js';
2
2
  export { checkGhAuth } from './gh-auth.js';
3
+ export { checkGithubToken } from './github-token.js';
4
+ export { checkHttpClient } from './http-client.js';
3
5
  export { checkRepository } from './repository.js';
4
6
  export { checkTags } from './tags.js';
5
7
  import type { CheckResult } from '../types/check-result.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,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"}
@@ -1,5 +1,7 @@
1
1
  export { checkGhCli } from './gh-cli.js';
2
2
  export { checkGhAuth } from './gh-auth.js';
3
+ export { checkGithubToken } from './github-token.js';
4
+ export { checkHttpClient } from './http-client.js';
3
5
  export { checkRepository } from './repository.js';
4
6
  export { checkTags } from './tags.js';
5
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC;;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC;;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAwB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAmBvF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,cAAmB,oCAkBhD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,IAAI,GAAE,cAAmB;;;;EA4D9C"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAwB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAmBvF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,cAAmB,oCAkBhD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,IAAI,GAAE,cAAmB;;;;EAsE9C"}
package/dist/release.js CHANGED
@@ -1,4 +1,4 @@
1
- import { emit, plan, step, summary, task, use } from '@kitsi/cli';
1
+ import { emit, plan, secret, step, summary, task, use } from '@kitsi/cli';
2
2
  import { refs } from './refs.js';
3
3
  import { createRelease } from './steps/create-release.js';
4
4
  import { runPreflightChecks } from './steps/preflight-checks.js';
@@ -59,16 +59,20 @@ export function release(opts = {}) {
59
59
  * ```
60
60
  */
61
61
  export function tasks(opts = {}) {
62
+ const tokenEnv = opts.tokenEnv ?? 'GITHUB_TOKEN';
63
+ const githubToken = secret(tokenEnv);
62
64
  // Preflight check task
63
65
  const preflight = task('github-release:preflight')
64
66
  .cache({ enabled: false })
67
+ .env(tokenEnv, githubToken)
65
68
  .steps(step('Run Preflight Checks', function* (_ctx) {
66
- yield* runPreflightChecks(opts.repository, opts.packages);
69
+ yield* runPreflightChecks(opts.repository, opts.packages, tokenEnv);
67
70
  }));
68
71
  // Create releases task
69
72
  const create = task('github-release:create')
70
73
  .needs(preflight)
71
74
  .cache({ enabled: false })
75
+ .env(tokenEnv, githubToken)
72
76
  .steps(step('Create GitHub Releases', function* (_ctx) {
73
77
  const packages = yield* resolvePackages(opts);
74
78
  if (packages.length === 0) {
@@ -83,6 +87,7 @@ export function tasks(opts = {}) {
83
87
  const upload = task('github-release:upload')
84
88
  .needs(create)
85
89
  .cache({ enabled: false })
90
+ .env(tokenEnv, githubToken)
86
91
  .steps(step('Upload Release Assets', function* (_ctx) {
87
92
  const packages = opts.packages ?? [];
88
93
  const packagesWithAssets = packages.filter((p) => p.assets && p.assets.length > 0);
@@ -94,7 +99,11 @@ export function tasks(opts = {}) {
94
99
  for (const pkg of packagesWithAssets) {
95
100
  if (!pkg.assets)
96
101
  continue;
97
- const uploaded = yield* uploadAssets(pkg.tagName, pkg.assets, opts.dryRun);
102
+ const uploaded = yield* uploadAssets(pkg.tagName, pkg.assets, {
103
+ dryRun: opts.dryRun,
104
+ repository: opts.repository,
105
+ tokenEnv,
106
+ });
98
107
  if (uploaded.length > 0) {
99
108
  yield summary.md(`Uploaded ${uploaded.length} asset(s) to ${pkg.tagName}`);
100
109
  }
@@ -148,6 +157,8 @@ function* createReleases(packages, opts) {
148
157
  latest: opts.latest,
149
158
  discussionCategory: opts.discussionCategory,
150
159
  dryRun: opts.dryRun,
160
+ repository: opts.repository,
161
+ tokenEnv: opts.tokenEnv ?? 'GITHUB_TOKEN',
151
162
  });
152
163
  if (result) {
153
164
  results.push(result);
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,12 @@ export interface CreateReleaseOptions {
7
7
  latest?: boolean;
8
8
  discussionCategory?: string;
9
9
  dryRun?: boolean;
10
+ repository?: string;
11
+ tokenEnv?: string;
10
12
  }
11
13
  /**
12
14
  * Creates a GitHub release for a package.
13
- * Yields shell commands and returns the release result.
15
+ * Yields HTTP ops and returns the release result.
14
16
  */
15
17
  export declare function createRelease(pkg: PackageReleaseConfig, opts?: CreateReleaseOptions): Generator<unknown, ReleaseResult | null, unknown>;
16
18
  //# sourceMappingURL=create-release.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-release.d.ts","sourceRoot":"","sources":["../../src/steps/create-release.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAmFD;;;GAGG;AACH,wBAAiB,aAAa,CAC5B,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,oBAAyB,GAC9B,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,CAsBnD"}
1
+ {"version":3,"file":"create-release.d.ts","sourceRoot":"","sources":["../../src/steps/create-release.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAsFD;;;GAGG;AACH,wBAAiB,aAAa,CAC5B,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,oBAAyB,GAC9B,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,CA8BnD"}
@@ -1,35 +1,32 @@
1
- import { CommandBuilder, sh } from '@kitsi/cli';
1
+ import { sh } from '@kitsi/cli';
2
+ import { resolveRepository } from './detect-repository.js';
3
+ import { buildGitHubRequest, formatGitHubApiError, parseGitHubJson } from './github-api.js';
2
4
  /**
3
- * Builds the gh release create template parts from options.
5
+ * Builds the GitHub API payload from options.
4
6
  */
5
- function buildReleaseTemplateParts(pkg, opts) {
6
- const parts = [];
7
- const pushFlag = (flag) => {
8
- parts.push({ type: 'text', value: ` ${flag}` });
7
+ function buildReleasePayload(pkg, opts) {
8
+ const payload = {
9
+ tag_name: pkg.tagName,
10
+ name: pkg.title ?? pkg.tagName,
11
+ draft: opts.draft ?? false,
12
+ prerelease: opts.prerelease ?? false,
9
13
  };
10
- const pushFlagValue = (flag, value) => {
11
- parts.push({ type: 'text', value: ` ${flag} ` });
12
- parts.push({ type: 'interpolated', value });
13
- };
14
- if (opts.draft)
15
- pushFlag('--draft');
16
- if (opts.prerelease)
17
- pushFlag('--prerelease');
18
- if (opts.generateNotes !== false)
19
- pushFlag('--generate-notes');
20
- if (opts.latest === true)
21
- pushFlag('--latest');
22
- else if (opts.latest === false)
23
- pushFlag('--latest=false');
14
+ if (opts.generateNotes !== false) {
15
+ payload.generate_release_notes = true;
16
+ }
17
+ if (opts.latest === true) {
18
+ payload.make_latest = 'true';
19
+ }
20
+ else if (opts.latest === false) {
21
+ payload.make_latest = 'false';
22
+ }
24
23
  if (opts.discussionCategory) {
25
- pushFlagValue('--discussion-category', opts.discussionCategory);
24
+ payload.discussion_category_name = opts.discussionCategory;
26
25
  }
27
- const title = pkg.title ?? pkg.tagName;
28
- pushFlagValue('--title', title);
29
26
  if (pkg.body) {
30
- pushFlagValue('--notes', pkg.body);
27
+ payload.body = pkg.body;
31
28
  }
32
- return parts;
29
+ return payload;
33
30
  }
34
31
  /**
35
32
  * Creates a dry run result for testing.
@@ -47,27 +44,25 @@ function createDryRunResult(pkg, opts) {
47
44
  };
48
45
  }
49
46
  /**
50
- * Parses the release result from gh output.
47
+ * Parses the release result from GitHub API response.
51
48
  */
52
- function parseReleaseResult(pkg, output, opts) {
53
- const urlMatch = output.match(/https:\/\/github\.com\/[^\s]+/);
54
- const url = urlMatch ? urlMatch[0] : '';
55
- const idMatch = url.match(/\/releases\/tag\/([^/\s]+)/);
56
- const id = (idMatch ? idMatch[1] : pkg.tagName) ?? '';
49
+ function parseReleaseResult(pkg, data, opts) {
50
+ const url = data.html_url ?? '';
51
+ const id = data.id ? String(data.id) : pkg.tagName;
57
52
  return {
58
53
  name: pkg.name,
59
54
  version: pkg.version,
60
55
  tagName: pkg.tagName,
61
56
  url,
62
57
  id,
63
- isDraft: opts.draft ?? false,
64
- isPrerelease: opts.prerelease ?? false,
58
+ isDraft: data.draft ?? opts.draft ?? false,
59
+ isPrerelease: data.prerelease ?? opts.prerelease ?? false,
65
60
  uploadedAssets: [],
66
61
  };
67
62
  }
68
63
  /**
69
64
  * Creates a GitHub release for a package.
70
- * Yields shell commands and returns the release result.
65
+ * Yields HTTP ops and returns the release result.
71
66
  */
72
67
  export function* createRelease(pkg, opts = {}) {
73
68
  const tagName = pkg.tagName;
@@ -75,17 +70,21 @@ export function* createRelease(pkg, opts = {}) {
75
70
  yield sh `echo "[DRY RUN] Would create release: ${tagName}"`.must();
76
71
  return createDryRunResult(pkg, opts);
77
72
  }
78
- const template = [
79
- { type: 'text', value: 'gh release create ' },
80
- { type: 'interpolated', value: tagName },
81
- ...buildReleaseTemplateParts(pkg, opts),
82
- { type: 'text', value: ' 2>&1' },
83
- ];
84
- const command = new CommandBuilder({ kind: 'command', capture: 'result', template });
85
- const result = (yield command.stdout());
86
- if (result === '') {
73
+ const repository = yield* resolveRepository(opts.repository);
74
+ if (!repository) {
75
+ return null; // Analysis mode
76
+ }
77
+ const payload = buildReleasePayload(pkg, opts);
78
+ const url = `https://api.github.com/repos/${repository}/releases`;
79
+ const request = buildGitHubRequest('POST', url, opts.tokenEnv ?? 'GITHUB_TOKEN').jsonBody(payload);
80
+ const response = (yield request);
81
+ if (response.body === '') {
87
82
  return null; // Analysis mode
88
83
  }
89
- return parseReleaseResult(pkg, result, opts);
84
+ if (response.status < 200 || response.status >= 300) {
85
+ throw new Error(formatGitHubApiError(response.status, response.body));
86
+ }
87
+ const data = parseGitHubJson(response);
88
+ return parseReleaseResult(pkg, data, opts);
90
89
  }
91
90
  //# sourceMappingURL=create-release.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-release.js","sourceRoot":"","sources":["../../src/steps/create-release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-release.js","sourceRoot":"","sources":["../../src/steps/create-release.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,8 @@
3
3
  * Yields shell commands and returns the repository in 'owner/repo' format.
4
4
  */
5
5
  export declare function detectRepository(): Generator<unknown, string | null, unknown>;
6
+ /**
7
+ * Resolves the repository or returns null during analysis.
8
+ */
9
+ export declare function resolveRepository(explicitRepo: string | undefined): Generator<unknown, string | null, unknown>;
6
10
  //# sourceMappingURL=detect-repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-repository.d.ts","sourceRoot":"","sources":["../../src/steps/detect-repository.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAiB,gBAAgB,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,CA+B9E"}
1
+ {"version":3,"file":"detect-repository.d.ts","sourceRoot":"","sources":["../../src/steps/detect-repository.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAiB,gBAAgB,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,CA+B9E;AAED;;GAEG;AACH,wBAAiB,iBAAiB,CAChC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,CAkB5C"}
@@ -29,4 +29,21 @@ export function* detectRepository() {
29
29
  }
30
30
  return null;
31
31
  }
32
+ /**
33
+ * Resolves the repository or returns null during analysis.
34
+ */
35
+ export function* resolveRepository(explicitRepo) {
36
+ if (explicitRepo) {
37
+ return explicitRepo;
38
+ }
39
+ const detected = yield* detectRepository();
40
+ if (detected) {
41
+ return detected;
42
+ }
43
+ const analysisCheck = (yield sh `echo "analysis"`.stdout());
44
+ if (analysisCheck === '') {
45
+ return null;
46
+ }
47
+ throw new Error('GitHub repository not found. Set the repository option or configure the origin git remote.');
48
+ }
32
49
  //# sourceMappingURL=detect-repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-repository.js","sourceRoot":"","sources":["../../src/steps/detect-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,gBAAgB;IAC/B,4BAA4B;IAC5B,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,CAAA,kDAAkD,CAAC,MAAM,EAAE,CAAW,CAAC;IAElG,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,CAAC,6BAA6B;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,qCAAqC;IACrC,2CAA2C;IAC3C,2DAA2D;IAE3D,MAAM,QAAQ,GAAG;QACf,2CAA2C;QAC3C,2CAA2C;KAC5C,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"detect-repository.js","sourceRoot":"","sources":["../../src/steps/detect-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,gBAAgB;IAC/B,4BAA4B;IAC5B,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,CAAA,kDAAkD,CAAC,MAAM,EAAE,CAAW,CAAC;IAElG,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,CAAC,6BAA6B;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,qCAAqC;IACrC,2CAA2C;IAC3C,2DAA2D;IAE3D,MAAM,QAAQ,GAAG;QACf,2CAA2C;QAC3C,2CAA2C;KAC5C,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,SAAS,CAAC,CAAC,iBAAiB,CAChC,YAAgC;IAEhC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CAAA,iBAAiB,CAAC,MAAM,EAAE,CAAW,CAAC;IACrE,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { HttpBuilder, HttpMethod, HttpResponse } from '@kitsi/cli';
2
+ export declare const buildGitHubRequest: (method: HttpMethod, url: string, tokenEnv: string) => HttpBuilder;
3
+ export declare function parseGitHubJson<T>(response: HttpResponse): T;
4
+ export declare function formatGitHubApiError(status: number, body: string): string;
5
+ export declare function stripUploadUrlTemplate(uploadUrl: string): string;
6
+ //# sourceMappingURL=github-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-api.d.ts","sourceRoot":"","sources":["../../src/steps/github-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAIxE,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,UAAU,EAClB,KAAK,MAAM,EACX,UAAU,MAAM,KACf,WAKwD,CAAC;AAE5D,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,GAAG,CAAC,CAM5D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAkBzE;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhE"}
@@ -0,0 +1,41 @@
1
+ import { http, secret } from '@kitsi/cli';
2
+ const API_VERSION = '2022-11-28';
3
+ export const buildGitHubRequest = (method, url, tokenEnv) => http
4
+ .request(method, url)
5
+ .header('Accept', 'application/vnd.github+json')
6
+ .header('X-GitHub-Api-Version', API_VERSION)
7
+ .header('Authorization', ['Bearer ', secret(tokenEnv)]);
8
+ export function parseGitHubJson(response) {
9
+ try {
10
+ return JSON.parse(response.body);
11
+ }
12
+ catch {
13
+ throw new Error('GitHub API response was not valid JSON.');
14
+ }
15
+ }
16
+ export function formatGitHubApiError(status, body) {
17
+ const prefix = `GitHub API error (${status})`;
18
+ if (!body)
19
+ return prefix;
20
+ try {
21
+ const parsed = JSON.parse(body);
22
+ let message = parsed.message ?? body;
23
+ if (parsed.errors && parsed.errors.length > 0) {
24
+ const details = parsed.errors
25
+ .map((error) => error.message)
26
+ .filter((value) => typeof value === 'string' && value.length > 0);
27
+ if (details.length > 0) {
28
+ message = `${message} (${details.join(', ')})`;
29
+ }
30
+ }
31
+ return `${prefix}: ${message}`;
32
+ }
33
+ catch {
34
+ return `${prefix}: ${body}`;
35
+ }
36
+ }
37
+ export function stripUploadUrlTemplate(uploadUrl) {
38
+ const braceIndex = uploadUrl.indexOf('{');
39
+ return braceIndex === -1 ? uploadUrl : uploadUrl.slice(0, braceIndex);
40
+ }
41
+ //# sourceMappingURL=github-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-api.js","sourceRoot":"","sources":["../../src/steps/github-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAkB,EAClB,GAAW,EACX,QAAgB,EACH,EAAE,CACf,IAAI;KACD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;KACpB,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;KAC3C,MAAM,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE5D,MAAM,UAAU,eAAe,CAAI,QAAsB;IACvD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAM,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,IAAY;IAC/D,MAAM,MAAM,GAAG,qBAAqB,MAAM,GAAG,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA+D,CAAC;QAC9F,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;iBAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC7B,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACxE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { createRelease } from './create-release.js';
2
2
  export type { CreateReleaseOptions } from './create-release.js';
3
- export { detectRepository } from './detect-repository.js';
3
+ export { detectRepository, resolveRepository } from './detect-repository.js';
4
4
  export { runPreflightChecks } from './preflight-checks.js';
5
5
  export { uploadAssets } from './upload-assets.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { createRelease } from './create-release.js';
2
- export { detectRepository } from './detect-repository.js';
2
+ export { detectRepository, resolveRepository } from './detect-repository.js';
3
3
  export { runPreflightChecks } from './preflight-checks.js';
4
4
  export { uploadAssets } from './upload-assets.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import type { CheckResult } from '../types/check-result.js';
2
2
  import type { PackageReleaseConfig } from '../types/release-options.js';
3
3
  /**
4
- * Runs GitHub CLI availability check.
4
+ * Runs HTTP client availability check.
5
5
  */
6
- export declare function checkGhCliStep(): Generator<unknown, CheckResult | null, unknown>;
6
+ export declare function checkHttpClientStep(): CheckResult;
7
7
  /**
8
- * Runs GitHub authentication check.
8
+ * Runs GitHub token availability check.
9
9
  */
10
- export declare function checkGhAuthStep(): Generator<unknown, CheckResult, unknown>;
10
+ export declare function checkGithubTokenStep(tokenEnv: string): Generator<unknown, CheckResult | null, unknown>;
11
11
  /**
12
12
  * Detects and validates the GitHub repository.
13
13
  */
@@ -22,5 +22,5 @@ export declare function checkTagsStep(packages: PackageReleaseConfig[]): Generat
22
22
  /**
23
23
  * Runs all preflight checks and emits summary.
24
24
  */
25
- export declare function runPreflightChecks(explicitRepo: string | undefined, packages: PackageReleaseConfig[] | undefined): Generator<unknown, void, unknown>;
25
+ export declare function runPreflightChecks(explicitRepo: string | undefined, packages: PackageReleaseConfig[] | undefined, tokenEnv?: string): Generator<unknown, void, unknown>;
26
26
  //# sourceMappingURL=preflight-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preflight-checks.d.ts","sourceRoot":"","sources":["../../src/steps/preflight-checks.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE;;GAEG;AACH,wBAAiB,cAAc,IAAI,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,CAAC,CASjF;AAED;;GAEG;AACH,wBAAiB,eAAe,IAAI,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAI3E;AAED;;GAEG;AACH,wBAAiB,mBAAmB,CAClC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,SAAS,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,OAAO,CAAC,CAchF;AAED;;GAEG;AACH,wBAAiB,aAAa,CAC5B,QAAQ,EAAE,oBAAoB,EAAE,GAC/B,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAa1C;AAED;;GAEG;AACH,wBAAiB,kBAAkB,CACjC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,SAAS,GAC3C,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAgCnC"}
1
+ {"version":3,"file":"preflight-checks.d.ts","sourceRoot":"","sources":["../../src/steps/preflight-checks.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAIxE;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAGjD;AAED;;GAEG;AACH,wBAAiB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,CAAC,CAWjD;AAED;;GAEG;AACH,wBAAiB,mBAAmB,CAClC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,SAAS,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,OAAO,CAAC,CAchF;AAED;;GAEG;AACH,wBAAiB,aAAa,CAC5B,QAAQ,EAAE,oBAAoB,EAAE,GAC/B,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAa1C;AAED;;GAEG;AACH,wBAAiB,kBAAkB,CACjC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAC5C,QAAQ,SAAiB,GACxB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAiCnC"}
@@ -1,23 +1,30 @@
1
1
  import { emit, sh, summary } from '@kitsi/cli';
2
- import { checkGhAuth, checkGhCli, checkRepository, checkTags, formatCheckResults, hasFailures, } from '../checks/index.js';
2
+ import { checkGithubToken, checkHttpClient, checkRepository, checkTags, formatCheckResults, hasFailures, } from '../checks/index.js';
3
3
  import { refs } from '../refs.js';
4
4
  import { detectRepository } from './detect-repository.js';
5
+ import { buildGitHubRequest } from './github-api.js';
5
6
  /**
6
- * Runs GitHub CLI availability check.
7
+ * Runs HTTP client availability check.
7
8
  */
8
- export function* checkGhCliStep() {
9
- const ghVersion = (yield sh `command -v gh >/dev/null 2>&1 && echo "yes" || echo "no"`.stdout());
10
- if (ghVersion === '') {
11
- return null; // Analysis mode
12
- }
13
- return checkGhCli(ghVersion.trim() === 'yes');
9
+ export function checkHttpClientStep() {
10
+ const hasFetch = typeof fetch === 'function';
11
+ return checkHttpClient(hasFetch);
14
12
  }
15
13
  /**
16
- * Runs GitHub authentication check.
14
+ * Runs GitHub token availability check.
17
15
  */
18
- export function* checkGhAuthStep() {
19
- const authStatus = (yield sh `gh auth status >/dev/null 2>&1 && echo "yes" || echo "no"`.stdout());
20
- return checkGhAuth(authStatus.trim() === 'yes');
16
+ export function* checkGithubTokenStep(tokenEnv) {
17
+ try {
18
+ const request = buildGitHubRequest('GET', 'https://api.github.com/user', tokenEnv);
19
+ const response = (yield request);
20
+ if (response.body === '') {
21
+ return null; // Analysis mode
22
+ }
23
+ return checkGithubToken(response.status >= 200 && response.status < 300, tokenEnv);
24
+ }
25
+ catch {
26
+ return checkGithubToken(false, tokenEnv);
27
+ }
21
28
  }
22
29
  /**
23
30
  * Detects and validates the GitHub repository.
@@ -50,16 +57,17 @@ export function* checkTagsStep(packages) {
50
57
  /**
51
58
  * Runs all preflight checks and emits summary.
52
59
  */
53
- export function* runPreflightChecks(explicitRepo, packages) {
60
+ export function* runPreflightChecks(explicitRepo, packages, tokenEnv = 'GITHUB_TOKEN') {
54
61
  const checkResults = [];
55
- // Check gh CLI
56
- const ghCliCheck = yield* checkGhCliStep();
57
- if (ghCliCheck === null) {
62
+ // Check HTTP client
63
+ const httpClientCheck = checkHttpClientStep();
64
+ checkResults.push(httpClientCheck);
65
+ // Check GitHub token
66
+ const tokenCheck = yield* checkGithubTokenStep(tokenEnv);
67
+ if (tokenCheck === null) {
58
68
  return; // Analysis mode
59
69
  }
60
- checkResults.push(ghCliCheck);
61
- // Check authentication
62
- checkResults.push(yield* checkGhAuthStep());
70
+ checkResults.push(tokenCheck);
63
71
  // Check repository
64
72
  const { check: repoCheck } = yield* checkRepositoryStep(explicitRepo);
65
73
  checkResults.push(repoCheck);
@@ -1 +1 @@
1
- {"version":3,"file":"preflight-checks.js","sourceRoot":"","sources":["../../src/steps/preflight-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight-checks.js","sourceRoot":"","sources":["../../src/steps/preflight-checks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
+ export interface UploadAssetsOptions {
2
+ dryRun?: boolean;
3
+ repository?: string;
4
+ tokenEnv?: string;
5
+ }
1
6
  /**
2
7
  * Uploads assets to an existing GitHub release.
3
- * Yields shell commands and returns the list of uploaded asset paths.
8
+ * Yields HTTP ops and returns the list of uploaded asset paths.
4
9
  */
5
- export declare function uploadAssets(tagName: string, assets: string[], dryRun?: boolean): Generator<unknown, string[], unknown>;
10
+ export declare function uploadAssets(tagName: string, assets: string[], options?: UploadAssetsOptions | boolean | undefined): Generator<unknown, string[], unknown>;
6
11
  //# sourceMappingURL=upload-assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-assets.d.ts","sourceRoot":"","sources":["../../src/steps/upload-assets.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAiB,YAAY,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAoCvC"}
1
+ {"version":3,"file":"upload-assets.d.ts","sourceRoot":"","sources":["../../src/steps/upload-assets.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkHD;;;GAGG;AACH,wBAAiB,YAAY,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,mBAAmB,GAAG,OAAO,GAAG,SAAc,GACtD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAwBvC"}
@@ -1,32 +1,102 @@
1
+ import { basename } from 'node:path';
1
2
  import { sh } from '@kitsi/cli';
3
+ import { resolveRepository } from './detect-repository.js';
4
+ import { buildGitHubRequest, formatGitHubApiError, parseGitHubJson, stripUploadUrlTemplate, } from './github-api.js';
5
+ function* fetchReleaseByTag(repository, tagName, tokenEnv) {
6
+ const url = `https://api.github.com/repos/${repository}/releases/tags/${tagName}`;
7
+ const request = buildGitHubRequest('GET', url, tokenEnv);
8
+ const response = (yield request);
9
+ if (response.body === '') {
10
+ return null;
11
+ }
12
+ if (response.status < 200 || response.status >= 300) {
13
+ throw new Error(formatGitHubApiError(response.status, response.body));
14
+ }
15
+ return parseGitHubJson(response);
16
+ }
17
+ const normalizeOptions = (options) => {
18
+ const resolved = typeof options === 'boolean' ? { dryRun: options } : (options ?? {});
19
+ return {
20
+ dryRun: Boolean(resolved.dryRun),
21
+ repository: resolved.repository,
22
+ tokenEnv: resolved.tokenEnv ?? 'GITHUB_TOKEN',
23
+ };
24
+ };
25
+ function* resolveUploadContext(tagName, options) {
26
+ const repository = yield* resolveRepository(options.repository);
27
+ if (!repository) {
28
+ return null; // Analysis mode
29
+ }
30
+ const release = yield* fetchReleaseByTag(repository, tagName, options.tokenEnv);
31
+ if (!release) {
32
+ return null; // Analysis mode
33
+ }
34
+ const baseUploadUrl = release.upload_url ? stripUploadUrlTemplate(release.upload_url) : '';
35
+ if (!baseUploadUrl) {
36
+ throw new Error('GitHub API response missing upload_url.');
37
+ }
38
+ return { baseUploadUrl, tokenEnv: options.tokenEnv };
39
+ }
40
+ function* ensureAssetExists(asset) {
41
+ const exists = (yield sh `test -f "${asset}" && echo "yes" || echo "no"`.stdout());
42
+ if (exists === '') {
43
+ return false; // Analysis mode
44
+ }
45
+ if (exists.trim() === 'yes') {
46
+ return true;
47
+ }
48
+ yield sh `echo "Warning: Asset not found: ${asset}"`.must();
49
+ return false;
50
+ }
51
+ function* uploadAsset(asset, context) {
52
+ const ready = yield* ensureAssetExists(asset);
53
+ if (!ready) {
54
+ return false;
55
+ }
56
+ const assetName = basename(asset);
57
+ const encodedName = encodeURIComponent(assetName);
58
+ const uploadUrl = `${context.baseUploadUrl}?name=${encodedName}`;
59
+ const request = buildGitHubRequest('POST', uploadUrl, context.tokenEnv)
60
+ .header('Content-Type', 'application/octet-stream')
61
+ .bodyPath(asset);
62
+ const uploadResponse = (yield request);
63
+ if (uploadResponse.body === '') {
64
+ return false; // Analysis mode
65
+ }
66
+ if (uploadResponse.status >= 200 && uploadResponse.status < 300) {
67
+ return true;
68
+ }
69
+ yield sh `echo "Warning: Failed to upload asset: ${asset} (status ${uploadResponse.status})"`.must();
70
+ return false;
71
+ }
72
+ function* uploadAssetsDryRun(tagName, assets) {
73
+ const uploaded = [];
74
+ for (const asset of assets) {
75
+ yield sh `echo "[DRY RUN] Would upload asset: ${asset} to ${tagName}"`.must();
76
+ uploaded.push(asset);
77
+ }
78
+ return uploaded;
79
+ }
2
80
  /**
3
81
  * Uploads assets to an existing GitHub release.
4
- * Yields shell commands and returns the list of uploaded asset paths.
82
+ * Yields HTTP ops and returns the list of uploaded asset paths.
5
83
  */
6
- export function* uploadAssets(tagName, assets, dryRun) {
84
+ export function* uploadAssets(tagName, assets, options = {}) {
7
85
  if (assets.length === 0) {
8
86
  return [];
9
87
  }
88
+ const opts = normalizeOptions(options);
89
+ if (opts.dryRun) {
90
+ return yield* uploadAssetsDryRun(tagName, assets);
91
+ }
92
+ const context = yield* resolveUploadContext(tagName, opts);
93
+ if (!context) {
94
+ return []; // Analysis mode
95
+ }
10
96
  const uploaded = [];
11
97
  for (const asset of assets) {
12
- if (dryRun) {
13
- yield sh `echo "[DRY RUN] Would upload asset: ${asset} to ${tagName}"`.must();
14
- uploaded.push(asset);
15
- continue;
16
- }
17
- // Check if asset exists
18
- const exists = (yield sh `test -f "${asset}" && echo "yes" || echo "no"`.stdout());
19
- if (exists === '') {
20
- continue; // Analysis mode
21
- }
22
- if (exists.trim() !== 'yes') {
23
- // Asset doesn't exist, skip with warning
24
- yield sh `echo "Warning: Asset not found: ${asset}"`.must();
25
- continue;
26
- }
27
- // Upload the asset
28
- const result = yield sh `gh release upload "${tagName}" "${asset}" --clobber`;
29
- if (result.ok) {
98
+ const didUpload = yield* uploadAsset(asset, context);
99
+ if (didUpload) {
30
100
  uploaded.push(asset);
31
101
  }
32
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upload-assets.js","sourceRoot":"","sources":["../../src/steps/upload-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,YAAY,CAC3B,OAAe,EACf,MAAgB,EAChB,MAAgB;IAEhB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,CAAA,uCAAuC,KAAK,OAAO,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA,YAAY,KAAK,8BAA8B,CAAC,MAAM,EAAE,CAAW,CAAC;QAE5F,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,SAAS,CAAC,gBAAgB;QAC5B,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAC5B,yCAAyC;YACzC,MAAM,EAAE,CAAA,mCAAmC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA,sBAAsB,OAAO,MAAM,KAAK,aAAa,CAAC;QAE7E,IAAK,MAA0B,CAAC,EAAE,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"upload-assets.js","sourceRoot":"","sources":["../../src/steps/upload-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAuBzB,QAAQ,CAAC,CAAC,iBAAiB,CACzB,UAAkB,EAClB,OAAe,EACf,QAAgB;IAEhB,MAAM,GAAG,GAAG,gCAAgC,UAAU,kBAAkB,OAAO,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAiB,CAAC;IACjD,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,eAAe,CAAwB,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,gBAAgB,GAAG,CACvB,OAAkD,EAC/B,EAAE;IACrB,MAAM,QAAQ,GAAG,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtF,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,cAAc;KAC9C,CAAC;AACJ,CAAC,CAAC;AAEF,QAAQ,CAAC,CAAC,oBAAoB,CAC5B,OAAe,EACf,OAA0B;IAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,CAAC,gBAAgB;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,CAAC,gBAAgB;IAC/B,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,QAAQ,CAAC,CAAC,iBAAiB,CAAC,KAAa;IACvC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA,YAAY,KAAK,8BAA8B,CAAC,MAAM,EAAE,CAAW,CAAC;IAC5F,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,CAAC,gBAAgB;IAChC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,CAAA,mCAAmC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAa,EAAE,OAAsB;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,aAAa,SAAS,WAAW,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC;SACpE,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;SAClD,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnB,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAiB,CAAC;IACvD,IAAI,cAAc,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,gBAAgB;IAChC,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,CAAA,0CAA0C,KAAK,YAAY,cAAc,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,QAAQ,CAAC,CAAC,kBAAkB,CAC1B,OAAe,EACf,MAAgB;IAEhB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,CAAA,uCAAuC,KAAK,OAAO,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,YAAY,CAC3B,OAAe,EACf,MAAgB,EAChB,UAAqD,EAAE;IAEvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,gBAAgB;IAC7B,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -71,6 +71,11 @@ export interface ReleaseOptions {
71
71
  * Creates a linked discussion when specified.
72
72
  */
73
73
  discussionCategory?: string | undefined;
74
+ /**
75
+ * Environment variable name that holds the GitHub token.
76
+ * (default: 'GITHUB_TOKEN')
77
+ */
78
+ tokenEnv?: string | undefined;
74
79
  /** Skip specific lifecycle steps */
75
80
  skip?: {
76
81
  /** Skip preflight checks */
@@ -1 +1 @@
1
- {"version":3,"file":"release-options.d.ts","sourceRoot":"","sources":["../../src/types/release-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAE9C;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEtC,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE5B,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEjC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE7B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,oCAAoC;IACpC,IAAI,CAAC,EACD;QACE,4BAA4B;QAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChC,6BAA6B;QAC7B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC7B,4BAA4B;QAC5B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAC9B,GACD,SAAS,CAAC;CACf"}
1
+ {"version":3,"file":"release-options.d.ts","sourceRoot":"","sources":["../../src/types/release-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAE9C;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEtC,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE5B,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEjC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE7B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,oCAAoC;IACpC,IAAI,CAAC,EACD;QACE,4BAA4B;QAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChC,6BAA6B;QAC7B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC7B,4BAA4B;QAC5B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAC9B,GACD,SAAS,CAAC;CACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitsi/pack-github-release",
3
- "version": "0.0.4",
3
+ "version": "0.0.7",
4
4
  "description": "Kitsi pack for publishing GitHub releases with auto-generated release notes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,7 +22,8 @@
22
22
  "clean": "rm -rf dist coverage",
23
23
  "lint": "biome check .",
24
24
  "lint:fix": "biome check --write .",
25
- "typecheck": "bun run tsc --noEmit",
25
+ "typecheck": "bun run tsc --noEmit && bun run tsc --noEmit -p tsconfig.test.json",
26
+ "typecheck:tests": "bun run tsc --noEmit -p tsconfig.test.json",
26
27
  "test": "vitest run",
27
28
  "test:watch": "vitest --watch",
28
29
  "test:coverage": "mkdir -p reports && vitest run --coverage",