putitoutthere 0.2.29 → 0.2.31
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 +41 -0
- package/MIGRATIONS.md +1311 -0
- package/README.md +373 -41
- package/action.yml +9 -0
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +28 -6
- package/dist/action.js.map +1 -1
- package/dist/cascade.js +14 -7
- package/dist/cascade.js.map +1 -1
- package/dist/check-crate-size.d.ts +26 -0
- package/dist/check-crate-size.d.ts.map +1 -0
- package/dist/check-crate-size.js +99 -0
- package/dist/check-crate-size.js.map +1 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +116 -16
- package/dist/check.js.map +1 -1
- package/dist/cli.d.ts +17 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +173 -22
- package/dist/cli.js.map +1 -1
- package/dist/completeness.js +6 -3
- package/dist/completeness.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -5
- package/dist/config.js.map +1 -1
- package/dist/ensure-tag.d.ts +17 -0
- package/dist/ensure-tag.d.ts.map +1 -0
- package/dist/ensure-tag.js +28 -0
- package/dist/ensure-tag.js.map +1 -0
- package/dist/env.js +6 -3
- package/dist/env.js.map +1 -1
- package/dist/error-codes.d.ts +89 -0
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +102 -0
- package/dist/error-codes.js.map +1 -1
- package/dist/git.d.ts +5 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +19 -6
- package/dist/git.js.map +1 -1
- package/dist/glob.d.ts +9 -0
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +29 -1
- package/dist/glob.js.map +1 -1
- package/dist/handlers/crates.d.ts +15 -0
- package/dist/handlers/crates.d.ts.map +1 -1
- package/dist/handlers/crates.js +84 -9
- package/dist/handlers/crates.js.map +1 -1
- package/dist/handlers/npm-platform.d.ts +11 -0
- package/dist/handlers/npm-platform.d.ts.map +1 -1
- package/dist/handlers/npm-platform.js +91 -8
- package/dist/handlers/npm-platform.js.map +1 -1
- package/dist/handlers/npm.d.ts.map +1 -1
- package/dist/handlers/npm.js +59 -9
- package/dist/handlers/npm.js.map +1 -1
- package/dist/handlers/pypi.d.ts +0 -6
- package/dist/handlers/pypi.d.ts.map +1 -1
- package/dist/handlers/pypi.js +28 -10
- package/dist/handlers/pypi.js.map +1 -1
- package/dist/log.js +16 -8
- package/dist/log.js.map +1 -1
- package/dist/normalize-artifacts.js +8 -4
- package/dist/normalize-artifacts.js.map +1 -1
- package/dist/plan-skew.d.ts +14 -0
- package/dist/plan-skew.d.ts.map +1 -0
- package/dist/plan-skew.js +28 -0
- package/dist/plan-skew.js.map +1 -0
- package/dist/plan-status-types.d.ts +42 -0
- package/dist/plan-status-types.d.ts.map +1 -0
- package/dist/plan-status-types.js +10 -0
- package/dist/plan-status-types.js.map +1 -0
- package/dist/plan-status.d.ts +23 -0
- package/dist/plan-status.d.ts.map +1 -0
- package/dist/plan-status.js +66 -0
- package/dist/plan-status.js.map +1 -0
- package/dist/plan.d.ts +8 -0
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +125 -25
- package/dist/plan.js.map +1 -1
- package/dist/preflight.d.ts +79 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +715 -33
- package/dist/preflight.js.map +1 -1
- package/dist/publish.d.ts +7 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +49 -18
- package/dist/publish.js.map +1 -1
- package/dist/python-versions.d.ts +40 -0
- package/dist/python-versions.d.ts.map +1 -0
- package/dist/python-versions.js +142 -0
- package/dist/python-versions.js.map +1 -0
- package/dist/reconcile-types.d.ts +36 -0
- package/dist/reconcile-types.d.ts.map +1 -0
- package/dist/reconcile-types.js +9 -0
- package/dist/reconcile-types.js.map +1 -0
- package/dist/reconcile.d.ts +21 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +54 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/release-packages.d.ts +33 -0
- package/dist/release-packages.d.ts.map +1 -0
- package/dist/release-packages.js +74 -0
- package/dist/release-packages.js.map +1 -0
- package/dist/resolve-tag-commit.d.ts +22 -0
- package/dist/resolve-tag-commit.d.ts.map +1 -0
- package/dist/resolve-tag-commit.js +26 -0
- package/dist/resolve-tag-commit.js.map +1 -0
- package/dist/retry.js +14 -7
- package/dist/retry.js.map +1 -1
- package/dist/status-classify.d.ts +17 -0
- package/dist/status-classify.d.ts.map +1 -0
- package/dist/status-classify.js +37 -0
- package/dist/status-classify.js.map +1 -0
- package/dist/status-format.d.ts +9 -0
- package/dist/status-format.d.ts.map +1 -0
- package/dist/status-format.js +19 -0
- package/dist/status-format.js.map +1 -0
- package/dist/status-types.d.ts +31 -0
- package/dist/status-types.d.ts.map +1 -0
- package/dist/status-types.js +8 -0
- package/dist/status-types.js.map +1 -0
- package/dist/status.d.ts +28 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +72 -0
- package/dist/status.js.map +1 -0
- package/dist/tag-template.js +2 -1
- package/dist/tag-template.js.map +1 -1
- package/dist/trailer.js +16 -9
- package/dist/trailer.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -2
- package/dist/types.js.map +1 -1
- package/dist/verbose.js +7 -4
- package/dist/verbose.js.map +1 -1
- package/dist/wheel-abi.d.ts +37 -0
- package/dist/wheel-abi.d.ts.map +1 -0
- package/dist/wheel-abi.js +118 -0
- package/dist/wheel-abi.js.map +1 -0
- package/dist/write-crate-version.d.ts +32 -0
- package/dist/write-crate-version.d.ts.map +1 -0
- package/dist/write-crate-version.js +52 -0
- package/dist/write-crate-version.js.map +1 -0
- package/dist/write-launcher.d.ts +82 -0
- package/dist/write-launcher.d.ts.map +1 -0
- package/dist/write-launcher.js +236 -0
- package/dist/write-launcher.js.map +1 -0
- package/dist/write-version.js +2 -1
- package/dist/write-version.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crate-size pre-merge check (#362).
|
|
3
|
+
*
|
|
4
|
+
* crates.io rejects any `.crate` upload over 10 MiB with `413 Payload
|
|
5
|
+
* Too Large`, but `cargo publish` surfaces that only mid-release, after
|
|
6
|
+
* the verification build has compiled the crate and every transitive
|
|
7
|
+
* dep — the release surprise the no-surprises design commitment exists
|
|
8
|
+
* to eliminate. `checkCratesPackageSize` reproduces the tarball with
|
|
9
|
+
* `cargo package` at PR time, so a tracked symlink dragging a build
|
|
10
|
+
* tree into the crate, or a missing `[package].exclude`, is caught on
|
|
11
|
+
* the PR that introduces it.
|
|
12
|
+
*
|
|
13
|
+
* Wired into `runChecks` (`check.ts`). The end-to-end path through the
|
|
14
|
+
* config loader is covered by
|
|
15
|
+
* `test/integration/check-crate-size.integration.test.ts`.
|
|
16
|
+
*/
|
|
17
|
+
import type { CheckFinding } from './check.js';
|
|
18
|
+
import type { Package } from './config.js';
|
|
19
|
+
/**
|
|
20
|
+
* One finding per `kind = "crates"` package whose `cargo package`
|
|
21
|
+
* `.crate` is over crates.io's upload limit. Empty when every crate is
|
|
22
|
+
* within the limit — or when a crate's size can't be determined, in
|
|
23
|
+
* which case the check skips it rather than inventing a finding.
|
|
24
|
+
*/
|
|
25
|
+
export declare function checkCratesPackageSize(packages: readonly Package[]): CheckFinding[];
|
|
26
|
+
//# sourceMappingURL=check-crate-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-crate-size.d.ts","sourceRoot":"","sources":["../src/check-crate-size.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAc3C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,YAAY,EAAE,CAehB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crate-size pre-merge check (#362).
|
|
3
|
+
*
|
|
4
|
+
* crates.io rejects any `.crate` upload over 10 MiB with `413 Payload
|
|
5
|
+
* Too Large`, but `cargo publish` surfaces that only mid-release, after
|
|
6
|
+
* the verification build has compiled the crate and every transitive
|
|
7
|
+
* dep — the release surprise the no-surprises design commitment exists
|
|
8
|
+
* to eliminate. `checkCratesPackageSize` reproduces the tarball with
|
|
9
|
+
* `cargo package` at PR time, so a tracked symlink dragging a build
|
|
10
|
+
* tree into the crate, or a missing `[package].exclude`, is caught on
|
|
11
|
+
* the PR that introduces it.
|
|
12
|
+
*
|
|
13
|
+
* Wired into `runChecks` (`check.ts`). The end-to-end path through the
|
|
14
|
+
* config loader is covered by
|
|
15
|
+
* `test/integration/check-crate-size.integration.test.ts`.
|
|
16
|
+
*/
|
|
17
|
+
import { spawnSync } from 'node:child_process';
|
|
18
|
+
import { join } from 'node:path';
|
|
19
|
+
import { ErrorCodes } from './error-codes.js';
|
|
20
|
+
// crates.io rejects any `.crate` upload over this size.
|
|
21
|
+
const CRATES_MAX_UPLOAD_BYTES = 10 * 1024 * 1024;
|
|
22
|
+
const CARGO_SIZE_UNIT_BYTES = {
|
|
23
|
+
B: 1,
|
|
24
|
+
KiB: 1024,
|
|
25
|
+
MiB: 1024 ** 2,
|
|
26
|
+
GiB: 1024 ** 3,
|
|
27
|
+
TiB: 1024 ** 4,
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* One finding per `kind = "crates"` package whose `cargo package`
|
|
31
|
+
* `.crate` is over crates.io's upload limit. Empty when every crate is
|
|
32
|
+
* within the limit — or when a crate's size can't be determined, in
|
|
33
|
+
* which case the check skips it rather than inventing a finding.
|
|
34
|
+
*/
|
|
35
|
+
export function checkCratesPackageSize(packages) {
|
|
36
|
+
const findings = [];
|
|
37
|
+
for (const p of packages) {
|
|
38
|
+
if (p.kind !== 'crates') {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const cargoTomlPath = join(p.path, 'Cargo.toml');
|
|
42
|
+
const compressedBytes = packagedCrateBytes(cargoTomlPath);
|
|
43
|
+
if (compressedBytes === null) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (compressedBytes > CRATES_MAX_UPLOAD_BYTES) {
|
|
47
|
+
findings.push({
|
|
48
|
+
package: p.name,
|
|
49
|
+
message: `[${ErrorCodes.CRATES_PACKAGE_TOO_LARGE}] ${cargoTomlPath}: cargo package produces a ${formatMiB(compressedBytes)} .crate, over crates.io's ${formatMiB(CRATES_MAX_UPLOAD_BYTES)} (${CRATES_MAX_UPLOAD_BYTES}-byte) upload limit. cargo publish would fail with 413 Payload Too Large mid-release; a tracked symlink into a build directory or a missing [package].exclude is the usual cause.`,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return findings;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Compressed size in bytes of the `.crate` `cargo package` would
|
|
57
|
+
* upload, or null when it can't be determined — cargo is absent, cargo
|
|
58
|
+
* rejected the manifest, or its output carried no size line. Null means
|
|
59
|
+
* "can't verify": the check skips rather than inventing a size finding,
|
|
60
|
+
* mirroring the null-means-skip shape `listTrackedFiles` uses outside a
|
|
61
|
+
* git repo.
|
|
62
|
+
*/
|
|
63
|
+
function packagedCrateBytes(cargoTomlPath) {
|
|
64
|
+
let result;
|
|
65
|
+
try {
|
|
66
|
+
result = spawnSync('cargo', ['package', '--no-verify', '--allow-dirty', '--manifest-path', cargoTomlPath], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
if (result.error !== undefined) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
if (result.status !== 0) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
return parseCargoCompressedBytes(result.stderr);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Pull the compressed `.crate` size out of `cargo package`'s summary
|
|
81
|
+
* line, which cargo writes to stderr:
|
|
82
|
+
* ` Packaged 7 files, 24.0KiB (8.9KiB compressed)`
|
|
83
|
+
*/
|
|
84
|
+
function parseCargoCompressedBytes(cargoStderr) {
|
|
85
|
+
const m = /Packaged\b[^\n]*?\(\s*(\d+(?:\.\d+)?)\s*([A-Za-z]+)\s+compressed\s*\)/.exec(cargoStderr);
|
|
86
|
+
if (m === null) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
const [, rawValue, rawUnit] = m;
|
|
90
|
+
const unit = CARGO_SIZE_UNIT_BYTES[rawUnit];
|
|
91
|
+
if (unit === undefined) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
return Math.round(Number.parseFloat(rawValue) * unit);
|
|
95
|
+
}
|
|
96
|
+
function formatMiB(bytes) {
|
|
97
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MiB`;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=check-crate-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-crate-size.js","sourceRoot":"","sources":["../src/check-crate-size.ts"],"names":[],"mappings":"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"}
|
package/dist/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA0BH,MAAM,WAAW,YAAY;IAC3B;yEACqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;iDAC6C;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,CA2C5D"}
|
package/dist/check.js
CHANGED
|
@@ -24,14 +24,15 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { execFileSync } from 'node:child_process';
|
|
26
26
|
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
27
|
-
import { isAbsolute, join, resolve } from 'node:path';
|
|
27
|
+
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
28
28
|
import { parse as parseToml } from 'smol-toml';
|
|
29
29
|
import { assertNoCycles } from './cascade.js';
|
|
30
|
+
import { checkCratesPackageSize } from './check-crate-size.js';
|
|
30
31
|
import { loadConfig } from './config.js';
|
|
31
32
|
import { ErrorCodes } from './error-codes.js';
|
|
32
|
-
import { matchesAny } from './glob.js';
|
|
33
|
+
import { expandDirGlob, matchesAny } from './glob.js';
|
|
33
34
|
import { assertTripleSupported } from './handlers/npm-platform.js';
|
|
34
|
-
import { checkCratesMetadata, checkProvenanceMetadata, checkPypiVersionSource, } from './preflight.js';
|
|
35
|
+
import { checkCargoShape, checkCratesMetadata, checkPackageJsonShape, checkProvenanceMetadata, checkPyprojectShape, checkPypiVersionSource, checkRepoUrlMatch, } from './preflight.js';
|
|
35
36
|
import { formatTag } from './tag-template.js';
|
|
36
37
|
import { normalizeTarget } from './types.js';
|
|
37
38
|
/**
|
|
@@ -75,11 +76,54 @@ export function runChecks(opts) {
|
|
|
75
76
|
checkTagTemplateCollisions(packages, findings);
|
|
76
77
|
checkNpmRepository(packages, findings);
|
|
77
78
|
checkCratesPackageMetadata(packages, findings);
|
|
79
|
+
findings.push(...checkCratesPackageSize(packages));
|
|
78
80
|
checkPyprojectAndBundleCli(packages, cwd, findings);
|
|
79
81
|
checkPypiVersion(packages, findings);
|
|
82
|
+
checkPyprojectShapeFindings(packages, findings);
|
|
83
|
+
checkCargoShapeFindings(packages, cwd, findings);
|
|
84
|
+
checkPackageJsonShapeFindings(packages, findings);
|
|
80
85
|
checkNpmTargetTriples(packages, findings);
|
|
86
|
+
checkRepoUrlMatchFindings(packages, findings);
|
|
81
87
|
return findings;
|
|
82
88
|
}
|
|
89
|
+
function checkRepoUrlMatchFindings(packages, findings) {
|
|
90
|
+
// Sourced from GHA's process env at PR time when this runs inside the
|
|
91
|
+
// reusable workflow. Locally invoked `putitoutthere check` outside any
|
|
92
|
+
// GHA context will skip the check (the preflight returns no findings
|
|
93
|
+
// when GITHUB_REPOSITORY is unset), which is the right behaviour:
|
|
94
|
+
// there is no workflow source to disagree with.
|
|
95
|
+
const githubRepository = process.env.GITHUB_REPOSITORY;
|
|
96
|
+
for (const f of checkRepoUrlMatch(packages, { githubRepository })) {
|
|
97
|
+
findings.push({
|
|
98
|
+
package: f.package,
|
|
99
|
+
message: `[${ErrorCodes.REPO_URL_MISMATCH}] ${f.manifestPath}: declared repository "${f.declaredOwnerRepo}" does not match GITHUB_REPOSITORY "${f.expectedOwnerRepo}". npm rejects \`--provenance\` publishes whose package.json#repository.url disagrees with the OIDC source claim (422); crates.io / PyPI trusted-publisher paths carry the same risk.`,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function checkPyprojectShapeFindings(packages, findings) {
|
|
104
|
+
for (const f of checkPyprojectShape(packages)) {
|
|
105
|
+
findings.push({
|
|
106
|
+
package: f.package,
|
|
107
|
+
message: `[${f.code}] ${f.pyprojectPath}: ${f.detail}`,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function checkCargoShapeFindings(packages, cwd, findings) {
|
|
112
|
+
for (const f of checkCargoShape(packages, { cwd })) {
|
|
113
|
+
findings.push({
|
|
114
|
+
package: f.package,
|
|
115
|
+
message: `[${f.code}] ${f.cargoTomlPath}: ${f.detail}`,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function checkPackageJsonShapeFindings(packages, findings) {
|
|
120
|
+
for (const f of checkPackageJsonShape(packages)) {
|
|
121
|
+
findings.push({
|
|
122
|
+
package: f.package,
|
|
123
|
+
message: `[${f.code}] ${f.packageJsonPath}: ${f.detail}`,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
83
127
|
/* ----------------------------- internals ----------------------------- */
|
|
84
128
|
function checkPaths(packages, findings) {
|
|
85
129
|
for (const p of packages) {
|
|
@@ -95,8 +139,9 @@ function checkGlobsMatchTrackedFiles(packages, cwd, findings) {
|
|
|
95
139
|
const tracked = listTrackedFiles(cwd);
|
|
96
140
|
/* v8 ignore next -- tests always seed a git repo; defensive against
|
|
97
141
|
callers outside one */
|
|
98
|
-
if (tracked === null)
|
|
142
|
+
if (tracked === null) {
|
|
99
143
|
return;
|
|
144
|
+
}
|
|
100
145
|
for (const p of packages) {
|
|
101
146
|
const matched = tracked.some((f) => matchesAny(p.globs, f));
|
|
102
147
|
if (!matched) {
|
|
@@ -156,8 +201,9 @@ function checkCratesPackageMetadata(packages, findings) {
|
|
|
156
201
|
}
|
|
157
202
|
function checkPyprojectAndBundleCli(packages, cwd, findings) {
|
|
158
203
|
for (const p of packages) {
|
|
159
|
-
if (p.kind !== 'pypi')
|
|
204
|
+
if (p.kind !== 'pypi') {
|
|
160
205
|
continue;
|
|
206
|
+
}
|
|
161
207
|
const pyprojectPath = join(p.path, 'pyproject.toml');
|
|
162
208
|
if (!existsSync(pyprojectPath)) {
|
|
163
209
|
findings.push({
|
|
@@ -166,8 +212,9 @@ function checkPyprojectAndBundleCli(packages, cwd, findings) {
|
|
|
166
212
|
});
|
|
167
213
|
continue;
|
|
168
214
|
}
|
|
169
|
-
if (p.build !== 'maturin' || p.bundle_cli === undefined)
|
|
215
|
+
if (p.build !== 'maturin' || p.bundle_cli === undefined) {
|
|
170
216
|
continue;
|
|
217
|
+
}
|
|
171
218
|
const bundleCli = p.bundle_cli;
|
|
172
219
|
// `bundle_cli.crate_path` is documented as relative to the repo
|
|
173
220
|
// root (see config.ts: default = "."). Resolve against `cwd`,
|
|
@@ -209,11 +256,13 @@ function checkPypiVersion(packages, findings) {
|
|
|
209
256
|
}
|
|
210
257
|
function checkNpmTargetTriples(packages, findings) {
|
|
211
258
|
for (const p of packages) {
|
|
212
|
-
if (p.kind !== 'npm')
|
|
259
|
+
if (p.kind !== 'npm') {
|
|
213
260
|
continue;
|
|
261
|
+
}
|
|
214
262
|
const targets = p.targets;
|
|
215
|
-
if (!targets)
|
|
263
|
+
if (!targets) {
|
|
216
264
|
continue;
|
|
265
|
+
}
|
|
217
266
|
for (const t of targets) {
|
|
218
267
|
const { triple } = normalizeTarget(t);
|
|
219
268
|
try {
|
|
@@ -244,29 +293,79 @@ function listTrackedFiles(cwd) {
|
|
|
244
293
|
/* v8 ignore stop */
|
|
245
294
|
}
|
|
246
295
|
function readDeclaredBins(cargoTomlPath) {
|
|
296
|
+
const parsed = parseCargoToml(cargoTomlPath);
|
|
297
|
+
if (parsed === null) {
|
|
298
|
+
return [];
|
|
299
|
+
}
|
|
300
|
+
const result = collectBinsFromManifest(parsed);
|
|
301
|
+
// Workspace manifests delegate [[bin]] declarations to member crates
|
|
302
|
+
// (#337). `cargo build --bin X` from anywhere in the workspace
|
|
303
|
+
// resolves X transparently, so a check that only reads the
|
|
304
|
+
// workspace-root manifest reports bins as missing even when they
|
|
305
|
+
// exist in a member. Walk `[workspace].members` so `crate_path = "."`
|
|
306
|
+
// (the default) satisfies the standard cargo-workspace shape.
|
|
307
|
+
// `members` entries are globs, expanded against the filesystem the way
|
|
308
|
+
// cargo resolves them. parseCargoToml returns null for missing /
|
|
309
|
+
// malformed manifests, so stray entries silently drop out — cargo's
|
|
310
|
+
// own diagnostics own surfacing those.
|
|
311
|
+
for (const memberManifest of workspaceMemberManifests(parsed, cargoTomlPath)) {
|
|
312
|
+
const memberParsed = parseCargoToml(memberManifest);
|
|
313
|
+
if (memberParsed === null) {
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
for (const b of collectBinsFromManifest(memberParsed)) {
|
|
317
|
+
if (!result.includes(b)) {
|
|
318
|
+
result.push(b);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return result;
|
|
323
|
+
}
|
|
324
|
+
function workspaceMemberManifests(parsed, cargoTomlPath) {
|
|
325
|
+
const workspace = parsed.workspace;
|
|
326
|
+
if (typeof workspace !== 'object' || workspace === null) {
|
|
327
|
+
return [];
|
|
328
|
+
}
|
|
329
|
+
const members = workspace.members;
|
|
330
|
+
if (!Array.isArray(members)) {
|
|
331
|
+
return [];
|
|
332
|
+
}
|
|
333
|
+
const workspaceDir = dirname(cargoTomlPath);
|
|
334
|
+
const out = [];
|
|
335
|
+
for (const m of members) {
|
|
336
|
+
if (typeof m === 'string') {
|
|
337
|
+
for (const memberDir of expandDirGlob(workspaceDir, m)) {
|
|
338
|
+
out.push(join(memberDir, 'Cargo.toml'));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return out;
|
|
343
|
+
}
|
|
344
|
+
function parseCargoToml(path) {
|
|
247
345
|
let raw;
|
|
248
346
|
try {
|
|
249
|
-
raw = readFileSync(
|
|
250
|
-
/* v8 ignore next 3 -- existsSync gated the read above */
|
|
347
|
+
raw = readFileSync(path, 'utf8');
|
|
251
348
|
}
|
|
252
349
|
catch {
|
|
253
|
-
return
|
|
350
|
+
return null;
|
|
254
351
|
}
|
|
255
|
-
let parsed;
|
|
256
352
|
try {
|
|
257
|
-
|
|
353
|
+
return parseToml(raw);
|
|
258
354
|
}
|
|
259
355
|
catch {
|
|
260
|
-
return
|
|
356
|
+
return null;
|
|
261
357
|
}
|
|
358
|
+
}
|
|
359
|
+
function collectBinsFromManifest(parsed) {
|
|
262
360
|
const result = [];
|
|
263
361
|
const bins = parsed.bin;
|
|
264
362
|
if (Array.isArray(bins)) {
|
|
265
363
|
for (const entry of bins) {
|
|
266
364
|
if (typeof entry === 'object' && entry !== null) {
|
|
267
365
|
const name = entry.name;
|
|
268
|
-
if (typeof name === 'string')
|
|
366
|
+
if (typeof name === 'string') {
|
|
269
367
|
result.push(name);
|
|
368
|
+
}
|
|
270
369
|
}
|
|
271
370
|
}
|
|
272
371
|
}
|
|
@@ -277,8 +376,9 @@ function readDeclaredBins(cargoTomlPath) {
|
|
|
277
376
|
// doesn't spuriously fail this check.
|
|
278
377
|
if (result.length === 0) {
|
|
279
378
|
const pkg = parsed.package;
|
|
280
|
-
if (pkg && typeof pkg.name === 'string')
|
|
379
|
+
if (pkg && typeof pkg.name === 'string') {
|
|
281
380
|
result.push(pkg.name);
|
|
381
|
+
}
|
|
282
382
|
}
|
|
283
383
|
return result;
|
|
284
384
|
}
|
package/dist/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -11,8 +11,13 @@
|
|
|
11
11
|
* check knowable from the consumer's repo state alone.
|
|
12
12
|
* Internal — invoked by the pre-merge reusable workflow;
|
|
13
13
|
* not surfaced in user-facing docs per non-goal #7.
|
|
14
|
+
* status — read-only registry-vs-tag drift report (#403)
|
|
15
|
+
* reconcile — backfill missing tags for published-but-untagged
|
|
16
|
+
* packages; idempotent, supports `--dry-run` (#403)
|
|
14
17
|
* write-version — bump a package's manifest to a planned version
|
|
15
18
|
* (pre-build hook for maturin; #276)
|
|
19
|
+
* write-crate-version — bump a crate's Cargo.toml to a planned
|
|
20
|
+
* version (pre-build hook for npm bundled-cli; #366)
|
|
16
21
|
* version — print CLI version
|
|
17
22
|
*
|
|
18
23
|
* Global flags:
|
|
@@ -20,21 +25,29 @@
|
|
|
20
25
|
* --config <path> path to putitoutthere.toml
|
|
21
26
|
* --json machine-readable output
|
|
22
27
|
*
|
|
28
|
+
* `plan` / `publish` flags:
|
|
29
|
+
* --release-packages <spec> manual-release spec; bypasses change
|
|
30
|
+
* detection and plans exactly the named packages
|
|
31
|
+
*
|
|
23
32
|
* `write-version` flags:
|
|
24
33
|
* --path <dir> package directory (where pyproject.toml lives)
|
|
25
34
|
* --version <v> planned version to write
|
|
26
35
|
*
|
|
27
|
-
* `--dry-run`
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
36
|
+
* `--dry-run` is rejected on every command except `reconcile`. It was
|
|
37
|
+
* removed from `plan` / `publish` deliberately (#244): the library's job
|
|
38
|
+
* is publishing, and a non-publishing mode of the publish command was a
|
|
39
|
+
* coverage hole pretending to be a feature. `reconcile` is read-then-tag,
|
|
40
|
+
* so a preview-only mode is meaningful there and is supported (#403).
|
|
31
41
|
*/
|
|
32
42
|
interface ParsedFlags {
|
|
33
43
|
cwd: string;
|
|
34
44
|
config?: string | undefined;
|
|
35
45
|
json: boolean;
|
|
46
|
+
check: boolean;
|
|
47
|
+
dryRun: boolean;
|
|
36
48
|
path?: string | undefined;
|
|
37
49
|
version?: string | undefined;
|
|
50
|
+
releasePackages?: string | undefined;
|
|
38
51
|
}
|
|
39
52
|
export declare function parseFlags(argv: readonly string[]): ParsedFlags;
|
|
40
53
|
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
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAgEH,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;CACtC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CA2B/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiPlE"}
|