@mannyc1/ts-release 0.0.7 → 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/ARCHITECTURE.md +184 -92
- package/CHANGELOG.md +197 -0
- package/LICENSE +21 -0
- package/README.md +404 -327
- package/SPEC.md +257 -310
- package/apps/release-ts/README.md +39 -0
- package/apps/release-ts/src/cli/command.ts +164 -0
- package/apps/release-ts/src/cli/commands.ts +351 -0
- package/apps/release-ts/src/cli/main.ts +43 -0
- package/apps/release-ts/src/cli/node-main.ts +49 -0
- package/apps/ts-release-agents/LICENSE +21 -0
- package/apps/ts-release-agents/README.md +21 -0
- package/apps/ts-release-agents/evals/cases.json +11 -0
- package/apps/ts-release-agents/manifests/claude.json +5 -0
- package/apps/ts-release-agents/manifests/codex.json +5 -0
- package/apps/ts-release-agents/package.json +11 -0
- package/apps/ts-release-agents/skills/release/SKILL.md +48 -0
- package/apps/ts-release-agents/skills/release/references/configuration.md +18 -0
- package/apps/ts-release-agents/skills/release/references/recovery.md +10 -0
- package/apps/ts-release-agents/skills/release/references/staged-workflow.md +12 -0
- package/apps/ts-release-agents/skills/release/references/target-selection.md +13 -0
- package/apps/ts-release-agents/skills/release/references/verification.md +14 -0
- package/apps/ts-release-agents/src/build.ts +105 -0
- package/apps/ts-release-agents/src/check.ts +122 -0
- package/apps/ts-release-agents/src/install.ts +121 -0
- package/apps/ts-release-agents/test/contract.test.ts +56 -0
- package/apps/ts-release-agents/tsconfig.json +5 -0
- package/dist/api/api.d.ts +15 -0
- package/dist/api/api.d.ts.map +1 -0
- package/dist/api/api.js +244 -0
- package/dist/api/api.js.map +1 -0
- package/dist/api/errors.d.ts +39 -0
- package/dist/api/errors.d.ts.map +1 -0
- package/dist/api/errors.js +32 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/api/input.d.ts +10 -0
- package/dist/api/input.d.ts.map +1 -0
- package/dist/api/input.js +73 -0
- package/dist/api/input.js.map +1 -0
- package/dist/api/runtime.d.ts +18 -0
- package/dist/api/runtime.d.ts.map +1 -0
- package/dist/api/runtime.js +7 -0
- package/dist/api/runtime.js.map +1 -0
- package/dist/api/types.d.ts +76 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +17 -0
- package/dist/api/types.js.map +1 -0
- package/dist/bin/ts-release.js +39346 -0
- package/dist/capabilities/bun-targets.d.ts +3 -0
- package/dist/capabilities/bun-targets.d.ts.map +1 -0
- package/dist/capabilities/bun-targets.js +3 -0
- package/dist/capabilities/bun-targets.js.map +1 -0
- package/dist/capabilities/field-ownership.d.ts +17 -0
- package/dist/capabilities/field-ownership.d.ts.map +1 -0
- package/dist/capabilities/field-ownership.js +40 -0
- package/dist/capabilities/field-ownership.js.map +1 -0
- package/dist/capabilities/module.d.ts +91 -0
- package/dist/capabilities/module.d.ts.map +1 -0
- package/dist/capabilities/module.js +2 -0
- package/dist/capabilities/module.js.map +1 -0
- package/dist/capabilities/registry.d.ts +829 -0
- package/dist/capabilities/registry.d.ts.map +1 -0
- package/dist/capabilities/registry.js +291 -0
- package/dist/capabilities/registry.js.map +1 -0
- package/dist/config/config.d.ts +6 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +42 -0
- package/dist/config/config.js.map +1 -0
- package/dist/correction/coordinator.d.ts +248 -0
- package/dist/correction/coordinator.d.ts.map +1 -0
- package/dist/correction/coordinator.js +274 -0
- package/dist/correction/coordinator.js.map +1 -0
- package/dist/correction/index.d.ts +3 -0
- package/dist/correction/index.d.ts.map +1 -0
- package/dist/correction/index.js +3 -0
- package/dist/correction/index.js.map +1 -0
- package/dist/correction/intent.d.ts +111 -0
- package/dist/correction/intent.d.ts.map +1 -0
- package/dist/correction/intent.js +146 -0
- package/dist/correction/intent.js.map +1 -0
- package/dist/drivers/archive.d.ts +9 -0
- package/dist/drivers/archive.d.ts.map +1 -0
- package/dist/drivers/archive.js +105 -0
- package/dist/drivers/archive.js.map +1 -0
- package/dist/drivers/contain.d.ts +6 -0
- package/dist/drivers/contain.d.ts.map +1 -0
- package/dist/drivers/contain.js +17 -0
- package/dist/drivers/contain.js.map +1 -0
- package/dist/drivers/environment.d.ts +4 -0
- package/dist/drivers/environment.d.ts.map +1 -0
- package/dist/drivers/environment.js +18 -0
- package/dist/drivers/environment.js.map +1 -0
- package/dist/drivers/errors.d.ts +9 -0
- package/dist/drivers/errors.d.ts.map +1 -0
- package/dist/drivers/errors.js +6 -0
- package/dist/drivers/errors.js.map +1 -0
- package/dist/drivers/glob.d.ts +2 -0
- package/dist/drivers/glob.d.ts.map +1 -0
- package/dist/drivers/glob.js +162 -0
- package/dist/drivers/glob.js.map +1 -0
- package/dist/drivers/process.d.ts +48 -0
- package/dist/drivers/process.d.ts.map +1 -0
- package/dist/drivers/process.js +257 -0
- package/dist/drivers/process.js.map +1 -0
- package/dist/drivers/python-wheel.d.ts +21 -0
- package/dist/drivers/python-wheel.d.ts.map +1 -0
- package/dist/drivers/python-wheel.js +109 -0
- package/dist/drivers/python-wheel.js.map +1 -0
- package/dist/drivers/redact.d.ts +4 -0
- package/dist/drivers/redact.d.ts.map +1 -0
- package/dist/drivers/redact.js +24 -0
- package/dist/drivers/redact.js.map +1 -0
- package/dist/drivers/seccomp-helper-source.d.ts +7 -0
- package/dist/drivers/seccomp-helper-source.d.ts.map +1 -0
- package/dist/drivers/seccomp-helper-source.js +121 -0
- package/dist/drivers/seccomp-helper-source.js.map +1 -0
- package/dist/drivers/utils.d.ts +4 -0
- package/dist/drivers/utils.d.ts.map +1 -0
- package/dist/drivers/utils.js +5 -0
- package/dist/drivers/utils.js.map +1 -0
- package/dist/drivers/workspace.d.ts +9 -0
- package/dist/drivers/workspace.d.ts.map +1 -0
- package/dist/drivers/workspace.js +53 -0
- package/dist/drivers/workspace.js.map +1 -0
- package/dist/extensions/provider-adapter.d.ts +48 -0
- package/dist/extensions/provider-adapter.d.ts.map +1 -0
- package/dist/extensions/provider-adapter.js +64 -0
- package/dist/extensions/provider-adapter.js.map +1 -0
- package/dist/host.d.ts +33 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +20 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/model/artifact-collection.d.ts +84 -0
- package/dist/model/artifact-collection.d.ts.map +1 -0
- package/dist/model/artifact-collection.js +185 -0
- package/dist/model/artifact-collection.js.map +1 -0
- package/dist/model/authority.d.ts +89 -0
- package/dist/model/authority.d.ts.map +1 -0
- package/dist/model/authority.js +80 -0
- package/dist/model/authority.js.map +1 -0
- package/dist/model/bun-targets.d.ts +34 -0
- package/dist/model/bun-targets.d.ts.map +1 -0
- package/dist/model/bun-targets.js +17 -0
- package/dist/model/bun-targets.js.map +1 -0
- package/dist/model/canonical.d.ts +8 -0
- package/dist/model/canonical.d.ts.map +1 -0
- package/dist/model/canonical.js +205 -0
- package/dist/model/canonical.js.map +1 -0
- package/dist/model/catalog.d.ts +76 -0
- package/dist/model/catalog.d.ts.map +1 -0
- package/dist/model/catalog.js +174 -0
- package/dist/model/catalog.js.map +1 -0
- package/dist/model/digest.d.ts +53 -0
- package/dist/model/digest.d.ts.map +1 -0
- package/dist/model/digest.js +127 -0
- package/dist/model/digest.js.map +1 -0
- package/dist/model/errors.d.ts +14 -0
- package/dist/model/errors.d.ts.map +1 -0
- package/dist/model/errors.js +8 -0
- package/dist/model/errors.js.map +1 -0
- package/dist/model/primitives.d.ts +19 -0
- package/dist/model/primitives.d.ts.map +1 -0
- package/dist/model/primitives.js +18 -0
- package/dist/model/primitives.js.map +1 -0
- package/dist/model/pypi.d.ts +12 -0
- package/dist/model/pypi.d.ts.map +1 -0
- package/dist/model/pypi.js +20 -0
- package/dist/model/pypi.js.map +1 -0
- package/dist/model/python-distribution.d.ts +33 -0
- package/dist/model/python-distribution.d.ts.map +1 -0
- package/dist/model/python-distribution.js +367 -0
- package/dist/model/python-distribution.js.map +1 -0
- package/dist/model/secret-patterns.d.ts +2 -0
- package/dist/model/secret-patterns.d.ts.map +1 -0
- package/dist/model/secret-patterns.js +12 -0
- package/dist/model/secret-patterns.js.map +1 -0
- package/dist/operation-journal/authority.d.ts +3 -0
- package/dist/operation-journal/authority.d.ts.map +1 -0
- package/dist/operation-journal/authority.js +147 -0
- package/dist/operation-journal/authority.js.map +1 -0
- package/dist/operation-journal/aws/deadline.d.ts +12 -0
- package/dist/operation-journal/aws/deadline.d.ts.map +1 -0
- package/dist/operation-journal/aws/deadline.js +38 -0
- package/dist/operation-journal/aws/deadline.js.map +1 -0
- package/dist/operation-journal/aws/oidc.d.ts +27 -0
- package/dist/operation-journal/aws/oidc.d.ts.map +1 -0
- package/dist/operation-journal/aws/oidc.js +361 -0
- package/dist/operation-journal/aws/oidc.js.map +1 -0
- package/dist/operation-journal/aws/policy.d.ts +42 -0
- package/dist/operation-journal/aws/policy.d.ts.map +1 -0
- package/dist/operation-journal/aws/policy.js +404 -0
- package/dist/operation-journal/aws/policy.js.map +1 -0
- package/dist/operation-journal/aws/s3-boundary.d.ts +17 -0
- package/dist/operation-journal/aws/s3-boundary.d.ts.map +1 -0
- package/dist/operation-journal/aws/s3-boundary.js +417 -0
- package/dist/operation-journal/aws/s3-boundary.js.map +1 -0
- package/dist/operation-journal/aws.d.ts +11 -0
- package/dist/operation-journal/aws.d.ts.map +1 -0
- package/dist/operation-journal/aws.js +50 -0
- package/dist/operation-journal/aws.js.map +1 -0
- package/dist/operation-journal/canonical.d.ts +52 -0
- package/dist/operation-journal/canonical.d.ts.map +1 -0
- package/dist/operation-journal/canonical.js +282 -0
- package/dist/operation-journal/canonical.js.map +1 -0
- package/dist/operation-journal/model.d.ts +251 -0
- package/dist/operation-journal/model.d.ts.map +1 -0
- package/dist/operation-journal/model.js +56 -0
- package/dist/operation-journal/model.js.map +1 -0
- package/dist/operation-journal/reducer.d.ts +28 -0
- package/dist/operation-journal/reducer.d.ts.map +1 -0
- package/dist/operation-journal/reducer.js +73 -0
- package/dist/operation-journal/reducer.js.map +1 -0
- package/dist/operation-journal/s3.d.ts +7 -0
- package/dist/operation-journal/s3.d.ts.map +1 -0
- package/dist/operation-journal/s3.js +667 -0
- package/dist/operation-journal/s3.js.map +1 -0
- package/dist/operation-journal.d.ts +14 -0
- package/dist/operation-journal.d.ts.map +1 -0
- package/dist/operation-journal.js +12 -0
- package/dist/operation-journal.js.map +1 -0
- package/dist/platform/bun.d.ts +7 -0
- package/dist/platform/bun.d.ts.map +1 -0
- package/dist/platform/bun.js +15 -0
- package/dist/platform/bun.js.map +1 -0
- package/dist/platform/credentials.d.ts +32 -0
- package/dist/platform/credentials.d.ts.map +1 -0
- package/dist/platform/credentials.js +834 -0
- package/dist/platform/credentials.js.map +1 -0
- package/dist/platform/host-support.d.ts +2 -0
- package/dist/platform/host-support.d.ts.map +1 -0
- package/dist/platform/host-support.js +4 -0
- package/dist/platform/host-support.js.map +1 -0
- package/dist/platform/node.d.ts +7 -0
- package/dist/platform/node.d.ts.map +1 -0
- package/dist/platform/node.js +15 -0
- package/dist/platform/node.js.map +1 -0
- package/dist/platform/release-runtime.d.ts +11 -0
- package/dist/platform/release-runtime.d.ts.map +1 -0
- package/dist/platform/release-runtime.js +34 -0
- package/dist/platform/release-runtime.js.map +1 -0
- package/dist/platform/services.d.ts +15 -0
- package/dist/platform/services.d.ts.map +1 -0
- package/dist/platform/services.js +30 -0
- package/dist/platform/services.js.map +1 -0
- package/dist/platform/source-observer.d.ts +5 -0
- package/dist/platform/source-observer.d.ts.map +1 -0
- package/dist/platform/source-observer.js +159 -0
- package/dist/platform/source-observer.js.map +1 -0
- package/dist/provider-sdk.d.ts +14 -0
- package/dist/provider-sdk.d.ts.map +1 -0
- package/dist/provider-sdk.js +10 -0
- package/dist/provider-sdk.js.map +1 -0
- package/dist/publication/adapter.d.ts +212 -0
- package/dist/publication/adapter.d.ts.map +1 -0
- package/dist/publication/adapter.js +83 -0
- package/dist/publication/adapter.js.map +1 -0
- package/dist/publication/authority.d.ts +137 -0
- package/dist/publication/authority.d.ts.map +1 -0
- package/dist/publication/authority.js +233 -0
- package/dist/publication/authority.js.map +1 -0
- package/dist/publication/catalog-git.d.ts +37 -0
- package/dist/publication/catalog-git.d.ts.map +1 -0
- package/dist/publication/catalog-git.js +451 -0
- package/dist/publication/catalog-git.js.map +1 -0
- package/dist/publication/claim.d.ts +39 -0
- package/dist/publication/claim.d.ts.map +1 -0
- package/dist/publication/claim.js +31 -0
- package/dist/publication/claim.js.map +1 -0
- package/dist/publication/coordinator.d.ts +246 -0
- package/dist/publication/coordinator.d.ts.map +1 -0
- package/dist/publication/coordinator.js +370 -0
- package/dist/publication/coordinator.js.map +1 -0
- package/dist/publication/github.d.ts +36 -0
- package/dist/publication/github.d.ts.map +1 -0
- package/dist/publication/github.js +695 -0
- package/dist/publication/github.js.map +1 -0
- package/dist/publication/http.d.ts +69 -0
- package/dist/publication/http.d.ts.map +1 -0
- package/dist/publication/http.js +29 -0
- package/dist/publication/http.js.map +1 -0
- package/dist/publication/index.d.ts +5 -0
- package/dist/publication/index.d.ts.map +1 -0
- package/dist/publication/index.js +5 -0
- package/dist/publication/index.js.map +1 -0
- package/dist/publication/npm.d.ts +40 -0
- package/dist/publication/npm.d.ts.map +1 -0
- package/dist/publication/npm.js +359 -0
- package/dist/publication/npm.js.map +1 -0
- package/dist/publication/profiles.d.ts +136 -0
- package/dist/publication/profiles.d.ts.map +1 -0
- package/dist/publication/profiles.js +90 -0
- package/dist/publication/profiles.js.map +1 -0
- package/dist/publication/publisher.d.ts +82 -0
- package/dist/publication/publisher.d.ts.map +1 -0
- package/dist/publication/publisher.js +53 -0
- package/dist/publication/publisher.js.map +1 -0
- package/dist/publication/pypi.d.ts +45 -0
- package/dist/publication/pypi.d.ts.map +1 -0
- package/dist/publication/pypi.js +369 -0
- package/dist/publication/pypi.js.map +1 -0
- package/dist/publication/recovery.d.ts +663 -0
- package/dist/publication/recovery.d.ts.map +1 -0
- package/dist/publication/recovery.js +252 -0
- package/dist/publication/recovery.js.map +1 -0
- package/dist/publication/report.d.ts +1061 -0
- package/dist/publication/report.d.ts.map +1 -0
- package/dist/publication/report.js +441 -0
- package/dist/publication/report.js.map +1 -0
- package/dist/recipes/config.d.ts +296 -0
- package/dist/recipes/config.d.ts.map +1 -0
- package/dist/recipes/config.js +325 -0
- package/dist/recipes/config.js.map +1 -0
- package/dist/release/capabilities.d.ts +12 -0
- package/dist/release/capabilities.d.ts.map +1 -0
- package/dist/release/capabilities.js +395 -0
- package/dist/release/capabilities.js.map +1 -0
- package/dist/release/compiler.d.ts +5 -0
- package/dist/release/compiler.d.ts.map +1 -0
- package/dist/release/compiler.js +19 -0
- package/dist/release/compiler.js.map +1 -0
- package/dist/release/config.d.ts +5 -0
- package/dist/release/config.d.ts.map +1 -0
- package/dist/release/config.js +10 -0
- package/dist/release/config.js.map +1 -0
- package/dist/release/context.d.ts +96 -0
- package/dist/release/context.d.ts.map +1 -0
- package/dist/release/context.js +168 -0
- package/dist/release/context.js.map +1 -0
- package/dist/release/graph.d.ts +271 -0
- package/dist/release/graph.d.ts.map +1 -0
- package/dist/release/graph.js +766 -0
- package/dist/release/graph.js.map +1 -0
- package/dist/release/inspect.d.ts +88 -0
- package/dist/release/inspect.d.ts.map +1 -0
- package/dist/release/inspect.js +75 -0
- package/dist/release/inspect.js.map +1 -0
- package/dist/release/prepare.d.ts +24 -0
- package/dist/release/prepare.d.ts.map +1 -0
- package/dist/release/prepare.js +1115 -0
- package/dist/release/prepare.js.map +1 -0
- package/dist/release/prepared-ref.d.ts +60 -0
- package/dist/release/prepared-ref.d.ts.map +1 -0
- package/dist/release/prepared-ref.js +131 -0
- package/dist/release/prepared-ref.js.map +1 -0
- package/dist/release/prepared-store.d.ts +90 -0
- package/dist/release/prepared-store.d.ts.map +1 -0
- package/dist/release/prepared-store.js +339 -0
- package/dist/release/prepared-store.js.map +1 -0
- package/dist/release/prepared.d.ts +172 -0
- package/dist/release/prepared.d.ts.map +1 -0
- package/dist/release/prepared.js +268 -0
- package/dist/release/prepared.js.map +1 -0
- package/dist/release/staging.d.ts +31 -0
- package/dist/release/staging.d.ts.map +1 -0
- package/dist/release/staging.js +218 -0
- package/dist/release/staging.js.map +1 -0
- package/dist/resolve/authored.d.ts +53 -0
- package/dist/resolve/authored.d.ts.map +1 -0
- package/dist/resolve/authored.js +55 -0
- package/dist/resolve/authored.js.map +1 -0
- package/dist/resolve/encode.d.ts +3 -0
- package/dist/resolve/encode.d.ts.map +1 -0
- package/dist/resolve/encode.js +21 -0
- package/dist/resolve/encode.js.map +1 -0
- package/dist/resolve/errors.d.ts +7 -0
- package/dist/resolve/errors.d.ts.map +1 -0
- package/dist/resolve/errors.js +17 -0
- package/dist/resolve/errors.js.map +1 -0
- package/dist/resolve/facts.d.ts +12 -0
- package/dist/resolve/facts.d.ts.map +1 -0
- package/dist/resolve/facts.js +18 -0
- package/dist/resolve/facts.js.map +1 -0
- package/dist/resolve/resolve.d.ts +10 -0
- package/dist/resolve/resolve.d.ts.map +1 -0
- package/dist/resolve/resolve.js +242 -0
- package/dist/resolve/resolve.js.map +1 -0
- package/dist/store.d.ts +11 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +9 -0
- package/dist/store.js.map +1 -0
- package/examples/README.md +20 -30
- package/examples/github-release/release.config.json +11 -18
- package/examples/homebrew-tap/README.md +11 -0
- package/examples/homebrew-tap/release.config.json +40 -28
- package/examples/multi-target/release.config.json +28 -53
- package/examples/npm-first-publish/release.config.json +23 -25
- package/examples/npm-only/release.config.json +22 -30
- package/examples/portable-cli/README.md +17 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-darwin-arm64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-darwin-x64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-linux-arm64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-linux-x64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-windows-x64.exe +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-macosx_10_15_x86_64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-macosx_11_0_arm64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-manylinux2014_aarch64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-manylinux2014_x86_64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-win_amd64.whl +1 -0
- package/examples/portable-cli/package.json +9 -0
- package/examples/portable-cli/release.config.json +53 -0
- package/examples/portable-cli/src/cli.ts +3 -0
- package/examples/pypi-registry/README.md +8 -0
- package/examples/scoop-bucket/README.md +10 -0
- package/examples/scoop-bucket/release.config.json +40 -30
- package/package.json +73 -154
- package/src/api/api.ts +365 -0
- package/src/api/errors.ts +36 -0
- package/src/api/input.ts +92 -0
- package/src/api/runtime.ts +14 -0
- package/src/api/types.ts +103 -0
- package/src/capabilities/bun-targets.ts +2 -0
- package/src/capabilities/field-ownership.ts +60 -0
- package/src/capabilities/module.ts +158 -0
- package/src/capabilities/registry.ts +333 -0
- package/src/config/config.ts +48 -0
- package/src/correction/coordinator.ts +336 -0
- package/src/correction/index.ts +2 -0
- package/src/correction/intent.ts +172 -0
- package/src/drivers/archive.ts +111 -0
- package/src/drivers/contain.ts +20 -0
- package/src/drivers/environment.ts +28 -0
- package/src/drivers/errors.ts +6 -0
- package/src/drivers/glob.ts +137 -0
- package/src/drivers/process.ts +339 -0
- package/src/drivers/python-wheel.ts +145 -0
- package/src/drivers/redact.ts +31 -0
- package/src/drivers/seccomp-helper-source.ts +121 -0
- package/src/drivers/utils.ts +10 -0
- package/src/drivers/workspace.ts +46 -0
- package/src/extensions/provider-adapter.ts +99 -0
- package/src/host.ts +140 -0
- package/src/index.ts +64 -0
- package/src/model/artifact-collection.ts +237 -0
- package/src/model/authority.ts +116 -0
- package/src/model/bun-targets.ts +34 -0
- package/src/model/canonical.ts +205 -0
- package/src/model/catalog.ts +220 -0
- package/src/model/digest.ts +172 -0
- package/src/model/errors.ts +6 -0
- package/src/model/primitives.ts +37 -0
- package/src/model/pypi.ts +30 -0
- package/src/model/python-distribution.ts +360 -0
- package/src/model/secret-patterns.ts +11 -0
- package/src/operation-journal/authority.ts +162 -0
- package/src/operation-journal/aws/deadline.ts +41 -0
- package/src/operation-journal/aws/oidc.ts +439 -0
- package/src/operation-journal/aws/policy.ts +491 -0
- package/src/operation-journal/aws/s3-boundary.ts +562 -0
- package/src/operation-journal/aws.ts +60 -0
- package/src/operation-journal/canonical.ts +373 -0
- package/src/operation-journal/model.ts +301 -0
- package/src/operation-journal/reducer.ts +112 -0
- package/src/operation-journal/s3.ts +884 -0
- package/src/operation-journal.ts +51 -0
- package/src/platform/bun.ts +38 -0
- package/src/platform/credentials.ts +1151 -0
- package/src/platform/host-support.ts +4 -0
- package/src/platform/node.ts +38 -0
- package/src/platform/release-runtime.ts +47 -0
- package/src/platform/services.ts +57 -0
- package/src/platform/source-observer.ts +193 -0
- package/src/provider-sdk.ts +48 -0
- package/src/publication/adapter.ts +132 -0
- package/src/publication/authority.ts +397 -0
- package/src/publication/catalog-git.ts +603 -0
- package/src/publication/claim.ts +51 -0
- package/src/publication/coordinator.ts +578 -0
- package/src/publication/github.ts +1022 -0
- package/src/publication/http.ts +101 -0
- package/src/publication/index.ts +4 -0
- package/src/publication/npm.ts +525 -0
- package/src/publication/profiles.ts +94 -0
- package/src/publication/publisher.ts +130 -0
- package/src/publication/pypi.ts +463 -0
- package/src/publication/recovery.ts +349 -0
- package/src/publication/report.ts +628 -0
- package/src/recipes/config.ts +395 -0
- package/src/release/capabilities.ts +460 -0
- package/src/release/compiler.ts +28 -0
- package/src/release/config.ts +12 -0
- package/src/release/context.ts +223 -0
- package/src/release/graph.ts +866 -0
- package/src/release/inspect.ts +83 -0
- package/src/release/prepare.ts +1329 -0
- package/src/release/prepared-ref.ts +193 -0
- package/src/release/prepared-store.ts +378 -0
- package/src/release/prepared.ts +299 -0
- package/src/release/staging.ts +257 -0
- package/src/resolve/authored.ts +64 -0
- package/src/resolve/encode.ts +22 -0
- package/src/resolve/errors.ts +15 -0
- package/src/resolve/facts.ts +18 -0
- package/src/resolve/resolve.ts +328 -0
- package/src/store.ts +28 -0
- package/templates/README.md +55 -72
- package/templates/bun-cli-github/README.md +7 -9
- package/templates/bun-cli-github/release.config.json +35 -73
- package/templates/github-actions/release.yml +74 -0
- package/templates/github-actions/reviewed-release.yml +115 -0
- package/templates/multi-target-homebrew/README.md +10 -0
- package/templates/multi-target-homebrew/release.config.json +43 -60
- package/templates/multi-target-scoop/README.md +10 -0
- package/templates/multi-target-scoop/release.config.json +43 -62
- package/templates/npm-github/release.config.json +25 -38
- package/templates/npm-github/reviewed-release.config.json +37 -0
- package/templates/npm-only/README.md +10 -0
- package/templates/npm-only/release.config.json +15 -30
- package/templates/portable-cli/README.md +13 -0
- package/templates/portable-cli/release.config.json +53 -0
- package/dist/artifacts/adapter.d.ts +0 -39
- package/dist/artifacts/adapter.d.ts.map +0 -1
- package/dist/artifacts/adapter.js +0 -23
- package/dist/artifacts/adapter.js.map +0 -1
- package/dist/artifacts/registry.d.ts +0 -21
- package/dist/artifacts/registry.d.ts.map +0 -1
- package/dist/artifacts/registry.js +0 -21
- package/dist/artifacts/registry.js.map +0 -1
- package/dist/config/errors.d.ts +0 -24
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -19
- package/dist/config/errors.js.map +0 -1
- package/dist/config/load.d.ts +0 -9
- package/dist/config/load.d.ts.map +0 -1
- package/dist/config/load.js +0 -29
- package/dist/config/load.js.map +0 -1
- package/dist/config/schema.d.ts +0 -12
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -19
- package/dist/config/schema.js.map +0 -1
- package/dist/domain/artifact.d.ts +0 -118
- package/dist/domain/artifact.d.ts.map +0 -1
- package/dist/domain/artifact.js +0 -197
- package/dist/domain/artifact.js.map +0 -1
- package/dist/domain/evidence.d.ts +0 -59
- package/dist/domain/evidence.d.ts.map +0 -1
- package/dist/domain/evidence.js +0 -51
- package/dist/domain/evidence.js.map +0 -1
- package/dist/domain/operation.d.ts +0 -143
- package/dist/domain/operation.d.ts.map +0 -1
- package/dist/domain/operation.js +0 -198
- package/dist/domain/operation.js.map +0 -1
- package/dist/domain/release.d.ts +0 -93
- package/dist/domain/release.d.ts.map +0 -1
- package/dist/domain/release.js +0 -82
- package/dist/domain/release.js.map +0 -1
- package/dist/domain/remote-state.d.ts +0 -58
- package/dist/domain/remote-state.d.ts.map +0 -1
- package/dist/domain/remote-state.js +0 -55
- package/dist/domain/remote-state.js.map +0 -1
- package/dist/domain/target.d.ts +0 -148
- package/dist/domain/target.d.ts.map +0 -1
- package/dist/domain/target.js +0 -151
- package/dist/domain/target.js.map +0 -1
- package/dist/host/host.d.ts +0 -32
- package/dist/host/host.d.ts.map +0 -1
- package/dist/host/host.js +0 -24
- package/dist/host/host.js.map +0 -1
- package/dist/host/http-live.d.ts +0 -6
- package/dist/host/http-live.d.ts.map +0 -1
- package/dist/host/http-live.js +0 -86
- package/dist/host/http-live.js.map +0 -1
- package/dist/host/http.d.ts +0 -43
- package/dist/host/http.d.ts.map +0 -1
- package/dist/host/http.js +0 -59
- package/dist/host/http.js.map +0 -1
- package/dist/host/platform.d.ts +0 -10
- package/dist/host/platform.d.ts.map +0 -1
- package/dist/host/platform.js +0 -114
- package/dist/host/platform.js.map +0 -1
- package/dist/host/test.d.ts +0 -23
- package/dist/host/test.d.ts.map +0 -1
- package/dist/host/test.js +0 -222
- package/dist/host/test.js.map +0 -1
- package/dist/internal/workspace-path.d.ts +0 -15
- package/dist/internal/workspace-path.d.ts.map +0 -1
- package/dist/internal/workspace-path.js +0 -36
- package/dist/internal/workspace-path.js.map +0 -1
- package/dist/planner/artifact-inventory.d.ts +0 -9
- package/dist/planner/artifact-inventory.d.ts.map +0 -1
- package/dist/planner/artifact-inventory.js +0 -86
- package/dist/planner/artifact-inventory.js.map +0 -1
- package/dist/planner/create-release-plan.d.ts +0 -5
- package/dist/planner/create-release-plan.d.ts.map +0 -1
- package/dist/planner/create-release-plan.js +0 -25
- package/dist/planner/create-release-plan.js.map +0 -1
- package/dist/planner/errors.d.ts +0 -67
- package/dist/planner/errors.d.ts.map +0 -1
- package/dist/planner/errors.js +0 -58
- package/dist/planner/errors.js.map +0 -1
- package/dist/planner/evidence-recorder.d.ts +0 -28
- package/dist/planner/evidence-recorder.d.ts.map +0 -1
- package/dist/planner/evidence-recorder.js +0 -362
- package/dist/planner/evidence-recorder.js.map +0 -1
- package/dist/planner/executor.d.ts +0 -58
- package/dist/planner/executor.d.ts.map +0 -1
- package/dist/planner/executor.js +0 -147
- package/dist/planner/executor.js.map +0 -1
- package/dist/planner/normalize-release.d.ts +0 -19
- package/dist/planner/normalize-release.d.ts.map +0 -1
- package/dist/planner/normalize-release.js +0 -342
- package/dist/planner/normalize-release.js.map +0 -1
- package/dist/planner/reconcile.d.ts +0 -17
- package/dist/planner/reconcile.d.ts.map +0 -1
- package/dist/planner/reconcile.js +0 -259
- package/dist/planner/reconcile.js.map +0 -1
- package/dist/planner/render-plan.d.ts +0 -15
- package/dist/planner/render-plan.d.ts.map +0 -1
- package/dist/planner/render-plan.js +0 -231
- package/dist/planner/render-plan.js.map +0 -1
- package/dist/targets/adapter-helpers.d.ts +0 -79
- package/dist/targets/adapter-helpers.d.ts.map +0 -1
- package/dist/targets/adapter-helpers.js +0 -194
- package/dist/targets/adapter-helpers.js.map +0 -1
- package/dist/targets/adapter.d.ts +0 -17
- package/dist/targets/adapter.d.ts.map +0 -1
- package/dist/targets/adapter.js +0 -2
- package/dist/targets/adapter.js.map +0 -1
- package/dist/targets/github-release.d.ts +0 -25
- package/dist/targets/github-release.d.ts.map +0 -1
- package/dist/targets/github-release.js +0 -82
- package/dist/targets/github-release.js.map +0 -1
- package/dist/targets/github.d.ts +0 -11
- package/dist/targets/github.d.ts.map +0 -1
- package/dist/targets/github.js +0 -117
- package/dist/targets/github.js.map +0 -1
- package/dist/targets/homebrew.d.ts +0 -11
- package/dist/targets/homebrew.d.ts.map +0 -1
- package/dist/targets/homebrew.js +0 -210
- package/dist/targets/homebrew.js.map +0 -1
- package/dist/targets/live.d.ts +0 -5
- package/dist/targets/live.d.ts.map +0 -1
- package/dist/targets/live.js +0 -50
- package/dist/targets/live.js.map +0 -1
- package/dist/targets/npm.d.ts +0 -10
- package/dist/targets/npm.d.ts.map +0 -1
- package/dist/targets/npm.js +0 -112
- package/dist/targets/npm.js.map +0 -1
- package/dist/targets/pypi.d.ts +0 -11
- package/dist/targets/pypi.d.ts.map +0 -1
- package/dist/targets/pypi.js +0 -141
- package/dist/targets/pypi.js.map +0 -1
- package/dist/targets/registry.d.ts +0 -25
- package/dist/targets/registry.d.ts.map +0 -1
- package/dist/targets/registry.js +0 -34
- package/dist/targets/registry.js.map +0 -1
- package/dist/targets/scoop.d.ts +0 -11
- package/dist/targets/scoop.d.ts.map +0 -1
- package/dist/targets/scoop.js +0 -88
- package/dist/targets/scoop.js.map +0 -1
- package/dist/types/effect-internal.d.ts +0 -5
- package/dist/types/effect-internal.d.ts.map +0 -1
- package/dist/types/effect-internal.js +0 -2
- package/dist/types/effect-internal.js.map +0 -1
- package/dist/workflows/config.d.ts +0 -202
- package/dist/workflows/config.d.ts.map +0 -1
- package/dist/workflows/config.js +0 -420
- package/dist/workflows/config.js.map +0 -1
- package/dist/workflows/diagnostics.d.ts +0 -62
- package/dist/workflows/diagnostics.d.ts.map +0 -1
- package/dist/workflows/diagnostics.js +0 -530
- package/dist/workflows/diagnostics.js.map +0 -1
- package/dist/workflows/distribution.d.ts +0 -25
- package/dist/workflows/distribution.d.ts.map +0 -1
- package/dist/workflows/distribution.js +0 -24
- package/dist/workflows/distribution.js.map +0 -1
- package/dist/workflows/evidence.d.ts +0 -17
- package/dist/workflows/evidence.d.ts.map +0 -1
- package/dist/workflows/evidence.js +0 -32
- package/dist/workflows/evidence.js.map +0 -1
- package/dist/workflows/index.d.ts +0 -8
- package/dist/workflows/index.d.ts.map +0 -1
- package/dist/workflows/index.js +0 -7
- package/dist/workflows/index.js.map +0 -1
- package/dist/workflows/init.d.ts +0 -84
- package/dist/workflows/init.d.ts.map +0 -1
- package/dist/workflows/init.js +0 -487
- package/dist/workflows/init.js.map +0 -1
- package/dist/workflows/live.d.ts +0 -9
- package/dist/workflows/live.d.ts.map +0 -1
- package/dist/workflows/live.js +0 -7
- package/dist/workflows/live.js.map +0 -1
- package/dist/workflows/options.d.ts +0 -30
- package/dist/workflows/options.d.ts.map +0 -1
- package/dist/workflows/options.js +0 -16
- package/dist/workflows/options.js.map +0 -1
- package/examples/non-strict-skips/artifacts/release-example-skips-0.1.0.tgz +0 -1
- package/examples/non-strict-skips/release.config.json +0 -31
- package/examples/pypi-registry/release.config.json +0 -31
- package/templates/github-actions/plan-and-approved-execute.yml +0 -58
- package/templates/github-actions/plan-only.yml +0 -33
- package/templates/github-actions/trusted-publishing.yml +0 -61
package/dist/targets/homebrew.js
DELETED
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { RenderFileOperation } from "../domain/operation.js";
|
|
3
|
-
import { PlanConstructionError } from "../planner/errors.js";
|
|
4
|
-
import { catalogGitPublishOperations, catalogPathBaseName, dryRunValidationOperation, findRequiredArtifact, noAuthCommand, readOnlyCommandValidationOperation, requireSha256FileArtifact, rejectNoDryRunInStrictMode, rejectUnsupportedCatalogTokenEnv, targetCapabilitiesFor, validationStrategyForDryRun } from "./adapter-helpers.js";
|
|
5
|
-
const rejectUnsupportedTokenEnv = Effect.fn("rejectUnsupportedHomebrewTokenEnv")(function* (target) {
|
|
6
|
-
return yield* rejectUnsupportedCatalogTokenEnv({
|
|
7
|
-
targetId: target.id,
|
|
8
|
-
targetLabel: "Homebrew tap",
|
|
9
|
-
tokenEnv: target.tokenEnv
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
export const homebrewTargetCapabilities = (target) => targetCapabilitiesFor(target, validationStrategyForDryRun(target.dryRunSupport));
|
|
13
|
-
const rubyString = (value) => JSON.stringify(value);
|
|
14
|
-
const formulaClassName = (formulaName) => {
|
|
15
|
-
const parts = formulaName.split(/[^A-Za-z0-9]+/).filter((part) => part.length > 0);
|
|
16
|
-
const className = parts.map((part) => `${part.slice(0, 1).toUpperCase()}${part.slice(1)}`).join("");
|
|
17
|
-
return className.length === 0 ? "GeneratedFormula" : className;
|
|
18
|
-
};
|
|
19
|
-
const artifactUrl = (artifact, fallbackUrl) => fallbackUrl ?? artifact.downloadUrl ?? artifact.path;
|
|
20
|
-
const singleArtifactBinaryName = (target, artifact) => target.installPath !== undefined ? target.formulaName : artifact.variant?.binaryName;
|
|
21
|
-
const multiArtifactBinaryName = (target, artifacts) => target.installPath !== undefined
|
|
22
|
-
? target.formulaName
|
|
23
|
-
: artifacts.find((entry) => entry.artifact.variant?.binaryName !== undefined)
|
|
24
|
-
?.artifact.variant?.binaryName ?? target.formulaName;
|
|
25
|
-
const singleArtifactInstallLines = (target, artifact) => {
|
|
26
|
-
if (target.installPath !== undefined) {
|
|
27
|
-
return [
|
|
28
|
-
` bin.install ${rubyString(target.installPath)} => ${rubyString(target.formulaName)}`,
|
|
29
|
-
` chmod 0755, bin/${rubyString(target.formulaName)}`
|
|
30
|
-
];
|
|
31
|
-
}
|
|
32
|
-
const binaryName = artifact.variant?.binaryName;
|
|
33
|
-
return binaryName === undefined
|
|
34
|
-
? [" prefix.install Dir[\"*\"]"]
|
|
35
|
-
: [
|
|
36
|
-
` bin.install ${rubyString(catalogPathBaseName(artifact.path))} => ${rubyString(binaryName)}`,
|
|
37
|
-
` chmod 0755, bin/${rubyString(binaryName)}`
|
|
38
|
-
];
|
|
39
|
-
};
|
|
40
|
-
const multiArtifactInstallLines = (target, artifacts) => {
|
|
41
|
-
if (target.installPath !== undefined) {
|
|
42
|
-
return [
|
|
43
|
-
` bin.install ${rubyString(target.installPath)} => ${rubyString(target.formulaName)}`,
|
|
44
|
-
` chmod 0755, bin/${rubyString(target.formulaName)}`
|
|
45
|
-
];
|
|
46
|
-
}
|
|
47
|
-
const binaryName = multiArtifactBinaryName(target, artifacts);
|
|
48
|
-
return [
|
|
49
|
-
` bin.install Dir["*"].find { |path| File.file?(path) } => ${rubyString(binaryName)}`,
|
|
50
|
-
` chmod 0755, bin/${rubyString(binaryName)}`
|
|
51
|
-
];
|
|
52
|
-
};
|
|
53
|
-
const formulaTestLines = (binaryName) => binaryName === undefined
|
|
54
|
-
? []
|
|
55
|
-
: [
|
|
56
|
-
"",
|
|
57
|
-
" test do",
|
|
58
|
-
` assert File.exist?(bin/${rubyString(binaryName)})`,
|
|
59
|
-
` assert File.executable?(bin/${rubyString(binaryName)})`,
|
|
60
|
-
" end"
|
|
61
|
-
];
|
|
62
|
-
const requireHomebrewArtifact = Effect.fn("requireHomebrewArtifact")(function* (target, model, artifactId) {
|
|
63
|
-
const artifact = yield* findRequiredArtifact(model, target.id, artifactId, `Homebrew target references missing artifact ${artifactId}.`);
|
|
64
|
-
return yield* requireSha256FileArtifact(artifact, {
|
|
65
|
-
targetId: target.id,
|
|
66
|
-
directoryReason: "Homebrew formula artifacts must be file-like, not directories.",
|
|
67
|
-
checksumReason: "Homebrew formula rendering requires a sha256 artifact checksum."
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
const homebrewArchBlock = (arch) => arch === "arm64" ? "on_arm" : "on_intel";
|
|
71
|
-
const homebrewArchOrder = (left, right) => {
|
|
72
|
-
const priority = (arch) => arch === "arm64" ? 0 : 1;
|
|
73
|
-
return priority(left.arch) - priority(right.arch);
|
|
74
|
-
};
|
|
75
|
-
const validateHomebrewVariantArtifacts = Effect.fn("validateHomebrewVariantArtifacts")(function* (target, artifacts) {
|
|
76
|
-
const seen = new Set();
|
|
77
|
-
const entries = [];
|
|
78
|
-
for (const entry of artifacts) {
|
|
79
|
-
const variant = entry.artifact.variant;
|
|
80
|
-
if (variant === undefined || variant.os !== "darwin") {
|
|
81
|
-
return yield* Effect.fail(PlanConstructionError.make({
|
|
82
|
-
targetId: target.id,
|
|
83
|
-
reason: `Homebrew artifact ${entry.artifact.id} must declare a darwin installable variant.`
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
if (seen.has(variant.arch)) {
|
|
87
|
-
return yield* Effect.fail(PlanConstructionError.make({
|
|
88
|
-
targetId: target.id,
|
|
89
|
-
reason: `Homebrew target has multiple ${variant.arch} artifacts.`
|
|
90
|
-
}));
|
|
91
|
-
}
|
|
92
|
-
seen.add(variant.arch);
|
|
93
|
-
entries.push({
|
|
94
|
-
artifact: entry.artifact,
|
|
95
|
-
checksum: entry.checksum,
|
|
96
|
-
arch: variant.arch
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
return entries.sort(homebrewArchOrder);
|
|
100
|
-
});
|
|
101
|
-
const renderFormulaForArtifact = (target, model, entry) => {
|
|
102
|
-
const homepage = target.homepage ?? `https://github.com/${target.repository}`;
|
|
103
|
-
const description = target.description ?? `${model.identity.name} ${model.identity.version} release artifact`;
|
|
104
|
-
const url = artifactUrl(entry.artifact, target.url);
|
|
105
|
-
return [
|
|
106
|
-
`class ${formulaClassName(target.formulaName)} < Formula`,
|
|
107
|
-
` desc ${rubyString(description)}`,
|
|
108
|
-
` homepage ${rubyString(homepage)}`,
|
|
109
|
-
` url ${rubyString(url)}`,
|
|
110
|
-
` sha256 ${rubyString(entry.checksum.value)}`,
|
|
111
|
-
` version ${rubyString(model.identity.version)}`,
|
|
112
|
-
"",
|
|
113
|
-
" def install",
|
|
114
|
-
...singleArtifactInstallLines(target, entry.artifact),
|
|
115
|
-
" end",
|
|
116
|
-
...formulaTestLines(singleArtifactBinaryName(target, entry.artifact)),
|
|
117
|
-
"end",
|
|
118
|
-
""
|
|
119
|
-
].join("\n");
|
|
120
|
-
};
|
|
121
|
-
const renderFormulaForVariants = (target, model, entries) => {
|
|
122
|
-
const homepage = target.homepage ?? `https://github.com/${target.repository}`;
|
|
123
|
-
const description = target.description ?? `${model.identity.name} ${model.identity.version} release artifact`;
|
|
124
|
-
const variantLines = entries.flatMap((entry) => [
|
|
125
|
-
` ${homebrewArchBlock(entry.arch)} do`,
|
|
126
|
-
` url ${rubyString(artifactUrl(entry.artifact, undefined))}`,
|
|
127
|
-
` sha256 ${rubyString(entry.checksum.value)}`,
|
|
128
|
-
" end",
|
|
129
|
-
""
|
|
130
|
-
]);
|
|
131
|
-
return [
|
|
132
|
-
`class ${formulaClassName(target.formulaName)} < Formula`,
|
|
133
|
-
` desc ${rubyString(description)}`,
|
|
134
|
-
` homepage ${rubyString(homepage)}`,
|
|
135
|
-
` version ${rubyString(model.identity.version)}`,
|
|
136
|
-
"",
|
|
137
|
-
" on_macos do",
|
|
138
|
-
...variantLines,
|
|
139
|
-
" end",
|
|
140
|
-
"",
|
|
141
|
-
" def install",
|
|
142
|
-
...multiArtifactInstallLines(target, entries),
|
|
143
|
-
" end",
|
|
144
|
-
...formulaTestLines(multiArtifactBinaryName(target, entries)),
|
|
145
|
-
"end",
|
|
146
|
-
""
|
|
147
|
-
].join("\n");
|
|
148
|
-
};
|
|
149
|
-
const renderFormula = (target, model) => Effect.gen(function* () {
|
|
150
|
-
const artifactIds = target.artifactIds ?? [target.artifactId];
|
|
151
|
-
const artifacts = yield* Effect.forEach(artifactIds, (artifactId) => requireHomebrewArtifact(target, model, artifactId));
|
|
152
|
-
if (target.artifactIds === undefined) {
|
|
153
|
-
const artifact = artifacts[0];
|
|
154
|
-
if (artifact !== undefined) {
|
|
155
|
-
return renderFormulaForArtifact(target, model, artifact);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
const variants = yield* validateHomebrewVariantArtifacts(target, artifacts);
|
|
159
|
-
return renderFormulaForVariants(target, model, variants);
|
|
160
|
-
});
|
|
161
|
-
const dryRunOperation = (target) => dryRunValidationOperation({
|
|
162
|
-
id: `${target.id}:brew-audit`,
|
|
163
|
-
targetId: target.id,
|
|
164
|
-
dryRunSupport: target.dryRunSupport,
|
|
165
|
-
nativeDescription: "Validate generated Homebrew formula with brew audit.",
|
|
166
|
-
command: noAuthCommand("brew", ["audit", "--strict", "--formula", target.formulaPath]),
|
|
167
|
-
simulatedDescription: "Record simulated Homebrew formula validation.",
|
|
168
|
-
skippedDescription: "Record skipped Homebrew formula validation.",
|
|
169
|
-
simulatedMessage: "Homebrew formula validation is simulated by the deterministic release plan.",
|
|
170
|
-
skippedMessage: "Homebrew formula validation was skipped because this target declares no dry-run support."
|
|
171
|
-
});
|
|
172
|
-
export const planHomebrewOperations = Effect.fn("planHomebrewOperations")(function* (target, model) {
|
|
173
|
-
yield* rejectUnsupportedTokenEnv(target);
|
|
174
|
-
yield* rejectNoDryRunInStrictMode(target, model, "Homebrew tap target declares no dry-run support in strict mode.");
|
|
175
|
-
const formula = yield* renderFormula(target, model);
|
|
176
|
-
const operations = [
|
|
177
|
-
RenderFileOperation.make({
|
|
178
|
-
id: `${target.id}:homebrew-render-formula`,
|
|
179
|
-
targetId: target.id,
|
|
180
|
-
description: `Render Homebrew formula ${catalogPathBaseName(target.formulaPath)}.`,
|
|
181
|
-
risk: "writes-local",
|
|
182
|
-
path: target.formulaPath,
|
|
183
|
-
contents: formula
|
|
184
|
-
})
|
|
185
|
-
];
|
|
186
|
-
if (target.dryRunSupport === "native") {
|
|
187
|
-
operations.push(readOnlyCommandValidationOperation({
|
|
188
|
-
id: `${target.id}:brew-version`,
|
|
189
|
-
targetId: target.id,
|
|
190
|
-
description: "Check Homebrew CLI availability.",
|
|
191
|
-
command: noAuthCommand("brew", ["--version"])
|
|
192
|
-
}));
|
|
193
|
-
}
|
|
194
|
-
operations.push(dryRunOperation(target), ...catalogGitPublishOperations({
|
|
195
|
-
id: `${target.id}:homebrew-push`,
|
|
196
|
-
targetId: target.id,
|
|
197
|
-
description: `Push Homebrew tap update for ${model.identity.name}@${model.identity.version}.`,
|
|
198
|
-
mutability: target.mutability,
|
|
199
|
-
directory: target.tapDirectory,
|
|
200
|
-
filePath: target.formulaPath,
|
|
201
|
-
commitMessage: `Update ${target.formulaName} to ${model.identity.version}`
|
|
202
|
-
}));
|
|
203
|
-
return operations;
|
|
204
|
-
});
|
|
205
|
-
export const HomebrewAdapter = {
|
|
206
|
-
targetTag: "HomebrewTapTarget",
|
|
207
|
-
capabilities: homebrewTargetCapabilities,
|
|
208
|
-
planOperations: planHomebrewOperations
|
|
209
|
-
};
|
|
210
|
-
//# sourceMappingURL=homebrew.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"homebrew.js","sourceRoot":"","sources":["../../src/targets/homebrew.ts"],"names":[],"mappings":"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"}
|
package/dist/targets/live.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/targets/live.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAcrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG9C,mBAAmB,6BAA6B,CAAA;AAuDhD,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAG9D,CAAA"}
|
package/dist/targets/live.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as Layer from "effect/Layer";
|
|
3
|
-
import { GitHubAdapter } from "./github.js";
|
|
4
|
-
import { HomebrewAdapter } from "./homebrew.js";
|
|
5
|
-
import { NpmAdapter } from "./npm.js";
|
|
6
|
-
import { PyPiAdapter } from "./pypi.js";
|
|
7
|
-
import { TargetRegistry } from "./registry.js";
|
|
8
|
-
import { ScoopAdapter } from "./scoop.js";
|
|
9
|
-
const liveTargetAdapters = {
|
|
10
|
-
NpmRegistryTarget: NpmAdapter,
|
|
11
|
-
GitHubReleaseTarget: GitHubAdapter,
|
|
12
|
-
HomebrewTapTarget: HomebrewAdapter,
|
|
13
|
-
PyPiRegistryTarget: PyPiAdapter,
|
|
14
|
-
ScoopBucketTarget: ScoopAdapter
|
|
15
|
-
};
|
|
16
|
-
const withLiveTargetAdapter = (target, handlers) => {
|
|
17
|
-
switch (target._tag) {
|
|
18
|
-
case "NpmRegistryTarget":
|
|
19
|
-
return handlers.NpmRegistryTarget(liveTargetAdapters.NpmRegistryTarget, target);
|
|
20
|
-
case "GitHubReleaseTarget":
|
|
21
|
-
return handlers.GitHubReleaseTarget(liveTargetAdapters.GitHubReleaseTarget, target);
|
|
22
|
-
case "HomebrewTapTarget":
|
|
23
|
-
return handlers.HomebrewTapTarget(liveTargetAdapters.HomebrewTapTarget, target);
|
|
24
|
-
case "PyPiRegistryTarget":
|
|
25
|
-
return handlers.PyPiRegistryTarget(liveTargetAdapters.PyPiRegistryTarget, target);
|
|
26
|
-
case "ScoopBucketTarget":
|
|
27
|
-
return handlers.ScoopBucketTarget(liveTargetAdapters.ScoopBucketTarget, target);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
const planLiveTargetOperations = Effect.fn("planLiveTargetOperations")(function* (target, model) {
|
|
31
|
-
return yield* withLiveTargetAdapter(target, {
|
|
32
|
-
NpmRegistryTarget: (adapter, target) => adapter.planOperations(target, model),
|
|
33
|
-
GitHubReleaseTarget: (adapter, target) => adapter.planOperations(target, model),
|
|
34
|
-
HomebrewTapTarget: (adapter, target) => adapter.planOperations(target, model),
|
|
35
|
-
PyPiRegistryTarget: (adapter, target) => adapter.planOperations(target, model),
|
|
36
|
-
ScoopBucketTarget: (adapter, target) => adapter.planOperations(target, model)
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
const liveTargetCapabilities = (target) => withLiveTargetAdapter(target, {
|
|
40
|
-
NpmRegistryTarget: (adapter, target) => adapter.capabilities(target),
|
|
41
|
-
GitHubReleaseTarget: (adapter, target) => adapter.capabilities(target),
|
|
42
|
-
HomebrewTapTarget: (adapter, target) => adapter.capabilities(target),
|
|
43
|
-
PyPiRegistryTarget: (adapter, target) => adapter.capabilities(target),
|
|
44
|
-
ScoopBucketTarget: (adapter, target) => adapter.capabilities(target)
|
|
45
|
-
});
|
|
46
|
-
export const LiveTargetRegistryLayer = Layer.succeed(TargetRegistry)({
|
|
47
|
-
targetCapabilities: liveTargetCapabilities,
|
|
48
|
-
planTargetOperations: planLiveTargetOperations
|
|
49
|
-
});
|
|
50
|
-
//# sourceMappingURL=live.js.map
|
package/dist/targets/live.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/targets/live.ts"],"names":[],"mappings":"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"}
|
package/dist/targets/npm.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { PublishCommandOperation, VerifyRemoteOperation } from "../domain/operation.js";
|
|
3
|
-
import { ReleaseModel } from "../domain/release.js";
|
|
4
|
-
import { NpmRegistryTarget, TargetCapabilities } from "../domain/target.js";
|
|
5
|
-
import { NpmTargetAdapter } from "./adapter.js";
|
|
6
|
-
export type * from "../types/effect-internal.js";
|
|
7
|
-
export declare const npmTargetCapabilities: (target: NpmRegistryTarget) => TargetCapabilities;
|
|
8
|
-
export declare const planNpmOperations: (target: NpmRegistryTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], import("../planner/errors.js").PlanConstructionError, never>;
|
|
9
|
-
export declare const NpmAdapter: NpmTargetAdapter;
|
|
10
|
-
//# sourceMappingURL=npm.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAGL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAU/C,mBAAmB,6BAA6B,CAAA;AAwChD,eAAO,MAAM,qBAAqB,GAAI,QAAQ,iBAAiB,KAAG,kBAOjE,CAAA;AAsDD,eAAO,MAAM,iBAAiB,0ZAoC5B,CAAA;AAEF,eAAO,MAAM,UAAU,EAAE,gBAIxB,CAAA"}
|
package/dist/targets/npm.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { CommandSpec, PublishCommandOperation, VerifyRemoteOperation } from "../domain/operation.js";
|
|
3
|
-
import { TargetAuthSetup, TargetRequiredPermission } from "../domain/target.js";
|
|
4
|
-
import { dryRunValidationOperation, readOnlyCommandValidationOperation, rejectNoDryRunInStrictMode, targetCapabilitiesFor, validationNoteOperation, validationStrategyForDryRun } from "./adapter-helpers.js";
|
|
5
|
-
const isTrustedPublishing = (target) => target.trustedPublishing !== undefined;
|
|
6
|
-
const trustedPublishingAuthEnvNames = [
|
|
7
|
-
"ACTIONS_ID_TOKEN_REQUEST_URL",
|
|
8
|
-
"ACTIONS_ID_TOKEN_REQUEST_TOKEN"
|
|
9
|
-
];
|
|
10
|
-
const authEnvNames = (target) => {
|
|
11
|
-
if (isTrustedPublishing(target)) {
|
|
12
|
-
return trustedPublishingAuthEnvNames;
|
|
13
|
-
}
|
|
14
|
-
return target.tokenEnv === undefined ? [] : [target.tokenEnv];
|
|
15
|
-
};
|
|
16
|
-
const npmCommand = (target, args, includeAuth) => CommandSpec.make({
|
|
17
|
-
executable: "npm",
|
|
18
|
-
args: [...args],
|
|
19
|
-
requiredEnv: includeAuth ? authEnvNames(target) : [],
|
|
20
|
-
redactedEnv: includeAuth ? authEnvNames(target) : []
|
|
21
|
-
});
|
|
22
|
-
const trustedPublishingAuthSetup = (workflow) => TargetAuthSetup.make({
|
|
23
|
-
runsIn: "ci",
|
|
24
|
-
provider: "github-actions",
|
|
25
|
-
workflow,
|
|
26
|
-
requiredPermissions: [
|
|
27
|
-
TargetRequiredPermission.make({ name: "id-token", value: "write" })
|
|
28
|
-
],
|
|
29
|
-
prerequisites: ["npm-package-exists"]
|
|
30
|
-
});
|
|
31
|
-
export const npmTargetCapabilities = (target) => {
|
|
32
|
-
const trustedPublishing = target.trustedPublishing;
|
|
33
|
-
return targetCapabilitiesFor(target, validationStrategyForDryRun(target.dryRunSupport), trustedPublishing === undefined ? undefined : trustedPublishingAuthSetup(trustedPublishing.workflow));
|
|
34
|
-
};
|
|
35
|
-
const npmDryRunOperation = (target) => dryRunValidationOperation({
|
|
36
|
-
id: `${target.id}:npm-pack-dry-run`,
|
|
37
|
-
targetId: target.id,
|
|
38
|
-
dryRunSupport: target.dryRunSupport,
|
|
39
|
-
nativeDescription: "Validate npm package contents with npm pack dry-run.",
|
|
40
|
-
command: npmCommand(target, ["pack", "--dry-run", "--json", target.packagePath], false),
|
|
41
|
-
simulatedDescription: "Record simulated npm dry-run validation.",
|
|
42
|
-
skippedDescription: "Record skipped npm dry-run validation.",
|
|
43
|
-
simulatedMessage: "npm dry-run validation is marked as simulated by target configuration; no npm pack --dry-run command was planned.",
|
|
44
|
-
skippedMessage: "npm dry-run validation was skipped because this target declares no dry-run support."
|
|
45
|
-
});
|
|
46
|
-
const npmAuthOperation = (target) => target.trustedPublishing !== undefined
|
|
47
|
-
? validationNoteOperation({
|
|
48
|
-
id: `${target.id}:npm-trusted-publishing-auth`,
|
|
49
|
-
targetId: target.id,
|
|
50
|
-
dryRunSupport: "simulated",
|
|
51
|
-
simulatedDescription: "Record npm trusted publishing authentication mode.",
|
|
52
|
-
skippedDescription: "Record skipped npm trusted publishing authentication mode.",
|
|
53
|
-
simulatedMessage: `NPM trusted publishing authenticates during npm publish with CI OIDC; npm whoami does not validate this mode. This target expects provider ${target.trustedPublishing.provider}, workflow ${target.trustedPublishing.workflow}, GitHub Actions permission id-token: write, and package ${target.packageName} to already exist on the registry.`,
|
|
54
|
-
skippedMessage: "NPM trusted publishing authentication validation was skipped."
|
|
55
|
-
})
|
|
56
|
-
: readOnlyCommandValidationOperation({
|
|
57
|
-
id: `${target.id}:npm-whoami`,
|
|
58
|
-
targetId: target.id,
|
|
59
|
-
description: "Validate npm CLI authentication.",
|
|
60
|
-
command: npmCommand(target, ["whoami", "--registry", target.registry], true)
|
|
61
|
-
});
|
|
62
|
-
const npmPackageExistsOperation = (target) => readOnlyCommandValidationOperation({
|
|
63
|
-
id: `${target.id}:npm-package-exists`,
|
|
64
|
-
targetId: target.id,
|
|
65
|
-
description: "Verify npm package exists before trusted publishing.",
|
|
66
|
-
command: npmCommand(target, ["view", target.packageName, "name", "--registry", target.registry], false)
|
|
67
|
-
});
|
|
68
|
-
const npmPublishArgs = (target) => {
|
|
69
|
-
const args = ["publish", target.packagePath, "--registry", target.registry];
|
|
70
|
-
if (target.access !== undefined) {
|
|
71
|
-
args.push("--access", target.access);
|
|
72
|
-
}
|
|
73
|
-
if (target.provenance === true) {
|
|
74
|
-
args.push("--provenance");
|
|
75
|
-
}
|
|
76
|
-
return args;
|
|
77
|
-
};
|
|
78
|
-
export const planNpmOperations = Effect.fn("planNpmOperations")(function* (target, model) {
|
|
79
|
-
yield* rejectNoDryRunInStrictMode(target, model, "npm target declares no dry-run support in strict mode.");
|
|
80
|
-
const operations = [
|
|
81
|
-
readOnlyCommandValidationOperation({
|
|
82
|
-
id: `${target.id}:npm-version`,
|
|
83
|
-
targetId: target.id,
|
|
84
|
-
description: "Check npm CLI availability.",
|
|
85
|
-
command: npmCommand(target, ["--version"], false)
|
|
86
|
-
}),
|
|
87
|
-
npmAuthOperation(target),
|
|
88
|
-
...(target.trustedPublishing?.verifyPackageExists === true ? [npmPackageExistsOperation(target)] : []),
|
|
89
|
-
npmDryRunOperation(target),
|
|
90
|
-
PublishCommandOperation.make({
|
|
91
|
-
id: `${target.id}:npm-publish`,
|
|
92
|
-
targetId: target.id,
|
|
93
|
-
description: `Publish ${target.packageName}@${model.identity.version} to npm.`,
|
|
94
|
-
risk: "irreversible",
|
|
95
|
-
command: npmCommand(target, npmPublishArgs(target), true)
|
|
96
|
-
}),
|
|
97
|
-
VerifyRemoteOperation.make({
|
|
98
|
-
id: `${target.id}:npm-version-verify`,
|
|
99
|
-
targetId: target.id,
|
|
100
|
-
description: `Verify ${target.packageName}@${model.identity.version} exists on npm.`,
|
|
101
|
-
risk: "read-only",
|
|
102
|
-
command: npmCommand(target, ["view", `${target.packageName}@${model.identity.version}`, "version", "--registry", target.registry], false)
|
|
103
|
-
})
|
|
104
|
-
];
|
|
105
|
-
return operations;
|
|
106
|
-
});
|
|
107
|
-
export const NpmAdapter = {
|
|
108
|
-
targetTag: "NpmRegistryTarget",
|
|
109
|
-
capabilities: npmTargetCapabilities,
|
|
110
|
-
planOperations: planNpmOperations
|
|
111
|
-
};
|
|
112
|
-
//# sourceMappingURL=npm.js.map
|
package/dist/targets/npm.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"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"}
|
package/dist/targets/pypi.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { PublishCommandOperation } from "../domain/operation.js";
|
|
3
|
-
import { ReleaseModel } from "../domain/release.js";
|
|
4
|
-
import { PyPiRegistryTarget, TargetCapabilities } from "../domain/target.js";
|
|
5
|
-
import { PlanConstructionError } from "../planner/errors.js";
|
|
6
|
-
import { PyPiTargetAdapter } from "./adapter.js";
|
|
7
|
-
export type * from "../types/effect-internal.js";
|
|
8
|
-
export declare const pypiTargetCapabilities: (target: PyPiRegistryTarget) => TargetCapabilities;
|
|
9
|
-
export declare const planPyPiOperations: (target: PyPiRegistryTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], PlanConstructionError, never>;
|
|
10
|
-
export declare const PyPiAdapter: PyPiTargetAdapter;
|
|
11
|
-
//# sourceMappingURL=pypi.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pypi.d.ts","sourceRoot":"","sources":["../../src/targets/pypi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAGL,uBAAuB,EACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAWhD,mBAAmB,6BAA6B,CAAA;AAyChD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,kBAOjE,CAAA;AAiFH,eAAO,MAAM,kBAAkB,6ZAkD7B,CAAA;AAEF,eAAO,MAAM,WAAW,EAAE,iBAIzB,CAAA"}
|
package/dist/targets/pypi.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { CommandSpec, PublishCommandOperation } from "../domain/operation.js";
|
|
3
|
-
import { TargetAuthSetup, TargetRequiredPermission } from "../domain/target.js";
|
|
4
|
-
import { PlanConstructionError } from "../planner/errors.js";
|
|
5
|
-
import { dryRunValidationOperation, noAuthCommand, readOnlyCommandValidationOperation, rejectNoDryRunInStrictMode, targetCapabilitiesFor, validationNoteOperation, validationStrategyForDryRun } from "./adapter-helpers.js";
|
|
6
|
-
const twineUsernameEnv = "TWINE_USERNAME";
|
|
7
|
-
const twinePasswordEnv = "TWINE_PASSWORD";
|
|
8
|
-
const trustedPublishingAuthEnvNames = [
|
|
9
|
-
"ACTIONS_ID_TOKEN_REQUEST_URL",
|
|
10
|
-
"ACTIONS_ID_TOKEN_REQUEST_TOKEN"
|
|
11
|
-
];
|
|
12
|
-
const envNames = (target) => target.trustedPublishing !== undefined
|
|
13
|
-
? trustedPublishingAuthEnvNames
|
|
14
|
-
: target.usernameEnv === undefined || target.passwordEnv === undefined
|
|
15
|
-
? []
|
|
16
|
-
: [target.usernameEnv, target.passwordEnv];
|
|
17
|
-
const pythonExecutable = (target) => target.pythonExecutable ?? "python";
|
|
18
|
-
const twineAuthCommand = (target, args) => CommandSpec.make({
|
|
19
|
-
executable: pythonExecutable(target),
|
|
20
|
-
args: ["-m", "twine", ...args],
|
|
21
|
-
requiredEnv: envNames(target),
|
|
22
|
-
redactedEnv: envNames(target)
|
|
23
|
-
});
|
|
24
|
-
const trustedPublishingAuthSetup = (workflow) => TargetAuthSetup.make({
|
|
25
|
-
runsIn: "ci",
|
|
26
|
-
provider: "github-actions",
|
|
27
|
-
workflow,
|
|
28
|
-
requiredPermissions: [
|
|
29
|
-
TargetRequiredPermission.make({ name: "id-token", value: "write" })
|
|
30
|
-
],
|
|
31
|
-
prerequisites: ["pypi-trusted-publisher-configured"]
|
|
32
|
-
});
|
|
33
|
-
export const pypiTargetCapabilities = (target) => targetCapabilitiesFor(target, validationStrategyForDryRun(target.dryRunSupport), target.trustedPublishing === undefined
|
|
34
|
-
? undefined
|
|
35
|
-
: trustedPublishingAuthSetup(target.trustedPublishing.workflow));
|
|
36
|
-
const targetArtifacts = (target, model) => model.artifacts.filter((artifact) => artifact.consumers.includes(target.id));
|
|
37
|
-
const pypiDryRunOperation = (target, artifactPaths) => dryRunValidationOperation({
|
|
38
|
-
id: `${target.id}:twine-check`,
|
|
39
|
-
targetId: target.id,
|
|
40
|
-
dryRunSupport: target.dryRunSupport,
|
|
41
|
-
nativeDescription: "Validate Python distribution metadata with twine check.",
|
|
42
|
-
command: noAuthCommand(pythonExecutable(target), ["-m", "twine", "check", ...artifactPaths]),
|
|
43
|
-
simulatedDescription: "Record simulated PyPI distribution validation.",
|
|
44
|
-
skippedDescription: "Record skipped PyPI distribution validation.",
|
|
45
|
-
simulatedMessage: "PyPI distribution validation is simulated by the deterministic release plan; no twine check command was planned.",
|
|
46
|
-
skippedMessage: "PyPI distribution validation was skipped because this target declares no dry-run support."
|
|
47
|
-
});
|
|
48
|
-
const pypiPublishArgs = (target, artifactPaths) => [
|
|
49
|
-
"upload",
|
|
50
|
-
"--non-interactive",
|
|
51
|
-
"--repository-url",
|
|
52
|
-
target.repositoryUrl,
|
|
53
|
-
...artifactPaths
|
|
54
|
-
];
|
|
55
|
-
const pypiAuthOperation = (target) => target.trustedPublishing === undefined
|
|
56
|
-
? []
|
|
57
|
-
: [
|
|
58
|
-
validationNoteOperation({
|
|
59
|
-
id: `${target.id}:twine-trusted-publishing-auth`,
|
|
60
|
-
targetId: target.id,
|
|
61
|
-
dryRunSupport: "simulated",
|
|
62
|
-
simulatedDescription: "Record PyPI trusted publishing authentication mode.",
|
|
63
|
-
skippedDescription: "Record skipped PyPI trusted publishing authentication mode.",
|
|
64
|
-
simulatedMessage: `PyPI trusted publishing authenticates during twine upload with CI OIDC; twine check does not validate this mode. This target expects provider ${target.trustedPublishing.provider}, workflow ${target.trustedPublishing.workflow}, GitHub Actions permission id-token: write, and a trusted publisher configured on PyPI.`,
|
|
65
|
-
skippedMessage: "PyPI trusted publishing authentication validation was skipped."
|
|
66
|
-
})
|
|
67
|
-
];
|
|
68
|
-
const validateAuthConfig = (target) => {
|
|
69
|
-
const hasUsername = target.usernameEnv !== undefined;
|
|
70
|
-
const hasPassword = target.passwordEnv !== undefined;
|
|
71
|
-
if (target.trustedPublishing !== undefined && (hasUsername || hasPassword)) {
|
|
72
|
-
return Effect.fail(PlanConstructionError.make({
|
|
73
|
-
targetId: target.id,
|
|
74
|
-
reason: "PyPI trusted publishing uses CI OIDC and must not also declare usernameEnv or passwordEnv."
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
if (!hasUsername && !hasPassword) {
|
|
78
|
-
return Effect.void;
|
|
79
|
-
}
|
|
80
|
-
if (hasUsername !== hasPassword) {
|
|
81
|
-
return Effect.fail(PlanConstructionError.make({
|
|
82
|
-
targetId: target.id,
|
|
83
|
-
reason: "PyPI token auth must configure both usernameEnv and passwordEnv, or neither."
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
if (target.usernameEnv === twineUsernameEnv && target.passwordEnv === twinePasswordEnv) {
|
|
87
|
-
return Effect.void;
|
|
88
|
-
}
|
|
89
|
-
return Effect.fail(PlanConstructionError.make({
|
|
90
|
-
targetId: target.id,
|
|
91
|
-
reason: "PyPI token auth only supports usernameEnv TWINE_USERNAME and passwordEnv TWINE_PASSWORD because Twine reads those environment variables directly; this adapter keeps secrets out of argv and does not remap env names."
|
|
92
|
-
}));
|
|
93
|
-
};
|
|
94
|
-
export const planPyPiOperations = Effect.fn("planPyPiOperations")(function* (target, model) {
|
|
95
|
-
yield* validateAuthConfig(target);
|
|
96
|
-
yield* rejectNoDryRunInStrictMode(target, model, "PyPI target declares no dry-run support in strict mode.");
|
|
97
|
-
const artifacts = targetArtifacts(target, model);
|
|
98
|
-
if (artifacts.length === 0) {
|
|
99
|
-
return yield* Effect.fail(PlanConstructionError.make({
|
|
100
|
-
targetId: target.id,
|
|
101
|
-
reason: "PyPI target must have at least one artifact consumer."
|
|
102
|
-
}));
|
|
103
|
-
}
|
|
104
|
-
const directoryArtifact = artifacts.find((artifact) => artifact.format === "directory");
|
|
105
|
-
if (directoryArtifact !== undefined) {
|
|
106
|
-
return yield* Effect.fail(PlanConstructionError.make({
|
|
107
|
-
targetId: target.id,
|
|
108
|
-
reason: `PyPI target artifact ${directoryArtifact.id} must be a built distribution file, not a directory.`
|
|
109
|
-
}));
|
|
110
|
-
}
|
|
111
|
-
const artifactPaths = artifacts.map((artifact) => artifact.path);
|
|
112
|
-
return [
|
|
113
|
-
readOnlyCommandValidationOperation({
|
|
114
|
-
id: `${target.id}:python-version`,
|
|
115
|
-
targetId: target.id,
|
|
116
|
-
description: "Check Python CLI availability.",
|
|
117
|
-
command: noAuthCommand(pythonExecutable(target), ["--version"])
|
|
118
|
-
}),
|
|
119
|
-
readOnlyCommandValidationOperation({
|
|
120
|
-
id: `${target.id}:twine-version`,
|
|
121
|
-
targetId: target.id,
|
|
122
|
-
description: "Check Twine CLI availability.",
|
|
123
|
-
command: noAuthCommand(pythonExecutable(target), ["-m", "twine", "--version"])
|
|
124
|
-
}),
|
|
125
|
-
...pypiAuthOperation(target),
|
|
126
|
-
pypiDryRunOperation(target, artifactPaths),
|
|
127
|
-
PublishCommandOperation.make({
|
|
128
|
-
id: `${target.id}:twine-upload`,
|
|
129
|
-
targetId: target.id,
|
|
130
|
-
description: `Publish ${model.identity.name}@${model.identity.version} to PyPI-compatible registry.`,
|
|
131
|
-
risk: "irreversible",
|
|
132
|
-
command: twineAuthCommand(target, pypiPublishArgs(target, artifactPaths))
|
|
133
|
-
})
|
|
134
|
-
];
|
|
135
|
-
});
|
|
136
|
-
export const PyPiAdapter = {
|
|
137
|
-
targetTag: "PyPiRegistryTarget",
|
|
138
|
-
capabilities: pypiTargetCapabilities,
|
|
139
|
-
planOperations: planPyPiOperations
|
|
140
|
-
};
|
|
141
|
-
//# sourceMappingURL=pypi.js.map
|
package/dist/targets/pypi.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pypi.js","sourceRoot":"","sources":["../../src/targets/pypi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Schema from "effect/Schema";
|
|
4
|
-
import { Operation } from "../domain/operation.js";
|
|
5
|
-
import { ReleaseModel } from "../domain/release.js";
|
|
6
|
-
import { TargetCapabilities, TargetConfig } from "../domain/target.js";
|
|
7
|
-
import { PlanConstructionError } from "../planner/errors.js";
|
|
8
|
-
export type * from "../types/effect-internal.js";
|
|
9
|
-
declare const MissingTargetAdapterError_base: Schema.Class<MissingTargetAdapterError, Schema.TaggedStruct<"MissingTargetAdapterError", {
|
|
10
|
-
readonly targetTag: Schema.String;
|
|
11
|
-
}>, import("effect/Cause").YieldableError>;
|
|
12
|
-
export declare class MissingTargetAdapterError extends MissingTargetAdapterError_base {
|
|
13
|
-
}
|
|
14
|
-
export interface TargetRegistryShape {
|
|
15
|
-
readonly targetCapabilities: (target: TargetConfig) => TargetCapabilities;
|
|
16
|
-
readonly planTargetOperations: (target: TargetConfig, model: ReleaseModel) => Effect.Effect<ReadonlyArray<Operation>, MissingTargetAdapterError | PlanConstructionError>;
|
|
17
|
-
}
|
|
18
|
-
declare const TargetRegistry_base: Context.ServiceClass<TargetRegistry, "TargetRegistry", TargetRegistryShape>;
|
|
19
|
-
export declare class TargetRegistry extends TargetRegistry_base {
|
|
20
|
-
}
|
|
21
|
-
export declare const targetCapabilities: (target: import("../domain/target.js").NpmRegistryTarget | import("../domain/target.js").GitHubReleaseTarget | import("../domain/target.js").HomebrewTapTarget | import("../domain/target.js").PyPiRegistryTarget | import("../domain/target.js").ScoopBucketTarget) => Effect.Effect<TargetCapabilities, never, TargetRegistry>;
|
|
22
|
-
export declare const allTargetCapabilities: (model: ReleaseModel) => Effect.Effect<TargetCapabilities[], never, TargetRegistry>;
|
|
23
|
-
export declare const planTargetOperations: (target: import("../domain/target.js").NpmRegistryTarget | import("../domain/target.js").GitHubReleaseTarget | import("../domain/target.js").HomebrewTapTarget | import("../domain/target.js").PyPiRegistryTarget | import("../domain/target.js").ScoopBucketTarget, model: ReleaseModel) => Effect.Effect<readonly (import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], PlanConstructionError | MissingTargetAdapterError, TargetRegistry>;
|
|
24
|
-
export declare const planAllTargetOperations: (model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], PlanConstructionError | MissingTargetAdapterError, TargetRegistry>;
|
|
25
|
-
//# sourceMappingURL=registry.d.ts.map
|