putitoutthere 0.2.68 → 0.2.70

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.
Files changed (209) hide show
  1. package/dist/advance-floating-major.d.ts +1 -2
  2. package/dist/advance-floating-major.d.ts.map +1 -1
  3. package/dist/advance-floating-major.js +8 -9
  4. package/dist/advance-floating-major.js.map +1 -1
  5. package/dist/advance-v0.d.ts +3 -4
  6. package/dist/advance-v0.d.ts.map +1 -1
  7. package/dist/advance-v0.js +5 -6
  8. package/dist/advance-v0.js.map +1 -1
  9. package/dist/check-crate-size.d.ts +1 -1
  10. package/dist/check-crate-size.d.ts.map +1 -1
  11. package/dist/check-crate-size.js +22 -13
  12. package/dist/check-crate-size.js.map +1 -1
  13. package/dist/check.d.ts +1 -1
  14. package/dist/check.d.ts.map +1 -1
  15. package/dist/check.js +55 -68
  16. package/dist/check.js.map +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +12 -11
  19. package/dist/cli.js.map +1 -1
  20. package/dist/completeness.d.ts +2 -2
  21. package/dist/completeness.d.ts.map +1 -1
  22. package/dist/completeness.js +13 -12
  23. package/dist/completeness.js.map +1 -1
  24. package/dist/config.d.ts +1 -1
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +6 -9
  27. package/dist/config.js.map +1 -1
  28. package/dist/ensure-tag.d.ts +1 -1
  29. package/dist/ensure-tag.d.ts.map +1 -1
  30. package/dist/ensure-tag.js +4 -4
  31. package/dist/ensure-tag.js.map +1 -1
  32. package/dist/find-workspace-root.d.ts +1 -1
  33. package/dist/find-workspace-root.d.ts.map +1 -1
  34. package/dist/find-workspace-root.js +3 -3
  35. package/dist/find-workspace-root.js.map +1 -1
  36. package/dist/fold-action-bundle.d.ts +1 -1
  37. package/dist/fold-action-bundle.d.ts.map +1 -1
  38. package/dist/fold-action-bundle.js +5 -5
  39. package/dist/fold-action-bundle.js.map +1 -1
  40. package/dist/force-move-tag.d.ts +1 -1
  41. package/dist/force-move-tag.d.ts.map +1 -1
  42. package/dist/force-move-tag.js +3 -3
  43. package/dist/force-move-tag.js.map +1 -1
  44. package/dist/git.d.ts +19 -21
  45. package/dist/git.d.ts.map +1 -1
  46. package/dist/git.js +42 -48
  47. package/dist/git.js.map +1 -1
  48. package/dist/glob.d.ts +1 -1
  49. package/dist/glob.d.ts.map +1 -1
  50. package/dist/glob.js +17 -7
  51. package/dist/glob.js.map +1 -1
  52. package/dist/handlers/crates.d.ts +1 -1
  53. package/dist/handlers/crates.d.ts.map +1 -1
  54. package/dist/handlers/crates.js +26 -34
  55. package/dist/handlers/crates.js.map +1 -1
  56. package/dist/handlers/npm-platform.d.ts.map +1 -1
  57. package/dist/handlers/npm-platform.js +34 -36
  58. package/dist/handlers/npm-platform.js.map +1 -1
  59. package/dist/handlers/npm.d.ts.map +1 -1
  60. package/dist/handlers/npm.js +21 -27
  61. package/dist/handlers/npm.js.map +1 -1
  62. package/dist/handlers/pypi.d.ts.map +1 -1
  63. package/dist/handlers/pypi.js +11 -17
  64. package/dist/handlers/pypi.js.map +1 -1
  65. package/dist/normalize-artifacts.d.ts +1 -1
  66. package/dist/normalize-artifacts.d.ts.map +1 -1
  67. package/dist/normalize-artifacts.js +8 -7
  68. package/dist/normalize-artifacts.js.map +1 -1
  69. package/dist/plan-status.js +1 -1
  70. package/dist/plan-status.js.map +1 -1
  71. package/dist/plan.d.ts.map +1 -1
  72. package/dist/plan.js +27 -27
  73. package/dist/plan.js.map +1 -1
  74. package/dist/preflight.d.ts +14 -14
  75. package/dist/preflight.d.ts.map +1 -1
  76. package/dist/preflight.js +56 -56
  77. package/dist/preflight.js.map +1 -1
  78. package/dist/publish.js +14 -14
  79. package/dist/publish.js.map +1 -1
  80. package/dist/python-versions.d.ts +1 -1
  81. package/dist/python-versions.d.ts.map +1 -1
  82. package/dist/python-versions.js +5 -5
  83. package/dist/python-versions.js.map +1 -1
  84. package/dist/reconcile.js +3 -3
  85. package/dist/reconcile.js.map +1 -1
  86. package/dist/release-github/gh-release-create.d.ts +1 -1
  87. package/dist/release-github/gh-release-create.d.ts.map +1 -1
  88. package/dist/release-github/gh-release-create.js +3 -4
  89. package/dist/release-github/gh-release-create.js.map +1 -1
  90. package/dist/release-github/gh-release-exists.d.ts +1 -1
  91. package/dist/release-github/gh-release-exists.d.ts.map +1 -1
  92. package/dist/release-github/gh-release-exists.js +3 -3
  93. package/dist/release-github/gh-release-exists.js.map +1 -1
  94. package/dist/release-github/index.d.ts +4 -5
  95. package/dist/release-github/index.d.ts.map +1 -1
  96. package/dist/release-github/index.js +8 -9
  97. package/dist/release-github/index.js.map +1 -1
  98. package/dist/resolve-tag-commit.d.ts +2 -2
  99. package/dist/resolve-tag-commit.d.ts.map +1 -1
  100. package/dist/resolve-tag-commit.js +4 -4
  101. package/dist/resolve-tag-commit.js.map +1 -1
  102. package/dist/status.js +2 -2
  103. package/dist/status.js.map +1 -1
  104. package/dist/to-error.d.ts +17 -0
  105. package/dist/to-error.d.ts.map +1 -0
  106. package/dist/to-error.js +19 -0
  107. package/dist/to-error.js.map +1 -0
  108. package/dist/utils/exec-capture.d.ts +20 -0
  109. package/dist/utils/exec-capture.d.ts.map +1 -0
  110. package/dist/utils/exec-capture.js +25 -0
  111. package/dist/utils/exec-capture.js.map +1 -0
  112. package/dist/utils/exec-error.d.ts +16 -0
  113. package/dist/utils/exec-error.d.ts.map +1 -0
  114. package/dist/utils/exec-error.js +21 -0
  115. package/dist/utils/exec-error.js.map +1 -0
  116. package/dist/utils/exec-inherit.d.ts +13 -0
  117. package/dist/utils/exec-inherit.d.ts.map +1 -0
  118. package/dist/utils/exec-inherit.js +25 -0
  119. package/dist/utils/exec-inherit.js.map +1 -0
  120. package/dist/utils/list-files-recursive.d.ts +2 -2
  121. package/dist/utils/list-files-recursive.d.ts.map +1 -1
  122. package/dist/utils/list-files-recursive.js +7 -6
  123. package/dist/utils/list-files-recursive.js.map +1 -1
  124. package/dist/utils/path-exists.d.ts +3 -0
  125. package/dist/utils/path-exists.d.ts.map +1 -0
  126. package/dist/utils/path-exists.js +12 -0
  127. package/dist/utils/path-exists.js.map +1 -0
  128. package/dist/utils/sleep.d.ts +3 -0
  129. package/dist/utils/sleep.d.ts.map +1 -0
  130. package/dist/utils/sleep.js +5 -0
  131. package/dist/utils/sleep.js.map +1 -0
  132. package/dist/verbose.d.ts +1 -1
  133. package/dist/verbose.d.ts.map +1 -1
  134. package/dist/verbose.js +5 -5
  135. package/dist/verbose.js.map +1 -1
  136. package/dist/verify/bundle-cli/index.d.ts +2 -2
  137. package/dist/verify/bundle-cli/index.d.ts.map +1 -1
  138. package/dist/verify/bundle-cli/index.js +6 -6
  139. package/dist/verify/bundle-cli/index.js.map +1 -1
  140. package/dist/verify/bundle-cli/read-python-source.d.ts +1 -1
  141. package/dist/verify/bundle-cli/read-python-source.d.ts.map +1 -1
  142. package/dist/verify/bundle-cli/read-python-source.js +5 -4
  143. package/dist/verify/bundle-cli/read-python-source.js.map +1 -1
  144. package/dist/verify/crate/extract-crate.d.ts +1 -1
  145. package/dist/verify/crate/extract-crate.d.ts.map +1 -1
  146. package/dist/verify/crate/extract-crate.js +5 -5
  147. package/dist/verify/crate/extract-crate.js.map +1 -1
  148. package/dist/verify/crate/find-crate-file.d.ts +1 -1
  149. package/dist/verify/crate/find-crate-file.d.ts.map +1 -1
  150. package/dist/verify/crate/find-crate-file.js +4 -4
  151. package/dist/verify/crate/find-crate-file.js.map +1 -1
  152. package/dist/verify/crate/has-crate-source.d.ts +1 -1
  153. package/dist/verify/crate/has-crate-source.d.ts.map +1 -1
  154. package/dist/verify/crate/has-crate-source.js +2 -2
  155. package/dist/verify/crate/has-crate-source.js.map +1 -1
  156. package/dist/verify/crate/index.d.ts +2 -2
  157. package/dist/verify/crate/index.d.ts.map +1 -1
  158. package/dist/verify/crate/index.js +8 -8
  159. package/dist/verify/crate/index.js.map +1 -1
  160. package/dist/verify/npm-tarball/download.d.ts +2 -2
  161. package/dist/verify/npm-tarball/download.d.ts.map +1 -1
  162. package/dist/verify/npm-tarball/download.js +7 -7
  163. package/dist/verify/npm-tarball/download.js.map +1 -1
  164. package/dist/verify/npm-tarball/local-dir-state.d.ts +1 -1
  165. package/dist/verify/npm-tarball/local-dir-state.d.ts.map +1 -1
  166. package/dist/verify/npm-tarball/local-dir-state.js +5 -4
  167. package/dist/verify/npm-tarball/local-dir-state.js.map +1 -1
  168. package/dist/verify/npm-tarball/main.d.ts.map +1 -1
  169. package/dist/verify/npm-tarball/main.js +8 -7
  170. package/dist/verify/npm-tarball/main.js.map +1 -1
  171. package/dist/verify/npm-tarball/resolve-url.js +4 -4
  172. package/dist/verify/npm-tarball/resolve-url.js.map +1 -1
  173. package/dist/verify/npm-tarball/triple.js +5 -5
  174. package/dist/verify/npm-tarball/triple.js.map +1 -1
  175. package/dist/verify/posture.js +1 -1
  176. package/dist/verify/posture.js.map +1 -1
  177. package/dist/verify/wheel/find-dist-file.d.ts +1 -1
  178. package/dist/verify/wheel/find-dist-file.d.ts.map +1 -1
  179. package/dist/verify/wheel/find-dist-file.js +6 -5
  180. package/dist/verify/wheel/find-dist-file.js.map +1 -1
  181. package/dist/verify/wheel/index.d.ts +2 -2
  182. package/dist/verify/wheel/index.d.ts.map +1 -1
  183. package/dist/verify/wheel/index.js +8 -7
  184. package/dist/verify/wheel/index.js.map +1 -1
  185. package/dist/verify/wheel/read-wheel-version.d.ts +1 -1
  186. package/dist/verify/wheel/read-wheel-version.d.ts.map +1 -1
  187. package/dist/verify/wheel/read-wheel-version.js +3 -3
  188. package/dist/verify/wheel/read-wheel-version.js.map +1 -1
  189. package/dist/wheel-abi.d.ts +2 -2
  190. package/dist/wheel-abi.d.ts.map +1 -1
  191. package/dist/wheel-abi.js +7 -7
  192. package/dist/wheel-abi.js.map +1 -1
  193. package/dist/write-crate-version.d.ts +1 -1
  194. package/dist/write-crate-version.d.ts.map +1 -1
  195. package/dist/write-crate-version.js +4 -4
  196. package/dist/write-crate-version.js.map +1 -1
  197. package/dist/write-launcher.d.ts +2 -2
  198. package/dist/write-launcher.d.ts.map +1 -1
  199. package/dist/write-launcher.js +9 -9
  200. package/dist/write-launcher.js.map +1 -1
  201. package/dist/write-resolved-cargo-version.d.ts +1 -1
  202. package/dist/write-resolved-cargo-version.d.ts.map +1 -1
  203. package/dist/write-resolved-cargo-version.js +6 -6
  204. package/dist/write-resolved-cargo-version.js.map +1 -1
  205. package/dist/write-version.d.ts +1 -1
  206. package/dist/write-version.d.ts.map +1 -1
  207. package/dist/write-version.js +9 -12
  208. package/dist/write-version.js.map +1 -1
  209. package/package.json +1 -1
@@ -1,23 +1,24 @@
1
1
  /**
2
2
  * Absolute paths of every regular file under `dir`, recursively. The
3
- * synchronous analogue of the `find "$dir" -type f` the extracted bash
3
+ * async analogue of the `find "$dir" -type f` the extracted bash
4
4
  * used for both the tarball-content file counts and the local-state
5
5
  * diagnostics (#443).
6
6
  *
7
7
  * Returns `[]` for a missing path, mirroring `find`'s tolerance
8
8
  * (`2>/dev/null`).
9
9
  */
10
- import { existsSync, readdirSync } from 'node:fs';
10
+ import { readdir } from 'node:fs/promises';
11
11
  import { join } from 'node:path';
12
- export function listFilesRecursive(dir) {
13
- if (!existsSync(dir)) {
12
+ import { pathExists } from './path-exists.js';
13
+ export async function listFilesRecursive(dir) {
14
+ if (!(await pathExists(dir))) {
14
15
  return [];
15
16
  }
16
17
  const out = [];
17
- for (const entry of readdirSync(dir, { withFileTypes: true })) {
18
+ for (const entry of await readdir(dir, { withFileTypes: true })) {
18
19
  const abs = join(dir, entry.name);
19
20
  if (entry.isDirectory()) {
20
- out.push(...listFilesRecursive(abs));
21
+ out.push(...(await listFilesRecursive(abs)));
21
22
  }
22
23
  else if (entry.isFile()) {
23
24
  out.push(abs);
@@ -1 +1 @@
1
- {"version":3,"file":"list-files-recursive.js","sourceRoot":"","sources":["../../src/utils/list-files-recursive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAA,OAAO,EAAE,CAAC;IAAA,CAAC;IAClC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"list-files-recursive.js","sourceRoot":"","sources":["../../src/utils/list-files-recursive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAClD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAAA,OAAO,EAAE,CAAC;IAAA,CAAC;IAC1C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Async replacement for `existsSync` (node:fs/promises has no exists). */
2
+ export declare function pathExists(path: string): Promise<boolean>;
3
+ //# sourceMappingURL=path-exists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-exists.d.ts","sourceRoot":"","sources":["../../src/utils/path-exists.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO/D"}
@@ -0,0 +1,12 @@
1
+ import { stat } from 'node:fs/promises';
2
+ /** Async replacement for `existsSync` (node:fs/promises has no exists). */
3
+ export async function pathExists(path) {
4
+ try {
5
+ await stat(path);
6
+ return true;
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ }
12
+ //# sourceMappingURL=path-exists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-exists.js","sourceRoot":"","sources":["../../src/utils/path-exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** `await sleep(ms)` — replaces `execFileSync('sleep', [n])`-style blocking waits. */
2
+ export declare function sleep(ms: number): Promise<void>;
3
+ //# sourceMappingURL=sleep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../src/utils/sleep.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -0,0 +1,5 @@
1
+ /** `await sleep(ms)` — replaces `execFileSync('sleep', [n])`-style blocking waits. */
2
+ export function sleep(ms) {
3
+ return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
4
+ }
5
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/utils/sleep.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
package/dist/verbose.d.ts CHANGED
@@ -54,5 +54,5 @@ export interface DumpOptions {
54
54
  */
55
55
  envSources?: readonly EnvSource[];
56
56
  }
57
- export declare function dumpFailure(err: Error, ctx: FailureContext, opts: DumpOptions): void;
57
+ export declare function dumpFailure(err: Error, ctx: FailureContext, opts: DumpOptions): Promise<void>;
58
58
  //# sourceMappingURL=verbose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verbose.d.ts","sourceRoot":"","sources":["../src/verbose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACnC;AAKD,wBAAgB,WAAW,CACzB,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,WAAW,GAChB,IAAI,CA6BN"}
1
+ {"version":3,"file":"verbose.d.ts","sourceRoot":"","sources":["../src/verbose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACnC;AAKD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
package/dist/verbose.js CHANGED
@@ -10,11 +10,11 @@
10
10
  *
11
11
  * Issue #15.
12
12
  */
13
- import { appendFileSync } from 'node:fs';
13
+ import { appendFile } from 'node:fs/promises';
14
14
  import { redact } from './log.js';
15
15
  const SUMMARY_CAP = 4 * 1024 * 1024; // GHA job-summary ceiling: 1 MiB per step, 20 MiB total. Cap at 4 MiB to stay well under on a single failure.
16
16
  const TRUNC_NOTE = '\n\n_… truncated. Run `gh run view --log` for the full log._\n';
17
- export function dumpFailure(err, ctx, opts) {
17
+ export async function dumpFailure(err, ctx, opts) {
18
18
  // Default redact() already scans process.env. When callers supply
19
19
  // additional envSources (ctx.env from publish.ts, or a per-handler
20
20
  // env layer), prepend process.env so both get scanned and the cache
@@ -23,7 +23,7 @@ export function dumpFailure(err, ctx, opts) {
23
23
  ? [process.env, ...opts.envSources]
24
24
  : undefined;
25
25
  const md = redact(renderMarkdown(err, ctx), sources);
26
- writeSummary(truncate(md));
26
+ await writeSummary(truncate(md));
27
27
  // Phase 3 / Idea 6. The markdown summary above is auth-gated on
28
28
  // private repos and not always reachable to a foreign agent helping
29
29
  // debug from outside; a workflow-command annotation written to
@@ -124,11 +124,11 @@ function truncate(md) {
124
124
  const head = md.slice(0, SUMMARY_CAP - TRUNC_NOTE.length);
125
125
  return head + TRUNC_NOTE;
126
126
  }
127
- function writeSummary(md) {
127
+ async function writeSummary(md) {
128
128
  const path = process.env.GITHUB_STEP_SUMMARY;
129
129
  if (!path) {
130
130
  return;
131
131
  } // local runs / non-GHA CI — summary is a no-op
132
- appendFileSync(path, md, 'utf8');
132
+ await appendFile(path, md, 'utf8');
133
133
  }
134
134
  //# sourceMappingURL=verbose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verbose.js","sourceRoot":"","sources":["../src/verbose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verbose.js","sourceRoot":"","sources":["../src/verbose.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,9 @@
17
17
  * the pure-Node reader `verify wheel` (#450) already ships — no `unzip`, so
18
18
  * this runs on every platform the maturin matrix builds on, Windows
19
19
  * included — and the match mirrors the bash `grep -qE
20
- * "(^|/)<stage_suffix>/<expected>$"`. Synchronous throughout. Returns the
20
+ * "(^|/)<stage_suffix>/<expected>$"`. Async throughout. Returns the
21
21
  * process exit code (0 ok, 1 on a miss).
22
22
  */
23
23
  import type { VerifyBundleCliOptions } from './types.js';
24
- export declare function verifyBundleCli(opts: VerifyBundleCliOptions): number;
24
+ export declare function verifyBundleCli(opts: VerifyBundleCliOptions): Promise<number>;
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CA4CpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAsB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CnF"}
@@ -17,24 +17,24 @@
17
17
  * the pure-Node reader `verify wheel` (#450) already ships — no `unzip`, so
18
18
  * this runs on every platform the maturin matrix builds on, Windows
19
19
  * included — and the match mirrors the bash `grep -qE
20
- * "(^|/)<stage_suffix>/<expected>$"`. Synchronous throughout. Returns the
20
+ * "(^|/)<stage_suffix>/<expected>$"`. Async throughout. Returns the
21
21
  * process exit code (0 ok, 1 on a miss).
22
22
  */
23
- import { readFileSync } from 'node:fs';
23
+ import { readFile } from 'node:fs/promises';
24
24
  import { basename, isAbsolute, join, resolve } from 'node:path';
25
25
  import { findDistFile } from '../wheel/find-dist-file.js';
26
26
  import { readZipEntry } from '../wheel/read-zip-entry.js';
27
27
  import { computeStageSuffix } from './compute-stage-suffix.js';
28
28
  import { readPythonSource } from './read-python-source.js';
29
- export function verifyBundleCli(opts) {
29
+ export async function verifyBundleCli(opts) {
30
30
  const pkgDir = isAbsolute(opts.path) ? opts.path : resolve(opts.cwd, opts.path);
31
31
  const distDir = join(pkgDir, 'dist');
32
- const wheel = findDistFile(distDir, '.whl');
32
+ const wheel = await findDistFile(distDir, '.whl');
33
33
  if (wheel === null) {
34
34
  process.stdout.write(`::error::no wheel produced under ${distDir}\n`);
35
35
  return 1;
36
36
  }
37
- const stageSuffix = computeStageSuffix(opts.stageTo, readPythonSource(pkgDir));
37
+ const stageSuffix = computeStageSuffix(opts.stageTo, await readPythonSource(pkgDir));
38
38
  const ext = opts.target.includes('windows') ? '.exe' : '';
39
39
  const expected = `${opts.bin}${ext}`;
40
40
  const suffix = `${stageSuffix}/${expected}`;
@@ -50,7 +50,7 @@ export function verifyBundleCli(opts) {
50
50
  // every name for the diagnostic listing the bash dumps with `unzip -l`; on
51
51
  // a hit it short-circuits, and the listing is not needed.
52
52
  const entries = [];
53
- const present = readZipEntry(readFileSync(wheel), (name) => {
53
+ const present = readZipEntry(await readFile(wheel), (name) => {
54
54
  entries.push(name);
55
55
  return `/${name}`.endsWith(`/${suffix}`);
56
56
  }) !== null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAE5C,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QACzD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,KAAK,IAAI,CAAC;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,IAAI,iCAAiC,MAAM,IAAI,CAClE,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,eAAe,IAAI,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAA4B;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAE5C,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,KAAK,IAAI,CAAC;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,IAAI,iCAAiC,MAAM,IAAI,CAClE,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,eAAe,IAAI,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -12,5 +12,5 @@
12
12
  * accepted either across releases. Normalization mirrors the bash: drop a
13
13
  * single leading `./` and any trailing slashes.
14
14
  */
15
- export declare function readPythonSource(pkgDir: string): string;
15
+ export declare function readPythonSource(pkgDir: string): Promise<string>;
16
16
  //# sourceMappingURL=read-python-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-python-source.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUvD"}
1
+ {"version":3,"file":"read-python-source.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUtE"}
@@ -12,15 +12,16 @@
12
12
  * accepted either across releases. Normalization mirrors the bash: drop a
13
13
  * single leading `./` and any trailing slashes.
14
14
  */
15
- import { existsSync, readFileSync } from 'node:fs';
15
+ import { readFile } from 'node:fs/promises';
16
16
  import { join } from 'node:path';
17
17
  import { parse as parseToml } from 'smol-toml';
18
- export function readPythonSource(pkgDir) {
18
+ import { pathExists } from '../../utils/path-exists.js';
19
+ export async function readPythonSource(pkgDir) {
19
20
  const pyproject = join(pkgDir, 'pyproject.toml');
20
- if (!existsSync(pyproject)) {
21
+ if (!(await pathExists(pyproject))) {
21
22
  return '';
22
23
  }
23
- const cfg = parseToml(readFileSync(pyproject, 'utf8'));
24
+ const cfg = parseToml(await readFile(pyproject, 'utf8'));
24
25
  const maturin = cfg.tool?.maturin;
25
26
  const raw = maturin?.['python-source'] ?? maturin?.python_source;
26
27
  const src = typeof raw === 'string' ? raw : '';
@@ -1 +1 @@
1
- {"version":3,"file":"read-python-source.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAM/C,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAgC,CAAC;IACtF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,OAAO,EAAE,aAAa,CAAC;IACjE,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"read-python-source.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;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,4BAA4B,CAAC;AAMxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAgC,CAAC;IACxF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,OAAO,EAAE,aAAa,CAAC;IACjE,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC"}
@@ -2,5 +2,5 @@
2
2
  * Extract a `.crate` (a gzipped tar) into a fresh temp dir and return it
3
3
  * (#449). Caller owns cleanup. The real `tar -xzf` mirrors the bash.
4
4
  */
5
- export declare function extractCrate(crateFile: string): string;
5
+ export declare function extractCrate(crateFile: string): Promise<string>;
6
6
  //# sourceMappingURL=extract-crate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-crate.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/extract-crate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAItD"}
1
+ {"version":3,"file":"extract-crate.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/extract-crate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIrE"}
@@ -2,13 +2,13 @@
2
2
  * Extract a `.crate` (a gzipped tar) into a fresh temp dir and return it
3
3
  * (#449). Caller owns cleanup. The real `tar -xzf` mirrors the bash.
4
4
  */
5
- import { execFileSync } from 'node:child_process';
6
- import { mkdtempSync } from 'node:fs';
5
+ import { mkdtemp } from 'node:fs/promises';
7
6
  import { tmpdir } from 'node:os';
8
7
  import { join } from 'node:path';
9
- export function extractCrate(crateFile) {
10
- const dir = mkdtempSync(join(tmpdir(), 'piot-crate-'));
11
- execFileSync('tar', ['-xzf', crateFile, '-C', dir]);
8
+ import { execCapture } from '../../utils/exec-capture.js';
9
+ export async function extractCrate(crateFile) {
10
+ const dir = await mkdtemp(join(tmpdir(), 'piot-crate-'));
11
+ await execCapture('tar', ['-xzf', crateFile, '-C', dir]);
12
12
  return dir;
13
13
  }
14
14
  //# sourceMappingURL=extract-crate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-crate.js","sourceRoot":"","sources":["../../../src/verify/crate/extract-crate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IACvD,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"extract-crate.js","sourceRoot":"","sources":["../../../src/verify/crate/extract-crate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAiB;IAClD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -8,5 +8,5 @@
8
8
  * registry` stores `.crate` files nested under the root, so the search
9
9
  * recurses.
10
10
  */
11
- export declare function findCrateFile(registryRoot: string, name: string, version: string): string | null;
11
+ export declare function findCrateFile(registryRoot: string, name: string, version: string): Promise<string | null>;
12
12
  //# sourceMappingURL=find-crate-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-crate-file.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAQf"}
1
+ {"version":3,"file":"find-crate-file.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB"}
@@ -8,13 +8,13 @@
8
8
  * registry` stores `.crate` files nested under the root, so the search
9
9
  * recurses.
10
10
  */
11
- import { statSync } from 'node:fs';
11
+ import { stat } from 'node:fs/promises';
12
12
  import { basename } from 'node:path';
13
13
  import { listFilesRecursive } from '../../utils/list-files-recursive.js';
14
- export function findCrateFile(registryRoot, name, version) {
14
+ export async function findCrateFile(registryRoot, name, version) {
15
15
  const target = `${name}-${version}.crate`;
16
- for (const file of listFilesRecursive(registryRoot)) {
17
- if (basename(file) === target && statSync(file).size > 0) {
16
+ for (const file of await listFilesRecursive(registryRoot)) {
17
+ if (basename(file) === target && (await stat(file)).size > 0) {
18
18
  return file;
19
19
  }
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"find-crate-file.js","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,UAAU,aAAa,CAC3B,YAAoB,EACpB,IAAY,EACZ,OAAe;IAEf,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,QAAQ,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"find-crate-file.js","sourceRoot":"","sources":["../../../src/verify/crate/find-crate-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAAoB,EACpB,IAAY,EACZ,OAAe;IAEf,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,QAAQ,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -6,5 +6,5 @@
6
6
  * This is the crates-side of the npm verify's "files[] dir is populated"
7
7
  * check: proof the publish shipped the source tree, not an empty tarball.
8
8
  */
9
- export declare function hasCrateSource(dir: string): boolean;
9
+ export declare function hasCrateSource(dir: string): Promise<boolean>;
10
10
  //# sourceMappingURL=has-crate-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"has-crate-source.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASnD"}
1
+ {"version":3,"file":"has-crate-source.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE"}
@@ -8,12 +8,12 @@
8
8
  */
9
9
  import { basename, dirname } from 'node:path';
10
10
  import { listFilesRecursive } from '../../utils/list-files-recursive.js';
11
- export function hasCrateSource(dir) {
11
+ export async function hasCrateSource(dir) {
12
12
  // Match a `lib.rs` / `main.rs` whose parent dir is `src`, via
13
13
  // basename/dirname rather than a `/src/…` string suffix — the extracted
14
14
  // paths use the platform separator, so a literal `/` check silently
15
15
  // misses on Windows (`…\src\lib.rs`) and the unit matrix goes red.
16
- return listFilesRecursive(dir).some((f) => {
16
+ return (await listFilesRecursive(dir)).some((f) => {
17
17
  const name = basename(f);
18
18
  return (name === 'lib.rs' || name === 'main.rs') && basename(dirname(f)) === 'src';
19
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"has-crate-source.js","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,8DAA8D;IAC9D,wEAAwE;IACxE,oEAAoE;IACpE,mEAAmE;IACnE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"has-crate-source.js","sourceRoot":"","sources":["../../../src/verify/crate/has-crate-source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,8DAA8D;IAC9D,wEAAwE;IACxE,oEAAoE;IACpE,mEAAmE;IACnE,OAAO,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -13,9 +13,9 @@
13
13
  *
14
14
  * The diagnostic this gate gives (the rust-vanilla-first-publish fixture):
15
15
  * without it, a publish that silently no-op'd or produced an empty `.crate`
16
- * would still go green. Synchronous throughout, per the engine convention.
16
+ * would still go green. Async throughout, per the engine convention.
17
17
  * Returns the process exit code (0 ok, 1 on any miss).
18
18
  */
19
19
  import type { VerifyCrateOptions } from './types.js';
20
- export declare function verifyCrate(opts: VerifyCrateOptions): number;
20
+ export declare function verifyCrate(opts: VerifyCrateOptions): Promise<number>;
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAY,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CA+B5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAY,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE/D,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B3E"}
@@ -13,15 +13,15 @@
13
13
  *
14
14
  * The diagnostic this gate gives (the rust-vanilla-first-publish fixture):
15
15
  * without it, a publish that silently no-op'd or produced an empty `.crate`
16
- * would still go green. Synchronous throughout, per the engine convention.
16
+ * would still go green. Async throughout, per the engine convention.
17
17
  * Returns the process exit code (0 ok, 1 on any miss).
18
18
  */
19
- import { rmSync } from 'node:fs';
19
+ import { rm } from 'node:fs/promises';
20
20
  import { extractCrate } from './extract-crate.js';
21
21
  import { findCrateFile } from './find-crate-file.js';
22
22
  import { hasCrateSource } from './has-crate-source.js';
23
23
  import { listFilesRecursive } from '../../utils/list-files-recursive.js';
24
- export function verifyCrate(opts) {
24
+ export async function verifyCrate(opts) {
25
25
  const rows = JSON.parse(opts.matrix).filter((r) => r.kind === 'crates');
26
26
  if (rows.length === 0) {
27
27
  process.stdout.write('No crates rows; nothing to verify.\n');
@@ -29,22 +29,22 @@ export function verifyCrate(opts) {
29
29
  }
30
30
  let fail = 0;
31
31
  for (const row of rows) {
32
- const crateFile = findCrateFile(opts.registryRoot, row.name, row.version);
32
+ const crateFile = await findCrateFile(opts.registryRoot, row.name, row.version);
33
33
  if (crateFile === null) {
34
34
  process.stdout.write(`::error::[${row.name}@${row.version}] no .crate file found (or empty) under ${opts.registryRoot}\n`);
35
35
  fail = 1;
36
36
  continue;
37
37
  }
38
- const extracted = extractCrate(crateFile);
39
- if (hasCrateSource(extracted)) {
38
+ const extracted = await extractCrate(crateFile);
39
+ if (await hasCrateSource(extracted)) {
40
40
  process.stdout.write(`ok: ${crateFile} contains src/lib.rs or src/main.rs\n`);
41
41
  }
42
42
  else {
43
- const listing = listFilesRecursive(extracted).join(' ');
43
+ const listing = (await listFilesRecursive(extracted)).join(' ');
44
44
  process.stdout.write(`::error::[${row.name}@${row.version}] .crate tarball missing src/lib.rs and src/main.rs. Tarball contents: ${listing}\n`);
45
45
  fail = 1;
46
46
  }
47
- rmSync(extracted, { recursive: true, force: true });
47
+ await rm(extracted, { recursive: true, force: true });
48
48
  }
49
49
  return fail;
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,MAAM,UAAU,WAAW,CAAC,IAAwB;IAClD,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,2CAA2C,IAAI,CAAC,YAAY,IAAI,CACrG,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,uCAAuC,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,0EAA0E,OAAO,IAAI,CAC1H,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/crate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAwB;IACxD,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,2CAA2C,IAAI,CAAC,YAAY,IAAI,CACrG,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,uCAAuC,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,0EAA0E,OAAO,IAAI,CAC1H,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -11,10 +11,10 @@
11
11
  * Caller owns cleanup of the returned `root`.
12
12
  */
13
13
  export interface ExtractedTarball {
14
- /** Temp dir to `rmSync` when done. */
14
+ /** Temp dir to `rm` when done. */
15
15
  root: string;
16
16
  /** The unpacked `package/` directory inside the tarball. */
17
17
  packageDir: string;
18
18
  }
19
- export declare function downloadNpmTarball(url: string, retryDelay: number): ExtractedTarball;
19
+ export declare function downloadNpmTarball(url: string, retryDelay: number): Promise<ExtractedTarball>;
20
20
  //# sourceMappingURL=download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAUpF"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUnG"}
@@ -10,19 +10,19 @@
10
10
  *
11
11
  * Caller owns cleanup of the returned `root`.
12
12
  */
13
- import { execFileSync } from 'node:child_process';
14
- import { mkdirSync, mkdtempSync } from 'node:fs';
13
+ import { mkdir, mkdtemp } from 'node:fs/promises';
15
14
  import { tmpdir } from 'node:os';
16
15
  import { join } from 'node:path';
17
- export function downloadNpmTarball(url, retryDelay) {
18
- const root = mkdtempSync(join(tmpdir(), 'piot-tarball-'));
16
+ import { execCapture } from '../../utils/exec-capture.js';
17
+ export async function downloadNpmTarball(url, retryDelay) {
18
+ const root = await mkdtemp(join(tmpdir(), 'piot-tarball-'));
19
19
  const tgz = join(root, 'pkg.tgz');
20
20
  const extracted = join(root, 'extracted');
21
- execFileSync('curl', [
21
+ await execCapture('curl', [
22
22
  '-fsSL', '--retry', '5', '--retry-all-errors', '--retry-delay', String(retryDelay), '-o', tgz, url,
23
23
  ]);
24
- mkdirSync(extracted);
25
- execFileSync('tar', ['-xzf', tgz, '-C', extracted]);
24
+ await mkdir(extracted);
25
+ await execCapture('tar', ['-xzf', tgz, '-C', extracted]);
26
26
  return { root, packageDir: join(extracted, 'package') };
27
27
  }
28
28
  //# sourceMappingURL=download.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,UAAkB;IAChE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,YAAY,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;KACnG,CAAC,CAAC;IACH,SAAS,CAAC,SAAS,CAAC,CAAC;IACrB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAS1D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,UAAkB;IACtE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,WAAW,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;KACnG,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;AAC1D,CAAC"}
@@ -8,5 +8,5 @@
8
8
  * without it. Absent locally points at a different misconfiguration. The
9
9
  * string is appended to the tarball-missing `::error::`.
10
10
  */
11
- export declare function localDirState(localPath: string): string;
11
+ export declare function localDirState(localPath: string): Promise<string>;
12
12
  //# sourceMappingURL=local-dir-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-dir-state.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMvD"}
1
+ {"version":3,"file":"local-dir-state.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtE"}
@@ -8,11 +8,12 @@
8
8
  * without it. Absent locally points at a different misconfiguration. The
9
9
  * string is appended to the tarball-missing `::error::`.
10
10
  */
11
- import { existsSync, statSync } from 'node:fs';
11
+ import { stat } from 'node:fs/promises';
12
12
  import { listFilesRecursive } from '../../utils/list-files-recursive.js';
13
- export function localDirState(localPath) {
14
- if (existsSync(localPath) && statSync(localPath).isDirectory()) {
15
- const files = listFilesRecursive(localPath);
13
+ import { pathExists } from '../../utils/path-exists.js';
14
+ export async function localDirState(localPath) {
15
+ if ((await pathExists(localPath)) && (await stat(localPath)).isDirectory()) {
16
+ const files = await listFilesRecursive(localPath);
16
17
  return `local ${localPath}: present, ${files.length} file(s) — ${files.join(' ')} `;
17
18
  }
18
19
  return `local ${localPath}: missing`;
@@ -1 +1 @@
1
- {"version":3,"file":"local-dir-state.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,SAAS,SAAS,cAAc,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACtF,CAAC;IACD,OAAO,SAAS,SAAS,WAAW,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"local-dir-state.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/local-dir-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB;IACnD,IAAI,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,SAAS,SAAS,cAAc,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACtF,CAAC;IACD,OAAO,SAAS,SAAS,WAAW,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAAE,EAClB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA2DjB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAAE,EAClB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA2DjB"}