putitoutthere 0.3.26 → 0.3.28
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/dist/action.d.ts +2 -6
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +17 -23
- package/dist/action.js.map +1 -1
- package/dist/advance-floating-major.d.ts +3 -15
- package/dist/advance-floating-major.d.ts.map +1 -1
- package/dist/advance-floating-major.js +3 -15
- package/dist/advance-floating-major.js.map +1 -1
- package/dist/advance-v0.d.ts +3 -11
- package/dist/advance-v0.d.ts.map +1 -1
- package/dist/advance-v0.js +3 -11
- package/dist/advance-v0.js.map +1 -1
- package/dist/build-requires-declares.d.ts.map +1 -1
- package/dist/build-requires-declares.js +3 -16
- package/dist/build-requires-declares.js.map +1 -1
- package/dist/cargo-dep-entries.d.ts +4 -12
- package/dist/cargo-dep-entries.d.ts.map +1 -1
- package/dist/cargo-dep-entries.js +4 -12
- package/dist/cargo-dep-entries.js.map +1 -1
- package/dist/cascade.d.ts +4 -22
- package/dist/cascade.d.ts.map +1 -1
- package/dist/cascade.js +4 -22
- package/dist/cascade.js.map +1 -1
- package/dist/check-crate-size.d.ts +4 -14
- package/dist/check-crate-size.d.ts.map +1 -1
- package/dist/check-crate-size.js +4 -14
- package/dist/check-crate-size.js.map +1 -1
- package/dist/check.d.ts +4 -23
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +4 -23
- package/dist/check.js.map +1 -1
- package/dist/cli.d.ts +3 -41
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +14 -41
- package/dist/cli.js.map +1 -1
- package/dist/completeness.d.ts +4 -13
- package/dist/completeness.d.ts.map +1 -1
- package/dist/completeness.js +4 -13
- package/dist/completeness.js.map +1 -1
- package/dist/config.d.ts +4 -12
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -12
- package/dist/config.js.map +1 -1
- package/dist/emit-plan-outputs.d.ts +4 -18
- package/dist/emit-plan-outputs.d.ts.map +1 -1
- package/dist/emit-plan-outputs.js +4 -18
- package/dist/emit-plan-outputs.js.map +1 -1
- package/dist/emit-release-outputs.d.ts +4 -17
- package/dist/emit-release-outputs.d.ts.map +1 -1
- package/dist/emit-release-outputs.js +4 -17
- package/dist/emit-release-outputs.js.map +1 -1
- package/dist/ensure-tag.d.ts +13 -9
- package/dist/ensure-tag.d.ts.map +1 -1
- package/dist/ensure-tag.js +25 -13
- package/dist/ensure-tag.js.map +1 -1
- package/dist/env.d.ts +8 -23
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +11 -40
- package/dist/env.js.map +1 -1
- package/dist/error-codes.d.ts +14 -27
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +15 -27
- package/dist/error-codes.js.map +1 -1
- package/dist/fold-action-bundle.d.ts +4 -20
- package/dist/fold-action-bundle.d.ts.map +1 -1
- package/dist/fold-action-bundle.js +4 -20
- package/dist/fold-action-bundle.js.map +1 -1
- package/dist/force-move-tag.d.ts +4 -13
- package/dist/force-move-tag.d.ts.map +1 -1
- package/dist/force-move-tag.js +4 -13
- package/dist/force-move-tag.js.map +1 -1
- package/dist/git.d.ts +15 -16
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +19 -16
- package/dist/git.js.map +1 -1
- package/dist/glob.d.ts +3 -10
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +3 -10
- package/dist/glob.js.map +1 -1
- package/dist/handlers/classify-npm-view-failure.d.ts +4 -30
- package/dist/handlers/classify-npm-view-failure.d.ts.map +1 -1
- package/dist/handlers/classify-npm-view-failure.js +7 -38
- package/dist/handlers/classify-npm-view-failure.js.map +1 -1
- package/dist/handlers/crates.d.ts +4 -35
- package/dist/handlers/crates.d.ts.map +1 -1
- package/dist/handlers/crates.js +8 -47
- package/dist/handlers/crates.js.map +1 -1
- package/dist/handlers/first-file-under.d.ts +3 -11
- package/dist/handlers/first-file-under.d.ts.map +1 -1
- package/dist/handlers/first-file-under.js +3 -11
- package/dist/handlers/first-file-under.js.map +1 -1
- package/dist/handlers/match-first-publish-tp-rejection.d.ts +4 -16
- package/dist/handlers/match-first-publish-tp-rejection.d.ts.map +1 -1
- package/dist/handlers/match-first-publish-tp-rejection.js +4 -16
- package/dist/handlers/match-first-publish-tp-rejection.js.map +1 -1
- package/dist/handlers/match-npm-name-too-similar.d.ts +4 -25
- package/dist/handlers/match-npm-name-too-similar.d.ts.map +1 -1
- package/dist/handlers/match-npm-name-too-similar.js +4 -25
- package/dist/handlers/match-npm-name-too-similar.js.map +1 -1
- package/dist/handlers/match-tlog-duplicate.d.ts +4 -13
- package/dist/handlers/match-tlog-duplicate.d.ts.map +1 -1
- package/dist/handlers/match-tlog-duplicate.js +4 -13
- package/dist/handlers/match-tlog-duplicate.js.map +1 -1
- package/dist/handlers/npm-platform.d.ts +11 -46
- package/dist/handlers/npm-platform.d.ts.map +1 -1
- package/dist/handlers/npm-platform.js +11 -46
- package/dist/handlers/npm-platform.js.map +1 -1
- package/dist/handlers/npm.d.ts +3 -7
- package/dist/handlers/npm.d.ts.map +1 -1
- package/dist/handlers/npm.js +11 -45
- package/dist/handlers/npm.js.map +1 -1
- package/dist/handlers/pypi.d.ts +5 -37
- package/dist/handlers/pypi.d.ts.map +1 -1
- package/dist/handlers/pypi.js +5 -37
- package/dist/handlers/pypi.js.map +1 -1
- package/dist/handlers/scan-dirty-outside-manifest.d.ts +4 -11
- package/dist/handlers/scan-dirty-outside-manifest.d.ts.map +1 -1
- package/dist/handlers/scan-dirty-outside-manifest.js +4 -11
- package/dist/handlers/scan-dirty-outside-manifest.js.map +1 -1
- package/dist/is-within-dir.d.ts +3 -5
- package/dist/is-within-dir.d.ts.map +1 -1
- package/dist/is-within-dir.js +3 -5
- package/dist/is-within-dir.js.map +1 -1
- package/dist/log.d.ts +6 -33
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +10 -57
- package/dist/log.js.map +1 -1
- package/dist/manylinux-for-triple.d.ts +4 -6
- package/dist/manylinux-for-triple.d.ts.map +1 -1
- package/dist/manylinux-for-triple.js +4 -6
- package/dist/manylinux-for-triple.js.map +1 -1
- package/dist/must-get.d.ts +3 -14
- package/dist/must-get.d.ts.map +1 -1
- package/dist/must-get.js +3 -14
- package/dist/must-get.js.map +1 -1
- package/dist/normalize-artifacts.d.ts +4 -19
- package/dist/normalize-artifacts.d.ts.map +1 -1
- package/dist/normalize-artifacts.js +4 -19
- package/dist/normalize-artifacts.js.map +1 -1
- package/dist/normalize-dist-name.d.ts +4 -13
- package/dist/normalize-dist-name.d.ts.map +1 -1
- package/dist/normalize-dist-name.js +4 -13
- package/dist/normalize-dist-name.js.map +1 -1
- package/dist/packages-by-name.d.ts +4 -12
- package/dist/packages-by-name.d.ts.map +1 -1
- package/dist/packages-by-name.js +4 -12
- package/dist/packages-by-name.js.map +1 -1
- package/dist/parse-reconcile-expect.d.ts +2 -5
- package/dist/parse-reconcile-expect.d.ts.map +1 -1
- package/dist/parse-reconcile-expect.js +2 -5
- package/dist/parse-reconcile-expect.js.map +1 -1
- package/dist/plan-skew.d.ts +4 -8
- package/dist/plan-skew.d.ts.map +1 -1
- package/dist/plan-skew.js +4 -8
- package/dist/plan-skew.js.map +1 -1
- package/dist/plan-status-types.d.ts +3 -6
- package/dist/plan-status-types.d.ts.map +1 -1
- package/dist/plan-status-types.js +3 -6
- package/dist/plan-status-types.js.map +1 -1
- package/dist/plan-status.d.ts +5 -18
- package/dist/plan-status.d.ts.map +1 -1
- package/dist/plan-status.js +5 -18
- package/dist/plan-status.js.map +1 -1
- package/dist/plan.d.ts +4 -8
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +8 -22
- package/dist/plan.js.map +1 -1
- package/dist/preflight.d.ts +16 -62
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +16 -62
- package/dist/preflight.js.map +1 -1
- package/dist/publish-progress.d.ts +4 -17
- package/dist/publish-progress.d.ts.map +1 -1
- package/dist/publish-progress.js +4 -17
- package/dist/publish-progress.js.map +1 -1
- package/dist/publish.d.ts +4 -18
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +4 -18
- package/dist/publish.js.map +1 -1
- package/dist/pypi-version-source.d.ts +3 -31
- package/dist/pypi-version-source.d.ts.map +1 -1
- package/dist/pypi-version-source.js +3 -31
- package/dist/pypi-version-source.js.map +1 -1
- package/dist/python-versions.d.ts +4 -13
- package/dist/python-versions.d.ts.map +1 -1
- package/dist/python-versions.js +4 -13
- package/dist/python-versions.js.map +1 -1
- package/dist/reconcile-expect.d.ts +4 -20
- package/dist/reconcile-expect.d.ts.map +1 -1
- package/dist/reconcile-expect.js +4 -20
- package/dist/reconcile-expect.js.map +1 -1
- package/dist/reconcile-skip-warnings.d.ts +21 -0
- package/dist/reconcile-skip-warnings.d.ts.map +1 -0
- package/dist/reconcile-skip-warnings.js +24 -0
- package/dist/reconcile-skip-warnings.js.map +1 -0
- package/dist/reconcile-types.d.ts +30 -3
- package/dist/reconcile-types.d.ts.map +1 -1
- package/dist/reconcile-types.js +3 -3
- package/dist/reconcile.d.ts +11 -2
- package/dist/reconcile.d.ts.map +1 -1
- package/dist/reconcile.js +31 -8
- package/dist/reconcile.js.map +1 -1
- package/dist/release-github/gh-release-create.d.ts +4 -7
- package/dist/release-github/gh-release-create.d.ts.map +1 -1
- package/dist/release-github/gh-release-create.js +4 -7
- package/dist/release-github/gh-release-create.js.map +1 -1
- package/dist/release-github/gh-release-exists.d.ts +4 -8
- package/dist/release-github/gh-release-exists.d.ts.map +1 -1
- package/dist/release-github/gh-release-exists.js +4 -8
- package/dist/release-github/gh-release-exists.js.map +1 -1
- package/dist/release-github/index.d.ts +4 -29
- package/dist/release-github/index.d.ts.map +1 -1
- package/dist/release-github/index.js +4 -29
- package/dist/release-github/index.js.map +1 -1
- package/dist/release-packages.d.ts +4 -16
- package/dist/release-packages.d.ts.map +1 -1
- package/dist/release-packages.js +4 -16
- package/dist/release-packages.js.map +1 -1
- package/dist/replace-cargo-version.d.ts +3 -30
- package/dist/replace-cargo-version.d.ts.map +1 -1
- package/dist/replace-cargo-version.js +3 -30
- package/dist/replace-cargo-version.js.map +1 -1
- package/dist/replace-dep-version-req.d.ts +8 -32
- package/dist/replace-dep-version-req.d.ts.map +1 -1
- package/dist/replace-dep-version-req.js +8 -32
- package/dist/replace-dep-version-req.js.map +1 -1
- package/dist/repo-relative-paths.d.ts +3 -14
- package/dist/repo-relative-paths.d.ts.map +1 -1
- package/dist/repo-relative-paths.js +3 -14
- package/dist/repo-relative-paths.js.map +1 -1
- package/dist/resolve/run-resolve.d.ts +4 -9
- package/dist/resolve/run-resolve.d.ts.map +1 -1
- package/dist/resolve/run-resolve.js +4 -9
- package/dist/resolve/run-resolve.js.map +1 -1
- package/dist/resolve-dep-dirs.d.ts +4 -14
- package/dist/resolve-dep-dirs.d.ts.map +1 -1
- package/dist/resolve-dep-dirs.js +4 -14
- package/dist/resolve-dep-dirs.js.map +1 -1
- package/dist/resolve-tag-commit.d.ts +4 -12
- package/dist/resolve-tag-commit.d.ts.map +1 -1
- package/dist/resolve-tag-commit.js +4 -12
- package/dist/resolve-tag-commit.js.map +1 -1
- package/dist/retry.d.ts +4 -16
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +4 -16
- package/dist/retry.js.map +1 -1
- package/dist/status-classify.d.ts +3 -6
- package/dist/status-classify.d.ts.map +1 -1
- package/dist/status-classify.js +3 -6
- package/dist/status-classify.js.map +1 -1
- package/dist/status.d.ts +4 -18
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +4 -18
- package/dist/status.js.map +1 -1
- package/dist/tag-template.d.ts +4 -14
- package/dist/tag-template.d.ts.map +1 -1
- package/dist/tag-template.js +4 -14
- package/dist/tag-template.js.map +1 -1
- package/dist/to-error.d.ts +4 -13
- package/dist/to-error.d.ts.map +1 -1
- package/dist/to-error.js +4 -13
- package/dist/to-error.js.map +1 -1
- package/dist/trailer.d.ts +4 -17
- package/dist/trailer.d.ts.map +1 -1
- package/dist/trailer.js +4 -17
- package/dist/trailer.js.map +1 -1
- package/dist/types.d.ts +11 -32
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -6
- package/dist/types.js.map +1 -1
- package/dist/unpublished-kinds.d.ts +4 -15
- package/dist/unpublished-kinds.d.ts.map +1 -1
- package/dist/unpublished-kinds.js +4 -15
- package/dist/unpublished-kinds.js.map +1 -1
- package/dist/utils/bound-capture.d.ts +4 -8
- package/dist/utils/bound-capture.d.ts.map +1 -1
- package/dist/utils/bound-capture.js +4 -8
- package/dist/utils/bound-capture.js.map +1 -1
- package/dist/utils/elide-middle.d.ts +4 -19
- package/dist/utils/elide-middle.d.ts.map +1 -1
- package/dist/utils/elide-middle.js +4 -19
- package/dist/utils/elide-middle.js.map +1 -1
- package/dist/utils/find-exec-error.d.ts.map +1 -1
- package/dist/utils/find-exec-error.js +4 -12
- package/dist/utils/find-exec-error.js.map +1 -1
- package/dist/utils/flush-stdio.d.ts +4 -11
- package/dist/utils/flush-stdio.d.ts.map +1 -1
- package/dist/utils/flush-stdio.js +4 -11
- package/dist/utils/flush-stdio.js.map +1 -1
- package/dist/utils/list-files-recursive.d.ts +3 -7
- package/dist/utils/list-files-recursive.d.ts.map +1 -1
- package/dist/utils/list-files-recursive.js +3 -7
- package/dist/utils/list-files-recursive.js.map +1 -1
- package/dist/utils/to-posix-path.d.ts +4 -7
- package/dist/utils/to-posix-path.d.ts.map +1 -1
- package/dist/utils/to-posix-path.js +4 -7
- package/dist/utils/to-posix-path.js.map +1 -1
- package/dist/verbose.d.ts +4 -10
- package/dist/verbose.d.ts.map +1 -1
- package/dist/verbose.js +4 -10
- package/dist/verbose.js.map +1 -1
- package/dist/verify/bundle-cli/compute-stage-suffix.d.ts +4 -11
- package/dist/verify/bundle-cli/compute-stage-suffix.d.ts.map +1 -1
- package/dist/verify/bundle-cli/compute-stage-suffix.js +4 -11
- package/dist/verify/bundle-cli/compute-stage-suffix.js.map +1 -1
- package/dist/verify/bundle-cli/index.d.ts +4 -20
- package/dist/verify/bundle-cli/index.d.ts.map +1 -1
- package/dist/verify/bundle-cli/index.js +4 -20
- package/dist/verify/bundle-cli/index.js.map +1 -1
- package/dist/verify/bundle-cli/read-python-source.d.ts +4 -12
- package/dist/verify/bundle-cli/read-python-source.d.ts.map +1 -1
- package/dist/verify/bundle-cli/read-python-source.js +4 -12
- package/dist/verify/bundle-cli/read-python-source.js.map +1 -1
- package/dist/verify/crate/find-crate-file.d.ts +2 -6
- package/dist/verify/crate/find-crate-file.d.ts.map +1 -1
- package/dist/verify/crate/find-crate-file.js +2 -6
- package/dist/verify/crate/find-crate-file.js.map +1 -1
- package/dist/verify/crate/has-crate-source.d.ts +3 -5
- package/dist/verify/crate/has-crate-source.d.ts.map +1 -1
- package/dist/verify/crate/has-crate-source.js +3 -5
- package/dist/verify/crate/has-crate-source.js.map +1 -1
- package/dist/verify/crate/index.d.ts +4 -16
- package/dist/verify/crate/index.d.ts.map +1 -1
- package/dist/verify/crate/index.js +4 -16
- package/dist/verify/crate/index.js.map +1 -1
- package/dist/verify/npm-tarball/download.d.ts +3 -9
- package/dist/verify/npm-tarball/download.d.ts.map +1 -1
- package/dist/verify/npm-tarball/download.js +3 -9
- package/dist/verify/npm-tarball/download.js.map +1 -1
- package/dist/verify/npm-tarball/index.d.ts +4 -13
- package/dist/verify/npm-tarball/index.d.ts.map +1 -1
- package/dist/verify/npm-tarball/index.js +4 -13
- package/dist/verify/npm-tarball/index.js.map +1 -1
- package/dist/verify/npm-tarball/local-dir-state.d.ts +4 -8
- package/dist/verify/npm-tarball/local-dir-state.d.ts.map +1 -1
- package/dist/verify/npm-tarball/local-dir-state.js +4 -8
- package/dist/verify/npm-tarball/local-dir-state.js.map +1 -1
- package/dist/verify/npm-tarball/main.d.ts +4 -14
- package/dist/verify/npm-tarball/main.d.ts.map +1 -1
- package/dist/verify/npm-tarball/main.js +4 -14
- package/dist/verify/npm-tarball/main.js.map +1 -1
- package/dist/verify/npm-tarball/resolve-url.d.ts +4 -11
- package/dist/verify/npm-tarball/resolve-url.d.ts.map +1 -1
- package/dist/verify/npm-tarball/resolve-url.js +4 -11
- package/dist/verify/npm-tarball/resolve-url.js.map +1 -1
- package/dist/verify/npm-tarball/triple.d.ts +4 -26
- package/dist/verify/npm-tarball/triple.d.ts.map +1 -1
- package/dist/verify/npm-tarball/triple.js +4 -26
- package/dist/verify/npm-tarball/triple.js.map +1 -1
- package/dist/verify/posture.d.ts +4 -13
- package/dist/verify/posture.d.ts.map +1 -1
- package/dist/verify/posture.js +4 -13
- package/dist/verify/posture.js.map +1 -1
- package/dist/verify/wheel/index.d.ts +4 -17
- package/dist/verify/wheel/index.d.ts.map +1 -1
- package/dist/verify/wheel/index.js +4 -17
- package/dist/verify/wheel/index.js.map +1 -1
- package/dist/verify/wheel/manylinux-tag-patterns.d.ts +4 -6
- package/dist/verify/wheel/manylinux-tag-patterns.d.ts.map +1 -1
- package/dist/verify/wheel/manylinux-tag-patterns.js +4 -6
- package/dist/verify/wheel/manylinux-tag-patterns.js.map +1 -1
- package/dist/verify/wheel/read-wheel-version.d.ts +4 -8
- package/dist/verify/wheel/read-wheel-version.d.ts.map +1 -1
- package/dist/verify/wheel/read-wheel-version.js +4 -8
- package/dist/verify/wheel/read-wheel-version.js.map +1 -1
- package/dist/verify/wheel/read-zip-entry.d.ts +3 -8
- package/dist/verify/wheel/read-zip-entry.d.ts.map +1 -1
- package/dist/verify/wheel/read-zip-entry.js +3 -8
- package/dist/verify/wheel/read-zip-entry.js.map +1 -1
- package/dist/version.d.ts +4 -12
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +4 -12
- package/dist/version.js.map +1 -1
- package/dist/wheel-abi.d.ts +5 -28
- package/dist/wheel-abi.d.ts.map +1 -1
- package/dist/wheel-abi.js +5 -28
- package/dist/wheel-abi.js.map +1 -1
- package/dist/write-crate-version.d.ts +4 -17
- package/dist/write-crate-version.d.ts.map +1 -1
- package/dist/write-crate-version.js +4 -17
- package/dist/write-crate-version.js.map +1 -1
- package/dist/write-dependent-version-reqs.d.ts +8 -43
- package/dist/write-dependent-version-reqs.d.ts.map +1 -1
- package/dist/write-dependent-version-reqs.js +8 -43
- package/dist/write-dependent-version-reqs.js.map +1 -1
- package/dist/write-embedded-crate-versions.d.ts +9 -40
- package/dist/write-embedded-crate-versions.d.ts.map +1 -1
- package/dist/write-embedded-crate-versions.js +9 -40
- package/dist/write-embedded-crate-versions.js.map +1 -1
- package/dist/write-launcher.d.ts +7 -23
- package/dist/write-launcher.d.ts.map +1 -1
- package/dist/write-launcher.js +11 -37
- package/dist/write-launcher.js.map +1 -1
- package/dist/write-resolved-cargo-version.d.ts +4 -12
- package/dist/write-resolved-cargo-version.d.ts.map +1 -1
- package/dist/write-resolved-cargo-version.js +4 -12
- package/dist/write-resolved-cargo-version.js.map +1 -1
- package/dist/write-version.d.ts +8 -29
- package/dist/write-version.d.ts.map +1 -1
- package/dist/write-version.js +8 -29
- package/dist/write-version.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `putitoutthere verify bundle-cli` — assert a maturin bundled-CLI wheel
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* <stage_to>/<bin>" bash block in `.github/workflows/_matrix.yml`. That step
|
|
7
|
-
* guards the #282/#358 contract: a `[package.bundle_cli]` build must stage
|
|
8
|
-
* its per-target binary into the wheel, so a consumer who declares a bundled
|
|
9
|
-
* CLI actually ships one. Without it, a build that silently failed to stage
|
|
10
|
-
* the binary would still produce a wheel and go green — the release surprise
|
|
11
|
-
* the no-surprises commitment exists to catch.
|
|
12
|
-
*
|
|
13
|
-
* The binary's expected path is `<stage_suffix>/<bin><ext>` where
|
|
14
|
-
* `stage_suffix` is `stage_to` with `[tool.maturin].python-source`
|
|
15
|
-
* subtracted (maturin strips that dir from the wheel layout) and `ext` is
|
|
16
|
-
* `.exe` on a Windows target. The wheel is a zip; its entries are read with
|
|
17
|
-
* the pure-Node reader `verify wheel` (#450) already ships — no `unzip`, so
|
|
18
|
-
* this runs on every platform the maturin matrix builds on, Windows
|
|
19
|
-
* included — and the match mirrors the bash `grep -qE
|
|
20
|
-
* "(^|/)<stage_suffix>/<expected>$"`. Async throughout. Returns the
|
|
21
|
-
* process exit code (0 ok, 1 on a miss).
|
|
2
|
+
* `putitoutthere verify bundle-cli` — assert a maturin bundled-CLI wheel ships
|
|
3
|
+
* its cross-compiled binary at `<stage_suffix>/<bin><ext>` (`.exe` on Windows)
|
|
4
|
+
* (#451, #282/#358): without it a build that failed to stage the binary still
|
|
5
|
+
* produces a wheel and goes green. Zip reads use `verify wheel`'s reader (#450).
|
|
22
6
|
*/
|
|
23
7
|
import type { VerifyBundleCliOptions } from './types.js';
|
|
24
8
|
export declare function verifyBundleCli(opts: VerifyBundleCliOptions): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAsB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CnF"}
|
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `putitoutthere verify bundle-cli` — assert a maturin bundled-CLI wheel
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* <stage_to>/<bin>" bash block in `.github/workflows/_matrix.yml`. That step
|
|
7
|
-
* guards the #282/#358 contract: a `[package.bundle_cli]` build must stage
|
|
8
|
-
* its per-target binary into the wheel, so a consumer who declares a bundled
|
|
9
|
-
* CLI actually ships one. Without it, a build that silently failed to stage
|
|
10
|
-
* the binary would still produce a wheel and go green — the release surprise
|
|
11
|
-
* the no-surprises commitment exists to catch.
|
|
12
|
-
*
|
|
13
|
-
* The binary's expected path is `<stage_suffix>/<bin><ext>` where
|
|
14
|
-
* `stage_suffix` is `stage_to` with `[tool.maturin].python-source`
|
|
15
|
-
* subtracted (maturin strips that dir from the wheel layout) and `ext` is
|
|
16
|
-
* `.exe` on a Windows target. The wheel is a zip; its entries are read with
|
|
17
|
-
* the pure-Node reader `verify wheel` (#450) already ships — no `unzip`, so
|
|
18
|
-
* this runs on every platform the maturin matrix builds on, Windows
|
|
19
|
-
* included — and the match mirrors the bash `grep -qE
|
|
20
|
-
* "(^|/)<stage_suffix>/<expected>$"`. Async throughout. Returns the
|
|
21
|
-
* process exit code (0 ok, 1 on a miss).
|
|
2
|
+
* `putitoutthere verify bundle-cli` — assert a maturin bundled-CLI wheel ships
|
|
3
|
+
* its cross-compiled binary at `<stage_suffix>/<bin><ext>` (`.exe` on Windows)
|
|
4
|
+
* (#451, #282/#358): without it a build that failed to stage the binary still
|
|
5
|
+
* produces a wheel and goes green. Zip reads use `verify wheel`'s reader (#450).
|
|
22
6
|
*/
|
|
23
7
|
import { readFile } from 'node:fs/promises';
|
|
24
8
|
import { basename, isAbsolute, join, resolve } from 'node:path';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAA4B;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAE5C,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,KAAK,IAAI,CAAC;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,IAAI,iCAAiC,MAAM,IAAI,CAClE,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,eAAe,IAAI,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Read `[tool.maturin].python-source` (or the legacy `python_source`
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `.github/workflows/_matrix.yml`'s "bundle_cli — verify wheel contains …"
|
|
7
|
-
* step. maturin strips this directory from the wheel layout, so it is
|
|
8
|
-
* subtracted from the front of `stage_to` before the binary path is built
|
|
9
|
-
* (see `computeStageSuffix`). Missing file, missing table, or missing key
|
|
10
|
-
* all resolve to `""` — the same "unset ⇒ leave stage_suffix unchanged"
|
|
11
|
-
* behaviour as the bash. Both spellings are honoured because maturin has
|
|
12
|
-
* accepted either across releases. Normalization mirrors the bash: drop a
|
|
13
|
-
* single leading `./` and any trailing slashes.
|
|
2
|
+
* Read `[tool.maturin].python-source` (or the legacy `python_source`) from a
|
|
3
|
+
* package's `pyproject.toml`, normalized (#451). maturin strips this dir from
|
|
4
|
+
* the wheel layout, so it is subtracted from `stage_to`. Missing file, table or
|
|
5
|
+
* key all resolve to `""`; both spellings exist because maturin accepted either.
|
|
14
6
|
*/
|
|
15
7
|
export declare function readPythonSource(pkgDir: string): Promise<string>;
|
|
16
8
|
//# sourceMappingURL=read-python-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-python-source.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"read-python-source.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUtE"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Read `[tool.maturin].python-source` (or the legacy `python_source`
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `.github/workflows/_matrix.yml`'s "bundle_cli — verify wheel contains …"
|
|
7
|
-
* step. maturin strips this directory from the wheel layout, so it is
|
|
8
|
-
* subtracted from the front of `stage_to` before the binary path is built
|
|
9
|
-
* (see `computeStageSuffix`). Missing file, missing table, or missing key
|
|
10
|
-
* all resolve to `""` — the same "unset ⇒ leave stage_suffix unchanged"
|
|
11
|
-
* behaviour as the bash. Both spellings are honoured because maturin has
|
|
12
|
-
* accepted either across releases. Normalization mirrors the bash: drop a
|
|
13
|
-
* single leading `./` and any trailing slashes.
|
|
2
|
+
* Read `[tool.maturin].python-source` (or the legacy `python_source`) from a
|
|
3
|
+
* package's `pyproject.toml`, normalized (#451). maturin strips this dir from
|
|
4
|
+
* the wheel layout, so it is subtracted from `stage_to`. Missing file, table or
|
|
5
|
+
* key all resolve to `""`; both spellings exist because maturin accepted either.
|
|
14
6
|
*/
|
|
15
7
|
import { readFile } from 'node:fs/promises';
|
|
16
8
|
import { join } from 'node:path';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-python-source.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"read-python-source.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAgC,CAAC;IACxF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,OAAO,EAAE,aAAa,CAAC;IACjE,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The path to a non-empty `<name>-<version>.crate` under `registryRoot`, or
|
|
3
3
|
* null when none exists (or the only match is empty) (#449).
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `find "$REG_ROOT" -name "${name}-${version}.crate" -type f -print -quit`
|
|
7
|
-
* followed by the `[ -z … ] || [ ! -s … ]` non-empty guard. `cargo-http-
|
|
8
|
-
* registry` stores `.crate` files nested under the root, so the search
|
|
9
|
-
* recurses.
|
|
4
|
+
* `cargo-http-registry` stores `.crate` files nested under the root, so the
|
|
5
|
+
* search recurses.
|
|
10
6
|
*/
|
|
11
7
|
export declare function findCrateFile(registryRoot: string, name: string, version: string): Promise<string | null>;
|
|
12
8
|
//# sourceMappingURL=find-crate-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-crate-file.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"find-crate-file.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The path to a non-empty `<name>-<version>.crate` under `registryRoot`, or
|
|
3
3
|
* null when none exists (or the only match is empty) (#449).
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `find "$REG_ROOT" -name "${name}-${version}.crate" -type f -print -quit`
|
|
7
|
-
* followed by the `[ -z … ] || [ ! -s … ]` non-empty guard. `cargo-http-
|
|
8
|
-
* registry` stores `.crate` files nested under the root, so the search
|
|
9
|
-
* recurses.
|
|
4
|
+
* `cargo-http-registry` stores `.crate` files nested under the root, so the
|
|
5
|
+
* search recurses.
|
|
10
6
|
*/
|
|
11
7
|
import { stat } from 'node:fs/promises';
|
|
12
8
|
import { basename } from 'node:path';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-crate-file.js","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"find-crate-file.js","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAAoB,EACpB,IAAY,EACZ,OAAe;IAEf,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,QAAQ,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Whether the extracted crate tree surfaces `src/lib.rs` or `src/main.rs`
|
|
3
|
-
* (#449). cargo packs into `<name>-<version>/{Cargo.toml,src/…}`, so any
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* This is the crates-side of the npm verify's "files[] dir is populated"
|
|
7
|
-
* check: proof the publish shipped the source tree, not an empty tarball.
|
|
3
|
+
* (#449). cargo packs into `<name>-<version>/{Cargo.toml,src/…}`, so any path
|
|
4
|
+
* ending `/src/lib.rs` or `/src/main.rs` counts. This is proof the publish
|
|
5
|
+
* shipped the source tree, not an empty tarball.
|
|
8
6
|
*/
|
|
9
7
|
export declare function hasCrateSource(dir: string): Promise<boolean>;
|
|
10
8
|
//# sourceMappingURL=has-crate-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-crate-source.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"has-crate-source.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Whether the extracted crate tree surfaces `src/lib.rs` or `src/main.rs`
|
|
3
|
-
* (#449). cargo packs into `<name>-<version>/{Cargo.toml,src/…}`, so any
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* This is the crates-side of the npm verify's "files[] dir is populated"
|
|
7
|
-
* check: proof the publish shipped the source tree, not an empty tarball.
|
|
3
|
+
* (#449). cargo packs into `<name>-<version>/{Cargo.toml,src/…}`, so any path
|
|
4
|
+
* ending `/src/lib.rs` or `/src/main.rs` counts. This is proof the publish
|
|
5
|
+
* shipped the source tree, not an empty tarball.
|
|
8
6
|
*/
|
|
9
7
|
import { basename, dirname } from 'node:path';
|
|
10
8
|
import { listFilesRecursive } from '../../utils/list-files-recursive.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-crate-source.js","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"has-crate-source.js","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,8DAA8D;IAC9D,wEAAwE;IACxE,oEAAoE;IACpE,mEAAmE;IACnE,OAAO,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `putitoutthere verify crate` — assert each published `.crate` ships its
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* files" bash block (#334) in `.github/workflows/e2e-fixture-job.yml`. The
|
|
7
|
-
* crates-side sibling of `verify npm-tarball` (#443): where npm downloads
|
|
8
|
-
* the tarball over HTTP, crates reads the `.crate` straight off the
|
|
9
|
-
* `cargo-http-registry` disk root the engine just published to — same host,
|
|
10
|
-
* same job, no fetch. For each crates row it finds `<name>-<version>.crate`
|
|
11
|
-
* under the registry root, asserts it is present and non-empty, extracts it
|
|
12
|
-
* with the real `tar`, and asserts `src/lib.rs` or `src/main.rs` surfaces.
|
|
13
|
-
*
|
|
14
|
-
* The diagnostic this gate gives (the rust-vanilla-first-publish fixture):
|
|
15
|
-
* without it, a publish that silently no-op'd or produced an empty `.crate`
|
|
16
|
-
* would still go green. Async throughout, per the engine convention.
|
|
17
|
-
* Returns the process exit code (0 ok, 1 on any miss).
|
|
2
|
+
* `putitoutthere verify crate` — assert each published `.crate` ships its source
|
|
3
|
+
* tree (#449, #334): read it off the `cargo-http-registry` disk root just
|
|
4
|
+
* published to (no fetch, unlike `verify npm-tarball`, #443), extract with real
|
|
5
|
+
* `tar`, assert `src/lib.rs` or `src/main.rs`. An empty `.crate` would go green.
|
|
18
6
|
*/
|
|
19
7
|
import type { VerifyCrateOptions } from './types.js';
|
|
20
8
|
export declare function verifyCrate(opts: VerifyCrateOptions): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAY,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE/D,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B3E"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `putitoutthere verify crate` — assert each published `.crate` ships its
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* files" bash block (#334) in `.github/workflows/e2e-fixture-job.yml`. The
|
|
7
|
-
* crates-side sibling of `verify npm-tarball` (#443): where npm downloads
|
|
8
|
-
* the tarball over HTTP, crates reads the `.crate` straight off the
|
|
9
|
-
* `cargo-http-registry` disk root the engine just published to — same host,
|
|
10
|
-
* same job, no fetch. For each crates row it finds `<name>-<version>.crate`
|
|
11
|
-
* under the registry root, asserts it is present and non-empty, extracts it
|
|
12
|
-
* with the real `tar`, and asserts `src/lib.rs` or `src/main.rs` surfaces.
|
|
13
|
-
*
|
|
14
|
-
* The diagnostic this gate gives (the rust-vanilla-first-publish fixture):
|
|
15
|
-
* without it, a publish that silently no-op'd or produced an empty `.crate`
|
|
16
|
-
* would still go green. Async throughout, per the engine convention.
|
|
17
|
-
* Returns the process exit code (0 ok, 1 on any miss).
|
|
2
|
+
* `putitoutthere verify crate` — assert each published `.crate` ships its source
|
|
3
|
+
* tree (#449, #334): read it off the `cargo-http-registry` disk root just
|
|
4
|
+
* published to (no fetch, unlike `verify npm-tarball`, #443), extract with real
|
|
5
|
+
* `tar`, assert `src/lib.rs` or `src/main.rs`. An empty `.crate` would go green.
|
|
18
6
|
*/
|
|
19
7
|
import { rm } from 'node:fs/promises';
|
|
20
8
|
import { extractCrate } from './extract-crate.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAwB;IACxD,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,2CAA2C,IAAI,CAAC,YAAY,IAAI,CACrG,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,uCAAuC,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,0EAA0E,OAAO,IAAI,CAC1H,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Download a published npm tarball and extract it, returning the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* `curl --retry 5 --retry-all-errors` absorbs the tarball-blob CDN race
|
|
6
|
-
* that is independent of the packument race `resolveNpmTarballUrl` handles:
|
|
7
|
-
* a cold-edge tarball miss surfaces as HTTP 404, which curl's default
|
|
2
|
+
* Download a published npm tarball and extract it, returning the unpacked
|
|
3
|
+
* `package/` directory (#443). `curl --retry 5 --retry-all-errors` absorbs the
|
|
4
|
+
* tarball-blob CDN race: a cold-edge miss is an HTTP 404, which curl's default
|
|
8
5
|
* `--retry` ignores, so `--retry-all-errors` is load-bearing (PR #323).
|
|
9
|
-
* `retryDelay` seconds matches the call site's original schedule.
|
|
10
|
-
*
|
|
11
|
-
* Caller owns cleanup of the returned `root`.
|
|
12
6
|
*/
|
|
13
7
|
export interface ExtractedTarball {
|
|
14
8
|
/** Temp dir to `rm` when done. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUnG"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Download a published npm tarball and extract it, returning the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* `curl --retry 5 --retry-all-errors` absorbs the tarball-blob CDN race
|
|
6
|
-
* that is independent of the packument race `resolveNpmTarballUrl` handles:
|
|
7
|
-
* a cold-edge tarball miss surfaces as HTTP 404, which curl's default
|
|
2
|
+
* Download a published npm tarball and extract it, returning the unpacked
|
|
3
|
+
* `package/` directory (#443). `curl --retry 5 --retry-all-errors` absorbs the
|
|
4
|
+
* tarball-blob CDN race: a cold-edge miss is an HTTP 404, which curl's default
|
|
8
5
|
* `--retry` ignores, so `--retry-all-errors` is load-bearing (PR #323).
|
|
9
|
-
* `retryDelay` seconds matches the call site's original schedule.
|
|
10
|
-
*
|
|
11
|
-
* Caller owns cleanup of the returned `root`.
|
|
12
6
|
*/
|
|
13
7
|
import { mkdir, mkdtemp } from 'node:fs/promises';
|
|
14
8
|
import { tmpdir } from 'node:os';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAS1D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,UAAkB;IACtE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,WAAW,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;KACnG,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `putitoutthere verify npm-tarball` — assert a published npm tarball
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `.github/workflows/e2e-fixture-job.yml` into one tested engine command,
|
|
7
|
-
* invoked from both former sites. Default mode verifies main/noarch
|
|
8
|
-
* `package.json` `files[]` directories are present in the tarball;
|
|
9
|
-
* `--per-triple` verifies synthesized platform packages ship a
|
|
10
|
-
* non-`package.json` file.
|
|
11
|
-
*
|
|
12
|
-
* Reads the same plan matrix the workflow already carries; downloads each
|
|
13
|
-
* tarball back from the registry (`npm view` → `curl` → `tar`) and inspects
|
|
14
|
-
* it. Returns the process exit code (0 ok, 1 on any mismatch).
|
|
2
|
+
* `putitoutthere verify npm-tarball` — assert a published npm tarball honors the
|
|
3
|
+
* shape it declared (#443, epic #442). Default mode verifies the main/noarch
|
|
4
|
+
* `package.json` `files[]` dirs are in the tarball; `--per-triple` verifies a
|
|
5
|
+
* platform package ships a non-`package.json` file. Downloads each back.
|
|
15
6
|
*/
|
|
16
7
|
import type { VerifyNpmTarballOptions } from './types.js';
|
|
17
8
|
export declare function verifyNpmTarball(opts: VerifyNpmTarballOptions): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrF"}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `putitoutthere verify npm-tarball` — assert a published npm tarball
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `.github/workflows/e2e-fixture-job.yml` into one tested engine command,
|
|
7
|
-
* invoked from both former sites. Default mode verifies main/noarch
|
|
8
|
-
* `package.json` `files[]` directories are present in the tarball;
|
|
9
|
-
* `--per-triple` verifies synthesized platform packages ship a
|
|
10
|
-
* non-`package.json` file.
|
|
11
|
-
*
|
|
12
|
-
* Reads the same plan matrix the workflow already carries; downloads each
|
|
13
|
-
* tarball back from the registry (`npm view` → `curl` → `tar`) and inspects
|
|
14
|
-
* it. Returns the process exit code (0 ok, 1 on any mismatch).
|
|
2
|
+
* `putitoutthere verify npm-tarball` — assert a published npm tarball honors the
|
|
3
|
+
* shape it declared (#443, epic #442). Default mode verifies the main/noarch
|
|
4
|
+
* `package.json` `files[]` dirs are in the tarball; `--per-triple` verifies a
|
|
5
|
+
* platform package ships a non-`package.json` file. Downloads each back.
|
|
15
6
|
*/
|
|
16
7
|
import { verifyNpmTarballMain } from './main.js';
|
|
17
8
|
import { verifyNpmTarballTriple } from './triple.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA6B;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAiB,CAAC;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Diagnostic string for a declared `files[]` directory
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* A present-locally-but-absent-in-tarball state is the fingerprint of the
|
|
7
|
-
* cachetta 0.3.x bug — the build produced the dir, the publish shipped
|
|
8
|
-
* without it. Absent locally points at a different misconfiguration. The
|
|
9
|
-
* string is appended to the tarball-missing `::error::`.
|
|
2
|
+
* Diagnostic string for a declared `files[]` directory missing from a published
|
|
3
|
+
* tarball: is it present in the local source tree, and with how many files?
|
|
4
|
+
* (#443) Present-locally-but-absent-in-tarball is the cachetta 0.3.x
|
|
5
|
+
* fingerprint — the build produced the dir, the publish shipped without it.
|
|
10
6
|
*/
|
|
11
7
|
export declare function localDirState(localPath: string): Promise<string>;
|
|
12
8
|
//# sourceMappingURL=local-dir-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-dir-state.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"local-dir-state.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtE"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Diagnostic string for a declared `files[]` directory
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* A present-locally-but-absent-in-tarball state is the fingerprint of the
|
|
7
|
-
* cachetta 0.3.x bug — the build produced the dir, the publish shipped
|
|
8
|
-
* without it. Absent locally points at a different misconfiguration. The
|
|
9
|
-
* string is appended to the tarball-missing `::error::`.
|
|
2
|
+
* Diagnostic string for a declared `files[]` directory missing from a published
|
|
3
|
+
* tarball: is it present in the local source tree, and with how many files?
|
|
4
|
+
* (#443) Present-locally-but-absent-in-tarball is the cachetta 0.3.x
|
|
5
|
+
* fingerprint — the build produced the dir, the publish shipped without it.
|
|
10
6
|
*/
|
|
11
7
|
import { stat } from 'node:fs/promises';
|
|
12
8
|
import { listFilesRecursive } from '../../utils/list-files-recursive.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-dir-state.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"local-dir-state.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB;IACnD,IAAI,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,SAAS,SAAS,cAAc,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACtF,CAAC;IACD,OAAO,SAAS,SAAS,WAAW,CAAC;AACvC,CAAC"}
|
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Verify each published main/noarch npm tarball contains the directory
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* ships from a fresh source tree, and `npm publish` returns 0 even when
|
|
7
|
-
* that tree is missing the compiled output — so the registry receives a
|
|
8
|
-
* tarball without `dist/` and nothing upstream complains. This step
|
|
9
|
-
* downloads the published tarball back and asserts the declared dirs are
|
|
10
|
-
* present and non-empty. Extracted verbatim from the "Verify published npm
|
|
11
|
-
* tarballs honor package.json files" bash block.
|
|
12
|
-
*
|
|
13
|
-
* `files[]` entries without a dot are treated as directories (`dist`,
|
|
14
|
-
* `lib`); dotted entries (`README.md`) are individual files and need no
|
|
15
|
-
* per-tree assertion. Returns the process exit code (0 ok, 1 on any miss).
|
|
2
|
+
* Verify each published main/noarch npm tarball contains the directory entries
|
|
3
|
+
* its `package.json` `files[]` declares (#443) — `npm publish` returns 0 even
|
|
4
|
+
* when the tree it ships from lacks the compiled output. Dotless `files[]`
|
|
5
|
+
* entries are treated as directories; dotted ones are individual files.
|
|
16
6
|
*/
|
|
17
7
|
import type { TarballRow, VerifyNpmTarballOptions } from './types.js';
|
|
18
8
|
export declare function verifyNpmTarballMain(rows: TarballRow[], opts: VerifyNpmTarballOptions): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAAE,EAClB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA2DjB"}
|
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Verify each published main/noarch npm tarball contains the directory
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* ships from a fresh source tree, and `npm publish` returns 0 even when
|
|
7
|
-
* that tree is missing the compiled output — so the registry receives a
|
|
8
|
-
* tarball without `dist/` and nothing upstream complains. This step
|
|
9
|
-
* downloads the published tarball back and asserts the declared dirs are
|
|
10
|
-
* present and non-empty. Extracted verbatim from the "Verify published npm
|
|
11
|
-
* tarballs honor package.json files" bash block.
|
|
12
|
-
*
|
|
13
|
-
* `files[]` entries without a dot are treated as directories (`dist`,
|
|
14
|
-
* `lib`); dotted entries (`README.md`) are individual files and need no
|
|
15
|
-
* per-tree assertion. Returns the process exit code (0 ok, 1 on any miss).
|
|
2
|
+
* Verify each published main/noarch npm tarball contains the directory entries
|
|
3
|
+
* its `package.json` `files[]` declares (#443) — `npm publish` returns 0 even
|
|
4
|
+
* when the tree it ships from lacks the compiled output. Dotless `files[]`
|
|
5
|
+
* entries are treated as directories; dotted ones are individual files.
|
|
16
6
|
*/
|
|
17
7
|
import { readFile, rm, stat } from 'node:fs/promises';
|
|
18
8
|
import { join } from 'node:path';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve a published package's tarball URL via `npm view … dist.tarball`,
|
|
3
|
-
* absorbing packument lag with a bounded retry
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* before the metadata lands. `sleeps` (seconds) drives the backoff: N
|
|
8
|
-
* sleeps means N+1 attempts, no sleep after the last. Returns the tarball
|
|
9
|
-
* URL, or `null` when every attempt came back empty — the caller emits the
|
|
10
|
-
* mode-specific `::error::`.
|
|
11
|
-
*
|
|
12
|
-
* `npm view` is the sole subprocess; `--registry` (when set) is appended
|
|
13
|
-
* after the positional args so it stays out of the `name@version` slot.
|
|
3
|
+
* absorbing packument lag with a bounded retry (#443): the packument index
|
|
4
|
+
* propagates across the registry CDN asynchronously, so an immediate read after
|
|
5
|
+
* publish can come back empty. N `sleeps` means N+1 attempts; `null` if all
|
|
6
|
+
* empty. `--registry` goes after the positional args, clear of `name@version`.
|
|
14
7
|
*/
|
|
15
8
|
interface ResolveOptions {
|
|
16
9
|
registry?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-url.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolve-url.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgBD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve a published package's tarball URL via `npm view … dist.tarball`,
|
|
3
|
-
* absorbing packument lag with a bounded retry
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* before the metadata lands. `sleeps` (seconds) drives the backoff: N
|
|
8
|
-
* sleeps means N+1 attempts, no sleep after the last. Returns the tarball
|
|
9
|
-
* URL, or `null` when every attempt came back empty — the caller emits the
|
|
10
|
-
* mode-specific `::error::`.
|
|
11
|
-
*
|
|
12
|
-
* `npm view` is the sole subprocess; `--registry` (when set) is appended
|
|
13
|
-
* after the positional args so it stays out of the `name@version` slot.
|
|
3
|
+
* absorbing packument lag with a bounded retry (#443): the packument index
|
|
4
|
+
* propagates across the registry CDN asynchronously, so an immediate read after
|
|
5
|
+
* publish can come back empty. N `sleeps` means N+1 attempts; `null` if all
|
|
6
|
+
* empty. `--registry` goes after the positional args, clear of `name@version`.
|
|
14
7
|
*/
|
|
15
8
|
import { execCapture } from '../../utils/exec-capture.js';
|
|
16
9
|
async function viewTarballUrl(spec, registry) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-url.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolve-url.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAO1D,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,QAAiB;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,OAAe,EACf,IAAoB;IAEpB,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,GAAG,EAAE,CAAC;YAAA,OAAO,GAAG,CAAC;QAAA,CAAC;QACtB,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC;YACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qDAAqD,OAAO,IAAI,QAAQ,kBAAkB,IAAI,KAAK,CACpG,CAAC;YACF,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|