| 65 | // ---- Config ---- |
| 66 | |
| 67 | export interface PublishConfig { |
| 68 | /** Package manager to use for packing. "auto" detects from lockfile. Default: "auto" */ |
| 69 | packManager: 'auto' | 'npm' | 'pnpm' | 'bun' | 'yarn'; |
| 70 | /** Command to use for publishing. "npm" uses npm publish (supports OIDC). Default: "npm" */ |
| 71 | publishManager: 'npm' | 'pnpm' | 'bun' | 'yarn'; |
| 72 | /** Extra args appended to the publish command (e.g., "--tag next") */ |
| 73 | publishArgs: string[]; |
| 74 | /** |
| 75 | * How to handle workspace:/catalog: protocol resolution. |
| 76 | * "pack" = use PM's pack to build a clean tarball, then publish the tarball (recommended) |
| 77 | * "in-place" = resolve protocols by rewriting package.json before publish |
| 78 | * "none" = don't resolve (only if PM's publish handles it natively) |
| 79 | * Default: "pack" |
| 80 | */ |
| 81 | protocolResolution: 'pack' | 'in-place' | 'none'; |
| 82 | /** |
| 83 | * Attach provenance attestation when publishing via npm. |
| 84 | * Requires a supported CI environment with OIDC (GitHub Actions, GitLab CI, etc.). |
| 85 | * Only works with publishManager "npm". |
| 86 | * Default: false |
| 87 | */ |
| 88 | provenance: boolean; |
| 89 | /** |
| 90 | * Use npm staged publishing (`npm stage publish`). |
| 91 | * Stages the publish on npmjs.com, requiring manual 2FA approval before going live. |
| 92 | * Only works with publishManager "npm" and requires npm >= 11.15.0. |
| 93 | * Default: false |
| 94 | */ |
| 95 | npmStaged: boolean; |
| 96 | } |
| 97 | |
| 98 | export interface ChannelConfig { |
| 99 | /** Branch that triggers this channel (required) */ |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…