putitoutthere 0.2.29 → 0.2.30
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 +40 -0
- package/MIGRATIONS.md +1274 -0
- package/README.md +343 -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 +156 -19
- 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.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
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
* it's absent.
|
|
14
14
|
*/
|
|
15
15
|
export function normalizeTarget(entry) {
|
|
16
|
-
if (typeof entry === 'string')
|
|
16
|
+
if (typeof entry === 'string') {
|
|
17
17
|
return { triple: entry };
|
|
18
|
+
}
|
|
18
19
|
return entry.runner !== undefined
|
|
19
20
|
? { triple: entry.triple, runner: entry.runner }
|
|
20
21
|
: { triple: entry.triple };
|
|
@@ -38,8 +39,9 @@ export function attachHandlerMeta(err, meta) {
|
|
|
38
39
|
* undefined for non-Error values, plain Errors, and Errors without
|
|
39
40
|
* attached meta. */
|
|
40
41
|
export function readHandlerMeta(value) {
|
|
41
|
-
if (!(value instanceof Error))
|
|
42
|
+
if (!(value instanceof Error)) {
|
|
42
43
|
return undefined;
|
|
44
|
+
}
|
|
43
45
|
const carrier = value;
|
|
44
46
|
return carrier[HANDLER_META_KEY];
|
|
45
47
|
}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAA,CAAC;IAC1D,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS;QAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;QAChD,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AAC/B,CAAC;AA6FD,2CAA2C;AAC3C,MAAM,OAAO,SAAU,SAAQ,KAAK;IAChB,IAAI,GAAG,WAAW,CAAC;CACtC;AAED,4DAA4D;AAC5D,MAAM,OAAO,cAAe,SAAQ,KAAK;IACrB,IAAI,GAAG,gBAAgB,CAAC;CAC3C;AAkBD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C;+EAC+E;AAC/E,MAAM,UAAU,iBAAiB,CAAkB,GAAM,EAAE,IAAsB;IAC9E,GAAqD,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAChF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;qBAEqB;AACrB,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAAA,OAAO,SAAS,CAAC;IAAA,CAAC;IAClD,MAAM,OAAO,GAAG,KAA0D,CAAC;IAC3E,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/verbose.js
CHANGED
|
@@ -52,8 +52,9 @@ export function dumpFailure(err, ctx, opts) {
|
|
|
52
52
|
*/
|
|
53
53
|
const ANNOTATION_MAX_LEN = 500;
|
|
54
54
|
function emitGhaAnnotation(err, ctx, redactedMsg) {
|
|
55
|
-
if (process.env.GITHUB_ACTIONS !== 'true')
|
|
55
|
+
if (process.env.GITHUB_ACTIONS !== 'true') {
|
|
56
56
|
return;
|
|
57
|
+
}
|
|
57
58
|
void err; // arity preserved for future callers; redactedMsg drives output
|
|
58
59
|
const codeMatch = /\[(PIOT_[A-Z0-9_]+)\]/.exec(redactedMsg);
|
|
59
60
|
const codeTag = codeMatch ? ` [${codeMatch[1]}]` : '';
|
|
@@ -115,8 +116,9 @@ function renderMarkdown(err, ctx) {
|
|
|
115
116
|
return lines.join('\n');
|
|
116
117
|
}
|
|
117
118
|
function truncate(md) {
|
|
118
|
-
if (md.length <= SUMMARY_CAP)
|
|
119
|
+
if (md.length <= SUMMARY_CAP) {
|
|
119
120
|
return md;
|
|
121
|
+
}
|
|
120
122
|
// Keep the head (error + command + versions) — the most useful
|
|
121
123
|
// bytes. Tail bytes are usually repeated noise at this size.
|
|
122
124
|
const head = md.slice(0, SUMMARY_CAP - TRUNC_NOTE.length);
|
|
@@ -124,8 +126,9 @@ function truncate(md) {
|
|
|
124
126
|
}
|
|
125
127
|
function writeSummary(md) {
|
|
126
128
|
const path = process.env.GITHUB_STEP_SUMMARY;
|
|
127
|
-
if (!path)
|
|
128
|
-
return;
|
|
129
|
+
if (!path) {
|
|
130
|
+
return;
|
|
131
|
+
} // local runs / non-GHA CI — summary is a no-op
|
|
129
132
|
appendFileSync(path, md, 'utf8');
|
|
130
133
|
}
|
|
131
134
|
//# sourceMappingURL=verbose.js.map
|
package/dist/verbose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verbose.js","sourceRoot":"","sources":["../src/verbose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AA+ClD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,8GAA8G;AACnJ,MAAM,UAAU,GAAG,gEAAgE,CAAC;AAEpF,MAAM,UAAU,WAAW,CACzB,GAAU,EACV,GAAmB,EACnB,IAAiB;IAEjB,kEAAkE;IAClE,mEAAmE;IACnE,oEAAoE;IACpE,0BAA0B;IAC1B,MAAM,OAAO,GACX,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,gEAAgE;IAChE,oEAAoE;IACpE,+DAA+D;IAC/D,mEAAmE;IACnE,iEAAiE;IACjE,iBAAiB;IACjB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1D,iEAAiE;IACjE,+DAA+D;IAC/D,yDAAyD;IACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE;QACrE,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,SAAS,iBAAiB,CACxB,GAAU,EACV,GAAmB,EACnB,WAAmB;IAEnB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;
|
|
1
|
+
{"version":3,"file":"verbose.js","sourceRoot":"","sources":["../src/verbose.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detects Python-version-independent maturin wheels so the planner can
|
|
3
|
+
* collapse the per-CPython-version build fan to a single wheel. #401.
|
|
4
|
+
*
|
|
5
|
+
* `kind = "pypi"` `build = "maturin"` normally fans the wheel build
|
|
6
|
+
* across every CPython version `requires-python` allows (see
|
|
7
|
+
* `python-versions.ts`). But two maturin shapes produce ONE wheel per
|
|
8
|
+
* platform that is byte-identical regardless of the interpreter that
|
|
9
|
+
* built it:
|
|
10
|
+
*
|
|
11
|
+
* - `[tool.maturin].bindings = "bin"` in `pyproject.toml` — the wheel
|
|
12
|
+
* wraps a Rust *binary*, tagged `py3-none-<platform>`; it carries no
|
|
13
|
+
* Python ABI at all.
|
|
14
|
+
* - a pyo3 (or pyo3-ffi) `abi3` / `abi3-pyXY` feature — a single
|
|
15
|
+
* stable-ABI extension tagged `cp3x-abi3-<platform>` that loads on
|
|
16
|
+
* every CPython >= X.Y.
|
|
17
|
+
*
|
|
18
|
+
* Fanning either shape across N versions yields N identical wheels:
|
|
19
|
+
* wasted build time, and — because each fanned row uploads under its own
|
|
20
|
+
* artifact — N copies of the same wheel filename that race-corrupt at the
|
|
21
|
+
* consumer's `merge-multiple: true` download (`twine` → `BadZipFile`).
|
|
22
|
+
*
|
|
23
|
+
* Detection is best-effort and conservative. A missing or unparseable
|
|
24
|
+
* manifest, or an abi3 setup we don't recognize (a workspace-inherited
|
|
25
|
+
* `pyo3` dependency, a target-specific `[target.'cfg(...)'.dependencies]`
|
|
26
|
+
* table), falls through to `false` and the planner keeps fanning — the
|
|
27
|
+
* pre-#401 behavior, never worse.
|
|
28
|
+
*
|
|
29
|
+
* Engine convention: synchronous `readFileSync` throughout (AGENTS.md).
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* True when the maturin wheel for the package at `cwd/pkgPath` is
|
|
33
|
+
* Python-version-independent and so should be built once rather than
|
|
34
|
+
* fanned across the resolved CPython set.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isVersionIndependentWheel(pkgPath: string, cwd: string): boolean;
|
|
37
|
+
//# sourceMappingURL=wheel-abi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wheel-abi.d.ts","sourceRoot":"","sources":["../src/wheel-abi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAYH;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAK/E"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detects Python-version-independent maturin wheels so the planner can
|
|
3
|
+
* collapse the per-CPython-version build fan to a single wheel. #401.
|
|
4
|
+
*
|
|
5
|
+
* `kind = "pypi"` `build = "maturin"` normally fans the wheel build
|
|
6
|
+
* across every CPython version `requires-python` allows (see
|
|
7
|
+
* `python-versions.ts`). But two maturin shapes produce ONE wheel per
|
|
8
|
+
* platform that is byte-identical regardless of the interpreter that
|
|
9
|
+
* built it:
|
|
10
|
+
*
|
|
11
|
+
* - `[tool.maturin].bindings = "bin"` in `pyproject.toml` — the wheel
|
|
12
|
+
* wraps a Rust *binary*, tagged `py3-none-<platform>`; it carries no
|
|
13
|
+
* Python ABI at all.
|
|
14
|
+
* - a pyo3 (or pyo3-ffi) `abi3` / `abi3-pyXY` feature — a single
|
|
15
|
+
* stable-ABI extension tagged `cp3x-abi3-<platform>` that loads on
|
|
16
|
+
* every CPython >= X.Y.
|
|
17
|
+
*
|
|
18
|
+
* Fanning either shape across N versions yields N identical wheels:
|
|
19
|
+
* wasted build time, and — because each fanned row uploads under its own
|
|
20
|
+
* artifact — N copies of the same wheel filename that race-corrupt at the
|
|
21
|
+
* consumer's `merge-multiple: true` download (`twine` → `BadZipFile`).
|
|
22
|
+
*
|
|
23
|
+
* Detection is best-effort and conservative. A missing or unparseable
|
|
24
|
+
* manifest, or an abi3 setup we don't recognize (a workspace-inherited
|
|
25
|
+
* `pyo3` dependency, a target-specific `[target.'cfg(...)'.dependencies]`
|
|
26
|
+
* table), falls through to `false` and the planner keeps fanning — the
|
|
27
|
+
* pre-#401 behavior, never worse.
|
|
28
|
+
*
|
|
29
|
+
* Engine convention: synchronous `readFileSync` throughout (AGENTS.md).
|
|
30
|
+
*/
|
|
31
|
+
import { readFileSync } from 'node:fs';
|
|
32
|
+
import { join } from 'node:path';
|
|
33
|
+
import { parse as parseToml } from 'smol-toml';
|
|
34
|
+
// `abi3` or `abi3-py<minor>`, either as a bare Cargo feature on the pyo3
|
|
35
|
+
// dependency or as the tail of a `pyo3/abi3…` entry in
|
|
36
|
+
// `[tool.maturin].features`.
|
|
37
|
+
const ABI3_FEATURE_RE = /(?:^|\/)abi3(?:-py\d+)?$/;
|
|
38
|
+
/**
|
|
39
|
+
* True when the maturin wheel for the package at `cwd/pkgPath` is
|
|
40
|
+
* Python-version-independent and so should be built once rather than
|
|
41
|
+
* fanned across the resolved CPython set.
|
|
42
|
+
*/
|
|
43
|
+
export function isVersionIndependentWheel(pkgPath, cwd) {
|
|
44
|
+
const pkgDir = join(cwd, pkgPath);
|
|
45
|
+
const pyproject = readTomlOrNull(join(pkgDir, 'pyproject.toml'));
|
|
46
|
+
if (pyprojectMarksVersionIndependent(pyproject)) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
return cargoEnablesAbi3(readTomlOrNull(join(pkgDir, 'Cargo.toml')));
|
|
50
|
+
}
|
|
51
|
+
/* ------------------------------ internals ------------------------------ */
|
|
52
|
+
function readTomlOrNull(path) {
|
|
53
|
+
let raw;
|
|
54
|
+
try {
|
|
55
|
+
raw = readFileSync(path, 'utf8');
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
const parsed = parseToml(raw);
|
|
62
|
+
return isTable(parsed) ? parsed : null;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* pyproject signals version independence via `[tool.maturin].bindings =
|
|
70
|
+
* "bin"` (a Rust-binary wheel) or a `[tool.maturin].features` entry that
|
|
71
|
+
* enables a pyo3 abi3 feature (e.g. `pyo3/abi3-py38`).
|
|
72
|
+
*/
|
|
73
|
+
function pyprojectMarksVersionIndependent(pyproject) {
|
|
74
|
+
const maturin = tableAt(pyproject, ['tool', 'maturin']);
|
|
75
|
+
if (maturin === null) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
if (maturin.bindings === 'bin') {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return featuresEnableAbi3(maturin.features);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The crate enables abi3 via a `features` array on its `pyo3` /
|
|
85
|
+
* `pyo3-ffi` dependency in `[dependencies]`.
|
|
86
|
+
*/
|
|
87
|
+
function cargoEnablesAbi3(cargo) {
|
|
88
|
+
const deps = tableAt(cargo, ['dependencies']);
|
|
89
|
+
if (deps === null) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
for (const crate of ['pyo3', 'pyo3-ffi']) {
|
|
93
|
+
const dep = deps[crate];
|
|
94
|
+
if (isTable(dep) && featuresEnableAbi3(dep.features)) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
function featuresEnableAbi3(features) {
|
|
101
|
+
return (Array.isArray(features) &&
|
|
102
|
+
features.some((f) => typeof f === 'string' && ABI3_FEATURE_RE.test(f)));
|
|
103
|
+
}
|
|
104
|
+
/** Walk a dotted table path, returning the nested table or null. */
|
|
105
|
+
function tableAt(root, path) {
|
|
106
|
+
let cur = root;
|
|
107
|
+
for (const key of path) {
|
|
108
|
+
if (!isTable(cur)) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
cur = cur[key];
|
|
112
|
+
}
|
|
113
|
+
return isTable(cur) ? cur : null;
|
|
114
|
+
}
|
|
115
|
+
function isTable(value) {
|
|
116
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=wheel-abi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wheel-abi.js","sourceRoot":"","sources":["../src/wheel-abi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-build version bump for the npm `bundled-cli` path. #366.
|
|
3
|
+
*
|
|
4
|
+
* `cargo build` bakes `CARGO_PKG_VERSION` into the compiled binary at
|
|
5
|
+
* build time, sourced from `[package].version` in the crate's
|
|
6
|
+
* `Cargo.toml`. There is no env override. The npm `bundled-cli` path in
|
|
7
|
+
* `_matrix.yml` cross-compiles a Rust CLI and ships it inside the
|
|
8
|
+
* per-platform package; without rewriting the crate manifest first, the
|
|
9
|
+
* binary reports whatever literal sits on disk — diverging from the
|
|
10
|
+
* planned release version (a `@scope/cli-<triple>@0.3.5` package whose
|
|
11
|
+
* `--version` says `0.2.7`).
|
|
12
|
+
*
|
|
13
|
+
* The maturin/pypi path already solves the equivalent problem with
|
|
14
|
+
* `write-version` (#276), but that command is tied to maturin's
|
|
15
|
+
* dynamic-version contract — it requires a `pyproject.toml` declaring
|
|
16
|
+
* `dynamic = ["version"]`. The npm bundled-cli crate has only a
|
|
17
|
+
* `Cargo.toml`, so it needs a manifest-direct bump with no pyproject
|
|
18
|
+
* gate. This is that command.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Rewrite `[package].version` in the crate at `crateDir` to `version`
|
|
22
|
+
* and return the list of absolute paths that were modified.
|
|
23
|
+
*
|
|
24
|
+
* Errors if `Cargo.toml` is missing or carries no `[package].version`
|
|
25
|
+
* field — fail loud rather than cross-compile an under-versioned
|
|
26
|
+
* binary. I/O uses `readFileSync` with `try` / `catch (ENOENT)` rather
|
|
27
|
+
* than an `existsSync` precheck to avoid the TOCTOU race CodeQL flags,
|
|
28
|
+
* mirroring `writeVersionForBuild`. Non-ENOENT read failures surface
|
|
29
|
+
* unmodified.
|
|
30
|
+
*/
|
|
31
|
+
export declare function writeCrateVersionForBuild(crateDir: string, version: string): string[];
|
|
32
|
+
//# sourceMappingURL=write-crate-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-crate-version.d.ts","sourceRoot":"","sources":["../src/write-crate-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBrF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-build version bump for the npm `bundled-cli` path. #366.
|
|
3
|
+
*
|
|
4
|
+
* `cargo build` bakes `CARGO_PKG_VERSION` into the compiled binary at
|
|
5
|
+
* build time, sourced from `[package].version` in the crate's
|
|
6
|
+
* `Cargo.toml`. There is no env override. The npm `bundled-cli` path in
|
|
7
|
+
* `_matrix.yml` cross-compiles a Rust CLI and ships it inside the
|
|
8
|
+
* per-platform package; without rewriting the crate manifest first, the
|
|
9
|
+
* binary reports whatever literal sits on disk — diverging from the
|
|
10
|
+
* planned release version (a `@scope/cli-<triple>@0.3.5` package whose
|
|
11
|
+
* `--version` says `0.2.7`).
|
|
12
|
+
*
|
|
13
|
+
* The maturin/pypi path already solves the equivalent problem with
|
|
14
|
+
* `write-version` (#276), but that command is tied to maturin's
|
|
15
|
+
* dynamic-version contract — it requires a `pyproject.toml` declaring
|
|
16
|
+
* `dynamic = ["version"]`. The npm bundled-cli crate has only a
|
|
17
|
+
* `Cargo.toml`, so it needs a manifest-direct bump with no pyproject
|
|
18
|
+
* gate. This is that command.
|
|
19
|
+
*/
|
|
20
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
21
|
+
import { join } from 'node:path';
|
|
22
|
+
import { replaceCargoVersion } from './handlers/crates.js';
|
|
23
|
+
/**
|
|
24
|
+
* Rewrite `[package].version` in the crate at `crateDir` to `version`
|
|
25
|
+
* and return the list of absolute paths that were modified.
|
|
26
|
+
*
|
|
27
|
+
* Errors if `Cargo.toml` is missing or carries no `[package].version`
|
|
28
|
+
* field — fail loud rather than cross-compile an under-versioned
|
|
29
|
+
* binary. I/O uses `readFileSync` with `try` / `catch (ENOENT)` rather
|
|
30
|
+
* than an `existsSync` precheck to avoid the TOCTOU race CodeQL flags,
|
|
31
|
+
* mirroring `writeVersionForBuild`. Non-ENOENT read failures surface
|
|
32
|
+
* unmodified.
|
|
33
|
+
*/
|
|
34
|
+
export function writeCrateVersionForBuild(crateDir, version) {
|
|
35
|
+
const cargoPath = join(crateDir, 'Cargo.toml');
|
|
36
|
+
let original;
|
|
37
|
+
try {
|
|
38
|
+
original = readFileSync(cargoPath, 'utf8');
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
if (err.code === 'ENOENT') {
|
|
42
|
+
throw new Error(`write-crate-version: Cargo.toml not found at ${cargoPath}. The npm bundled-cli path cross-compiles a Rust CLI; \`bundle_cli.crate_path\` must point at a crate.`, { cause: err });
|
|
43
|
+
}
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
const updated = replaceCargoVersion(original, version);
|
|
47
|
+
if (updated !== original) {
|
|
48
|
+
writeFileSync(cargoPath, updated, 'utf8');
|
|
49
|
+
}
|
|
50
|
+
return [cargoPath];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=write-crate-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-crate-version.js","sourceRoot":"","sources":["../src/write-crate-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,OAAe;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,gDAAgD,SAAS,wGAAwG,EACjK,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAAA,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAAA,CAAC;IACtE,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Author the npm bundled-cli launcher (`bin/<bin>.js`) at build time.
|
|
3
|
+
*
|
|
4
|
+
* Bundled-CLI consumers used to ship a templated launcher whose only
|
|
5
|
+
* per-consumer inputs are the package name and the configured `targets`
|
|
6
|
+
* list — both of which the engine has at plan time. Issue #299
|
|
7
|
+
* absorbs that template into the engine: the build job invokes
|
|
8
|
+
* `write-launcher` on the main row of every `kind = "npm" && build =
|
|
9
|
+
* "bundled-cli"` package and the launcher is generated in place.
|
|
10
|
+
*
|
|
11
|
+
* Override semantics: existing `bin/<bin>.js` files are never
|
|
12
|
+
* overwritten, and an existing `package.json#bin` field is left as-is.
|
|
13
|
+
* Consumers who need a custom launcher commit it under the same path
|
|
14
|
+
* and the workflow respects it.
|
|
15
|
+
*/
|
|
16
|
+
export interface WriteLauncherOptions {
|
|
17
|
+
/** Absolute path to the main package directory. */
|
|
18
|
+
pkgDir: string;
|
|
19
|
+
/** The main package's npm name (`pkg.npm ?? pkg.name`). Inlined into the
|
|
20
|
+
* `{name}` slot of `platformNameTemplate`; also keys `package.json#bin`. */
|
|
21
|
+
npmName: string;
|
|
22
|
+
/** CLI binary name (`pkg.bundle_cli.bin`). Names the launcher file and
|
|
23
|
+
* the published `bin` entry. */
|
|
24
|
+
bin: string;
|
|
25
|
+
/** Platform-package name template, e.g. `{name}-{triple}` or
|
|
26
|
+
* `@my-cli/cli-{triple}`. `{triple}` is preserved as a JS template
|
|
27
|
+
* substitution at install time; all other placeholders resolve here. */
|
|
28
|
+
platformNameTemplate: string;
|
|
29
|
+
/** Supported target triples. Becomes the `triples` table in the
|
|
30
|
+
* generated launcher's Node `${platform}-${arch}` lookup. */
|
|
31
|
+
triples: readonly string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate the launcher source for the given configuration.
|
|
35
|
+
*
|
|
36
|
+
* Exported only so test fixtures can pin the on-the-wire shape; the
|
|
37
|
+
* build path goes through `writeLauncher` / `writeLauncherFromConfig`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function generateLauncherSource(opts: WriteLauncherOptions): string;
|
|
40
|
+
/**
|
|
41
|
+
* Author the launcher + `package.json#bin` entry for a bundled-cli npm
|
|
42
|
+
* package. Idempotent: existing files / fields are left as-is so
|
|
43
|
+
* consumers can override either piece independently.
|
|
44
|
+
*
|
|
45
|
+
* Returns the list of paths that were actually written.
|
|
46
|
+
*/
|
|
47
|
+
export declare function writeLauncher(opts: WriteLauncherOptions): string[];
|
|
48
|
+
export interface WriteLauncherFromConfigOptions {
|
|
49
|
+
/** Repo root — `${cwd}/putitoutthere.toml` is read to locate the package. */
|
|
50
|
+
cwd: string;
|
|
51
|
+
/** Package directory relative to `cwd` (or absolute). Matches against
|
|
52
|
+
* the config's `pkg.path`. */
|
|
53
|
+
packagePath: string;
|
|
54
|
+
/** Optional config path override (mirrors the global CLI flag). */
|
|
55
|
+
configPath?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Config-driven entry point used by the CLI. Loads the config, finds
|
|
59
|
+
* the `[[package]]` entry matching `packagePath`, derives the launcher
|
|
60
|
+
* inputs, and delegates to `writeLauncher`. Non-npm packages and npm
|
|
61
|
+
* packages without a bundled-cli build entry are no-ops — the build
|
|
62
|
+
* job invokes this on every main row and only bundled-cli rows need
|
|
63
|
+
* the launcher.
|
|
64
|
+
*/
|
|
65
|
+
export declare function writeLauncherFromConfig(opts: WriteLauncherFromConfigOptions): string[];
|
|
66
|
+
/**
|
|
67
|
+
* Map a target triple (napi-rs short form or Rust target) to the Node
|
|
68
|
+
* `${platform}-${arch}` lookup key used in the generated launcher's
|
|
69
|
+
* `triples` table.
|
|
70
|
+
*
|
|
71
|
+
* Mirrors the TRIPLE_MAP in `src/handlers/npm-platform.ts`, but
|
|
72
|
+
* collapses `os`/`cpu`/`libc` into the `<node-platform>-<node-arch>`
|
|
73
|
+
* key Node exposes at install time. Unmapped triples throw — plan-
|
|
74
|
+
* time guard (`assertTripleSupported`) already rejects them before the
|
|
75
|
+
* matrix runs, so reaching the throw implies map drift between the
|
|
76
|
+
* two files; the vocabulary matches `targetToOsCpu` so the drift is
|
|
77
|
+
* obvious.
|
|
78
|
+
*/
|
|
79
|
+
export declare function nodePlatformKey(triple: string): string;
|
|
80
|
+
/** 2 / 4 / tab. Defaults to 2 when undetectable. Mirrors npm.ts. */
|
|
81
|
+
export declare function detectIndent(source: string): number | string;
|
|
82
|
+
//# sourceMappingURL=write-launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-launcher.d.ts","sourceRoot":"","sources":["../src/write-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf;iFAC6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB;qCACiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ;;6EAEyE;IACzE,oBAAoB,EAAE,MAAM,CAAC;IAC7B;kEAC8D;IAC9D,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CA4CzE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,EAAE,CA0BlE;AAED,MAAM,WAAW,8BAA8B;IAC7C,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ;mCAC+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,8BAA8B,GACnC,MAAM,EAAE,CA+CV;AAcD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAetD;AA6BD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAM5D"}
|