putitoutthere 0.2.43 → 0.2.44

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 CHANGED
@@ -14,6 +14,7 @@ are prefixed `**BREAKING**` and link to the matching section in
14
14
 
15
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
16
  - Added: `putitoutthere verify crate` — the crates-side sibling of `verify npm-tarball` (#443). Reads a published `.crate` back off the `cargo-http-registry` disk root the engine published to, extracts it, and asserts the crate ships its source tree (`src/lib.rs` or `src/main.rs` surfaces) — proof the publish shipped real contents, not an empty or silently no-op'd tarball. Absorbs the inline `.crate` verification block the reusable e2e workflow (`e2e-fixture-job.yml`, #334) carried as untested bash — same crates-row selection, same present-and-non-empty `.crate` guard, same `::error::`/`ok:` messages — into one colocated-tested engine command invoked from its former site (part of epic #442). Takes `--matrix <plan-json>` and `--registry-root <dir>`; unlike the npm sibling it reads local disk (same host, same job), so there is no HTTP download or retry. #449. (verified by: integration, e2e/CLI)
17
+ - Added: `putitoutthere verify wheel` — the pypi-side sibling of the verify family (#443, #449). Asserts a built maturin artifact under `<path>/dist` carries the planned version: a wheel row's first `*.whl` must have a `*.dist-info/METADATA` `Version:` equal to `--version`, and an sdist row (`--target sdist`) must produce a `*.tar.gz` whose filename contains it. Absorbs the inline "Verify wheel/sdist version matches matrix.version" bash block the reusable e2e workflow (`e2e-fixture-job.yml`, #276) carried as untested bash — same file selection, same `::error::`/`ok wheel:`/`ok sdist:` messages, same exit code — into one colocated-tested engine command. The wheel's METADATA is read with a dependency-free pure-Node zip reader (no `unzip`), so the command runs on every platform the maturin matrix builds on, Windows included. Takes `--path <pkg-dir>`, `--version <planned>`, and `--target <sdist|triple>`. #450. (verified by: integration, e2e/CLI)
17
18
 
18
19
  ### Changed
19
20
 
package/MIGRATIONS.md CHANGED
@@ -21,6 +21,39 @@ Each section covers five things, in order:
21
21
 
22
22
  ## Unreleased
23
23
 
24
+ ### New `verify wheel` subcommand
25
+
26
+ **Summary.** `putitoutthere verify wheel` joins the `verify` command family
27
+ (alongside `verify posture`, `verify npm-tarball`, and `verify crate`). It
28
+ asserts a built maturin artifact under `<path>/dist` carries the planned
29
+ version: a wheel row's first `*.whl` must have a `*.dist-info/METADATA`
30
+ `Version:` equal to `--version`, and an sdist row (`--target sdist`) must
31
+ produce a `*.tar.gz` whose filename contains it. This extracts the inline
32
+ "Verify wheel/sdist version matches matrix.version" bash block the reusable
33
+ e2e workflow carried (`e2e-fixture-job.yml`, #276) into one colocated-tested
34
+ engine command (epic #442, sub-issue #450); the behavior is unchanged — same
35
+ file selection, same error/ok messages, same exit code. The wheel's METADATA
36
+ is read with a dependency-free pure-Node zip reader (no `unzip`), so the
37
+ command runs on every platform the maturin matrix builds on.
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.
42
+
43
+ **Deprecations removed.** None.
44
+
45
+ **Behavior changes without code changes.** None.
46
+
47
+ **Verification.** With a maturin build under `<path>/dist`,
48
+ `putitoutthere verify wheel --path <path> --version <v> --target <triple>`
49
+ prints `ok wheel: <name>.whl METADATA Version=<v>` and exits 0 when the
50
+ wheel carries `<v>`; a mismatch exits 1 with
51
+ `wheel METADATA Version='<actual>' but plan='<v>'`. `--target sdist` checks
52
+ the sdist filename instead (`ok sdist:` / `does not contain planned
53
+ version`).
54
+
55
+ ---
56
+
24
57
  ### New `verify crate` subcommand
25
58
 
26
59
  **Summary.** `putitoutthere verify crate` joins the `verify` command family
package/dist/cli.d.ts CHANGED
@@ -51,6 +51,7 @@ interface ParsedFlags {
51
51
  matrix?: string | undefined;
52
52
  registry?: string | undefined;
53
53
  registryRoot?: string | undefined;
54
+ target?: string | undefined;
54
55
  perTriple: boolean;
55
56
  }
56
57
  export declare function parseFlags(argv: readonly string[]): ParsedFlags;
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;AA+EH,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;IAG9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAgC/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4SlE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAkFH,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;IAG9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGlC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAiC/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA0TlE"}
package/dist/cli.js CHANGED
@@ -50,6 +50,7 @@ import { computeStatus } from './status.js';
50
50
  import { formatVerifyRow } from './verify/posture-format.js';
51
51
  import { verifyCrate } from './verify/crate/index.js';
52
52
  import { verifyNpmTarball } from './verify/npm-tarball/index.js';
53
+ import { verifyWheel } from './verify/wheel/index.js';
53
54
  import { computeVerify } from './verify/posture.js';
54
55
  import { writeCrateVersionForBuild } from './write-crate-version.js';
55
56
  import { writeLauncherFromConfig } from './write-launcher.js';
@@ -84,6 +85,7 @@ function printUsage() {
84
85
  ' verify Report publish/trust posture — OIDC vs token, per registry (#403)',
85
86
  ' verify npm-tarball Assert a published npm tarball honors package.json files[] (#443)',
86
87
  ' verify crate Assert a published .crate ships its source tree (#449)',
88
+ ' verify wheel Assert a built wheel/sdist carries the planned version (#450)',
87
89
  ' release-github Cut a GitHub Release for each new tag on HEAD (#444)',
88
90
  ' write-version Bump a package manifest to the planned version (pre-build; #276)',
89
91
  ' write-crate-version Bump a crate Cargo.toml to the planned version (pre-build; #366)',
@@ -99,6 +101,7 @@ function printUsage() {
99
101
  ' --matrix <json> plan matrix (verify npm-tarball)',
100
102
  ' --registry <url> registry to read from (verify npm-tarball); default real npm',
101
103
  ' --registry-root <dir> cargo-http-registry disk root to read .crate files from (verify crate)',
104
+ ' --target <t> matrix target: `sdist` or a wheel triple (verify wheel)',
102
105
  ' --per-triple verify synthesized per-triple tarballs (verify npm-tarball)',
103
106
  ' --check exit non-zero when status finds drift',
104
107
  ' --dry-run report what reconcile would do without writing tags',
@@ -149,6 +152,9 @@ export function parseFlags(argv) {
149
152
  else if (a === '--registry-root') {
150
153
  out.registryRoot = argv[++i];
151
154
  }
155
+ else if (a === '--target') {
156
+ out.target = argv[++i];
157
+ }
152
158
  else if (a === '--per-triple') {
153
159
  out.perTriple = true;
154
160
  }
@@ -340,6 +346,26 @@ export async function run(argv) {
340
346
  }
341
347
  return verifyCrate({ matrix: flags.matrix, registryRoot: flags.registryRoot });
342
348
  }
349
+ if (sub === 'wheel') {
350
+ // #450: assert the built wheel/sdist under <path>/dist carries
351
+ // the planned version. Reads the wheel zip with a pure-Node
352
+ // reader (no unzip), so it runs on the Windows maturin rows too.
353
+ if (!flags.path) {
354
+ throw new Error('verify wheel requires --path <pkg-dir>');
355
+ }
356
+ if (!flags.version) {
357
+ throw new Error('verify wheel requires --version <planned>');
358
+ }
359
+ if (flags.target === undefined) {
360
+ throw new Error('verify wheel requires --target <sdist|triple>');
361
+ }
362
+ return verifyWheel({
363
+ cwd: flags.cwd,
364
+ path: flags.path,
365
+ version: flags.version,
366
+ target: flags.target,
367
+ });
368
+ }
343
369
  if (sub !== 'posture') {
344
370
  throw new Error(`unknown verify subcommand: ${sub}`);
345
371
  }
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":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The first regular file directly under `dir` whose name ends with `ext`, or
3
+ * null when none exists (#450). Non-recursive — the analogue of the bash
4
+ * `find "$dist_dir" -maxdepth 1 -name '*<ext>' -print -quit`. Sorted for a
5
+ * deterministic pick when a dist dir holds more than one match.
6
+ */
7
+ export declare function findDistFile(dir: string, ext: string): string | null;
8
+ //# sourceMappingURL=find-dist-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-dist-file.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/find-dist-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAapE"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The first regular file directly under `dir` whose name ends with `ext`, or
3
+ * null when none exists (#450). Non-recursive — the analogue of the bash
4
+ * `find "$dist_dir" -maxdepth 1 -name '*<ext>' -print -quit`. Sorted for a
5
+ * deterministic pick when a dist dir holds more than one match.
6
+ */
7
+ import { existsSync, readdirSync, statSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ export function findDistFile(dir, ext) {
10
+ if (!existsSync(dir)) {
11
+ return null;
12
+ }
13
+ for (const name of readdirSync(dir).sort()) {
14
+ if (name.endsWith(ext)) {
15
+ const full = join(dir, name);
16
+ if (statSync(full).isFile()) {
17
+ return full;
18
+ }
19
+ }
20
+ }
21
+ return null;
22
+ }
23
+ //# sourceMappingURL=find-dist-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-dist-file.js","sourceRoot":"","sources":["../../../src/verify/wheel/find-dist-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `putitoutthere verify wheel` — assert the built wheel/sdist carries the
3
+ * planned version (#450, epic #442).
4
+ *
5
+ * Extraction of the inline "Verify wheel/sdist version matches
6
+ * matrix.version" bash block (#276) in `.github/workflows/e2e-fixture-job.yml`.
7
+ * The contract, per that step: "the build artifact carries matrix.version",
8
+ * verified directly against the produced files — independent of which
9
+ * mechanism (write-version, SETUPTOOLS_SCM_PRETEND_VERSION, …) set the
10
+ * manifest, so it catches a divergence regardless of which build path
11
+ * silently regressed.
12
+ *
13
+ * For an sdist row (`--target sdist`) the sdist filename must end
14
+ * `-<version>.tar.gz`; for a wheel row the first `*.whl`'s
15
+ * `*.dist-info/METADATA` `Version:` must equal `--version`. The wheel is
16
+ * read with a pure-Node zip reader (no `unzip`), so this runs on every
17
+ * platform the maturin matrix builds on. Synchronous throughout. Returns the
18
+ * process exit code (0 ok, 1 on any miss).
19
+ */
20
+ import type { VerifyWheelOptions } from './types.js';
21
+ export declare function verifyWheel(opts: VerifyWheelOptions): number;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAuC5D"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * `putitoutthere verify wheel` — assert the built wheel/sdist carries the
3
+ * planned version (#450, epic #442).
4
+ *
5
+ * Extraction of the inline "Verify wheel/sdist version matches
6
+ * matrix.version" bash block (#276) in `.github/workflows/e2e-fixture-job.yml`.
7
+ * The contract, per that step: "the build artifact carries matrix.version",
8
+ * verified directly against the produced files — independent of which
9
+ * mechanism (write-version, SETUPTOOLS_SCM_PRETEND_VERSION, …) set the
10
+ * manifest, so it catches a divergence regardless of which build path
11
+ * silently regressed.
12
+ *
13
+ * For an sdist row (`--target sdist`) the sdist filename must end
14
+ * `-<version>.tar.gz`; for a wheel row the first `*.whl`'s
15
+ * `*.dist-info/METADATA` `Version:` must equal `--version`. The wheel is
16
+ * read with a pure-Node zip reader (no `unzip`), so this runs on every
17
+ * platform the maturin matrix builds on. Synchronous throughout. Returns the
18
+ * process exit code (0 ok, 1 on any miss).
19
+ */
20
+ import { existsSync, statSync } from 'node:fs';
21
+ import { basename, isAbsolute, join, resolve } from 'node:path';
22
+ import { findDistFile } from './find-dist-file.js';
23
+ import { readWheelVersion } from './read-wheel-version.js';
24
+ export function verifyWheel(opts) {
25
+ const pkgDir = isAbsolute(opts.path) ? opts.path : resolve(opts.cwd, opts.path);
26
+ const distDir = join(pkgDir, 'dist');
27
+ if (!existsSync(distDir) || !statSync(distDir).isDirectory()) {
28
+ process.stdout.write(`::error::no dist/ produced under ${distDir}\n`);
29
+ return 1;
30
+ }
31
+ if (opts.target === 'sdist') {
32
+ const sdist = findDistFile(distDir, '.tar.gz');
33
+ if (sdist === null) {
34
+ process.stdout.write(`::error::no sdist produced in ${distDir}\n`);
35
+ return 1;
36
+ }
37
+ const name = basename(sdist);
38
+ if (name.endsWith(`-${opts.version}.tar.gz`)) {
39
+ process.stdout.write(`ok sdist: ${name}\n`);
40
+ return 0;
41
+ }
42
+ process.stdout.write(`::error::sdist filename '${name}' does not contain planned version '${opts.version}'\n`);
43
+ return 1;
44
+ }
45
+ const wheel = findDistFile(distDir, '.whl');
46
+ if (wheel === null) {
47
+ process.stdout.write(`::error::no wheel produced in ${distDir}\n`);
48
+ return 1;
49
+ }
50
+ const actual = readWheelVersion(wheel);
51
+ if (actual !== opts.version) {
52
+ process.stdout.write(`::error::wheel METADATA Version='${actual ?? ''}' but plan='${opts.version}' (wheel: ${basename(wheel)})\n`);
53
+ return 1;
54
+ }
55
+ process.stdout.write(`ok wheel: ${basename(wheel)} METADATA Version=${actual}\n`);
56
+ return 0;
57
+ }
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/wheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,UAAU,WAAW,CAAC,IAAwB;IAClD,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,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,IAAI,CAAC,CAAC;YACnE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,SAAS,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,IAAI,uCAAuC,IAAI,CAAC,OAAO,KAAK,CACzF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oCAAoC,MAAM,IAAI,EAAE,eAAe,IAAI,CAAC,OAAO,aAAa,QAAQ,CAAC,KAAK,CAAC,KAAK,CAC7G,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Read the `Version:` field from a wheel's `*.dist-info/METADATA` (#450).
3
+ *
4
+ * The engine analogue of the bash
5
+ * `unzip -p "$wheel" '*.dist-info/METADATA' | awk '/^Version:/ { print $2 }'`,
6
+ * but via the pure-Node zip reader so it needs no `unzip`. Returns the
7
+ * version string, or null when the wheel carries no METADATA or no
8
+ * `Version:` line. `Metadata-Version:` is deliberately not matched — only a
9
+ * line that begins exactly `Version:`, mirroring the bash `^Version:`.
10
+ */
11
+ export declare function readWheelVersion(wheelPath: string): string | null;
12
+ //# sourceMappingURL=read-wheel-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-wheel-version.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/read-wheel-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYjE"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Read the `Version:` field from a wheel's `*.dist-info/METADATA` (#450).
3
+ *
4
+ * The engine analogue of the bash
5
+ * `unzip -p "$wheel" '*.dist-info/METADATA' | awk '/^Version:/ { print $2 }'`,
6
+ * but via the pure-Node zip reader so it needs no `unzip`. Returns the
7
+ * version string, or null when the wheel carries no METADATA or no
8
+ * `Version:` line. `Metadata-Version:` is deliberately not matched — only a
9
+ * line that begins exactly `Version:`, mirroring the bash `^Version:`.
10
+ */
11
+ import { readFileSync } from 'node:fs';
12
+ import { readZipEntry } from './read-zip-entry.js';
13
+ export function readWheelVersion(wheelPath) {
14
+ const meta = readZipEntry(readFileSync(wheelPath), (name) => name.endsWith('.dist-info/METADATA'));
15
+ if (meta === null) {
16
+ return null;
17
+ }
18
+ for (const line of meta.toString('utf8').split(/\r?\n/)) {
19
+ const m = /^Version:[ \t]*(\S+)/.exec(line);
20
+ if (m) {
21
+ return m[1];
22
+ }
23
+ }
24
+ return null;
25
+ }
26
+ //# sourceMappingURL=read-wheel-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-wheel-version.js","sourceRoot":"","sources":["../../../src/verify/wheel/read-wheel-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACnG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Extract the first zip entry whose name satisfies `matches`, returning its
3
+ * decompressed bytes (or null if none matches) (#450).
4
+ *
5
+ * A minimal pure-Node zip reader for the stored (method 0) and deflate
6
+ * (method 8) entries a wheel uses — enough to read `dist-info/METADATA`
7
+ * without an `unzip` / `tar` subprocess, so `verify wheel` runs on every
8
+ * platform the maturin matrix builds on (Windows included). Wheels are not
9
+ * ZIP64 and carry no archive comment, so the common-case layout is all that
10
+ * is handled.
11
+ */
12
+ export declare function readZipEntry(buf: Buffer, matches: (name: string) => boolean): Buffer | null;
13
+ //# sourceMappingURL=read-zip-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-zip-entry.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/read-zip-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAqC3F"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Extract the first zip entry whose name satisfies `matches`, returning its
3
+ * decompressed bytes (or null if none matches) (#450).
4
+ *
5
+ * A minimal pure-Node zip reader for the stored (method 0) and deflate
6
+ * (method 8) entries a wheel uses — enough to read `dist-info/METADATA`
7
+ * without an `unzip` / `tar` subprocess, so `verify wheel` runs on every
8
+ * platform the maturin matrix builds on (Windows included). Wheels are not
9
+ * ZIP64 and carry no archive comment, so the common-case layout is all that
10
+ * is handled.
11
+ */
12
+ import { inflateRawSync } from 'node:zlib';
13
+ export function readZipEntry(buf, matches) {
14
+ // End Of Central Directory record: scan back for its signature.
15
+ let eocd = -1;
16
+ for (let i = buf.length - 22; i >= 0; i--) {
17
+ if (buf.readUInt32LE(i) === 0x06054b50) {
18
+ eocd = i;
19
+ break;
20
+ }
21
+ }
22
+ if (eocd < 0) {
23
+ return null;
24
+ }
25
+ const count = buf.readUInt16LE(eocd + 10);
26
+ let p = buf.readUInt32LE(eocd + 16); // central-directory offset
27
+ // The EOCD gives the exact entry count, and central-directory headers are
28
+ // contiguous, so read exactly `count` of them.
29
+ for (let n = 0; n < count; n++) {
30
+ const method = buf.readUInt16LE(p + 10);
31
+ const compSize = buf.readUInt32LE(p + 20);
32
+ const fnLen = buf.readUInt16LE(p + 28);
33
+ const extraLen = buf.readUInt16LE(p + 30);
34
+ const commentLen = buf.readUInt16LE(p + 32);
35
+ const localOffset = buf.readUInt32LE(p + 42);
36
+ const name = buf.toString('utf8', p + 46, p + 46 + fnLen);
37
+ if (matches(name)) {
38
+ // Data starts after the LOCAL header's own name + extra fields
39
+ // (its extra length can differ from the central directory's).
40
+ const lFnLen = buf.readUInt16LE(localOffset + 26);
41
+ const lExtraLen = buf.readUInt16LE(localOffset + 28);
42
+ const dataStart = localOffset + 30 + lFnLen + lExtraLen;
43
+ const raw = buf.subarray(dataStart, dataStart + compSize);
44
+ return method === 0 ? Buffer.from(raw) : inflateRawSync(raw);
45
+ }
46
+ p += 46 + fnLen + extraLen + commentLen;
47
+ }
48
+ return null;
49
+ }
50
+ //# sourceMappingURL=read-zip-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-zip-entry.js","sourceRoot":"","sources":["../../../src/verify/wheel/read-zip-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,OAAkC;IAC1E,gEAAgE;IAChE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,CAAC;YACT,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,2BAA2B;IAChE,0EAA0E;IAC1E,+CAA+C;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,+DAA+D;YAC/D,8DAA8D;YAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,WAAW,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;YACxD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;YAC1D,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Option shape for `verify wheel` (#450).
3
+ */
4
+ export interface VerifyWheelOptions {
5
+ /** Working dir `--path` resolves against (default process.cwd()). */
6
+ cwd: string;
7
+ /** Package dir; the build artifact lives under `<path>/dist`. */
8
+ path: string;
9
+ /** The planned version the artifact must carry. */
10
+ version: string;
11
+ /**
12
+ * The matrix row's target. `sdist` selects the sdist-filename check; any
13
+ * other value (a wheel triple) selects the wheel-METADATA check.
14
+ */
15
+ target: string;
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Option shape for `verify wheel` (#450).
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/verify/wheel/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "putitoutthere",
3
- "version": "0.2.43",
3
+ "version": "0.2.44",
4
4
  "description": "Polyglot release orchestrator for crates.io, PyPI, and npm",
5
5
  "license": "MIT",
6
6
  "repository": {