putitoutthere 0.3.7 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cargo-dep-entries.d.ts +35 -0
- package/dist/cargo-dep-entries.d.ts.map +1 -0
- package/dist/cargo-dep-entries.js +81 -0
- package/dist/cargo-dep-entries.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +13 -0
- package/dist/cli.js.map +1 -1
- package/dist/handlers/npm.d.ts.map +1 -1
- package/dist/handlers/npm.js +27 -7
- package/dist/handlers/npm.js.map +1 -1
- package/dist/replace-dep-version-req.d.ts +39 -0
- package/dist/replace-dep-version-req.d.ts.map +1 -0
- package/dist/replace-dep-version-req.js +75 -0
- package/dist/replace-dep-version-req.js.map +1 -0
- package/dist/resolve-dep-dirs.d.ts +41 -0
- package/dist/resolve-dep-dirs.d.ts.map +1 -0
- package/dist/resolve-dep-dirs.js +89 -0
- package/dist/resolve-dep-dirs.js.map +1 -0
- package/dist/types.d.ts +29 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/write-crate-version.d.ts.map +1 -1
- package/dist/write-crate-version.js +7 -1
- package/dist/write-crate-version.js.map +1 -1
- package/dist/write-embedded-crate-versions.d.ts +46 -0
- package/dist/write-embedded-crate-versions.d.ts.map +1 -0
- package/dist/write-embedded-crate-versions.js +172 -0
- package/dist/write-embedded-crate-versions.js.map +1 -0
- package/dist/write-version.d.ts.map +1 -1
- package/dist/write-version.js +7 -1
- package/dist/write-version.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every dependency entry declared by a parsed `Cargo.toml`, flattened
|
|
3
|
+
* across the tables cargo resolves. #621.
|
|
4
|
+
*
|
|
5
|
+
* Cargo accepts a dependency in more places than `[dependencies]`, and a
|
|
6
|
+
* stale version requirement in **any** of them fails resolution
|
|
7
|
+
* identically — verified against cargo 1.94.1 for `[dev-dependencies]`,
|
|
8
|
+
* `[build-dependencies]`, `[target.'cfg(…)'.dependencies]` and
|
|
9
|
+
* `[workspace.dependencies]`. A version rewrite that walks only
|
|
10
|
+
* `[dependencies]` therefore still leaves an unbuildable tree, so the
|
|
11
|
+
* flattening happens here, once, rather than at each call site.
|
|
12
|
+
*
|
|
13
|
+
* Pure: takes an already-parsed manifest, touches no I/O.
|
|
14
|
+
*/
|
|
15
|
+
/** One dependency declaration, normalized to its object form. */
|
|
16
|
+
export interface CargoDepEntry {
|
|
17
|
+
/** The key as written — a rename, not necessarily the crate name. */
|
|
18
|
+
key: string;
|
|
19
|
+
/** `path = "…"` as written (relative to the manifest's directory). */
|
|
20
|
+
path?: string | undefined;
|
|
21
|
+
/** True when the entry carries a `version = "…"` requirement. */
|
|
22
|
+
hasVersionReq: boolean;
|
|
23
|
+
/** True when the entry defers to `[workspace.dependencies]`. */
|
|
24
|
+
inheritsFromWorkspace: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Flatten every dependency entry in `parsed`, including target-specific
|
|
28
|
+
* tables and `[workspace.dependencies]`.
|
|
29
|
+
*
|
|
30
|
+
* The shorthand form (`serde = "1"`) can never be a path dependency, so
|
|
31
|
+
* it is reported with no `path` rather than skipped — callers filter on
|
|
32
|
+
* `path` and would otherwise have to re-derive that fact.
|
|
33
|
+
*/
|
|
34
|
+
export declare function cargoDepEntries(parsed: unknown): CargoDepEntry[];
|
|
35
|
+
//# sourceMappingURL=cargo-dep-entries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cargo-dep-entries.d.ts","sourceRoot":"","sources":["../src/cargo-dep-entries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB,gEAAgE;IAChE,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,EAAE,CAahE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every dependency entry declared by a parsed `Cargo.toml`, flattened
|
|
3
|
+
* across the tables cargo resolves. #621.
|
|
4
|
+
*
|
|
5
|
+
* Cargo accepts a dependency in more places than `[dependencies]`, and a
|
|
6
|
+
* stale version requirement in **any** of them fails resolution
|
|
7
|
+
* identically — verified against cargo 1.94.1 for `[dev-dependencies]`,
|
|
8
|
+
* `[build-dependencies]`, `[target.'cfg(…)'.dependencies]` and
|
|
9
|
+
* `[workspace.dependencies]`. A version rewrite that walks only
|
|
10
|
+
* `[dependencies]` therefore still leaves an unbuildable tree, so the
|
|
11
|
+
* flattening happens here, once, rather than at each call site.
|
|
12
|
+
*
|
|
13
|
+
* Pure: takes an already-parsed manifest, touches no I/O.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Flatten every dependency entry in `parsed`, including target-specific
|
|
17
|
+
* tables and `[workspace.dependencies]`.
|
|
18
|
+
*
|
|
19
|
+
* The shorthand form (`serde = "1"`) can never be a path dependency, so
|
|
20
|
+
* it is reported with no `path` rather than skipped — callers filter on
|
|
21
|
+
* `path` and would otherwise have to re-derive that fact.
|
|
22
|
+
*/
|
|
23
|
+
export function cargoDepEntries(parsed) {
|
|
24
|
+
// `?? {}` rather than a type guard: a primitive yields `undefined` for
|
|
25
|
+
// every lookup below, so only null/undefined need substituting, and the
|
|
26
|
+
// extra `typeof` arm a guard would carry could never change an outcome.
|
|
27
|
+
const root = (parsed ?? {});
|
|
28
|
+
const out = [];
|
|
29
|
+
for (const table of collectTables(root)) {
|
|
30
|
+
for (const [key, value] of Object.entries(table)) {
|
|
31
|
+
out.push(toEntry(key, value));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
36
|
+
const DEP_TABLE_NAMES = ['dependencies', 'dev-dependencies', 'build-dependencies'];
|
|
37
|
+
/** Every dependency-bearing table: top level, per-target, and workspace. */
|
|
38
|
+
function collectTables(root) {
|
|
39
|
+
const tables = [];
|
|
40
|
+
const push = (v) => {
|
|
41
|
+
if (v !== null && typeof v === 'object') {
|
|
42
|
+
tables.push(v);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
for (const name of DEP_TABLE_NAMES) {
|
|
46
|
+
push(root[name]);
|
|
47
|
+
}
|
|
48
|
+
// `[target.'cfg(unix)'.dependencies]` and friends. The cfg expression is
|
|
49
|
+
// an arbitrary string key, so every value under `target` is inspected.
|
|
50
|
+
const target = root['target'];
|
|
51
|
+
if (target !== null && typeof target === 'object') {
|
|
52
|
+
for (const perTarget of Object.values(target)) {
|
|
53
|
+
const tables_ = (perTarget ?? {});
|
|
54
|
+
for (const name of DEP_TABLE_NAMES) {
|
|
55
|
+
push(tables_[name]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// `[workspace.dependencies]` — where an inheriting member's requirement
|
|
60
|
+
// actually lives, so the rewrite has to reach it.
|
|
61
|
+
const workspace = root['workspace'];
|
|
62
|
+
if (workspace !== null && typeof workspace === 'object') {
|
|
63
|
+
push(workspace['dependencies']);
|
|
64
|
+
}
|
|
65
|
+
return tables;
|
|
66
|
+
}
|
|
67
|
+
function toEntry(key, value) {
|
|
68
|
+
// `serde = "1"` — a bare version requirement; never a path dependency.
|
|
69
|
+
if (typeof value === 'string') {
|
|
70
|
+
return { key, hasVersionReq: true, inheritsFromWorkspace: false };
|
|
71
|
+
}
|
|
72
|
+
const obj = (value ?? {});
|
|
73
|
+
const path = typeof obj['path'] === 'string' ? obj['path'] : undefined;
|
|
74
|
+
return {
|
|
75
|
+
key,
|
|
76
|
+
path,
|
|
77
|
+
hasVersionReq: typeof obj['version'] === 'string',
|
|
78
|
+
inheritsFromWorkspace: obj['workspace'] === true,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=cargo-dep-entries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cargo-dep-entries.js","sourceRoot":"","sources":["../src/cargo-dep-entries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAe;IAC7C,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;IACvD,MAAM,GAAG,GAAoB,EAAE,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,CAAU,CAAC;AAE5F,4EAA4E;AAC5E,SAAS,aAAa,CAAC,IAA6B;IAClD,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;QAChC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAA,MAAM,CAAC,IAAI,CAAC,CAAa,CAAC,CAAC;QAAA,CAAC;IACxE,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAAA,CAAC;IAEvD,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAiC,CAAC,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;YAC7D,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,IAAI,CAAE,SAAqC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,KAAc;IAC1C,uEAAuE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,OAAO;QACL,GAAG;QACH,IAAI;QACJ,aAAa,EAAE,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ;QACjD,qBAAqB,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI;KACjD,CAAC;AACJ,CAAC"}
|
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;AAsGH,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;IAIlC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuC/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAsGH,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;IAIlC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuC/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiYlE"}
|
package/dist/cli.js
CHANGED
|
@@ -553,6 +553,19 @@ export async function run(argv) {
|
|
|
553
553
|
else {
|
|
554
554
|
for (const p of result.published) {
|
|
555
555
|
process.stdout.write(`published: ${p.package}@${p.version} status=${p.result.status}\n`);
|
|
556
|
+
// #625: a napi / bundled-cli package ships a platform package
|
|
557
|
+
// per target alongside the umbrella. Name them here too, or a
|
|
558
|
+
// local run reports one line for a six-package release —
|
|
559
|
+
// the same blindness the `--json` report had.
|
|
560
|
+
const platforms = p.result.platforms;
|
|
561
|
+
if (platforms !== undefined) {
|
|
562
|
+
for (const name of platforms.published) {
|
|
563
|
+
process.stdout.write(` platform: ${name} status=published\n`);
|
|
564
|
+
}
|
|
565
|
+
for (const name of platforms.skipped) {
|
|
566
|
+
process.stdout.write(` platform: ${name} status=already-published\n`);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
556
569
|
}
|
|
557
570
|
}
|
|
558
571
|
// #461: surface what actually shipped so the reusable workflow
|
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,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,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,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,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,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,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,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,4DAA4D;AAC5D,MAAM,QAAQ,GAAG;IACf,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,gBAAgB;IAChB,YAAY;IACZ,wBAAwB;IACxB,aAAa;IACb,eAAe;IACf,qBAAqB;IACrB,gBAAgB;CACR,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,yEAAyE;QACzE,gFAAgF;QAChF,0FAA0F;QAC1F,uEAAuE;QACvE,gEAAgE;QAChE,uFAAuF;QACvF,6EAA6E;QAC7E,mFAAmF;QACnF,yFAAyF;QACzF,iFAAiF;QACjF,oCAAoC;QACpC,EAAE;QACF,UAAU;QACV,uCAAuC;QACvC,gDAAgD;QAChD,8DAA8D;QAC9D,sFAAsF;QACtF,2EAA2E;QAC3E,mEAAmE;QACnE,sDAAsD;QACtD,kFAAkF;QAClF,iGAAiG;QACjG,0FAA0F;QAC1F,2FAA2F;QAC3F,iGAAiG;QACjG,gEAAgE;QAChE,iFAAiF;QACjF,2DAA2D;QAC3D,yEAAyE;QACzE,kDAAkD;QAClD,EAAE;QACF,8DAA8D;QAC9D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAgDD,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,oEAAoE;QACpE,mEAAmE;QACnE,sCAAsC;QACtC,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,iBAAiB,EAAE,CAAC;YAAA,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aAC5D,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAAA,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aAC/C,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAAA,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aACrD,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aACjD,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YAAA,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aAClD,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAAA,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CAAC;aACzC,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,UAAU,CACd,YAAY,EACZ,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EACpC,MAAM,CACP,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,MAAM,SAAS,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,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,OAAO,EAAE,CAAC;oBACpB,+DAA+D;oBAC/D,gEAAgE;oBAChE,qDAAqD;oBACrD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACvE,CAAC;oBACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBACjE,CAAC;oBACD,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjF,CAAC;gBACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBACpB,+DAA+D;oBAC/D,4DAA4D;oBAC5D,iEAAiE;oBACjE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAAA,CAAC;oBAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAAA,CAAC;oBACnF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAAA,CAAC;oBACnG,OAAO,WAAW,CAAC;wBACjB,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;oBACzB,+DAA+D;oBAC/D,gEAAgE;oBAChE,iEAAiE;oBACjE,wCAAwC;oBACxC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAAA,CAAC;oBAClF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAAA,CAAC;oBACrF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;wBAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAAA,CAAC;oBAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAAA,CAAC;oBAClG,OAAO,eAAe,CAAC;wBACrB,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,MAAM,EAAE,KAAK,CAAC,MAAM;qBACrB,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,oEAAoE;gBACpE,oEAAoE;gBACpE,2DAA2D;gBAC3D,mEAAmE;gBACnE,iEAAiE;gBACjE,uDAAuD;gBACvD,OAAO,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,6DAA6D;gBAC7D,8DAA8D;gBAC9D,gEAAgE;gBAChE,gDAAgD;gBAChD,OAAO,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,kEAAkE;gBAClE,iEAAiE;gBACjE,iEAAiE;gBACjE,iCAAiC;gBACjC,OAAO,MAAM,oBAAoB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,iEAAiE;gBACjE,0DAA0D;gBAC1D,iEAAiE;gBACjE,wDAAwD;gBACxD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAAA,CAAC;gBACnF,OAAO,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,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,MAAM,uBAAuB,CAAC;oBAC5C,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,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClE,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,MAAM,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvE,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,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;gBACjD,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;wBACF,8DAA8D;wBAC9D,8DAA8D;wBAC9D,yDAAyD;wBACzD,8CAA8C;wBAC9C,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;wBACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;4BAC5B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gCACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,sBAAsB,CAAC,CAAC;4BAClE,CAAC;4BACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gCACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,8BAA8B,CAAC,CAAC;4BAC1E,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,+DAA+D;gBAC/D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,+DAA+D;gBAC/D,0DAA0D;gBAC1D,+DAA+D;gBAC/D,iEAAiE;gBACjE,0DAA0D;gBAC1D,sDAAsD;gBACtD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBACtD,IAAI,mBAAmB,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CACvC,CAAC;oBACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3C,IAAI,EAAE,CAAC,CAAC,OAAO;wBACf,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,GAAG,EAAE,CAAC,CAAC,GAAG;qBACX,CAAC,CAAC,CAAC;oBACJ,MAAM,UAAU,CACd,mBAAmB,EACnB,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI;wBAChC,qBAAqB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAC3D,MAAM,CACP,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAA6C,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAA6C,KAAK,OAAO,EAAwF,MAAM,aAAa,CAAC;AA6U5K;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBvE;AAuCD,eAAO,MAAM,GAAG,EAAE,OAOjB,CAAC"}
|
package/dist/handlers/npm.js
CHANGED
|
@@ -75,6 +75,16 @@ async function publishImpl(pkg, version, ctx) {
|
|
|
75
75
|
// napi / bundled-cli: publish platform packages first, then rewrite
|
|
76
76
|
// the main package.json to add optionalDependencies, then fall through
|
|
77
77
|
// to the normal main-package publish path below. §13.7.
|
|
78
|
+
//
|
|
79
|
+
// #625: `publishPlatforms` reports which platform packages it
|
|
80
|
+
// published and which were already live, and that has to reach the
|
|
81
|
+
// caller. Discarding it made a six-package release indistinguishable
|
|
82
|
+
// from a one-package one in the run report — and on a re-run after a
|
|
83
|
+
// partial failure, hid the fact that the missing packages were already
|
|
84
|
+
// safely on the registry. `platforms` stays undefined for a package
|
|
85
|
+
// with no family so a vanilla publish reports nothing rather than an
|
|
86
|
+
// empty summary.
|
|
87
|
+
let platforms;
|
|
78
88
|
const buildEntries = normalizeBuild(pkg.build);
|
|
79
89
|
if (buildEntries.length > 0 && pkg.targets !== undefined && pkg.targets.length > 0) {
|
|
80
90
|
const platformPkg = {
|
|
@@ -89,8 +99,18 @@ async function publishImpl(pkg, version, ctx) {
|
|
|
89
99
|
// so npm-platform.ts keeps its `readonly string[]` contract.
|
|
90
100
|
targets: pkg.targets.map((t) => normalizeTarget(t).triple),
|
|
91
101
|
};
|
|
92
|
-
await publishPlatforms(platformPkg, version, ctx);
|
|
102
|
+
platforms = await publishPlatforms(platformPkg, version, ctx);
|
|
103
|
+
// Emitted here rather than only in the final report so a live run
|
|
104
|
+
// log shows the family as it lands, not just at the end.
|
|
105
|
+
ctx.log.info(`npm: ${npmNameFor(pkg)}@${version} platform packages: ` +
|
|
106
|
+
`${platforms.published.length} published, ` +
|
|
107
|
+
`${platforms.skipped.length} already published`, { published: platforms.published, skipped: platforms.skipped });
|
|
93
108
|
}
|
|
109
|
+
// Attach the family summary to whichever outcome this publish reaches.
|
|
110
|
+
// Every return below this point is downstream of the platform publish,
|
|
111
|
+
// so all of them carry it; the already-published early return above is
|
|
112
|
+
// not, and correctly reports no family (nothing was touched).
|
|
113
|
+
const withPlatforms = (result) => platforms === undefined ? result : { ...result, platforms };
|
|
94
114
|
// Internal e2e seam: PIOT_NPM_REGISTRY routes publish at a non-default
|
|
95
115
|
// registry (Verdaccio in the first-publish e2e variant; #304). Not a
|
|
96
116
|
// consumer-facing affordance and not documented in README. Auth at the
|
|
@@ -141,10 +161,10 @@ async function publishImpl(pkg, version, ctx) {
|
|
|
141
161
|
// E403 "cannot publish over the previously published versions". The
|
|
142
162
|
// first attempt actually succeeded — treat as already-published.
|
|
143
163
|
if (looksLikePublishOverRace(stderr)) {
|
|
144
|
-
return {
|
|
164
|
+
return withPlatforms({
|
|
145
165
|
status: 'already-published',
|
|
146
166
|
url: `https://www.npmjs.com/package/${name}/v/${version}`,
|
|
147
|
-
};
|
|
167
|
+
});
|
|
148
168
|
}
|
|
149
169
|
// Attestation edition of the publish-over race: npm's retry re-submits
|
|
150
170
|
// an identical --provenance attestation and Sigstore/Rekor rejects the
|
|
@@ -155,10 +175,10 @@ async function publishImpl(pkg, version, ctx) {
|
|
|
155
175
|
const tlogStderr = matchTlogDuplicate(stderr);
|
|
156
176
|
if (tlogStderr !== null) {
|
|
157
177
|
if (await isPublishedImpl(pkg, version, ctx)) {
|
|
158
|
-
return {
|
|
178
|
+
return withPlatforms({
|
|
159
179
|
status: 'already-published',
|
|
160
180
|
url: `https://www.npmjs.com/package/${name}/v/${version}`,
|
|
161
|
-
};
|
|
181
|
+
});
|
|
162
182
|
}
|
|
163
183
|
throw new Error(`npm publish failed: Sigstore transparency-log dedupe ` +
|
|
164
184
|
`(TLOG_CREATE_ENTRY_ERROR) and ${name}@${version} is not on the ` +
|
|
@@ -210,12 +230,12 @@ async function publishImpl(pkg, version, ctx) {
|
|
|
210
230
|
}
|
|
211
231
|
throw new Error(`npm publish failed${stderr ? `:\n${stderr}` : `: ${base}`}`, { cause: err });
|
|
212
232
|
}
|
|
213
|
-
return {
|
|
233
|
+
return withPlatforms({
|
|
214
234
|
status: 'published',
|
|
215
235
|
url: registryOverride
|
|
216
236
|
? `${registryOverride.replace(/\/$/, '')}/${npmNameFor(pkg)}/-/${version}`
|
|
217
237
|
: `https://www.npmjs.com/package/${npmNameFor(pkg)}/v/${version}`,
|
|
218
|
-
};
|
|
238
|
+
});
|
|
219
239
|
}
|
|
220
240
|
/* ------------------------------ internals ------------------------------ */
|
|
221
241
|
async function assertRepositoryField(path) {
|
package/dist/handlers/npm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rewrite the `version = "…"` requirement on a **path** dependency,
|
|
3
|
+
* preserving the rest of the manifest byte-for-byte. #621.
|
|
4
|
+
*
|
|
5
|
+
* Bumping an embedded crate without moving the requirements that point at
|
|
6
|
+
* it is worse than leaving it stale: cargo stops resolving entirely.
|
|
7
|
+
*
|
|
8
|
+
* error: failed to select a version for the requirement `demo-core = "^0.2"`
|
|
9
|
+
* candidate versions found which didn't match: 0.4.2
|
|
10
|
+
*
|
|
11
|
+
* That is a hard failure (exit 101) before anything compiles, and a
|
|
12
|
+
* `version` key alongside `path` is *mandatory* for any crate that also
|
|
13
|
+
* publishes to crates.io — so the shape that needs this is exactly the
|
|
14
|
+
* shape polyglot repos have.
|
|
15
|
+
*
|
|
16
|
+
* String surgery rather than a TOML round-trip, matching
|
|
17
|
+
* `replaceCargoVersion` and `replaceWorkspacePackageVersion`: re-emitting
|
|
18
|
+
* parsed TOML discards comments and formatting from a file the consumer
|
|
19
|
+
* owns.
|
|
20
|
+
*
|
|
21
|
+
* Only entries that also carry a `path` key are touched. A registry
|
|
22
|
+
* dependency that happens to share the key name keeps its requirement —
|
|
23
|
+
* rewriting pyo3's `0.22` to the release version would pin a version that
|
|
24
|
+
* does not exist.
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Rewrite every `version` requirement declared for `depKey` **that also
|
|
28
|
+
* declares a `path`**, in either dependency-entry syntax:
|
|
29
|
+
*
|
|
30
|
+
* - inline table — `demo-core = { path = "../core", version = "0.2" }`
|
|
31
|
+
* - section table — `[dependencies.demo-core]` / `path` / `version`
|
|
32
|
+
*
|
|
33
|
+
* Both forms are scanned across the whole manifest, so a dependency
|
|
34
|
+
* declared in several tables (normal plus dev, plus a `cfg`-gated one)
|
|
35
|
+
* has every occurrence rewritten. Returns the source unchanged when the
|
|
36
|
+
* key declares no path-plus-version entry.
|
|
37
|
+
*/
|
|
38
|
+
export declare function replaceDepVersionReq(source: string, depKey: string, version: string): string;
|
|
39
|
+
//# sourceMappingURL=replace-dep-version-req.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replace-dep-version-req.d.ts","sourceRoot":"","sources":["../src/replace-dep-version-req.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG5F"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rewrite the `version = "…"` requirement on a **path** dependency,
|
|
3
|
+
* preserving the rest of the manifest byte-for-byte. #621.
|
|
4
|
+
*
|
|
5
|
+
* Bumping an embedded crate without moving the requirements that point at
|
|
6
|
+
* it is worse than leaving it stale: cargo stops resolving entirely.
|
|
7
|
+
*
|
|
8
|
+
* error: failed to select a version for the requirement `demo-core = "^0.2"`
|
|
9
|
+
* candidate versions found which didn't match: 0.4.2
|
|
10
|
+
*
|
|
11
|
+
* That is a hard failure (exit 101) before anything compiles, and a
|
|
12
|
+
* `version` key alongside `path` is *mandatory* for any crate that also
|
|
13
|
+
* publishes to crates.io — so the shape that needs this is exactly the
|
|
14
|
+
* shape polyglot repos have.
|
|
15
|
+
*
|
|
16
|
+
* String surgery rather than a TOML round-trip, matching
|
|
17
|
+
* `replaceCargoVersion` and `replaceWorkspacePackageVersion`: re-emitting
|
|
18
|
+
* parsed TOML discards comments and formatting from a file the consumer
|
|
19
|
+
* owns.
|
|
20
|
+
*
|
|
21
|
+
* Only entries that also carry a `path` key are touched. A registry
|
|
22
|
+
* dependency that happens to share the key name keeps its requirement —
|
|
23
|
+
* rewriting pyo3's `0.22` to the release version would pin a version that
|
|
24
|
+
* does not exist.
|
|
25
|
+
*/
|
|
26
|
+
/** Escape a dependency key for literal use inside a RegExp. */
|
|
27
|
+
function escapeRe(s) {
|
|
28
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Rewrite every `version` requirement declared for `depKey` **that also
|
|
32
|
+
* declares a `path`**, in either dependency-entry syntax:
|
|
33
|
+
*
|
|
34
|
+
* - inline table — `demo-core = { path = "../core", version = "0.2" }`
|
|
35
|
+
* - section table — `[dependencies.demo-core]` / `path` / `version`
|
|
36
|
+
*
|
|
37
|
+
* Both forms are scanned across the whole manifest, so a dependency
|
|
38
|
+
* declared in several tables (normal plus dev, plus a `cfg`-gated one)
|
|
39
|
+
* has every occurrence rewritten. Returns the source unchanged when the
|
|
40
|
+
* key declares no path-plus-version entry.
|
|
41
|
+
*/
|
|
42
|
+
export function replaceDepVersionReq(source, depKey, version) {
|
|
43
|
+
const key = escapeRe(depKey);
|
|
44
|
+
return replaceInlineTableForm(replaceSectionTableForm(source, key, version), key, version);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* `[dependencies.demo-core]` … through to the next table header. Matches
|
|
48
|
+
* any dependency table — `[dev-dependencies.x]`,
|
|
49
|
+
* `[target.'cfg(unix)'.dependencies.x]` — via the `dependencies.` suffix
|
|
50
|
+
* on the header path. The body is consumed line by line, refusing any
|
|
51
|
+
* line that opens a new table, so a `[` inside a value (`features =
|
|
52
|
+
* ["cli"]`) cannot end the section early.
|
|
53
|
+
*/
|
|
54
|
+
function replaceSectionTableForm(source, key, version) {
|
|
55
|
+
const section = new RegExp(`(^\\[[^\\]\\n]*dependencies\\.${key}\\][^\\n]*\\n)((?:(?!\\[)[^\\n]*(?:\\n|$))*)`, 'gm');
|
|
56
|
+
return source.replace(section, (whole, header, body) => body.includes('path') ? header + setVersionIn(body, version) : whole);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* `demo-core = { path = "../core", version = "0.2" }`, including the
|
|
60
|
+
* multi-line brace form. Cargo dependency entries never nest a further
|
|
61
|
+
* `{ … }`, so the body is everything up to the first `}`.
|
|
62
|
+
*/
|
|
63
|
+
function replaceInlineTableForm(source, key, version) {
|
|
64
|
+
const entry = new RegExp(`^[ \\t]*"?${key}"?[ \\t]*=[ \\t]*\\{[^}]*\\}`, 'gm');
|
|
65
|
+
return source.replace(entry, (whole) => whole.includes('path') ? setVersionIn(whole, version) : whole);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Replace the first `version = "…"` value in `segment`. Un-anchored so it
|
|
69
|
+
* covers both the one-line inline table and the multi-line/section forms
|
|
70
|
+
* where the key sits on its own line.
|
|
71
|
+
*/
|
|
72
|
+
function setVersionIn(segment, version) {
|
|
73
|
+
return segment.replace(/(\bversion[ \t]*=[ \t]*")([^"]*)(")/, `$1${version}$3`);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=replace-dep-version-req.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replace-dep-version-req.js","sourceRoot":"","sources":["../src/replace-dep-version-req.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+DAA+D;AAC/D,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,MAAc,EAAE,OAAe;IAClF,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,sBAAsB,CAAC,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,MAAc,EAAE,GAAW,EAAE,OAAe;IAC3E,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,iCAAiC,GAAG,8CAA8C,EAClF,IAAI,CACL,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,EAAE,CACrE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CACrE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,MAAc,EAAE,GAAW,EAAE,OAAe;IAC1E,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,aAAa,GAAG,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC/E,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAC7C,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAC9D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,OAAe;IACpD,OAAO,OAAO,CAAC,OAAO,CAAC,qCAAqC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a manifest's dependency entries to the on-disk directories they
|
|
3
|
+
* point at. #621.
|
|
4
|
+
*
|
|
5
|
+
* Two indirections have to be followed before a `path` is in hand, and
|
|
6
|
+
* missing either one silently drops a crate from the version rewrite:
|
|
7
|
+
*
|
|
8
|
+
* - a member may defer to the workspace (`demo-core.workspace = true`),
|
|
9
|
+
* which puts both the `path` and the version requirement in the
|
|
10
|
+
* workspace root's `[workspace.dependencies]`, a different file;
|
|
11
|
+
* - `path` is relative to the *declaring manifest's* directory, and for
|
|
12
|
+
* an inherited entry that is the workspace root, not the member.
|
|
13
|
+
*
|
|
14
|
+
* Shared by the discovery walk and the requirement rewrite so the two can
|
|
15
|
+
* never disagree about which crates are in scope.
|
|
16
|
+
*/
|
|
17
|
+
/** A dependency entry that resolves to a directory on disk. */
|
|
18
|
+
export interface ResolvedDepDir {
|
|
19
|
+
/** The dependency key as written in the manifest being rewritten. */
|
|
20
|
+
key: string;
|
|
21
|
+
/** Absolute directory of the dependency crate. */
|
|
22
|
+
dir: string;
|
|
23
|
+
/** True when the entry carries a `version = "…"` requirement. */
|
|
24
|
+
hasVersionReq: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* True when the requirement lives in the workspace root rather than in
|
|
27
|
+
* this manifest — the rewrite has to target the root's file instead.
|
|
28
|
+
*/
|
|
29
|
+
inheritsFromWorkspace: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Every path dependency declared by `parsed`, resolved to an absolute
|
|
33
|
+
* directory. Registry dependencies are omitted — they have no directory
|
|
34
|
+
* and must never be rewritten.
|
|
35
|
+
*
|
|
36
|
+
* `workspaceParsed` is the parsed workspace-root manifest (or `null` when
|
|
37
|
+
* there is no workspace); it supplies `[workspace.dependencies]` for
|
|
38
|
+
* inheriting entries.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveDepDirs(parsed: unknown, manifestDir: string, workspaceParsed: unknown, workspaceRoot: string | null): ResolvedDepDir[];
|
|
41
|
+
//# sourceMappingURL=resolve-dep-dirs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-dep-dirs.d.ts","sourceRoot":"","sources":["../src/resolve-dep-dirs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,cAAc,EAAE,CA+BlB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a manifest's dependency entries to the on-disk directories they
|
|
3
|
+
* point at. #621.
|
|
4
|
+
*
|
|
5
|
+
* Two indirections have to be followed before a `path` is in hand, and
|
|
6
|
+
* missing either one silently drops a crate from the version rewrite:
|
|
7
|
+
*
|
|
8
|
+
* - a member may defer to the workspace (`demo-core.workspace = true`),
|
|
9
|
+
* which puts both the `path` and the version requirement in the
|
|
10
|
+
* workspace root's `[workspace.dependencies]`, a different file;
|
|
11
|
+
* - `path` is relative to the *declaring manifest's* directory, and for
|
|
12
|
+
* an inherited entry that is the workspace root, not the member.
|
|
13
|
+
*
|
|
14
|
+
* Shared by the discovery walk and the requirement rewrite so the two can
|
|
15
|
+
* never disagree about which crates are in scope.
|
|
16
|
+
*/
|
|
17
|
+
import { isAbsolute, resolve } from 'node:path';
|
|
18
|
+
import { cargoDepEntries } from './cargo-dep-entries.js';
|
|
19
|
+
/**
|
|
20
|
+
* Every path dependency declared by `parsed`, resolved to an absolute
|
|
21
|
+
* directory. Registry dependencies are omitted — they have no directory
|
|
22
|
+
* and must never be rewritten.
|
|
23
|
+
*
|
|
24
|
+
* `workspaceParsed` is the parsed workspace-root manifest (or `null` when
|
|
25
|
+
* there is no workspace); it supplies `[workspace.dependencies]` for
|
|
26
|
+
* inheriting entries.
|
|
27
|
+
*/
|
|
28
|
+
export function resolveDepDirs(parsed, manifestDir, workspaceParsed, workspaceRoot) {
|
|
29
|
+
// Only consult the workspace table when there is a root to resolve its
|
|
30
|
+
// relative paths against; an empty map then makes every inherited lookup
|
|
31
|
+
// miss, so no separate null check is needed per entry.
|
|
32
|
+
const inherited = workspaceRoot === null
|
|
33
|
+
? new Map()
|
|
34
|
+
: workspaceDepDirs(workspaceParsed, workspaceRoot);
|
|
35
|
+
const out = [];
|
|
36
|
+
for (const entry of cargoDepEntries(parsed)) {
|
|
37
|
+
if (entry.path !== undefined) {
|
|
38
|
+
out.push({
|
|
39
|
+
key: entry.key,
|
|
40
|
+
dir: absolute(entry.path, manifestDir),
|
|
41
|
+
hasVersionReq: entry.hasVersionReq,
|
|
42
|
+
inheritsFromWorkspace: false,
|
|
43
|
+
});
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (!entry.inheritsFromWorkspace) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const ws = inherited.get(entry.key);
|
|
50
|
+
if (ws === undefined) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
out.push({
|
|
54
|
+
key: entry.key,
|
|
55
|
+
dir: ws.dir,
|
|
56
|
+
hasVersionReq: ws.hasVersionReq,
|
|
57
|
+
inheritsFromWorkspace: true,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* `[workspace.dependencies]` entries that carry a `path`, keyed by name and
|
|
64
|
+
* already resolved against `workspaceRoot` — the manifest that declared
|
|
65
|
+
* them, and therefore the base those relative paths are written against.
|
|
66
|
+
*/
|
|
67
|
+
function workspaceDepDirs(workspaceParsed, workspaceRoot) {
|
|
68
|
+
const map = new Map();
|
|
69
|
+
// Optional chaining rather than a guard per level: a primitive yields
|
|
70
|
+
// `undefined` for the next lookup anyway, so only null/undefined need
|
|
71
|
+
// handling and each `typeof` arm would be unobservable.
|
|
72
|
+
const workspace = workspaceParsed?.workspace;
|
|
73
|
+
const deps = workspace?.dependencies;
|
|
74
|
+
for (const [key, value] of Object.entries((deps ?? {}))) {
|
|
75
|
+
const obj = (value ?? {});
|
|
76
|
+
if (typeof obj['path'] !== 'string') {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
map.set(key, {
|
|
80
|
+
dir: absolute(obj['path'], workspaceRoot),
|
|
81
|
+
hasVersionReq: typeof obj['version'] === 'string',
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return map;
|
|
85
|
+
}
|
|
86
|
+
function absolute(p, base) {
|
|
87
|
+
return isAbsolute(p) ? p : resolve(base, p);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=resolve-dep-dirs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-dep-dirs.js","sourceRoot":"","sources":["../src/resolve-dep-dirs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiBzD;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAe,EACf,WAAmB,EACnB,eAAwB,EACxB,aAA4B;IAE5B,uEAAuE;IACvE,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,SAAS,GACb,aAAa,KAAK,IAAI;QACpB,CAAC,CAAC,IAAI,GAAG,EAAmD;QAC5D,CAAC,CAAC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,GAAG,GAAqB,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;gBACtC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAAA,SAAS;QAAA,CAAC;QAC7C,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YAAA,SAAS;QAAA,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,aAAa,EAAE,EAAE,CAAC,aAAa;YAC/B,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,eAAwB,EACxB,aAAqB;IAErB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmD,CAAC;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,SAAS,GAAI,eAAkD,EAAE,SAAS,CAAC;IACjF,MAAM,IAAI,GAAI,SAA+C,EAAE,YAAY,CAAC;IAE5E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC,EAAE,CAAC;QACnF,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;QACrD,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAA,SAAS;QAAA,CAAC;QAChD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;YACX,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;YACzC,aAAa,EAAE,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ;SAClD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,IAAY;IACvC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -86,10 +86,39 @@ export interface ArtifactStore {
|
|
|
86
86
|
/** True if the artifact_name exists and is non-empty. */
|
|
87
87
|
has(artifactName: string): boolean;
|
|
88
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* What a platform-package family did during one publish (#625).
|
|
91
|
+
*
|
|
92
|
+
* `napi` and `bundled-cli` npm packages ship a synthesized package per
|
|
93
|
+
* target alongside the umbrella package — a six-package release is one
|
|
94
|
+
* umbrella and five platform packages. `publishPlatforms` has always
|
|
95
|
+
* known which of them it published and which were already live; this is
|
|
96
|
+
* how that reaches the run report, which is the only record an operator
|
|
97
|
+
* has of what a release actually did. Without it a complete
|
|
98
|
+
* multi-package publish and a partial one that shipped the umbrella and
|
|
99
|
+
* stopped produce byte-identical output.
|
|
100
|
+
*
|
|
101
|
+
* Registry names (`@scope/pkg-<triple>`), not config names, so they can
|
|
102
|
+
* be pasted straight at a registry.
|
|
103
|
+
*/
|
|
104
|
+
export interface PlatformPublishSummary {
|
|
105
|
+
/** Published during this run, in publish order. */
|
|
106
|
+
published: readonly string[];
|
|
107
|
+
/** Already live at this version, so left untouched. */
|
|
108
|
+
skipped: readonly string[];
|
|
109
|
+
}
|
|
89
110
|
export interface PublishResult {
|
|
90
111
|
status: 'published' | 'already-published' | 'skipped';
|
|
91
112
|
url?: string;
|
|
92
113
|
bytes?: number;
|
|
114
|
+
/**
|
|
115
|
+
* Present only for a package that actually has a platform-package
|
|
116
|
+
* family, and only once that family has been processed. A vanilla npm
|
|
117
|
+
* package (and every crates / pypi package) reports nothing here
|
|
118
|
+
* rather than an empty summary, which would read as a family that
|
|
119
|
+
* shipped nothing.
|
|
120
|
+
*/
|
|
121
|
+
platforms?: PlatformPublishSummary;
|
|
93
122
|
}
|
|
94
123
|
export interface SmokeResult {
|
|
95
124
|
status: 'passed' | 'failed' | 'skipped';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAKvF;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,6BAA6B;AAC7B,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,aAAa,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1D,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,yDAAyD;IACzD,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,GAAG,mBAAmB,GAAG,SAAS,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
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,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;
|
|
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;AA2ID,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-crate-version.d.ts","sourceRoot":"","sources":["../src/write-crate-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"write-crate-version.d.ts","sourceRoot":"","sources":["../src/write-crate-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBpG"}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { readFile } from 'node:fs/promises';
|
|
21
21
|
import { join } from 'node:path';
|
|
22
|
+
import { writeEmbeddedCrateVersions } from './write-embedded-crate-versions.js';
|
|
22
23
|
import { writeResolvedCargoVersion } from './write-resolved-cargo-version.js';
|
|
23
24
|
/**
|
|
24
25
|
* Rewrite `[package].version` in the crate at `crateDir` to `version`
|
|
@@ -43,6 +44,11 @@ export async function writeCrateVersionForBuild(crateDir, version) {
|
|
|
43
44
|
}
|
|
44
45
|
throw err;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
const written = await writeResolvedCargoVersion(crateDir, original, version);
|
|
48
|
+
// #621: the compiled binary also embeds every in-repo crate this one
|
|
49
|
+
// pulls in by path, and it is often the *dependency* that owns the
|
|
50
|
+
// version-bearing symbol. Bumping only this crate ships a stale literal.
|
|
51
|
+
const embedded = await writeEmbeddedCrateVersions(crateDir, version);
|
|
52
|
+
return [...new Set([...written, ...embedded])];
|
|
47
53
|
}
|
|
48
54
|
//# sourceMappingURL=write-crate-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-crate-version.js","sourceRoot":"","sources":["../src/write-crate-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,QAAgB,EAAE,OAAe;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,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,OAAO,MAAM,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"write-crate-version.js","sourceRoot":"","sources":["../src/write-crate-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,QAAgB,EAAE,OAAe;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,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,MAAM,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7E,qEAAqE;IACrE,mEAAmE;IACnE,yEAAyE;IACzE,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bump every in-repo crate an artifact compiles, plus the version
|
|
3
|
+
* requirements that point at them. #621.
|
|
4
|
+
*
|
|
5
|
+
* The three pre-build writers each bump the crate the build tool reads as
|
|
6
|
+
* its version source — maturin's `matrix.path`, `bundle_cli.crate_path`,
|
|
7
|
+
* the napi crate. That answers "what version is this artifact?" but not
|
|
8
|
+
* "whose `CARGO_PKG_VERSION` is observable *from* this artifact?" Those
|
|
9
|
+
* sets coincide only when the artifact is one crate deep. Embed a sibling
|
|
10
|
+
* by path, let the sibling own the version-bearing symbol (clap's
|
|
11
|
+
* `#[command(version)]` expands `env!("CARGO_PKG_VERSION")` inside the
|
|
12
|
+
* crate where the attribute is written), and nothing bumps the sibling.
|
|
13
|
+
*
|
|
14
|
+
* `CARGO_PKG_VERSION` is a compile-time constant scoped per crate and has
|
|
15
|
+
* no env override — not `CARGO_PKG_VERSION=… cargo build`, not
|
|
16
|
+
* `.cargo/config.toml [env]` with `force = true`. Rewriting the manifest
|
|
17
|
+
* before the build is the only lever there is.
|
|
18
|
+
*
|
|
19
|
+
* **Semantics: the artifact's version wins.** Every in-repo crate the
|
|
20
|
+
* artifact compiles is stamped with the artifact's release version, so a
|
|
21
|
+
* user who installs `dirsql 0.4.2` sees `0.4.2` from every surface the
|
|
22
|
+
* artifact exposes. The alternative — giving each declared `[[package]]`
|
|
23
|
+
* its own planned version — is indistinguishable for a repo whose crates
|
|
24
|
+
* cascade together at one version, and differs only where a repo keeps
|
|
25
|
+
* crates on deliberately separate version lines. It can be layered on
|
|
26
|
+
* later using this same requirement-rewrite machinery.
|
|
27
|
+
*
|
|
28
|
+
* The rewrites are ephemeral: the build job's checkout is thrown away and
|
|
29
|
+
* `publish` runs in a separate job off a fresh checkout, so nothing here
|
|
30
|
+
* reaches the crates handler's dirty-tree check or a published manifest.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Walk the path-dependency graph out of `startDir`, bump every crate
|
|
34
|
+
* reached to `version`, and rewrite every in-repo version requirement
|
|
35
|
+
* that points at one of them. Returns the absolute paths modified.
|
|
36
|
+
*
|
|
37
|
+
* `startDir` itself is assumed already bumped by the caller (that is the
|
|
38
|
+
* pre-existing writer's job); it is still included when rewriting
|
|
39
|
+
* requirements, since a sibling may depend on it.
|
|
40
|
+
*
|
|
41
|
+
* Reachability from the built crate is the criterion, not workspace
|
|
42
|
+
* membership: a sibling member nobody depends on is not in the artifact
|
|
43
|
+
* and is left alone.
|
|
44
|
+
*/
|
|
45
|
+
export declare function writeEmbeddedCrateVersions(startDir: string, version: string): Promise<string[]>;
|
|
46
|
+
//# sourceMappingURL=write-embedded-crate-versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-embedded-crate-versions.d.ts","sourceRoot":"","sources":["../src/write-embedded-crate-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAkBH;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CA0DnB"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bump every in-repo crate an artifact compiles, plus the version
|
|
3
|
+
* requirements that point at them. #621.
|
|
4
|
+
*
|
|
5
|
+
* The three pre-build writers each bump the crate the build tool reads as
|
|
6
|
+
* its version source — maturin's `matrix.path`, `bundle_cli.crate_path`,
|
|
7
|
+
* the napi crate. That answers "what version is this artifact?" but not
|
|
8
|
+
* "whose `CARGO_PKG_VERSION` is observable *from* this artifact?" Those
|
|
9
|
+
* sets coincide only when the artifact is one crate deep. Embed a sibling
|
|
10
|
+
* by path, let the sibling own the version-bearing symbol (clap's
|
|
11
|
+
* `#[command(version)]` expands `env!("CARGO_PKG_VERSION")` inside the
|
|
12
|
+
* crate where the attribute is written), and nothing bumps the sibling.
|
|
13
|
+
*
|
|
14
|
+
* `CARGO_PKG_VERSION` is a compile-time constant scoped per crate and has
|
|
15
|
+
* no env override — not `CARGO_PKG_VERSION=… cargo build`, not
|
|
16
|
+
* `.cargo/config.toml [env]` with `force = true`. Rewriting the manifest
|
|
17
|
+
* before the build is the only lever there is.
|
|
18
|
+
*
|
|
19
|
+
* **Semantics: the artifact's version wins.** Every in-repo crate the
|
|
20
|
+
* artifact compiles is stamped with the artifact's release version, so a
|
|
21
|
+
* user who installs `dirsql 0.4.2` sees `0.4.2` from every surface the
|
|
22
|
+
* artifact exposes. The alternative — giving each declared `[[package]]`
|
|
23
|
+
* its own planned version — is indistinguishable for a repo whose crates
|
|
24
|
+
* cascade together at one version, and differs only where a repo keeps
|
|
25
|
+
* crates on deliberately separate version lines. It can be layered on
|
|
26
|
+
* later using this same requirement-rewrite machinery.
|
|
27
|
+
*
|
|
28
|
+
* The rewrites are ephemeral: the build job's checkout is thrown away and
|
|
29
|
+
* `publish` runs in a separate job off a fresh checkout, so nothing here
|
|
30
|
+
* reaches the crates handler's dirty-tree check or a published manifest.
|
|
31
|
+
*/
|
|
32
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
33
|
+
import { join, resolve } from 'node:path';
|
|
34
|
+
import { parse as parseToml } from 'smol-toml';
|
|
35
|
+
import { findWorkspaceRoot } from './find-workspace-root.js';
|
|
36
|
+
import { replaceDepVersionReq } from './replace-dep-version-req.js';
|
|
37
|
+
import { resolveDepDirs } from './resolve-dep-dirs.js';
|
|
38
|
+
import { writeResolvedCargoVersion } from './write-resolved-cargo-version.js';
|
|
39
|
+
/**
|
|
40
|
+
* Walk the path-dependency graph out of `startDir`, bump every crate
|
|
41
|
+
* reached to `version`, and rewrite every in-repo version requirement
|
|
42
|
+
* that points at one of them. Returns the absolute paths modified.
|
|
43
|
+
*
|
|
44
|
+
* `startDir` itself is assumed already bumped by the caller (that is the
|
|
45
|
+
* pre-existing writer's job); it is still included when rewriting
|
|
46
|
+
* requirements, since a sibling may depend on it.
|
|
47
|
+
*
|
|
48
|
+
* Reachability from the built crate is the criterion, not workspace
|
|
49
|
+
* membership: a sibling member nobody depends on is not in the artifact
|
|
50
|
+
* and is left alone.
|
|
51
|
+
*/
|
|
52
|
+
export async function writeEmbeddedCrateVersions(startDir, version) {
|
|
53
|
+
// Canonicalize before anything is compared. Every directory discovered
|
|
54
|
+
// below arrives via `resolve`, so a caller-supplied `startDir` that is
|
|
55
|
+
// relative, trailing-separated, or (on Windows) drive-letter-less would
|
|
56
|
+
// never equal its own resolved form — and the identity checks that keep
|
|
57
|
+
// the walk finite and stop the starting crate being re-bumped are all
|
|
58
|
+
// string equality on these paths.
|
|
59
|
+
const start = resolve(startDir);
|
|
60
|
+
// Any non-string stands for "no workspace above this crate" — the walk
|
|
61
|
+
// legitimately returns null at the filesystem root.
|
|
62
|
+
const found = await findWorkspaceRoot(start);
|
|
63
|
+
const workspaceRoot = typeof found === 'string' ? found : null;
|
|
64
|
+
const workspaceParsed = workspaceRoot === null ? null : (await readManifest(workspaceRoot))?.parsed;
|
|
65
|
+
const embedded = await collectEmbedded(start, workspaceParsed, workspaceRoot);
|
|
66
|
+
const written = new Set();
|
|
67
|
+
// 1. Bump each embedded crate. `writeResolvedCargoVersion` follows
|
|
68
|
+
// `version.workspace = true` up to the workspace root (#428).
|
|
69
|
+
for (const dir of embedded) {
|
|
70
|
+
const manifest = await readManifest(dir);
|
|
71
|
+
// A virtual manifest declares `[workspace]` but no crate to version.
|
|
72
|
+
if (manifest === null || !hasPackageTable(manifest.parsed)) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
for (const p of await writeResolvedCargoVersion(dir, manifest.source, version)) {
|
|
76
|
+
written.add(p);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// 2. Rewrite requirements pointing at anything bumped. The workspace
|
|
80
|
+
// root is included because an inheriting member's requirement lives
|
|
81
|
+
// there, in a file no member's own rewrite would touch.
|
|
82
|
+
const bumped = new Set([...embedded, start]);
|
|
83
|
+
const manifestDirs = new Set([...embedded, start]);
|
|
84
|
+
if (workspaceRoot !== null) {
|
|
85
|
+
manifestDirs.add(workspaceRoot);
|
|
86
|
+
}
|
|
87
|
+
for (const dir of manifestDirs) {
|
|
88
|
+
const manifest = await readManifest(dir);
|
|
89
|
+
if (manifest === null) {
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
let updated = manifest.source;
|
|
93
|
+
for (const dep of resolveDepDirs(manifest.parsed, dir, workspaceParsed, workspaceRoot)) {
|
|
94
|
+
// A requirement is rewritten only when it points at a crate this run
|
|
95
|
+
// actually bumped. The workspace root routinely declares members the
|
|
96
|
+
// artifact never compiles; pinning those to the release version would
|
|
97
|
+
// name a version nothing produced.
|
|
98
|
+
if (!dep.hasVersionReq || !bumped.has(dep.dir)) {
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
updated = replaceDepVersionReq(updated, dep.key, version);
|
|
102
|
+
}
|
|
103
|
+
if (updated !== manifest.source) {
|
|
104
|
+
const cargoPath = join(dir, 'Cargo.toml');
|
|
105
|
+
await writeFile(cargoPath, updated, 'utf8');
|
|
106
|
+
written.add(cargoPath);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return [...written];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Breadth-first walk of path dependencies out of `startDir`. Returns the
|
|
113
|
+
* crates reached, excluding `startDir` — seeding `seen` with it also keeps
|
|
114
|
+
* a dependency cycle back to the start from re-queueing forever.
|
|
115
|
+
*/
|
|
116
|
+
async function collectEmbedded(startDir, workspaceParsed, workspaceRoot) {
|
|
117
|
+
const seen = new Set([startDir]);
|
|
118
|
+
const found = new Set();
|
|
119
|
+
const queue = [startDir];
|
|
120
|
+
while (queue.length > 0) {
|
|
121
|
+
const dir = queue.shift();
|
|
122
|
+
const manifest = await readManifest(dir);
|
|
123
|
+
if (manifest === null) {
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
for (const dep of resolveDepDirs(manifest.parsed, dir, workspaceParsed, workspaceRoot)) {
|
|
127
|
+
if (seen.has(dep.dir)) {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
seen.add(dep.dir);
|
|
131
|
+
found.add(dep.dir);
|
|
132
|
+
queue.push(dep.dir);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return found;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Read and parse `<dir>/Cargo.toml`. Returns null when the file is absent
|
|
139
|
+
* or unparseable — a path dependency can point at a directory that is not
|
|
140
|
+
* a crate, and an odd-but-writable manifest should not abort the release.
|
|
141
|
+
*
|
|
142
|
+
* ENOENT is caught rather than pre-checked with `existsSync` to avoid the
|
|
143
|
+
* TOCTOU shape CodeQL flags, matching the rest of the version-write path.
|
|
144
|
+
* Any other read failure surfaces unmodified.
|
|
145
|
+
*/
|
|
146
|
+
async function readManifest(dir) {
|
|
147
|
+
let source;
|
|
148
|
+
try {
|
|
149
|
+
source = await readFile(join(dir, 'Cargo.toml'), 'utf8');
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
if (err.code === 'ENOENT') {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
throw err;
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
return { source, parsed: parseToml(source) };
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* A virtual manifest declares `[workspace]` but no crate to version.
|
|
166
|
+
* `parsed` always comes from `readManifest`, which yields a parsed TOML
|
|
167
|
+
* document or null, so the null case never reaches here.
|
|
168
|
+
*/
|
|
169
|
+
function hasPackageTable(parsed) {
|
|
170
|
+
return typeof parsed.package === 'object';
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=write-embedded-crate-versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-embedded-crate-versions.js","sourceRoot":"","sources":["../src/write-embedded-crate-versions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-version.d.ts","sourceRoot":"","sources":["../src/write-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"write-version.d.ts","sourceRoot":"","sources":["../src/write-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAeH;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwD7F"}
|
package/dist/write-version.js
CHANGED
|
@@ -21,6 +21,7 @@ import { join } from 'node:path';
|
|
|
21
21
|
import { parse as parseToml } from 'smol-toml';
|
|
22
22
|
import { ErrorCodes } from './error-codes.js';
|
|
23
23
|
import { toError } from './to-error.js';
|
|
24
|
+
import { writeEmbeddedCrateVersions } from './write-embedded-crate-versions.js';
|
|
24
25
|
import { writeResolvedCargoVersion } from './write-resolved-cargo-version.js';
|
|
25
26
|
const DYNAMIC_VERSION_DOC_POINTER = 'https://thekevinscott.github.io/putitoutthere/guide/dynamic-versions';
|
|
26
27
|
/**
|
|
@@ -81,7 +82,12 @@ export async function writeVersionForBuild(pkgDir, version) {
|
|
|
81
82
|
}
|
|
82
83
|
throw toError(err);
|
|
83
84
|
}
|
|
84
|
-
|
|
85
|
+
const written = await writeResolvedCargoVersion(pkgDir, cargoOriginal, version);
|
|
86
|
+
// #621: the wheel embeds every in-repo crate the extension module pulls
|
|
87
|
+
// in by path. When the CLI lives in one of those (a Rust core wrapped by
|
|
88
|
+
// this pyo3 crate), its `CARGO_PKG_VERSION` is what `--version` prints.
|
|
89
|
+
const embedded = await writeEmbeddedCrateVersions(pkgDir, version);
|
|
90
|
+
return [...new Set([...written, ...embedded])];
|
|
85
91
|
}
|
|
86
92
|
function isDynamicVersion(project) {
|
|
87
93
|
const { dynamic } = project;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-version.js","sourceRoot":"","sources":["../src/write-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,2BAA2B,GAC/B,sEAAsE,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAAe;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,EAAE,EAAE;gBAC7E,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,aAAa,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,OAAO,GAAI,MAAiE,EAAE,OAAO,CAAC;IAC5F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kBAAkB,aAAa,2EAA2E,2BAA2B,GAAG,CACzI,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,IAAI,UAAU,CAAC,mBAAmB,oBAAoB,aAAa,mPAAmP,2BAA2B,GAAG,CACrV,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,kBAAkB,aAAa,sFAAsF,2BAA2B,GAAG,CACpJ,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,6FAA6F,SAAS,+GAA+G,EACrN,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,yBAAyB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"write-version.js","sourceRoot":"","sources":["../src/write-version.ts"],"names":[],"mappings":"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"}
|