putitoutthere 0.2.37 → 0.2.39
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/CHANGELOG.md +5 -0
- package/MIGRATIONS.md +78 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +36 -2
- package/dist/cli.js.map +1 -1
- package/dist/utils/list-files-recursive.d.ts +11 -0
- package/dist/utils/list-files-recursive.d.ts.map +1 -0
- package/dist/utils/list-files-recursive.js +28 -0
- package/dist/utils/list-files-recursive.js.map +1 -0
- package/dist/verify/npm-tarball/download.d.ts +20 -0
- package/dist/verify/npm-tarball/download.d.ts.map +1 -0
- package/dist/verify/npm-tarball/download.js +28 -0
- package/dist/verify/npm-tarball/download.js.map +1 -0
- package/dist/verify/npm-tarball/index.d.ts +18 -0
- package/dist/verify/npm-tarball/index.d.ts.map +1 -0
- package/dist/verify/npm-tarball/index.js +22 -0
- package/dist/verify/npm-tarball/index.js.map +1 -0
- package/dist/verify/npm-tarball/local-dir-state.d.ts +12 -0
- package/dist/verify/npm-tarball/local-dir-state.d.ts.map +1 -0
- package/dist/verify/npm-tarball/local-dir-state.js +20 -0
- package/dist/verify/npm-tarball/local-dir-state.js.map +1 -0
- package/dist/verify/npm-tarball/main.d.ts +19 -0
- package/dist/verify/npm-tarball/main.d.ts.map +1 -0
- package/dist/verify/npm-tarball/main.js +71 -0
- package/dist/verify/npm-tarball/main.js.map +1 -0
- package/dist/verify/npm-tarball/resolve-url.d.ts +21 -0
- package/dist/verify/npm-tarball/resolve-url.d.ts.map +1 -0
- package/dist/verify/npm-tarball/resolve-url.js +45 -0
- package/dist/verify/npm-tarball/resolve-url.js.map +1 -0
- package/dist/verify/npm-tarball/triple.d.ts +20 -0
- package/dist/verify/npm-tarball/triple.d.ts.map +1 -0
- package/dist/verify/npm-tarball/triple.js +57 -0
- package/dist/verify/npm-tarball/triple.js.map +1 -0
- package/dist/verify/npm-tarball/types.d.ts +33 -0
- package/dist/verify/npm-tarball/types.d.ts.map +1 -0
- package/dist/verify/npm-tarball/types.js +9 -0
- package/dist/verify/npm-tarball/types.js.map +1 -0
- package/dist/{verify-format.d.ts → verify/posture-format.d.ts} +2 -2
- package/dist/verify/posture-format.d.ts.map +1 -0
- package/dist/{verify-format.js → verify/posture-format.js} +1 -1
- package/dist/verify/posture-format.js.map +1 -0
- package/dist/{verify-types.d.ts → verify/posture-types.d.ts} +2 -2
- package/dist/verify/posture-types.d.ts.map +1 -0
- package/dist/{verify-types.js → verify/posture-types.js} +1 -1
- package/dist/verify/posture-types.js.map +1 -0
- package/dist/{verify.d.ts → verify/posture.d.ts} +2 -2
- package/dist/verify/posture.d.ts.map +1 -0
- package/dist/{verify.js → verify/posture.js} +4 -4
- package/dist/verify/posture.js.map +1 -0
- package/package.json +1 -1
- package/dist/verify-format.d.ts.map +0 -1
- package/dist/verify-format.js.map +0 -1
- package/dist/verify-types.d.ts.map +0 -1
- package/dist/verify-types.js.map +0 -1
- package/dist/verify.d.ts.map +0 -1
- package/dist/verify.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,12 +10,17 @@ are prefixed `**BREAKING**` and link to the matching section in
|
|
|
10
10
|
|
|
11
11
|
## Unreleased
|
|
12
12
|
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Added: `putitoutthere verify npm-tarball` — a new `verify` subcommand that downloads a published npm tarball back from the registry and asserts it honors the shape it declared: main/noarch rows must contain every directory entry their `package.json` `files[]` declares (present and non-empty), and `--per-triple` asserts each synthesized platform package ships a non-`package.json` file (its `.node` / executable). Absorbs the two inline verification blocks the reusable e2e workflow (`e2e-fixture-job.yml`) previously carried as untested bash — same row selection, same `npm view` packument-lag retry, same `::error::` messages — into one colocated-tested engine command invoked from both former sites (part of epic #442). `verify` is now a command family: bare `verify` (and the new explicit spelling `verify posture`) is the unchanged #414 OIDC-vs-token publish/trust posture check; `verify npm-tarball` is this new artifact-content check. #443. (verified by: integration, e2e/CLI)
|
|
16
|
+
|
|
13
17
|
### Changed
|
|
14
18
|
|
|
15
19
|
- Changed: `_matrix.yml`'s build job now primes a cargo cache via `Swatinem/rust-cache@v2` on every row that invokes cargo (pypi/maturin non-sdist, npm/napi, npm/bundled-cli non-main), partitioned by `matrix.target` via `shared-key`. Previously every per-target matrix cell cold-compiled its full Cargo dep graph on every PR — observed at 4-6 min per cell and ~8 min wall-clock on a downstream consumer's `release-precheck` run (thekevinscott/dirsql run #125, a typical no-Rust-change PR), leaving the gate one bad runner-queue minute away from tripping a 10-min CI budget with no headroom. The cache step is gated to skip rows that produce no cargo work (pypi sdist, pure-Python hatch wheels, npm vanilla, bundled-cli `main`), and the per-target `shared-key` prevents one target's writer from blowing away the next cell's cache slot. `workspaces` enumerates both `matrix.path` (the consumer's package crate) and `matrix.bundle_cli.crate_path` (the bundle_cli crate when it lives in a separate dir), so the dirsql shape and single-crate layouts both cache their target dirs. #391. (verified by: unit/ubuntu-latest)
|
|
16
20
|
|
|
17
21
|
### Fixed
|
|
18
22
|
|
|
23
|
+
- Fixed: the reusable workflow's `Create GitHub Release(s) for new tag(s)` step no longer fails a fully successful publish when another tag in the consumer's repo moves mid-run. The step opened with a blanket, un-forced `git fetch --tags origin`, which made it depend on every tag in the repo — including moving major tags it never uses — so a consumer's promotion automation force-moving its floating `v0` between checkout and this step failed the job with `! [rejected] v0 -> v0 (would clobber existing tag)` after all registries were published and all per-package tags pushed (observed twice in two days on thekevinscott/testing-conventions; timelines in #436). A failed publish job is what consumer automation gates on, so the release was published but never promoted, and the job-level rerun then hard-failed on an empty plan. The fetch is dropped (checkout's `fetch-depth: 0` already fetched every remote tag, and the tags the step iterates were created locally by the engine in the same job), and each tag is now pushed ref-scoped and idempotently (`git push origin "refs/tags/$tag"`) before `gh release create` — which also completes the engine's deliberately warn-only tag push (#407) in the same run instead of hard-failing on it one step later (`tag ... exists locally but has not been pushed`, the 2026-07-08 variant). The step's inputs are now only refs it owns, so concurrent movement of any other tag cannot fail it. See [MIGRATIONS.md](./MIGRATIONS.md#github-release-creation-touches-only-the-releases-own-tags). #436. (verified by: unit/ubuntu-latest)
|
|
19
24
|
- Fixed: `kind = "npm"` `build = "napi"` releases now bake the planned release version into the compiled `.node`. `_matrix.yml` (and its e2e mirror `e2e-fixture-job.yml`) run a `write-crate-version` step on each per-triple napi row before `npm run build`, so `napi build` compiles the addon with the right `CARGO_PKG_VERSION` — matching the maturin `write-version` (#276) and bundled-cli `write-crate-version` (#366) pre-build bumps. Previously napi had no pre-build bump: the synthesized per-platform `package.json` carried `matrix.version`, but the `.node` inside it embedded whatever literal sat in the crate's `Cargo.toml`, so a library re-exposing the Rust core's `version()` through napi reported a version diverging from the published npm package. The bump targets `matrix.path` and runs only when a `Cargo.toml` is colocated there (the napi-rs single-crate default — the shape template-lib and the `js-napi` fixture use), resolving `version.workspace = true` to the workspace root via #428. A multi-mode package (`build = ["napi", "bundled-cli"]`) or one whose napi crate lives elsewhere has no `Cargo.toml` at the package path and is skipped with a `::notice::` — there is no per-napi `crate_path` config to point at a non-colocated crate yet, so that `.node` still embeds its on-disk version. The noarch `main` row is excluded (it compiles no `.node`). See [MIGRATIONS.md](./MIGRATIONS.md#napi-node-embeds-the-release-version). #429. (verified by: unit/ubuntu-latest)
|
|
20
25
|
- Fixed: `putitoutthere`'s pre-build version rewrite now follows Cargo **workspace version inheritance** — a crate that sources its version from `[workspace.package].version` via `version.workspace = true` (the idiomatic polyglot layout: one Rust core wrapped by a PyO3 wheel and a napi addon) is now bumped correctly instead of failing the release. The maturin `write-version` (#276) and npm/pypi bundled-cli `write-crate-version` (#366) steps both rewrote only a literal `[package].version` and threw `Cargo.toml: no [package].version field found` on an inheriting member, because the inherited version lives in a different file — the workspace root — that neither step read. So a release for that layout was blocked, not merely mis-versioned. The rewrite path now resolves the manifest first: a literal `[package].version` is bumped in place byte-for-byte as before, while an inheriting member walks up to the nearest ancestor `[workspace]` `Cargo.toml` and rewrites its `[workspace.package].version`. Unparseable or version-less manifests fall through to the prior literal-only path (`replaceCargoVersion`'s existing error), so single-crate layouts are byte-for-byte unchanged. New `src/find-workspace-root.ts`, `src/replace-workspace-package-version.ts`, and `src/write-resolved-cargo-version.ts`; `write-version.ts` / `write-crate-version.ts` now delegate to the resolver. See [MIGRATIONS.md](./MIGRATIONS.md#version-bump-follows-cargo-workspace-inheritance). #428. (verified by: unit/ubuntu-latest)
|
|
21
26
|
- Fixed: `putitoutthere publish` now writes a package's git tag when that version is already live on the registry but untagged, instead of skipping it silently. The publish loop's already-published branch (`isPublished` → true) returned *before* the tag-creation step, so a version that reached the registry on a half-failed run (the run died after publishing but before tagging — e.g. a cancelled downstream job) was left published-but-untagged and never self-healed: piot derives "last released version" from git tags, so on every later run the package looked unreleased, fell back to `first_version` (already live), skipped again, and stayed stuck forever — while its dependents kept bumping and publishing, opening unflagged version skew. The skip branch now calls a shared, idempotent `ensureTag` (new `src/ensure-tag.ts`; a no-op when the tag already exists, and reused by the normal post-publish tag step), so a stuck package self-heals on its next release run. See [MIGRATIONS.md](./MIGRATIONS.md#publish-path-auto-heal-missing-tags). #407. (verified by: integration, unit/ubuntu-latest)
|
package/MIGRATIONS.md
CHANGED
|
@@ -21,6 +21,84 @@ Each section covers five things, in order:
|
|
|
21
21
|
|
|
22
22
|
## Unreleased
|
|
23
23
|
|
|
24
|
+
### New `verify npm-tarball` subcommand; `verify` becomes a command family
|
|
25
|
+
|
|
26
|
+
**Summary.** `putitoutthere verify` is now a command family. Bare `verify`
|
|
27
|
+
— the #414 OIDC-vs-token publish/trust posture check — is unchanged and
|
|
28
|
+
additionally spellable `verify posture`. A new subcommand,
|
|
29
|
+
`verify npm-tarball`, downloads a published npm tarball back from the
|
|
30
|
+
registry and asserts its contents honor what was declared: main/noarch
|
|
31
|
+
rows must contain every directory entry their `package.json` `files[]`
|
|
32
|
+
declares, and `--per-triple` asserts each synthesized platform package
|
|
33
|
+
ships a non-`package.json` binary. This extracts the two inline bash
|
|
34
|
+
blocks the reusable e2e workflow carried (`e2e-fixture-job.yml`) into one
|
|
35
|
+
colocated-tested engine command (epic #442, sub-issue #443); the behavior
|
|
36
|
+
is unchanged — same row selection, same registry read + retry, same error
|
|
37
|
+
messages.
|
|
38
|
+
|
|
39
|
+
**Required changes.** None. Additive. Consumers compose with the reusable
|
|
40
|
+
workflow, not the CLI directly (design-commitment #10); this subcommand is
|
|
41
|
+
an internal seam the workflow invokes. Anyone scripting `verify` directly
|
|
42
|
+
keeps the same behavior — bare `verify` still means the posture check.
|
|
43
|
+
|
|
44
|
+
**Deprecations removed.** None.
|
|
45
|
+
|
|
46
|
+
**Behavior changes without code changes.** None. The reusable workflow's
|
|
47
|
+
externally observable behavior (what publishes, tag format, release body)
|
|
48
|
+
is identical; only the internal implementation of the post-publish
|
|
49
|
+
tarball-verification step moved from inline YAML into the engine.
|
|
50
|
+
|
|
51
|
+
**Verification.** Run `putitoutthere verify npm-tarball --matrix <plan
|
|
52
|
+
matrix> --cwd <repo>` after a publish: it prints `ok: package/<dir>/` per
|
|
53
|
+
honored `files[]` directory and exits non-zero (with a `::error::` naming
|
|
54
|
+
the missing directory) if the published tarball dropped one.
|
|
55
|
+
|
|
56
|
+
### GitHub Release creation touches only the release's own tags
|
|
57
|
+
|
|
58
|
+
**Summary.** The reusable workflow's `Create GitHub Release(s) for new
|
|
59
|
+
tag(s)` step no longer runs a blanket `git fetch --tags origin`, and now
|
|
60
|
+
pushes each of the release's tags ref-scoped (`git push origin
|
|
61
|
+
"refs/tags/$tag"`, idempotent) before `gh release create`. Previously the
|
|
62
|
+
un-forced fetch coupled the step to the state of **every** tag in the
|
|
63
|
+
consumer's repo: a floating major tag (e.g. `v0`) force-moved mid-run by
|
|
64
|
+
the consumer's own promotion automation failed the publish job with
|
|
65
|
+
`! [rejected] v0 -> v0 (would clobber existing tag)` *after* every
|
|
66
|
+
registry publish and per-package tag push had succeeded — and because
|
|
67
|
+
consumer automation gates promotion on this job's conclusion, the release
|
|
68
|
+
was published but never promoted, with no safe job-level rerun (the
|
|
69
|
+
replayed publish re-plans against the already-pushed tags and hard-fails
|
|
70
|
+
on an empty plan). Observed twice in two days on
|
|
71
|
+
thekevinscott/testing-conventions (#436). The ref-scoped push also
|
|
72
|
+
completes the engine's deliberately warn-only tag push (#407) within the
|
|
73
|
+
same run, closing the second observed variant (`tag ... exists locally
|
|
74
|
+
but has not been pushed`).
|
|
75
|
+
|
|
76
|
+
**Required changes.** None. The step is workflow-internal; no config,
|
|
77
|
+
input, or consumer-side YAML changes.
|
|
78
|
+
|
|
79
|
+
**Deprecations removed.** None.
|
|
80
|
+
|
|
81
|
+
**Behavior changes without code changes.**
|
|
82
|
+
|
|
83
|
+
- A publish run no longer fails when any tag it does not own (a floating
|
|
84
|
+
major tag, another run's tags) moves between checkout and Release
|
|
85
|
+
creation.
|
|
86
|
+
- A per-package tag that the engine created but could not push (its push
|
|
87
|
+
is warn-only, #407) is now pushed by this step in the same run, so the
|
|
88
|
+
GitHub Release is cut instead of the job failing one step later.
|
|
89
|
+
- A genuine conflict — the same version tag already on the remote at a
|
|
90
|
+
*different* commit — still fails loudly at the ref-scoped push. That
|
|
91
|
+
means two runs released the same version, which the
|
|
92
|
+
`putitoutthere-release-*` concurrency group exists to prevent.
|
|
93
|
+
|
|
94
|
+
**Verification.** Land two release-triggering pushes to `main` a few
|
|
95
|
+
minutes apart in a repo whose promotion automation force-moves a floating
|
|
96
|
+
major tag on release success (the thekevinscott/testing-conventions
|
|
97
|
+
shape): the second run's publish job completes green and its GitHub
|
|
98
|
+
Releases exist, where it previously failed at `Create GitHub Release(s)
|
|
99
|
+
for new tag(s)`. On any release run's log, the step shows a per-tag
|
|
100
|
+
`git push origin "refs/tags/<tag>"` and no `git fetch`.
|
|
101
|
+
|
|
24
102
|
### napi `.node` embeds the release version
|
|
25
103
|
|
|
26
104
|
**Summary.** `kind = "npm"` `build = "napi"` releases now rewrite the napi
|
package/dist/cli.d.ts
CHANGED
|
@@ -48,6 +48,9 @@ interface ParsedFlags {
|
|
|
48
48
|
path?: string | undefined;
|
|
49
49
|
version?: string | undefined;
|
|
50
50
|
releasePackages?: string | undefined;
|
|
51
|
+
matrix?: string | undefined;
|
|
52
|
+
registry?: string | undefined;
|
|
53
|
+
perTriple: boolean;
|
|
51
54
|
}
|
|
52
55
|
export declare function parseFlags(argv: readonly string[]): ParsedFlags;
|
|
53
56
|
export declare function run(argv: readonly string[]): Promise<number>;
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAyEH,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IAGd,KAAK,EAAE,OAAO,CAAC;IAIf,MAAM,EAAE,OAAO,CAAC;IAIhB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAIrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CA+B/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAuRlE"}
|
package/dist/cli.js
CHANGED
|
@@ -46,8 +46,9 @@ import { publish } from './publish.js';
|
|
|
46
46
|
import { reconcile } from './reconcile.js';
|
|
47
47
|
import { formatStatusRow } from './status-format.js';
|
|
48
48
|
import { computeStatus } from './status.js';
|
|
49
|
-
import { formatVerifyRow } from './verify-format.js';
|
|
50
|
-
import {
|
|
49
|
+
import { formatVerifyRow } from './verify/posture-format.js';
|
|
50
|
+
import { verifyNpmTarball } from './verify/npm-tarball/index.js';
|
|
51
|
+
import { computeVerify } from './verify/posture.js';
|
|
51
52
|
import { writeCrateVersionForBuild } from './write-crate-version.js';
|
|
52
53
|
import { writeLauncherFromConfig } from './write-launcher.js';
|
|
53
54
|
import { writeVersionForBuild } from './write-version.js';
|
|
@@ -78,6 +79,7 @@ function printUsage() {
|
|
|
78
79
|
' status Report registry-vs-tag drift (read-only; #403)',
|
|
79
80
|
' reconcile Backfill missing tags for published-but-untagged packages (#403)',
|
|
80
81
|
' verify Report publish/trust posture — OIDC vs token, per registry (#403)',
|
|
82
|
+
' verify npm-tarball Assert a published npm tarball honors package.json files[] (#443)',
|
|
81
83
|
' write-version Bump a package manifest to the planned version (pre-build; #276)',
|
|
82
84
|
' write-crate-version Bump a crate Cargo.toml to the planned version (pre-build; #366)',
|
|
83
85
|
' write-launcher Generate the bundled-cli npm launcher script (pre-build; #299)',
|
|
@@ -89,6 +91,9 @@ function printUsage() {
|
|
|
89
91
|
' --path <dir> package or crate directory (write-version / write-crate-version)',
|
|
90
92
|
' --version <v> planned version (write-version / write-crate-version)',
|
|
91
93
|
' --release-packages <spec> manual-release spec (plan / publish)',
|
|
94
|
+
' --matrix <json> plan matrix (verify npm-tarball)',
|
|
95
|
+
' --registry <url> registry to read from (verify npm-tarball); default real npm',
|
|
96
|
+
' --per-triple verify synthesized per-triple tarballs (verify npm-tarball)',
|
|
92
97
|
' --check exit non-zero when status finds drift',
|
|
93
98
|
' --dry-run report what reconcile would do without writing tags',
|
|
94
99
|
' --json emit machine-readable output',
|
|
@@ -103,6 +108,7 @@ export function parseFlags(argv) {
|
|
|
103
108
|
json: false,
|
|
104
109
|
check: false,
|
|
105
110
|
dryRun: false,
|
|
111
|
+
perTriple: false,
|
|
106
112
|
};
|
|
107
113
|
for (let i = 0; i < argv.length; i++) {
|
|
108
114
|
const a = argv[i];
|
|
@@ -128,6 +134,15 @@ export function parseFlags(argv) {
|
|
|
128
134
|
else if (a === '--release-packages') {
|
|
129
135
|
out.releasePackages = argv[++i];
|
|
130
136
|
}
|
|
137
|
+
else if (a === '--matrix') {
|
|
138
|
+
out.matrix = argv[++i];
|
|
139
|
+
}
|
|
140
|
+
else if (a === '--registry') {
|
|
141
|
+
out.registry = argv[++i];
|
|
142
|
+
}
|
|
143
|
+
else if (a === '--per-triple') {
|
|
144
|
+
out.perTriple = true;
|
|
145
|
+
}
|
|
131
146
|
else if (a === '--dry-run') {
|
|
132
147
|
out.dryRun = true;
|
|
133
148
|
}
|
|
@@ -288,6 +303,25 @@ export async function run(argv) {
|
|
|
288
303
|
return 0;
|
|
289
304
|
}
|
|
290
305
|
case 'verify': {
|
|
306
|
+
// #442/#443: `verify` is a command family. Bare `verify` (and
|
|
307
|
+
// `verify posture`) is the #414 publish/trust-posture check;
|
|
308
|
+
// `verify npm-tarball` is the extracted published-artifact
|
|
309
|
+
// verification. The subcommand is the first non-flag positional.
|
|
310
|
+
const sub = rest[0] !== undefined && !rest[0].startsWith('-') ? rest[0] : 'posture';
|
|
311
|
+
if (sub === 'npm-tarball') {
|
|
312
|
+
if (flags.matrix === undefined) {
|
|
313
|
+
throw new Error('verify npm-tarball requires --matrix <plan-matrix-json>');
|
|
314
|
+
}
|
|
315
|
+
return verifyNpmTarball({
|
|
316
|
+
cwd: flags.cwd,
|
|
317
|
+
matrix: flags.matrix,
|
|
318
|
+
registry: flags.registry,
|
|
319
|
+
perTriple: flags.perTriple,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
if (sub !== 'posture') {
|
|
323
|
+
throw new Error(`unknown verify subcommand: ${sub}`);
|
|
324
|
+
}
|
|
291
325
|
// #414: per-package publish/trust posture. Reads each package's
|
|
292
326
|
// latest release and its trust attribution — OIDC trusted
|
|
293
327
|
// publisher / provenance vs token — from public registry data,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,QAAQ,GAAG;IACf,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,eAAe;IACf,qBAAqB;IACrB,gBAAgB;IAChB,SAAS;CACD,CAAC;AAGX,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAQ,QAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;QACE,0CAA0C;QAC1C,EAAE;QACF,WAAW;QACX,oDAAoD;QACpD,mCAAmC;QACnC,4DAA4D;QAC5D,iEAAiE;QACjE,mFAAmF;QACnF,oFAAoF;QACpF,yFAAyF;QACzF,mFAAmF;QACnF,yFAAyF;QACzF,iFAAiF;QACjF,oCAAoC;QACpC,EAAE;QACF,UAAU;QACV,uCAAuC;QACvC,gDAAgD;QAChD,sFAAsF;QACtF,2EAA2E;QAC3E,mEAAmE;QACnE,sDAAsD;QACtD,kFAAkF;QAClF,iFAAiF;QACjF,2DAA2D;QAC3D,yEAAyE;QACzE,kDAAkD;QAClD,EAAE;QACF,8DAA8D;QAC9D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AA6BD,MAAM,UAAU,UAAU,CAAC,IAAuB;IAChD,MAAM,GAAG,GAAgB;QACvB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;KACjB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,sFAAsF;QACtF,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAAA,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QAAA,CAAC;aAC/C,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAAA,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aAC/C,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAA,CAAC;aACtC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAAA,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;QAAA,CAAC;aACxC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aAC3C,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aACjD,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;YAAA,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aAClE,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAAA,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aAC/C,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YAAA,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aACnD,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YAAA,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QAAA,CAAC;aACjD,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAA,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAAA,CAAC;IAClD,CAAC;IACD,oEAAoE;IACpE,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,mEAAmE;IACnE,8CAA8C;IAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAAA,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAA,CAAC;IACvD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAuB;IAC/C,MAAM,CAAC,EAAE,AAAD,EAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,qEAAqE;IACrE,kEAAkE;IAClE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yEAAyE,CAC1E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrC,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,CAAC;QACjE,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,kEAAkE;QAClE,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,sHAAsH,CACvH,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,kEAAkE;gBAClE,6DAA6D;gBAC7D,iEAAiE;gBACjE,yDAAyD;gBACzD,kEAAkE;gBAClE,0DAA0D;gBAC1D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,iBAAiB,CAAC;oBACzD,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,eAAe,EAAE,KAAK,CAAC,eAAe;iBACvC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC;wBAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;4BACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,OAAO,YAAY,GAAG,CAAC,MAAM,cAAc,GAAG,CAAC,aAAa,IAAI,CAC/F,CAAC;wBACJ,CAAC;wBACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBACxC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;4BACzB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;4BAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;wBAC7F,CAAC;wBACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;4BACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,UAAU,UAAU,CAC9F,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,gEAAgE;gBAChE,+DAA+D;gBAC/D,iEAAiE;gBACjE,kEAAkE;gBAClE,kEAAkE;gBAClE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC/C,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAClC,EAAE,CAAC,cAAc,CACf,YAAY,EACZ,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EACpC,MAAM,CACP,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,8DAA8D;gBAC9D,0DAA0D;gBAC1D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,wCAAwC;gBACxC,MAAM,QAAQ,GAAG,SAAS,CAAC;oBACzB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,QAAQ,CAAC,MAAM,WAAW,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAC1F,CAAC;oBACF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACzB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;wBACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,gEAAgE;gBAChE,8DAA8D;gBAC9D,gEAAgE;gBAChE,gEAAgE;gBAChE,+CAA+C;gBAC/C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC;oBAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,mDAAmD;gBACnD,kEAAkE;gBAClE,4DAA4D;gBAC5D,gEAAgE;gBAChE,2DAA2D;gBAC3D,4BAA4B;gBAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;oBAC7B,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,mBAAmB,IAAI,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CACxG,CAAC;oBACJ,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,8DAA8D;gBAC9D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,iEAAiE;gBACjE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpF,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;oBAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;oBAC7E,CAAC;oBACD,OAAO,gBAAgB,CAAC;wBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,gEAAgE;gBAChE,0DAA0D;gBAC1D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,2BAA2B;gBAC3B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC;oBAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,+DAA+D;gBAC/D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,6DAA6D;gBAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAAA,CAAC;gBACnF,MAAM,OAAO,GAAG,uBAAuB,CAAC;oBACtC,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,WAAW,EAAE,KAAK,CAAC,IAAI;oBACvB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,IAAI,2DAA2D,CAAC,CAAC;gBACjH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,KAAK,CAAC,IAAI,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/D,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,8DAA8D;gBAC9D,4DAA4D;gBAC5D,uDAAuD;gBACvD,6DAA6D;gBAC7D,iEAAiE;gBACjE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAAA,CAAC;gBAClF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAAA,CAAC;gBAClF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpF,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,MAAM,MAAM,KAAK,CAAC,OAAO,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7E,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,+DAA+D;gBAC/D,gEAAgE;gBAChE,0DAA0D;gBAC1D,qDAAqD;gBACrD,gEAAgE;gBAChE,0CAA0C;gBAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAAA,CAAC;gBAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAAA,CAAC;gBACxF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpF,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,MAAM,MAAM,KAAK,CAAC,OAAO,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACnF,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;oBAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,2FAA2F;oBAC3F,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,eAAe,EAAE,KAAK,CAAC,eAAe;iBACvC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBAC/C,6FAA6F;gBAC/F,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CACpE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,oBAAoB;gBACpB,OAAO,CAAC,CAAC;YACX,CAAC;YACD,6DAA6D;YAC7D,KAAK,SAAS;gBACZ,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACvE,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,yBAAyB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Absolute paths of every regular file under `dir`, recursively. The
|
|
3
|
+
* synchronous analogue of the `find "$dir" -type f` the extracted bash
|
|
4
|
+
* used for both the tarball-content file counts and the local-state
|
|
5
|
+
* diagnostics (#443).
|
|
6
|
+
*
|
|
7
|
+
* Returns `[]` for a missing path, mirroring `find`'s tolerance
|
|
8
|
+
* (`2>/dev/null`).
|
|
9
|
+
*/
|
|
10
|
+
export declare function listFilesRecursive(dir: string): string[];
|
|
11
|
+
//# sourceMappingURL=list-files-recursive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-files-recursive.d.ts","sourceRoot":"","sources":["../../src/utils/list-files-recursive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAYxD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Absolute paths of every regular file under `dir`, recursively. The
|
|
3
|
+
* synchronous analogue of the `find "$dir" -type f` the extracted bash
|
|
4
|
+
* used for both the tarball-content file counts and the local-state
|
|
5
|
+
* diagnostics (#443).
|
|
6
|
+
*
|
|
7
|
+
* Returns `[]` for a missing path, mirroring `find`'s tolerance
|
|
8
|
+
* (`2>/dev/null`).
|
|
9
|
+
*/
|
|
10
|
+
import { existsSync, readdirSync } from 'node:fs';
|
|
11
|
+
import { join } from 'node:path';
|
|
12
|
+
export function listFilesRecursive(dir) {
|
|
13
|
+
if (!existsSync(dir)) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const out = [];
|
|
17
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
18
|
+
const abs = join(dir, entry.name);
|
|
19
|
+
if (entry.isDirectory()) {
|
|
20
|
+
out.push(...listFilesRecursive(abs));
|
|
21
|
+
}
|
|
22
|
+
else if (entry.isFile()) {
|
|
23
|
+
out.push(abs);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=list-files-recursive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-files-recursive.js","sourceRoot":"","sources":["../../src/utils/list-files-recursive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAA,OAAO,EAAE,CAAC;IAAA,CAAC;IAClC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Download a published npm tarball and extract it, returning the path to
|
|
3
|
+
* the unpacked `package/` directory (#443).
|
|
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
|
|
8
|
+
* `--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
|
+
*/
|
|
13
|
+
export interface ExtractedTarball {
|
|
14
|
+
/** Temp dir to `rmSync` when done. */
|
|
15
|
+
root: string;
|
|
16
|
+
/** The unpacked `package/` directory inside the tarball. */
|
|
17
|
+
packageDir: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function downloadNpmTarball(url: string, retryDelay: number): ExtractedTarball;
|
|
20
|
+
//# sourceMappingURL=download.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAUpF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Download a published npm tarball and extract it, returning the path to
|
|
3
|
+
* the unpacked `package/` directory (#443).
|
|
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
|
|
8
|
+
* `--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
|
+
*/
|
|
13
|
+
import { execFileSync } from 'node:child_process';
|
|
14
|
+
import { mkdirSync, mkdtempSync } from 'node:fs';
|
|
15
|
+
import { tmpdir } from 'node:os';
|
|
16
|
+
import { join } from 'node:path';
|
|
17
|
+
export function downloadNpmTarball(url, retryDelay) {
|
|
18
|
+
const root = mkdtempSync(join(tmpdir(), 'piot-tarball-'));
|
|
19
|
+
const tgz = join(root, 'pkg.tgz');
|
|
20
|
+
const extracted = join(root, 'extracted');
|
|
21
|
+
execFileSync('curl', [
|
|
22
|
+
'-fsSL', '--retry', '5', '--retry-all-errors', '--retry-delay', String(retryDelay), '-o', tgz, url,
|
|
23
|
+
]);
|
|
24
|
+
mkdirSync(extracted);
|
|
25
|
+
execFileSync('tar', ['-xzf', tgz, '-C', extracted]);
|
|
26
|
+
return { root, packageDir: join(extracted, 'package') };
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=download.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,UAAkB;IAChE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,YAAY,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;KACnG,CAAC,CAAC;IACH,SAAS,CAAC,SAAS,CAAC,CAAC;IACrB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `putitoutthere verify npm-tarball` — assert a published npm tarball
|
|
3
|
+
* honors the shape it declared (#443, epic #442).
|
|
4
|
+
*
|
|
5
|
+
* Extraction of the two inline bash blocks in
|
|
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).
|
|
15
|
+
*/
|
|
16
|
+
import type { VerifyNpmTarballOptions } from './types.js';
|
|
17
|
+
export declare function verifyNpmTarball(opts: VerifyNpmTarballOptions): Promise<number>;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `putitoutthere verify npm-tarball` — assert a published npm tarball
|
|
3
|
+
* honors the shape it declared (#443, epic #442).
|
|
4
|
+
*
|
|
5
|
+
* Extraction of the two inline bash blocks in
|
|
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).
|
|
15
|
+
*/
|
|
16
|
+
import { verifyNpmTarballMain } from './main.js';
|
|
17
|
+
import { verifyNpmTarballTriple } from './triple.js';
|
|
18
|
+
export async function verifyNpmTarball(opts) {
|
|
19
|
+
const rows = JSON.parse(opts.matrix);
|
|
20
|
+
return opts.perTriple ? verifyNpmTarballTriple(rows, opts) : verifyNpmTarballMain(rows, opts);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostic string for a declared `files[]` directory that is missing
|
|
3
|
+
* from a published tarball: is it present in the local source tree, and
|
|
4
|
+
* with how many files? (#443)
|
|
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::`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function localDirState(localPath: string): string;
|
|
12
|
+
//# sourceMappingURL=local-dir-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-dir-state.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMvD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostic string for a declared `files[]` directory that is missing
|
|
3
|
+
* from a published tarball: is it present in the local source tree, and
|
|
4
|
+
* with how many files? (#443)
|
|
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::`.
|
|
10
|
+
*/
|
|
11
|
+
import { existsSync, statSync } from 'node:fs';
|
|
12
|
+
import { listFilesRecursive } from '../../utils/list-files-recursive.js';
|
|
13
|
+
export function localDirState(localPath) {
|
|
14
|
+
if (existsSync(localPath) && statSync(localPath).isDirectory()) {
|
|
15
|
+
const files = listFilesRecursive(localPath);
|
|
16
|
+
return `local ${localPath}: present, ${files.length} file(s) — ${files.join(' ')} `;
|
|
17
|
+
}
|
|
18
|
+
return `local ${localPath}: missing`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=local-dir-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-dir-state.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC5C,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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify each published main/noarch npm tarball contains the directory
|
|
3
|
+
* entries its `package.json` `files[]` declares (#443).
|
|
4
|
+
*
|
|
5
|
+
* The load-bearing check: the build job produces `dist/`, the publish job
|
|
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).
|
|
16
|
+
*/
|
|
17
|
+
import type { TarballRow, VerifyNpmTarballOptions } from './types.js';
|
|
18
|
+
export declare function verifyNpmTarballMain(rows: TarballRow[], opts: VerifyNpmTarballOptions): Promise<number>;
|
|
19
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify each published main/noarch npm tarball contains the directory
|
|
3
|
+
* entries its `package.json` `files[]` declares (#443).
|
|
4
|
+
*
|
|
5
|
+
* The load-bearing check: the build job produces `dist/`, the publish job
|
|
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).
|
|
16
|
+
*/
|
|
17
|
+
import { existsSync, readFileSync, rmSync, statSync } from 'node:fs';
|
|
18
|
+
import { join } from 'node:path';
|
|
19
|
+
import { downloadNpmTarball } from './download.js';
|
|
20
|
+
import { listFilesRecursive } from '../../utils/list-files-recursive.js';
|
|
21
|
+
import { localDirState } from './local-dir-state.js';
|
|
22
|
+
import { resolveNpmTarballUrl } from './resolve-url.js';
|
|
23
|
+
export async function verifyNpmTarballMain(rows, opts) {
|
|
24
|
+
const npmRows = rows.filter((r) => r.kind === 'npm' && (r.target === 'main' || r.target === 'noarch'));
|
|
25
|
+
if (npmRows.length === 0) {
|
|
26
|
+
process.stdout.write('No npm main/noarch rows; nothing to verify.\n');
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
// Verdaccio (a same-host service container) is immediately consistent
|
|
30
|
+
// once `npm publish` returns; real npm's CDN needs generous backoff.
|
|
31
|
+
const registry = opts.registry;
|
|
32
|
+
const sleeps = registry ? [1, 2, 5, 10] : [5, 15, 30, 90, 180];
|
|
33
|
+
const registryLabel = registry ? registry : 'registry.npmjs.org';
|
|
34
|
+
let fail = 0;
|
|
35
|
+
for (const row of npmRows) {
|
|
36
|
+
const pkgDirLocal = join(opts.cwd, row.path);
|
|
37
|
+
const pkgJson = JSON.parse(readFileSync(join(pkgDirLocal, 'package.json'), 'utf8'));
|
|
38
|
+
const pkgName = pkgJson.name;
|
|
39
|
+
const version = row.version;
|
|
40
|
+
const dirs = (pkgJson.files ?? []).filter((f) => !f.includes('.'));
|
|
41
|
+
if (dirs.length === 0) {
|
|
42
|
+
process.stdout.write(`[${pkgName}@${version}] no directory entries in files[]; skipping.\n`);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
process.stdout.write(`[${pkgName}@${version}] verifying tarball at ${registryLabel} contains: ${dirs.join(' ')}\n`);
|
|
46
|
+
const url = await resolveNpmTarballUrl(pkgName, version, { registry, sleeps });
|
|
47
|
+
if (url === null) {
|
|
48
|
+
process.stdout.write(`::error::[${pkgName}@${version}] npm view at ${registryLabel} never returned a tarball URL after ${sleeps.length + 1} attempts. Either the publish didn't actually publish, or packument propagation is much slower than expected.\n`);
|
|
49
|
+
fail = 1;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const { root, packageDir } = downloadNpmTarball(url, 5);
|
|
53
|
+
for (const d of dirs) {
|
|
54
|
+
const target = join(packageDir, d);
|
|
55
|
+
// `-d` before counting: `listFilesRecursive` reads the dir, so it
|
|
56
|
+
// must not run on a non-directory. The `&&` short-circuit mirrors
|
|
57
|
+
// the bash `[ -d dir ] && [ "$(find … | wc -l)" -gt 0 ]`.
|
|
58
|
+
if (existsSync(target) && statSync(target).isDirectory() && listFilesRecursive(target).length > 0) {
|
|
59
|
+
const count = listFilesRecursive(target).length;
|
|
60
|
+
process.stdout.write(` ok: package/${d}/ (${count} file(s))\n`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
process.stdout.write(`::error::[${pkgName}@${version}] tarball missing '${d}'. ${localDirState(join(pkgDirLocal, d))}\n`);
|
|
64
|
+
fail = 1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
rmSync(root, { recursive: true, force: true });
|
|
68
|
+
}
|
|
69
|
+
return fail;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a published package's tarball URL via `npm view … dist.tarball`,
|
|
3
|
+
* absorbing packument lag with a bounded retry schedule (#443).
|
|
4
|
+
*
|
|
5
|
+
* `npm view`'s packument index propagates across the registry CDN
|
|
6
|
+
* asynchronously, so an immediate read after publish can return empty
|
|
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.
|
|
14
|
+
*/
|
|
15
|
+
interface ResolveOptions {
|
|
16
|
+
registry?: string | undefined;
|
|
17
|
+
sleeps: number[];
|
|
18
|
+
}
|
|
19
|
+
export declare function resolveNpmTarballUrl(name: string, version: string, opts: ResolveOptions): Promise<string | null>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=resolve-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-url.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a published package's tarball URL via `npm view … dist.tarball`,
|
|
3
|
+
* absorbing packument lag with a bounded retry schedule (#443).
|
|
4
|
+
*
|
|
5
|
+
* `npm view`'s packument index propagates across the registry CDN
|
|
6
|
+
* asynchronously, so an immediate read after publish can return empty
|
|
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.
|
|
14
|
+
*/
|
|
15
|
+
import { execFileSync } from 'node:child_process';
|
|
16
|
+
function viewTarballUrl(spec, registry) {
|
|
17
|
+
try {
|
|
18
|
+
const args = ['view', spec, 'dist.tarball', ...(registry ? ['--registry', registry] : [])];
|
|
19
|
+
return execFileSync('npm', args, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] }).trim();
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
// `npm view` exits non-zero when the packument isn't there yet.
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function sleep(ms) {
|
|
27
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
28
|
+
}
|
|
29
|
+
export async function resolveNpmTarballUrl(name, version, opts) {
|
|
30
|
+
const spec = `${name}@${version}`;
|
|
31
|
+
const attempts = opts.sleeps.length + 1;
|
|
32
|
+
for (let attempt = 1; attempt <= attempts; attempt++) {
|
|
33
|
+
const url = viewTarballUrl(spec, opts.registry);
|
|
34
|
+
if (url) {
|
|
35
|
+
return url;
|
|
36
|
+
}
|
|
37
|
+
if (attempt < attempts) {
|
|
38
|
+
const secs = opts.sleeps[attempt - 1];
|
|
39
|
+
process.stdout.write(` packument lag: npm view returned empty (attempt ${attempt}/${attempts}); retrying in ${secs}s\n`);
|
|
40
|
+
await sleep(secs * 1000);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=resolve-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-url.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,SAAS,cAAc,CAAC,IAAY,EAAE,QAAiB;IACrD,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,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrG,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,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify each published per-triple npm tarball ships a synthesized binary,
|
|
3
|
+
* not just metadata (#443).
|
|
4
|
+
*
|
|
5
|
+
* `npm-platform`'s `synthesizePlatformPackage` emits `files: <readdir of
|
|
6
|
+
* the artifact dir>`, so an empty artifact dir yields a tarball with only
|
|
7
|
+
* `package.json` and `npm publish` still returns 0. This step downloads the
|
|
8
|
+
* published platform tarball back and asserts at least one non-`package.json`
|
|
9
|
+
* file is present — shipping that binary is the whole point of the
|
|
10
|
+
* synthesis. Extracted verbatim from the "Verify published per-triple npm
|
|
11
|
+
* tarballs honor expected files" bash block.
|
|
12
|
+
*
|
|
13
|
+
* The platform package name is reconstructed as `{name}-{triple}` — the
|
|
14
|
+
* default template every fixture uses — because the matrix row carries the
|
|
15
|
+
* main package name (synthesis is a publish-time concern). Returns the
|
|
16
|
+
* process exit code (0 ok, 1 on any metadata-only tarball).
|
|
17
|
+
*/
|
|
18
|
+
import type { TarballRow, VerifyNpmTarballOptions } from './types.js';
|
|
19
|
+
export declare function verifyNpmTarballTriple(rows: TarballRow[], opts: VerifyNpmTarballOptions): Promise<number>;
|
|
20
|
+
//# sourceMappingURL=triple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/triple.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAAE,EAClB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify each published per-triple npm tarball ships a synthesized binary,
|
|
3
|
+
* not just metadata (#443).
|
|
4
|
+
*
|
|
5
|
+
* `npm-platform`'s `synthesizePlatformPackage` emits `files: <readdir of
|
|
6
|
+
* the artifact dir>`, so an empty artifact dir yields a tarball with only
|
|
7
|
+
* `package.json` and `npm publish` still returns 0. This step downloads the
|
|
8
|
+
* published platform tarball back and asserts at least one non-`package.json`
|
|
9
|
+
* file is present — shipping that binary is the whole point of the
|
|
10
|
+
* synthesis. Extracted verbatim from the "Verify published per-triple npm
|
|
11
|
+
* tarballs honor expected files" bash block.
|
|
12
|
+
*
|
|
13
|
+
* The platform package name is reconstructed as `{name}-{triple}` — the
|
|
14
|
+
* default template every fixture uses — because the matrix row carries the
|
|
15
|
+
* main package name (synthesis is a publish-time concern). Returns the
|
|
16
|
+
* process exit code (0 ok, 1 on any metadata-only tarball).
|
|
17
|
+
*/
|
|
18
|
+
import { readdirSync, rmSync } from 'node:fs';
|
|
19
|
+
import { basename } from 'node:path';
|
|
20
|
+
import { downloadNpmTarball } from './download.js';
|
|
21
|
+
import { listFilesRecursive } from '../../utils/list-files-recursive.js';
|
|
22
|
+
import { resolveNpmTarballUrl } from './resolve-url.js';
|
|
23
|
+
export async function verifyNpmTarballTriple(rows, opts) {
|
|
24
|
+
const npmRows = rows.filter((r) => r.kind === 'npm' && r.target !== 'main' && r.target !== 'noarch');
|
|
25
|
+
if (npmRows.length === 0) {
|
|
26
|
+
process.stdout.write('No npm per-triple rows; nothing to verify.\n');
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
const registry = opts.registry;
|
|
30
|
+
let fail = 0;
|
|
31
|
+
for (const row of npmRows) {
|
|
32
|
+
const platformName = `${row.name}-${row.target}`;
|
|
33
|
+
const version = row.version;
|
|
34
|
+
process.stdout.write(`[${platformName}@${version}] verifying tarball at ${registry}\n`);
|
|
35
|
+
const url = await resolveNpmTarballUrl(platformName, version, { registry, sleeps: [2, 2, 2, 2] });
|
|
36
|
+
if (url === null) {
|
|
37
|
+
process.stdout.write(`::error::[${platformName}@${version}] npm view at ${registry} never returned a tarball URL. Either the platform publish didn't actually publish, or the synthesized name diverged from the default {name}-{triple} template.\n`);
|
|
38
|
+
fail = 1;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const { root, packageDir } = downloadNpmTarball(url, 2);
|
|
42
|
+
const topLevel = readdirSync(packageDir, { withFileTypes: true })
|
|
43
|
+
.filter((e) => e.isFile() && e.name !== 'package.json')
|
|
44
|
+
.map((e) => e.name);
|
|
45
|
+
if (topLevel.length > 0) {
|
|
46
|
+
process.stdout.write(` ok: ${topLevel.length} non-metadata file(s): ${topLevel.join(' ')} \n`);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const listing = listFilesRecursive(packageDir).map((p) => basename(p)).join(' ');
|
|
50
|
+
process.stdout.write(`::error::[${platformName}@${version}] tarball contains only package.json (no synthesized binary/.node staged). Tarball contents: ${listing} \n`);
|
|
51
|
+
fail = 1;
|
|
52
|
+
}
|
|
53
|
+
rmSync(root, { recursive: true, force: true });
|
|
54
|
+
}
|
|
55
|
+
return fail;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=triple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triple.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/triple.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for `verify npm-tarball` (#443).
|
|
3
|
+
*
|
|
4
|
+
* The subcommand downloads each published npm tarball and asserts its
|
|
5
|
+
* contents honor the declared shape — extracted from the two inline bash
|
|
6
|
+
* blocks in `.github/workflows/e2e-fixture-job.yml`.
|
|
7
|
+
*/
|
|
8
|
+
export interface VerifyNpmTarballOptions {
|
|
9
|
+
/** Source root; `<cwd>/<row.path>/package.json` supplies each row's `files[]`. */
|
|
10
|
+
cwd: string;
|
|
11
|
+
/** The plan matrix, as the JSON string the workflow already carries. */
|
|
12
|
+
matrix: string;
|
|
13
|
+
/**
|
|
14
|
+
* Registry to read from. Present → tight packument-lag backoff and an
|
|
15
|
+
* explicit `--registry` on `npm view` (the Verdaccio / first-publish
|
|
16
|
+
* path). Absent → real npm with the generous CDN-propagation backoff.
|
|
17
|
+
*/
|
|
18
|
+
registry?: string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Per-triple mode: verify synthesized platform packages ship a
|
|
21
|
+
* non-`package.json` file, instead of main/noarch `files[]` dirs.
|
|
22
|
+
*/
|
|
23
|
+
perTriple?: boolean | undefined;
|
|
24
|
+
}
|
|
25
|
+
/** The matrix fields this command reads. Superset-compatible with `MatrixRow`. */
|
|
26
|
+
export interface TarballRow {
|
|
27
|
+
name: string;
|
|
28
|
+
kind: string;
|
|
29
|
+
version: string;
|
|
30
|
+
target: string;
|
|
31
|
+
path: string;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAED,kFAAkF;AAClF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for `verify npm-tarball` (#443).
|
|
3
|
+
*
|
|
4
|
+
* The subcommand downloads each published npm tarball and asserts its
|
|
5
|
+
* contents honor the declared shape — extracted from the two inline bash
|
|
6
|
+
* blocks in `.github/workflows/e2e-fixture-job.yml`.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Issue #414.
|
|
6
6
|
*/
|
|
7
|
-
import type { VerifyRow } from './
|
|
7
|
+
import type { VerifyRow } from './posture-types.js';
|
|
8
8
|
export declare function formatVerifyRow(row: VerifyRow): string;
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=posture-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture-format.d.ts","sourceRoot":"","sources":["../../src/verify/posture-format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAWtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture-format.js","sourceRoot":"","sources":["../../src/verify/posture-format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,UAAU,eAAe,CAAC,GAAc;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChF,MAAM,IAAI,GACR,GAAG,CAAC,OAAO,KAAK,MAAM;QACpB,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO;YACvB,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa;gBAC7B,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,sBAAsB,CAAC;IACjC,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;AAClF,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Issue #414, #403 slice 5.
|
|
6
6
|
*/
|
|
7
|
-
import type { Kind, TrustPosture } from '
|
|
7
|
+
import type { Kind, TrustPosture } from '../types.js';
|
|
8
8
|
/**
|
|
9
9
|
* `oidc` / `token` come from the handler's trust read; `unpublished` when
|
|
10
10
|
* there is no release to attribute; `unreachable` when the registry read
|
|
@@ -23,4 +23,4 @@ export interface VerifyOptions {
|
|
|
23
23
|
/** Defaults to `${cwd}/putitoutthere.toml`. */
|
|
24
24
|
configPath?: string;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=posture-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture-types.d.ts","sourceRoot":"","sources":["../../src/verify/posture-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAEnE,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,4EAA4E;IAC5E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture-types.js","sourceRoot":"","sources":["../../src/verify/posture-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
* the publish path runs. The read degrades — an unreachable registry
|
|
14
14
|
* yields `unreachable`, never an abort — matching `status`.
|
|
15
15
|
*/
|
|
16
|
-
import type { VerifyOptions, VerifyRow } from './
|
|
16
|
+
import type { VerifyOptions, VerifyRow } from './posture-types.js';
|
|
17
17
|
export declare function computeVerify(opts: VerifyOptions): Promise<VerifyRow[]>;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=posture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture.d.ts","sourceRoot":"","sources":["../../src/verify/posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAW,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5E,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA6B7E"}
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* yields `unreachable`, never an abort — matching `status`.
|
|
15
15
|
*/
|
|
16
16
|
import { join } from 'node:path';
|
|
17
|
-
import { loadConfig } from '
|
|
18
|
-
import { handlerFor } from '
|
|
19
|
-
import { createLogger } from '
|
|
17
|
+
import { loadConfig } from '../config.js';
|
|
18
|
+
import { handlerFor } from '../handlers/index.js';
|
|
19
|
+
import { createLogger } from '../log.js';
|
|
20
20
|
export async function computeVerify(opts) {
|
|
21
21
|
const cwd = opts.cwd;
|
|
22
22
|
const cfgPath = opts.configPath ?? join(cwd, 'putitoutthere.toml');
|
|
@@ -47,4 +47,4 @@ export async function computeVerify(opts) {
|
|
|
47
47
|
}
|
|
48
48
|
return rows;
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=posture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture.js","sourceRoot":"","sources":["../../src/verify/posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAQ;QACf,GAAG;QACH,GAAG,EAAE,YAAY,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,GAA6B;QAC1C,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;KAC/C,CAAC;IAEF,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,mEAAmE;YACnE,4BAA4B;YAC5B,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,wBAAwB;YACxB,OAAO,GAAG,aAAa,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-format.d.ts","sourceRoot":"","sources":["../src/verify-format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAWtD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-format.js","sourceRoot":"","sources":["../src/verify-format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,UAAU,eAAe,CAAC,GAAc;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChF,MAAM,IAAI,GACR,GAAG,CAAC,OAAO,KAAK,MAAM;QACpB,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO;YACvB,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa;gBAC7B,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,sBAAsB,CAAC;IACjC,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;AAClF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-types.d.ts","sourceRoot":"","sources":["../src/verify-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAEnE,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,4EAA4E;IAC5E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/verify-types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-types.js","sourceRoot":"","sources":["../src/verify-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/verify.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAW,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE3E,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA6B7E"}
|
package/dist/verify.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAQ;QACf,GAAG;QACH,GAAG,EAAE,YAAY,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,GAA6B;QAC1C,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;KAC/C,CAAC;IAEF,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,mEAAmE;YACnE,4BAA4B;YAC5B,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,wBAAwB;YACxB,OAAO,GAAG,aAAa,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|