putitoutthere 0.3.6 → 0.3.7
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/error-codes.d.ts +10 -0
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +11 -0
- package/dist/error-codes.js.map +1 -1
- package/dist/handlers/match-npm-name-too-similar.d.ts +29 -0
- package/dist/handlers/match-npm-name-too-similar.d.ts.map +1 -0
- package/dist/handlers/match-npm-name-too-similar.js +33 -0
- package/dist/handlers/match-npm-name-too-similar.js.map +1 -0
- package/dist/handlers/npm.d.ts.map +1 -1
- package/dist/handlers/npm.js +34 -0
- package/dist/handlers/npm.js.map +1 -1
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +16 -4
- package/dist/publish.js.map +1 -1
- package/dist/utils/exec-capture.js +1 -1
- package/dist/utils/exec-capture.js.map +1 -1
- package/dist/utils/exec-error.d.ts +12 -1
- package/dist/utils/exec-error.d.ts.map +1 -1
- package/dist/utils/exec-error.js +3 -0
- package/dist/utils/exec-error.js.map +1 -1
- package/dist/utils/exec-inherit.d.ts.map +1 -1
- package/dist/utils/exec-inherit.js +4 -2
- package/dist/utils/exec-inherit.js.map +1 -1
- package/dist/utils/find-exec-error.d.ts +3 -0
- package/dist/utils/find-exec-error.d.ts.map +1 -0
- package/dist/utils/find-exec-error.js +30 -0
- package/dist/utils/find-exec-error.js.map +1 -0
- package/package.json +6 -6
package/dist/error-codes.d.ts
CHANGED
|
@@ -45,6 +45,16 @@ export declare const ErrorCodes: {
|
|
|
45
45
|
* name. The npm analogue of PIOT_PYPI_NAME_MISMATCH /
|
|
46
46
|
* PIOT_CRATES_NAME_MISMATCH. #301. */
|
|
47
47
|
readonly NPM_NAME_MISMATCH: "PIOT_NPM_NAME_MISMATCH";
|
|
48
|
+
/** The npm registry refused to create the package name at all. npm's
|
|
49
|
+
* moniker rule compares names with punctuation stripped and case
|
|
50
|
+
* folded, so an existing `will-run` blocks a new `willrun` (scoped
|
|
51
|
+
* names are exempt). The refusal arrives auth-shaped — E403
|
|
52
|
+
* "Forbidden", the same shape a permission failure has — and on a
|
|
53
|
+
* first publish every condition the NODE_AUTH_TOKEN bootstrap hint
|
|
54
|
+
* checks also holds, so the engine used to send operators after a
|
|
55
|
+
* credential that could never work. Only the stderr prose tells the
|
|
56
|
+
* two apart. The fix is a rename or a scope, never a token. #617. */
|
|
57
|
+
readonly NPM_NAME_TOO_SIMILAR: "PIOT_NPM_NAME_TOO_SIMILAR";
|
|
48
58
|
/** A crates package's `Cargo.toml` is missing one or more
|
|
49
59
|
* required `[package]` metadata fields (`description` and
|
|
50
60
|
* `license`/`license-file`). crates.io rejects the publish with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,UAAU;IACrB;;;8CAG0C;;IAE1C;;;;;;kDAM8C;;IAE9C;;;;;0DAKsD;;IAEtD;;;;;;;2CAOuC;;IAEvC;;;;;;iCAM6B;;IAE7B;;;;;;;;qDAQiD;;IAEjD;;;;;yBAKqB;;IAErB;;;;gBAIY;;IAEZ;;;uDAGmD;;IAEnD;;;;kEAI8D;;IAE9D;;;;uEAImE;;IAEnE;;;;uBAImB;;IAEnB;;;;2BAIuB;;IAEvB;;;qEAGiE;;IAEjE;;;;;;kEAM8D;;IAE9D;;;;;;;8BAO0B;;IAE1B;;;;;;;gDAO4C;;IAE5C;;;;;yCAKqC;;CAE7B,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,UAAU;IACrB;;;8CAG0C;;IAE1C;;;;;;kDAM8C;;IAE9C;;;;;0DAKsD;;IAEtD;;;;;;;2CAOuC;;IAEvC;;;;;;;;0EAQsE;;IAEtE;;;;;;iCAM6B;;IAE7B;;;;;;;;qDAQiD;;IAEjD;;;;;yBAKqB;;IAErB;;;;gBAIY;;IAEZ;;;uDAGmD;;IAEnD;;;;kEAI8D;;IAE9D;;;;uEAImE;;IAEnE;;;;uBAImB;;IAEnB;;;;2BAIuB;;IAEvB;;;qEAGiE;;IAEjE;;;;;;kEAM8D;;IAE9D;;;;;;;8BAO0B;;IAE1B;;;;;;;gDAO4C;;IAE5C;;;;;yCAKqC;;CAE7B,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,SAAS,EAoB/C,CAAC"}
|
package/dist/error-codes.js
CHANGED
|
@@ -45,6 +45,16 @@ export const ErrorCodes = {
|
|
|
45
45
|
* name. The npm analogue of PIOT_PYPI_NAME_MISMATCH /
|
|
46
46
|
* PIOT_CRATES_NAME_MISMATCH. #301. */
|
|
47
47
|
NPM_NAME_MISMATCH: 'PIOT_NPM_NAME_MISMATCH',
|
|
48
|
+
/** The npm registry refused to create the package name at all. npm's
|
|
49
|
+
* moniker rule compares names with punctuation stripped and case
|
|
50
|
+
* folded, so an existing `will-run` blocks a new `willrun` (scoped
|
|
51
|
+
* names are exempt). The refusal arrives auth-shaped — E403
|
|
52
|
+
* "Forbidden", the same shape a permission failure has — and on a
|
|
53
|
+
* first publish every condition the NODE_AUTH_TOKEN bootstrap hint
|
|
54
|
+
* checks also holds, so the engine used to send operators after a
|
|
55
|
+
* credential that could never work. Only the stderr prose tells the
|
|
56
|
+
* two apart. The fix is a rename or a scope, never a token. #617. */
|
|
57
|
+
NPM_NAME_TOO_SIMILAR: 'PIOT_NPM_NAME_TOO_SIMILAR',
|
|
48
58
|
/** A crates package's `Cargo.toml` is missing one or more
|
|
49
59
|
* required `[package]` metadata fields (`description` and
|
|
50
60
|
* `license`/`license-file`). crates.io rejects the publish with
|
|
@@ -153,6 +163,7 @@ export const ALL_ERROR_CODES = [
|
|
|
153
163
|
ErrorCodes.PUBLISH_EMPTY_PLAN,
|
|
154
164
|
ErrorCodes.NPM_MISSING_REPOSITORY,
|
|
155
165
|
ErrorCodes.NPM_NAME_MISMATCH,
|
|
166
|
+
ErrorCodes.NPM_NAME_TOO_SIMILAR,
|
|
156
167
|
ErrorCodes.CRATES_MISSING_METADATA,
|
|
157
168
|
ErrorCodes.PYPI_STATIC_VERSION,
|
|
158
169
|
ErrorCodes.PYPI_NAME_MISMATCH,
|
package/dist/error-codes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB;;;8CAG0C;IAC1C,aAAa,EAAE,oBAAoB;IACnC;;;;;;kDAM8C;IAC9C,kBAAkB,EAAE,yBAAyB;IAC7C;;;;;0DAKsD;IACtD,sBAAsB,EAAE,6BAA6B;IACrD;;;;;;;2CAOuC;IACvC,iBAAiB,EAAE,wBAAwB;IAC3C;;;;;;iCAM6B;IAC7B,uBAAuB,EAAE,8BAA8B;IACvD;;;;;;;;qDAQiD;IACjD,mBAAmB,EAAE,0BAA0B;IAC/C;;;;;yBAKqB;IACrB,kBAAkB,EAAE,yBAAyB;IAC7C;;;;gBAIY;IACZ,2BAA2B,EAAE,kCAAkC;IAC/D;;;uDAGmD;IACnD,+BAA+B,EAAE,sCAAsC;IACvE;;;;kEAI8D;IAC9D,4BAA4B,EAAE,mCAAmC;IACjE;;;;uEAImE;IACnE,oBAAoB,EAAE,2BAA2B;IACjD;;;;uBAImB;IACnB,kBAAkB,EAAE,yBAAyB;IAC7C;;;;2BAIuB;IACvB,2BAA2B,EAAE,kCAAkC;IAC/D;;;qEAGiE;IACjE,iCAAiC,EAAE,wCAAwC;IAC3E;;;;;;kEAM8D;IAC9D,gCAAgC,EAAE,uCAAuC;IACzE;;;;;;;8BAO0B;IAC1B,wBAAwB,EAAE,+BAA+B;IACzD;;;;;;;gDAO4C;IAC5C,iBAAiB,EAAE,wBAAwB;IAC3C;;;;;yCAKqC;IACrC,YAAY,EAAE,mBAAmB;CACzB,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,UAAU,CAAC,aAAa;IACxB,UAAU,CAAC,kBAAkB;IAC7B,UAAU,CAAC,sBAAsB;IACjC,UAAU,CAAC,iBAAiB;IAC5B,UAAU,CAAC,uBAAuB;IAClC,UAAU,CAAC,mBAAmB;IAC9B,UAAU,CAAC,kBAAkB;IAC7B,UAAU,CAAC,2BAA2B;IACtC,UAAU,CAAC,+BAA+B;IAC1C,UAAU,CAAC,4BAA4B;IACvC,UAAU,CAAC,oBAAoB;IAC/B,UAAU,CAAC,kBAAkB;IAC7B,UAAU,CAAC,2BAA2B;IACtC,UAAU,CAAC,iCAAiC;IAC5C,UAAU,CAAC,gCAAgC;IAC3C,UAAU,CAAC,wBAAwB;IACnC,UAAU,CAAC,iBAAiB;IAC5B,UAAU,CAAC,YAAY;CACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB;;;8CAG0C;IAC1C,aAAa,EAAE,oBAAoB;IACnC;;;;;;kDAM8C;IAC9C,kBAAkB,EAAE,yBAAyB;IAC7C;;;;;0DAKsD;IACtD,sBAAsB,EAAE,6BAA6B;IACrD;;;;;;;2CAOuC;IACvC,iBAAiB,EAAE,wBAAwB;IAC3C;;;;;;;;0EAQsE;IACtE,oBAAoB,EAAE,2BAA2B;IACjD;;;;;;iCAM6B;IAC7B,uBAAuB,EAAE,8BAA8B;IACvD;;;;;;;;qDAQiD;IACjD,mBAAmB,EAAE,0BAA0B;IAC/C;;;;;yBAKqB;IACrB,kBAAkB,EAAE,yBAAyB;IAC7C;;;;gBAIY;IACZ,2BAA2B,EAAE,kCAAkC;IAC/D;;;uDAGmD;IACnD,+BAA+B,EAAE,sCAAsC;IACvE;;;;kEAI8D;IAC9D,4BAA4B,EAAE,mCAAmC;IACjE;;;;uEAImE;IACnE,oBAAoB,EAAE,2BAA2B;IACjD;;;;uBAImB;IACnB,kBAAkB,EAAE,yBAAyB;IAC7C;;;;2BAIuB;IACvB,2BAA2B,EAAE,kCAAkC;IAC/D;;;qEAGiE;IACjE,iCAAiC,EAAE,wCAAwC;IAC3E;;;;;;kEAM8D;IAC9D,gCAAgC,EAAE,uCAAuC;IACzE;;;;;;;8BAO0B;IAC1B,wBAAwB,EAAE,+BAA+B;IACzD;;;;;;;gDAO4C;IAC5C,iBAAiB,EAAE,wBAAwB;IAC3C;;;;;yCAKqC;IACrC,YAAY,EAAE,mBAAmB;CACzB,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,UAAU,CAAC,aAAa;IACxB,UAAU,CAAC,kBAAkB;IAC7B,UAAU,CAAC,sBAAsB;IACjC,UAAU,CAAC,iBAAiB;IAC5B,UAAU,CAAC,oBAAoB;IAC/B,UAAU,CAAC,uBAAuB;IAClC,UAAU,CAAC,mBAAmB;IAC9B,UAAU,CAAC,kBAAkB;IAC7B,UAAU,CAAC,2BAA2B;IACtC,UAAU,CAAC,+BAA+B;IAC1C,UAAU,CAAC,4BAA4B;IACvC,UAAU,CAAC,oBAAoB;IAC/B,UAAU,CAAC,kBAAkB;IAC7B,UAAU,CAAC,2BAA2B;IACtC,UAAU,CAAC,iCAAiC;IAC5C,UAAU,CAAC,gCAAgC;IAC3C,UAAU,CAAC,wBAAwB;IACnC,UAAU,CAAC,iBAAiB;IAC5B,UAAU,CAAC,YAAY;CACxB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Match npm's stderr shape when the registry refuses to *create* a package
|
|
3
|
+
* name under its moniker rule, and return the evidence. The fixture at
|
|
4
|
+
* `tests/integration/fixtures/registry-responses/npm/publish-e403-name-too-similar.txt`
|
|
5
|
+
* captures the canonical shape; the catalog at `notes/upstream-behaviors.md`
|
|
6
|
+
* is the source of truth for the contract.
|
|
7
|
+
*
|
|
8
|
+
* One anchor, not two. The crates-side `matchFirstPublishTpRejection` needs a
|
|
9
|
+
* pair because each of its anchors ("status 404", "does not exist") is generic
|
|
10
|
+
* enough to appear in unrelated cargo output; npm's "Package name too similar
|
|
11
|
+
* to existing package…" prose is already unique to this refusal, and pairing
|
|
12
|
+
* it with the `E403` code would only make the matcher miss the day npm
|
|
13
|
+
* renumbers the response. Both known wordings — the one that names the
|
|
14
|
+
* blocking package and the plural "existing packages" variant — differ only
|
|
15
|
+
* after this prefix.
|
|
16
|
+
*
|
|
17
|
+
* Matching on the prose is the whole point: the refusal arrives auth-shaped
|
|
18
|
+
* (E403 / "Forbidden"), so status-code matching cannot tell it apart from an
|
|
19
|
+
* ordinary permission failure. That confusion is #617 — the engine read one
|
|
20
|
+
* as the other and told an operator to bootstrap with a token, for a name no
|
|
21
|
+
* token can create.
|
|
22
|
+
*
|
|
23
|
+
* Returns the matched `stderr` verbatim (always non-empty, since the pattern
|
|
24
|
+
* cannot match an empty string) so callers can hoist it into the surfaced
|
|
25
|
+
* error without a dead empty-string fallback; returns `null` when the shape
|
|
26
|
+
* does not match or `stderr` is absent.
|
|
27
|
+
*/
|
|
28
|
+
export declare function matchNpmNameTooSimilar(stderr: string | undefined): string | null;
|
|
29
|
+
//# sourceMappingURL=match-npm-name-too-similar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"match-npm-name-too-similar.d.ts","sourceRoot":"","sources":["../../src/handlers/match-npm-name-too-similar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIhF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Match npm's stderr shape when the registry refuses to *create* a package
|
|
3
|
+
* name under its moniker rule, and return the evidence. The fixture at
|
|
4
|
+
* `tests/integration/fixtures/registry-responses/npm/publish-e403-name-too-similar.txt`
|
|
5
|
+
* captures the canonical shape; the catalog at `notes/upstream-behaviors.md`
|
|
6
|
+
* is the source of truth for the contract.
|
|
7
|
+
*
|
|
8
|
+
* One anchor, not two. The crates-side `matchFirstPublishTpRejection` needs a
|
|
9
|
+
* pair because each of its anchors ("status 404", "does not exist") is generic
|
|
10
|
+
* enough to appear in unrelated cargo output; npm's "Package name too similar
|
|
11
|
+
* to existing package…" prose is already unique to this refusal, and pairing
|
|
12
|
+
* it with the `E403` code would only make the matcher miss the day npm
|
|
13
|
+
* renumbers the response. Both known wordings — the one that names the
|
|
14
|
+
* blocking package and the plural "existing packages" variant — differ only
|
|
15
|
+
* after this prefix.
|
|
16
|
+
*
|
|
17
|
+
* Matching on the prose is the whole point: the refusal arrives auth-shaped
|
|
18
|
+
* (E403 / "Forbidden"), so status-code matching cannot tell it apart from an
|
|
19
|
+
* ordinary permission failure. That confusion is #617 — the engine read one
|
|
20
|
+
* as the other and told an operator to bootstrap with a token, for a name no
|
|
21
|
+
* token can create.
|
|
22
|
+
*
|
|
23
|
+
* Returns the matched `stderr` verbatim (always non-empty, since the pattern
|
|
24
|
+
* cannot match an empty string) so callers can hoist it into the surfaced
|
|
25
|
+
* error without a dead empty-string fallback; returns `null` when the shape
|
|
26
|
+
* does not match or `stderr` is absent.
|
|
27
|
+
*/
|
|
28
|
+
export function matchNpmNameTooSimilar(stderr) {
|
|
29
|
+
return stderr?.match(/package\s+name\s+too\s+similar\s+to\s+existing\s+packages?/i)
|
|
30
|
+
? stderr
|
|
31
|
+
: null;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=match-npm-name-too-similar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"match-npm-name-too-similar.js","sourceRoot":"","sources":["../../src/handlers/match-npm-name-too-similar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA0B;IAC/D,OAAO,MAAM,EAAE,KAAK,CAAC,6DAA6D,CAAC;QACjF,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CAAC;AACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAA6C,KAAK,OAAO,EAA2D,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAA6C,KAAK,OAAO,EAA2D,MAAM,aAAa,CAAC;AAoT/I;;;;;;;;;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
|
@@ -14,6 +14,7 @@ import { execCapture } from '../utils/exec-capture.js';
|
|
|
14
14
|
import { ExecError } from '../utils/exec-error.js';
|
|
15
15
|
import { detectIndent } from './detect-indent.js';
|
|
16
16
|
import { looksLikePublishOverRace, normalizeBuild, publishPlatforms, } from './npm-platform.js';
|
|
17
|
+
import { matchNpmNameTooSimilar } from './match-npm-name-too-similar.js';
|
|
17
18
|
import { matchTlogDuplicate } from './match-tlog-duplicate.js';
|
|
18
19
|
import { buildSubprocessEnv, nonEmpty } from '../env.js';
|
|
19
20
|
import { ErrorCodes } from '../error-codes.js';
|
|
@@ -165,6 +166,26 @@ async function publishImpl(pkg, version, ctx) {
|
|
|
165
166
|
`attestation. Re-run the release to mint a fresh attestation.` +
|
|
166
167
|
`\n${tlogStderr}`, { cause: err });
|
|
167
168
|
}
|
|
169
|
+
// npm's moniker rule: the registry compares names with punctuation
|
|
170
|
+
// stripped and case folded, so an existing `will-run` makes a new
|
|
171
|
+
// `willrun` unregistrable (scoped names are exempt). This must be
|
|
172
|
+
// checked BEFORE the bootstrap hint below, because on a first publish
|
|
173
|
+
// it wears the hint's exact shape — auth-shaped stderr, OIDC in play,
|
|
174
|
+
// package genuinely absent from the registry — and the hint is a lie
|
|
175
|
+
// here: no token can create this name. #617.
|
|
176
|
+
//
|
|
177
|
+
// Gated on neither OIDC nor the registry override: an unregistrable
|
|
178
|
+
// name is a naming problem on any auth path and any registry that
|
|
179
|
+
// enforces the rule.
|
|
180
|
+
const tooSimilarStderr = matchNpmNameTooSimilar(stderr);
|
|
181
|
+
if (tooSimilarStderr !== null) {
|
|
182
|
+
throw new Error([
|
|
183
|
+
`[${ErrorCodes.NPM_NAME_TOO_SIMILAR}] npm refused to create "${name}": the registry rejected the name as too similar to a package that already exists.`,
|
|
184
|
+
"This is a naming problem, not an auth problem — npm's moniker rule blocks a new name that differs from an existing one only by punctuation (`-`, `_`, `.`) or letter case, so no token and no trusted publisher can create it.",
|
|
185
|
+
`Fix: rename the package, or scope it (\`@your-scope/${name}\`) — scoped names are exempt — then update \`[[package]].name\` (or the \`npm\` override) in putitoutthere.toml and the \`name\` in package.json to match.`,
|
|
186
|
+
tooSimilarStderr,
|
|
187
|
+
].join('\n'), { cause: err });
|
|
188
|
+
}
|
|
168
189
|
// npm trusted publishing (OIDC) requires the package to already
|
|
169
190
|
// exist on the registry; the first-ever publish must go through a
|
|
170
191
|
// token. Detect that exact shape — auth failure + OIDC in play +
|
|
@@ -176,6 +197,14 @@ async function publishImpl(pkg, version, ctx) {
|
|
|
176
197
|
`npm publish: package "${name}" does not exist on registry.npmjs.org yet.`,
|
|
177
198
|
'npm trusted publishing requires the package to exist first.',
|
|
178
199
|
'Bootstrap by setting NODE_AUTH_TOKEN for the first publish; you can migrate to trusted publishing afterwards.',
|
|
200
|
+
// Keep the evidence. The hint reads the registry's *absence*
|
|
201
|
+
// of the package, not its reason for refusing, so it is a
|
|
202
|
+
// guess — an accurate one for the shape it was written for,
|
|
203
|
+
// and wrong for anything else that 404s the same way. Without
|
|
204
|
+
// npm's own words attached, a wrong guess is unfalsifiable:
|
|
205
|
+
// #617 cost four runs and two fresh tokens precisely because
|
|
206
|
+
// this Error replaced the stderr that said why.
|
|
207
|
+
stderr,
|
|
179
208
|
].join('\n'), { cause: err });
|
|
180
209
|
}
|
|
181
210
|
}
|
|
@@ -234,6 +263,11 @@ async function assertRepositoryField(path) {
|
|
|
234
263
|
* and telling that operator "the package does not exist, bootstrap with
|
|
235
264
|
* NODE_AUTH_TOKEN" would send them to abandon trusted publishing over a
|
|
236
265
|
* blip. #598.
|
|
266
|
+
*
|
|
267
|
+
* Typed as a predicate (`stderr is string`) because it already returns false
|
|
268
|
+
* for absent or empty stderr: the caller appends that stderr to the hint it
|
|
269
|
+
* raises (#617), and narrowing here is what keeps that append from needing a
|
|
270
|
+
* second, unreachable emptiness check of its own.
|
|
237
271
|
*/
|
|
238
272
|
function looksLikeAuthFailure(stderr) {
|
|
239
273
|
if (!stderr) {
|
package/dist/handlers/npm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"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"}
|
package/dist/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA4BH,OAAO,EAA6B,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA4BH,OAAO,EAA6B,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAIzF,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,0BAA0B;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;CACjD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,KAAK,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,aAAa,CAAC;QACtB;;;;;WAKG;QACH,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;CACJ;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA+M1E"}
|
package/dist/publish.js
CHANGED
|
@@ -32,6 +32,7 @@ import { requireAuth, requireCargoShape, requireCratesMetadata, requirePackageJs
|
|
|
32
32
|
import { withRetry } from './retry.js';
|
|
33
33
|
import { readHandlerMeta } from './types.js';
|
|
34
34
|
import { dumpFailure } from './verbose.js';
|
|
35
|
+
import { findExecError } from './utils/find-exec-error.js';
|
|
35
36
|
export async function publish(opts) {
|
|
36
37
|
const cwd = opts.cwd;
|
|
37
38
|
/* v8 ignore next -- tests always set explicit paths */
|
|
@@ -193,13 +194,24 @@ export async function publish(opts) {
|
|
|
193
194
|
// Phase 2 / Idea 9: handler-attached metadata (tool versions, etc.)
|
|
194
195
|
// rides through to the failure renderer.
|
|
195
196
|
const meta = readHandlerMeta(error);
|
|
197
|
+
// #617: describe the subprocess, not the sentence we wrapped it in.
|
|
198
|
+
// Handlers rethrow a rendered message with the seam's ExecError as
|
|
199
|
+
// `cause`, so reading `error.message` here reported an empty command,
|
|
200
|
+
// an empty stdout and exit code -1 — and dropped the tool's own words
|
|
201
|
+
// about why it failed. Walk back to the ExecError when there is one.
|
|
202
|
+
const exec = findExecError(error);
|
|
196
203
|
await dumpFailure(error, {
|
|
197
204
|
package: name,
|
|
198
205
|
handler: pkg.kind,
|
|
199
|
-
command: [],
|
|
200
|
-
stdout: '',
|
|
201
|
-
|
|
202
|
-
|
|
206
|
+
command: exec?.command ?? [],
|
|
207
|
+
stdout: exec?.stdout ?? '',
|
|
208
|
+
// No ExecError (a preflight throw, a config error) means there is
|
|
209
|
+
// no subprocess output to show; the rendered message is the whole
|
|
210
|
+
// diagnostic, so keep the old behaviour there. `status` is null
|
|
211
|
+
// when a spawn failed or a signal killed the child — nothing
|
|
212
|
+
// truthful to report but the sentinel.
|
|
213
|
+
stderr: exec?.stderr ?? error.message,
|
|
214
|
+
exitCode: exec?.status ?? -1,
|
|
203
215
|
...(meta?.toolVersions ? { toolVersions: meta.toolVersions } : {}),
|
|
204
216
|
},
|
|
205
217
|
// Thread ctx.env through so handler-injected credentials (OIDC-
|
package/dist/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,IAAI,EAAkB,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAA8C,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export function execCapture(cmd, args, opts = {}) {
|
|
|
15
15
|
if (err) {
|
|
16
16
|
const code = err.code;
|
|
17
17
|
const status = typeof code === 'number' ? code : null;
|
|
18
|
-
reject(new ExecError(err.message, stdout, stderr, status, { cause: err }));
|
|
18
|
+
reject(new ExecError(err.message, stdout, stderr, status, { cause: err, command: [cmd, ...args] }));
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
resolve({ stdout, stderr });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-capture.js","sourceRoot":"","sources":["../../src/utils/exec-capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAe5C;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,IAAuB,EACvB,OAA2B,EAAE;IAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CACN,GAAG,EACH,CAAC,GAAG,IAAI,CAAC,EACT,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAC7E,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtB,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAa,GAA0B,CAAC,IAAI,CAAC;gBACvD,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"exec-capture.js","sourceRoot":"","sources":["../../src/utils/exec-capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAe5C;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,IAAuB,EACvB,OAA2B,EAAE;IAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CACN,GAAG,EACH,CAAC,GAAG,IAAI,CAAC,EACT,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAC7E,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtB,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAa,GAA0B,CAAC,IAAI,CAAC;gBACvD,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpG,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9B,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -4,13 +4,24 @@
|
|
|
4
4
|
* Mirrors the fields call sites read off execFileSync errors:
|
|
5
5
|
* `status` (exit code) and captured `stdout`/`stderr` as strings.
|
|
6
6
|
*/
|
|
7
|
+
export interface ExecErrorOptions extends ErrorOptions {
|
|
8
|
+
/**
|
|
9
|
+
* argv of the failing command (`['npm', 'publish', '--access=public']`),
|
|
10
|
+
* when the seam recorded it. Carried so the failure dump can report what
|
|
11
|
+
* actually ran instead of an empty command — handlers wrap this error in
|
|
12
|
+
* a rendered message, and that message never holds the argv. #617.
|
|
13
|
+
*/
|
|
14
|
+
command?: readonly string[];
|
|
15
|
+
}
|
|
7
16
|
export declare class ExecError extends Error {
|
|
8
17
|
readonly stdout: string;
|
|
9
18
|
readonly stderr: string;
|
|
10
19
|
/** Exit code; null when killed by signal or failed to spawn (e.g. ENOENT). */
|
|
11
20
|
readonly status: number | null;
|
|
21
|
+
/** argv of the failing command; empty when the seam did not record it. */
|
|
22
|
+
readonly command: readonly string[];
|
|
12
23
|
constructor(message: string, stdout: string, stderr: string,
|
|
13
24
|
/** Exit code; null when killed by signal or failed to spawn (e.g. ENOENT). */
|
|
14
|
-
status: number | null, options?:
|
|
25
|
+
status: number | null, options?: ExecErrorOptions);
|
|
15
26
|
}
|
|
16
27
|
//# sourceMappingURL=exec-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-error.d.ts","sourceRoot":"","sources":["../../src/utils/exec-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"exec-error.d.ts","sourceRoot":"","sources":["../../src/utils/exec-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,SAAU,SAAQ,KAAK;IAMhC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IARhC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;gBAGlC,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;IACvB,8EAA8E;IACrE,MAAM,EAAE,MAAM,GAAG,IAAI,EAC9B,OAAO,CAAC,EAAE,gBAAgB;CAM7B"}
|
package/dist/utils/exec-error.js
CHANGED
|
@@ -8,6 +8,8 @@ export class ExecError extends Error {
|
|
|
8
8
|
stdout;
|
|
9
9
|
stderr;
|
|
10
10
|
status;
|
|
11
|
+
/** argv of the failing command; empty when the seam did not record it. */
|
|
12
|
+
command;
|
|
11
13
|
constructor(message, stdout, stderr,
|
|
12
14
|
/** Exit code; null when killed by signal or failed to spawn (e.g. ENOENT). */
|
|
13
15
|
status, options) {
|
|
@@ -16,6 +18,7 @@ export class ExecError extends Error {
|
|
|
16
18
|
this.stderr = stderr;
|
|
17
19
|
this.status = status;
|
|
18
20
|
this.name = 'ExecError';
|
|
21
|
+
this.command = options?.command ?? [];
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=exec-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-error.js","sourceRoot":"","sources":["../../src/utils/exec-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"exec-error.js","sourceRoot":"","sources":["../../src/utils/exec-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAMvB;IACA;IAEA;IARX,0EAA0E;IACjE,OAAO,CAAoB;IAEpC,YACE,OAAe,EACN,MAAc,EACd,MAAc;IACvB,8EAA8E;IACrE,MAAqB,EAC9B,OAA0B;QAE1B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QANf,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QAEd,WAAM,GAAN,MAAM,CAAe;QAI9B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-inherit.d.ts","sourceRoot":"","sources":["../../src/utils/exec-inherit.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IAGjC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"exec-inherit.d.ts","sourceRoot":"","sources":["../../src/utils/exec-inherit.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IAGjC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -11,14 +11,16 @@ export function execInherit(cmd, args, opts = {}) {
|
|
|
11
11
|
return new Promise((resolve, reject) => {
|
|
12
12
|
const child = spawn(cmd, [...args], { stdio: 'inherit', cwd: opts.cwd, env: opts.env });
|
|
13
13
|
child.on('error', (err) => {
|
|
14
|
-
reject(new ExecError(err.message, '', '', null, { cause: err }));
|
|
14
|
+
reject(new ExecError(err.message, '', '', null, { cause: err, command: [cmd, ...args] }));
|
|
15
15
|
});
|
|
16
16
|
child.on('close', (code) => {
|
|
17
17
|
if (code === 0) {
|
|
18
18
|
resolve();
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
-
reject(new ExecError(`Command failed: ${cmd} ${args.join(' ')}`, '', '', code
|
|
21
|
+
reject(new ExecError(`Command failed: ${cmd} ${args.join(' ')}`, '', '', code, {
|
|
22
|
+
command: [cmd, ...args],
|
|
23
|
+
}));
|
|
22
24
|
});
|
|
23
25
|
});
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-inherit.js","sourceRoot":"","sources":["../../src/utils/exec-inherit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,IAAuB,EACvB,OAA2B,EAAE;IAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"exec-inherit.js","sourceRoot":"","sources":["../../src/utils/exec-inherit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,IAAuB,EACvB,OAA2B,EAAE;IAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,MAAM,CACJ,IAAI,SAAS,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;gBACtE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aACxB,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-exec-error.d.ts","sourceRoot":"","sources":["../../src/utils/find-exec-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAkB5C,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAQ5D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ExecError } from './exec-error.js';
|
|
2
|
+
/**
|
|
3
|
+
* The `ExecError` a thrown error was built from, or null when none is in
|
|
4
|
+
* its cause chain.
|
|
5
|
+
*
|
|
6
|
+
* Handlers catch the seam's `ExecError` and rethrow a rendered message with
|
|
7
|
+
* the original as `cause` — which is the right shape for a human reading one
|
|
8
|
+
* line, and the wrong shape for the failure dump, which was reconstructing
|
|
9
|
+
* the subprocess from that rendered sentence and so reported an empty
|
|
10
|
+
* command, an empty stdout and exit code -1. Walking back to the `ExecError`
|
|
11
|
+
* recovers what actually ran. #617.
|
|
12
|
+
*
|
|
13
|
+
* Bounded depth: `cause` is caller-supplied and can be cyclic, and no real
|
|
14
|
+
* chain in this engine is more than a couple of links deep.
|
|
15
|
+
*/
|
|
16
|
+
const MAX_DEPTH = 10;
|
|
17
|
+
export function findExecError(err) {
|
|
18
|
+
let current = err;
|
|
19
|
+
for (let depth = 0; depth < MAX_DEPTH; depth++) {
|
|
20
|
+
if (current instanceof ExecError) {
|
|
21
|
+
return current;
|
|
22
|
+
}
|
|
23
|
+
if (!(current instanceof Error)) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
current = current.cause;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=find-exec-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-exec-error.js","sourceRoot":"","sources":["../../src/utils/find-exec-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;YAAA,OAAO,OAAO,CAAC;QAAA,CAAC;QACnD,IAAI,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,EAAE,CAAC;YAAA,OAAO,IAAI,CAAC;QAAA,CAAC;QAC/C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "putitoutthere",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.7",
|
|
4
4
|
"description": "Polyglot release orchestrator for crates.io, PyPI, and npm",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -41,20 +41,20 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@eslint/js": "^10.0.1",
|
|
43
43
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
44
|
-
"@types/node": "^26.
|
|
45
|
-
"@vercel/ncc": "^0.
|
|
44
|
+
"@types/node": "^26.2.0",
|
|
45
|
+
"@vercel/ncc": "^0.45.0",
|
|
46
46
|
"@vitest/coverage-v8": "^4.1.10",
|
|
47
|
-
"eslint": "^10.8.
|
|
47
|
+
"eslint": "^10.8.1",
|
|
48
48
|
"msw": "^2.15.0",
|
|
49
49
|
"typescript": "^6.0.3",
|
|
50
|
-
"typescript-eslint": "^8.
|
|
50
|
+
"typescript-eslint": "^8.67.0",
|
|
51
51
|
"vite": "^8.2.1",
|
|
52
52
|
"vitest": "^4.1.10",
|
|
53
53
|
"yaml": "^2.6.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"minimatch": "^10.2.6",
|
|
57
|
-
"smol-toml": "^1.
|
|
57
|
+
"smol-toml": "^1.8.0",
|
|
58
58
|
"zod": "^4.3.6"
|
|
59
59
|
}
|
|
60
60
|
}
|