putitoutthere 0.2.67 → 0.2.69

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 (215) hide show
  1. package/dist/action.js +2 -1
  2. package/dist/action.js.map +1 -1
  3. package/dist/advance-floating-major.d.ts +1 -2
  4. package/dist/advance-floating-major.d.ts.map +1 -1
  5. package/dist/advance-floating-major.js +8 -9
  6. package/dist/advance-floating-major.js.map +1 -1
  7. package/dist/advance-v0.d.ts +3 -4
  8. package/dist/advance-v0.d.ts.map +1 -1
  9. package/dist/advance-v0.js +5 -6
  10. package/dist/advance-v0.js.map +1 -1
  11. package/dist/cascade.d.ts.map +1 -1
  12. package/dist/cascade.js +2 -1
  13. package/dist/cascade.js.map +1 -1
  14. package/dist/check-crate-size.d.ts +1 -1
  15. package/dist/check-crate-size.d.ts.map +1 -1
  16. package/dist/check-crate-size.js +22 -13
  17. package/dist/check-crate-size.js.map +1 -1
  18. package/dist/check.d.ts +1 -1
  19. package/dist/check.d.ts.map +1 -1
  20. package/dist/check.js +69 -61
  21. package/dist/check.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +15 -15
  24. package/dist/cli.js.map +1 -1
  25. package/dist/completeness.d.ts +3 -2
  26. package/dist/completeness.d.ts.map +1 -1
  27. package/dist/completeness.js +14 -13
  28. package/dist/completeness.js.map +1 -1
  29. package/dist/config.d.ts +4 -2
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +5 -5
  32. package/dist/config.js.map +1 -1
  33. package/dist/ensure-tag.d.ts +1 -1
  34. package/dist/ensure-tag.d.ts.map +1 -1
  35. package/dist/ensure-tag.js +4 -4
  36. package/dist/ensure-tag.js.map +1 -1
  37. package/dist/find-workspace-root.d.ts +1 -1
  38. package/dist/find-workspace-root.d.ts.map +1 -1
  39. package/dist/find-workspace-root.js +3 -3
  40. package/dist/find-workspace-root.js.map +1 -1
  41. package/dist/fold-action-bundle.d.ts +1 -1
  42. package/dist/fold-action-bundle.d.ts.map +1 -1
  43. package/dist/fold-action-bundle.js +5 -5
  44. package/dist/fold-action-bundle.js.map +1 -1
  45. package/dist/force-move-tag.d.ts +1 -1
  46. package/dist/force-move-tag.d.ts.map +1 -1
  47. package/dist/force-move-tag.js +3 -3
  48. package/dist/force-move-tag.js.map +1 -1
  49. package/dist/git.d.ts +19 -21
  50. package/dist/git.d.ts.map +1 -1
  51. package/dist/git.js +44 -49
  52. package/dist/git.js.map +1 -1
  53. package/dist/glob.d.ts +1 -1
  54. package/dist/glob.d.ts.map +1 -1
  55. package/dist/glob.js +17 -7
  56. package/dist/glob.js.map +1 -1
  57. package/dist/handlers/crates.d.ts +2 -1
  58. package/dist/handlers/crates.d.ts.map +1 -1
  59. package/dist/handlers/crates.js +35 -36
  60. package/dist/handlers/crates.js.map +1 -1
  61. package/dist/handlers/npm-platform.d.ts +1 -0
  62. package/dist/handlers/npm-platform.d.ts.map +1 -1
  63. package/dist/handlers/npm-platform.js +39 -41
  64. package/dist/handlers/npm-platform.js.map +1 -1
  65. package/dist/handlers/npm.d.ts.map +1 -1
  66. package/dist/handlers/npm.js +30 -23
  67. package/dist/handlers/npm.js.map +1 -1
  68. package/dist/handlers/pypi.js +17 -12
  69. package/dist/handlers/pypi.js.map +1 -1
  70. package/dist/normalize-artifacts.d.ts +1 -1
  71. package/dist/normalize-artifacts.d.ts.map +1 -1
  72. package/dist/normalize-artifacts.js +8 -7
  73. package/dist/normalize-artifacts.js.map +1 -1
  74. package/dist/plan-status.js +1 -1
  75. package/dist/plan-status.js.map +1 -1
  76. package/dist/plan.d.ts.map +1 -1
  77. package/dist/plan.js +29 -27
  78. package/dist/plan.js.map +1 -1
  79. package/dist/preflight.d.ts +14 -14
  80. package/dist/preflight.d.ts.map +1 -1
  81. package/dist/preflight.js +56 -56
  82. package/dist/preflight.js.map +1 -1
  83. package/dist/publish.d.ts.map +1 -1
  84. package/dist/publish.js +25 -17
  85. package/dist/publish.js.map +1 -1
  86. package/dist/python-versions.d.ts +1 -1
  87. package/dist/python-versions.d.ts.map +1 -1
  88. package/dist/python-versions.js +5 -5
  89. package/dist/python-versions.js.map +1 -1
  90. package/dist/reconcile.js +3 -3
  91. package/dist/reconcile.js.map +1 -1
  92. package/dist/release-github/gh-release-create.d.ts +1 -1
  93. package/dist/release-github/gh-release-create.d.ts.map +1 -1
  94. package/dist/release-github/gh-release-create.js +3 -4
  95. package/dist/release-github/gh-release-create.js.map +1 -1
  96. package/dist/release-github/gh-release-exists.d.ts +1 -1
  97. package/dist/release-github/gh-release-exists.d.ts.map +1 -1
  98. package/dist/release-github/gh-release-exists.js +3 -3
  99. package/dist/release-github/gh-release-exists.js.map +1 -1
  100. package/dist/release-github/index.d.ts +4 -5
  101. package/dist/release-github/index.d.ts.map +1 -1
  102. package/dist/release-github/index.js +8 -9
  103. package/dist/release-github/index.js.map +1 -1
  104. package/dist/resolve-tag-commit.d.ts +2 -2
  105. package/dist/resolve-tag-commit.d.ts.map +1 -1
  106. package/dist/resolve-tag-commit.js +4 -4
  107. package/dist/resolve-tag-commit.js.map +1 -1
  108. package/dist/status.js +2 -2
  109. package/dist/status.js.map +1 -1
  110. package/dist/trailer.d.ts +1 -0
  111. package/dist/trailer.d.ts.map +1 -1
  112. package/dist/trailer.js +1 -1
  113. package/dist/trailer.js.map +1 -1
  114. package/dist/utils/exec-capture.d.ts +20 -0
  115. package/dist/utils/exec-capture.d.ts.map +1 -0
  116. package/dist/utils/exec-capture.js +25 -0
  117. package/dist/utils/exec-capture.js.map +1 -0
  118. package/dist/utils/exec-error.d.ts +16 -0
  119. package/dist/utils/exec-error.d.ts.map +1 -0
  120. package/dist/utils/exec-error.js +21 -0
  121. package/dist/utils/exec-error.js.map +1 -0
  122. package/dist/utils/exec-inherit.d.ts +13 -0
  123. package/dist/utils/exec-inherit.d.ts.map +1 -0
  124. package/dist/utils/exec-inherit.js +25 -0
  125. package/dist/utils/exec-inherit.js.map +1 -0
  126. package/dist/utils/list-files-recursive.d.ts +2 -2
  127. package/dist/utils/list-files-recursive.d.ts.map +1 -1
  128. package/dist/utils/list-files-recursive.js +7 -6
  129. package/dist/utils/list-files-recursive.js.map +1 -1
  130. package/dist/utils/path-exists.d.ts +3 -0
  131. package/dist/utils/path-exists.d.ts.map +1 -0
  132. package/dist/utils/path-exists.js +12 -0
  133. package/dist/utils/path-exists.js.map +1 -0
  134. package/dist/utils/sleep.d.ts +3 -0
  135. package/dist/utils/sleep.d.ts.map +1 -0
  136. package/dist/utils/sleep.js +5 -0
  137. package/dist/utils/sleep.js.map +1 -0
  138. package/dist/verbose.d.ts +1 -1
  139. package/dist/verbose.d.ts.map +1 -1
  140. package/dist/verbose.js +5 -5
  141. package/dist/verbose.js.map +1 -1
  142. package/dist/verify/bundle-cli/index.d.ts +2 -2
  143. package/dist/verify/bundle-cli/index.d.ts.map +1 -1
  144. package/dist/verify/bundle-cli/index.js +6 -6
  145. package/dist/verify/bundle-cli/index.js.map +1 -1
  146. package/dist/verify/bundle-cli/read-python-source.d.ts +1 -1
  147. package/dist/verify/bundle-cli/read-python-source.d.ts.map +1 -1
  148. package/dist/verify/bundle-cli/read-python-source.js +5 -4
  149. package/dist/verify/bundle-cli/read-python-source.js.map +1 -1
  150. package/dist/verify/crate/extract-crate.d.ts +1 -1
  151. package/dist/verify/crate/extract-crate.d.ts.map +1 -1
  152. package/dist/verify/crate/extract-crate.js +5 -5
  153. package/dist/verify/crate/extract-crate.js.map +1 -1
  154. package/dist/verify/crate/find-crate-file.d.ts +1 -1
  155. package/dist/verify/crate/find-crate-file.d.ts.map +1 -1
  156. package/dist/verify/crate/find-crate-file.js +4 -4
  157. package/dist/verify/crate/find-crate-file.js.map +1 -1
  158. package/dist/verify/crate/has-crate-source.d.ts +1 -1
  159. package/dist/verify/crate/has-crate-source.d.ts.map +1 -1
  160. package/dist/verify/crate/has-crate-source.js +2 -2
  161. package/dist/verify/crate/has-crate-source.js.map +1 -1
  162. package/dist/verify/crate/index.d.ts +2 -2
  163. package/dist/verify/crate/index.d.ts.map +1 -1
  164. package/dist/verify/crate/index.js +8 -8
  165. package/dist/verify/crate/index.js.map +1 -1
  166. package/dist/verify/npm-tarball/download.d.ts +2 -2
  167. package/dist/verify/npm-tarball/download.d.ts.map +1 -1
  168. package/dist/verify/npm-tarball/download.js +7 -7
  169. package/dist/verify/npm-tarball/download.js.map +1 -1
  170. package/dist/verify/npm-tarball/local-dir-state.d.ts +1 -1
  171. package/dist/verify/npm-tarball/local-dir-state.d.ts.map +1 -1
  172. package/dist/verify/npm-tarball/local-dir-state.js +5 -4
  173. package/dist/verify/npm-tarball/local-dir-state.js.map +1 -1
  174. package/dist/verify/npm-tarball/main.d.ts.map +1 -1
  175. package/dist/verify/npm-tarball/main.js +8 -7
  176. package/dist/verify/npm-tarball/main.js.map +1 -1
  177. package/dist/verify/npm-tarball/resolve-url.js +4 -4
  178. package/dist/verify/npm-tarball/resolve-url.js.map +1 -1
  179. package/dist/verify/npm-tarball/triple.js +5 -5
  180. package/dist/verify/npm-tarball/triple.js.map +1 -1
  181. package/dist/verify/posture.js +1 -1
  182. package/dist/verify/posture.js.map +1 -1
  183. package/dist/verify/wheel/find-dist-file.d.ts +1 -1
  184. package/dist/verify/wheel/find-dist-file.d.ts.map +1 -1
  185. package/dist/verify/wheel/find-dist-file.js +6 -5
  186. package/dist/verify/wheel/find-dist-file.js.map +1 -1
  187. package/dist/verify/wheel/index.d.ts +2 -2
  188. package/dist/verify/wheel/index.d.ts.map +1 -1
  189. package/dist/verify/wheel/index.js +8 -7
  190. package/dist/verify/wheel/index.js.map +1 -1
  191. package/dist/verify/wheel/read-wheel-version.d.ts +1 -1
  192. package/dist/verify/wheel/read-wheel-version.d.ts.map +1 -1
  193. package/dist/verify/wheel/read-wheel-version.js +3 -3
  194. package/dist/verify/wheel/read-wheel-version.js.map +1 -1
  195. package/dist/wheel-abi.d.ts +2 -2
  196. package/dist/wheel-abi.d.ts.map +1 -1
  197. package/dist/wheel-abi.js +9 -7
  198. package/dist/wheel-abi.js.map +1 -1
  199. package/dist/write-crate-version.d.ts +1 -1
  200. package/dist/write-crate-version.d.ts.map +1 -1
  201. package/dist/write-crate-version.js +4 -4
  202. package/dist/write-crate-version.js.map +1 -1
  203. package/dist/write-launcher.d.ts +2 -2
  204. package/dist/write-launcher.d.ts.map +1 -1
  205. package/dist/write-launcher.js +9 -9
  206. package/dist/write-launcher.js.map +1 -1
  207. package/dist/write-resolved-cargo-version.d.ts +1 -1
  208. package/dist/write-resolved-cargo-version.d.ts.map +1 -1
  209. package/dist/write-resolved-cargo-version.js +6 -6
  210. package/dist/write-resolved-cargo-version.js.map +1 -1
  211. package/dist/write-version.d.ts +1 -1
  212. package/dist/write-version.d.ts.map +1 -1
  213. package/dist/write-version.js +7 -5
  214. package/dist/write-version.js.map +1 -1
  215. package/package.json +4 -4
@@ -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"}
@@ -14,10 +14,11 @@
14
14
  * `lib`); dotted entries (`README.md`) are individual files and need no
15
15
  * per-tree assertion. Returns the process exit code (0 ok, 1 on any miss).
16
16
  */
17
- import { existsSync, readFileSync, rmSync, statSync } from 'node:fs';
17
+ import { readFile, rm, stat } from 'node:fs/promises';
18
18
  import { join } from 'node:path';
19
19
  import { downloadNpmTarball } from './download.js';
20
20
  import { listFilesRecursive } from '../../utils/list-files-recursive.js';
21
+ import { pathExists } from '../../utils/path-exists.js';
21
22
  import { localDirState } from './local-dir-state.js';
22
23
  import { resolveNpmTarballUrl } from './resolve-url.js';
23
24
  export async function verifyNpmTarballMain(rows, opts) {
@@ -34,7 +35,7 @@ export async function verifyNpmTarballMain(rows, opts) {
34
35
  let fail = 0;
35
36
  for (const row of npmRows) {
36
37
  const pkgDirLocal = join(opts.cwd, row.path);
37
- const pkgJson = JSON.parse(readFileSync(join(pkgDirLocal, 'package.json'), 'utf8'));
38
+ const pkgJson = JSON.parse(await readFile(join(pkgDirLocal, 'package.json'), 'utf8'));
38
39
  const pkgName = pkgJson.name;
39
40
  const version = row.version;
40
41
  const dirs = (pkgJson.files ?? []).filter((f) => !f.includes('.'));
@@ -49,22 +50,22 @@ export async function verifyNpmTarballMain(rows, opts) {
49
50
  fail = 1;
50
51
  continue;
51
52
  }
52
- const { root, packageDir } = downloadNpmTarball(url, 5);
53
+ const { root, packageDir } = await downloadNpmTarball(url, 5);
53
54
  for (const d of dirs) {
54
55
  const target = join(packageDir, d);
55
56
  // `-d` before counting: `listFilesRecursive` reads the dir, so it
56
57
  // must not run on a non-directory. The `&&` short-circuit mirrors
57
58
  // the bash `[ -d dir ] && [ "$(find … | wc -l)" -gt 0 ]`.
58
- if (existsSync(target) && statSync(target).isDirectory() && listFilesRecursive(target).length > 0) {
59
- const count = listFilesRecursive(target).length;
59
+ if ((await pathExists(target)) && (await stat(target)).isDirectory() && (await listFilesRecursive(target)).length > 0) {
60
+ const count = (await listFilesRecursive(target)).length;
60
61
  process.stdout.write(` ok: package/${d}/ (${count} file(s))\n`);
61
62
  }
62
63
  else {
63
- process.stdout.write(`::error::[${pkgName}@${version}] tarball missing '${d}'. ${localDirState(join(pkgDirLocal, d))}\n`);
64
+ process.stdout.write(`::error::[${pkgName}@${version}] tarball missing '${d}'. ${await localDirState(join(pkgDirLocal, d))}\n`);
64
65
  fail = 1;
65
66
  }
66
67
  }
67
- rmSync(root, { recursive: true, force: true });
68
+ await rm(root, { recursive: true, force: true });
68
69
  }
69
70
  return fail;
70
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAkB,EAClB,IAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;IACvG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAEjE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAGjF,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,OAAO,gDAAgD,CAAC,CAAC;YAC7F,SAAS;QACX,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,OAAO,IAAI,OAAO,0BAA0B,aAAa,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAC9F,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,OAAO,IAAI,OAAO,iBAAiB,aAAa,uCAAuC,MAAM,CAAC,MAAM,GAAG,CAAC,iHAAiH,CACvO,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACnC,kEAAkE;YAClE,kEAAkE;YAClE,0DAA0D;YAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClG,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,OAAO,IAAI,OAAO,sBAAsB,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CACpG,CAAC;gBACF,IAAI,GAAG,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/main.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,11 @@
12
12
  * `npm view` is the sole subprocess; `--registry` (when set) is appended
13
13
  * after the positional args so it stays out of the `name@version` slot.
14
14
  */
15
- import { execFileSync } from 'node:child_process';
16
- function viewTarballUrl(spec, registry) {
15
+ import { execCapture } from '../../utils/exec-capture.js';
16
+ async function viewTarballUrl(spec, registry) {
17
17
  try {
18
18
  const args = ['view', spec, 'dist.tarball', ...(registry ? ['--registry', registry] : [])];
19
- return execFileSync('npm', args, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] }).trim();
19
+ return (await execCapture('npm', args)).stdout.trim();
20
20
  }
21
21
  catch {
22
22
  // `npm view` exits non-zero when the packument isn't there yet.
@@ -30,7 +30,7 @@ export async function resolveNpmTarballUrl(name, version, opts) {
30
30
  const spec = `${name}@${version}`;
31
31
  const attempts = opts.sleeps.length + 1;
32
32
  for (let attempt = 1; attempt <= attempts; attempt++) {
33
- const url = viewTarballUrl(spec, opts.registry);
33
+ const url = await viewTarballUrl(spec, opts.registry);
34
34
  if (url) {
35
35
  return url;
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-url.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,SAAS,cAAc,CAAC,IAAY,EAAE,QAAiB;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrG,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,OAAe,EACf,IAAoB;IAEpB,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,GAAG,EAAE,CAAC;YAAA,OAAO,GAAG,CAAC;QAAA,CAAC;QACtB,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC;YACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qDAAqD,OAAO,IAAI,QAAQ,kBAAkB,IAAI,KAAK,CACpG,CAAC;YACF,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"resolve-url.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/resolve-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAO1D,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,QAAiB;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,OAAe,EACf,IAAoB;IAEpB,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,GAAG,EAAE,CAAC;YAAA,OAAO,GAAG,CAAC;QAAA,CAAC;QACtB,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC;YACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qDAAqD,OAAO,IAAI,QAAQ,kBAAkB,IAAI,KAAK,CACpG,CAAC;YACF,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -15,7 +15,7 @@
15
15
  * main package name (synthesis is a publish-time concern). Returns the
16
16
  * process exit code (0 ok, 1 on any metadata-only tarball).
17
17
  */
18
- import { readdirSync, rmSync } from 'node:fs';
18
+ import { readdir, rm } from 'node:fs/promises';
19
19
  import { basename } from 'node:path';
20
20
  import { downloadNpmTarball } from './download.js';
21
21
  import { listFilesRecursive } from '../../utils/list-files-recursive.js';
@@ -38,19 +38,19 @@ export async function verifyNpmTarballTriple(rows, opts) {
38
38
  fail = 1;
39
39
  continue;
40
40
  }
41
- const { root, packageDir } = downloadNpmTarball(url, 2);
42
- const topLevel = readdirSync(packageDir, { withFileTypes: true })
41
+ const { root, packageDir } = await downloadNpmTarball(url, 2);
42
+ const topLevel = (await readdir(packageDir, { withFileTypes: true }))
43
43
  .filter((e) => e.isFile() && e.name !== 'package.json')
44
44
  .map((e) => e.name);
45
45
  if (topLevel.length > 0) {
46
46
  process.stdout.write(` ok: ${topLevel.length} non-metadata file(s): ${topLevel.join(' ')} \n`);
47
47
  }
48
48
  else {
49
- const listing = listFilesRecursive(packageDir).map((p) => basename(p)).join(' ');
49
+ const listing = (await listFilesRecursive(packageDir)).map((p) => basename(p)).join(' ');
50
50
  process.stdout.write(`::error::[${platformName}@${version}] tarball contains only package.json (no synthesized binary/.node staged). Tarball contents: ${listing} \n`);
51
51
  fail = 1;
52
52
  }
53
- rmSync(root, { recursive: true, force: true });
53
+ await rm(root, { recursive: true, force: true });
54
54
  }
55
55
  return fail;
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"triple.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/triple.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAkB,EAClB,IAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACrG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,OAAO,0BAA0B,QAAQ,IAAI,CAAC,CAAC;QAExF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,YAAY,IAAI,OAAO,iBAAiB,QAAQ,mKAAmK,CACjO,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;aACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,0BAA0B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,YAAY,IAAI,OAAO,gGAAgG,OAAO,KAAK,CACjJ,CAAC;YACF,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"triple.js","sourceRoot":"","sources":["../../../src/verify/npm-tarball/triple.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ import { createLogger } from '../log.js';
20
20
  export async function computeVerify(opts) {
21
21
  const cwd = opts.cwd;
22
22
  const cfgPath = opts.configPath ?? join(cwd, 'putitoutthere.toml');
23
- const config = loadConfig(cfgPath);
23
+ const config = await loadConfig(cfgPath);
24
24
  const ctx = {
25
25
  cwd,
26
26
  log: createLogger(),
@@ -1 +1 @@
1
- {"version":3,"file":"posture.js","sourceRoot":"","sources":["../../src/verify/posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAQ;QACf,GAAG;QACH,GAAG,EAAE,YAAY,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,GAA6B;QAC1C,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;KAC/C,CAAC;IAEF,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,mEAAmE;YACnE,4BAA4B;YAC5B,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,wBAAwB;YACxB,OAAO,GAAG,aAAa,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"posture.js","sourceRoot":"","sources":["../../src/verify/posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAQ;QACf,GAAG;QACH,GAAG,EAAE,YAAY,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,GAA6B;QAC1C,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;KAC/C,CAAC;IAEF,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,mEAAmE;YACnE,4BAA4B;YAC5B,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,wBAAwB;YACxB,OAAO,GAAG,aAAa,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -4,5 +4,5 @@
4
4
  * `find "$dist_dir" -maxdepth 1 -name '*<ext>' -print -quit`. Sorted for a
5
5
  * deterministic pick when a dist dir holds more than one match.
6
6
  */
7
- export declare function findDistFile(dir: string, ext: string): string | null;
7
+ export declare function findDistFile(dir: string, ext: string): Promise<string | null>;
8
8
  //# sourceMappingURL=find-dist-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-dist-file.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/find-dist-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAapE"}
1
+ {"version":3,"file":"find-dist-file.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/find-dist-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAanF"}
@@ -4,16 +4,17 @@
4
4
  * `find "$dist_dir" -maxdepth 1 -name '*<ext>' -print -quit`. Sorted for a
5
5
  * deterministic pick when a dist dir holds more than one match.
6
6
  */
7
- import { existsSync, readdirSync, statSync } from 'node:fs';
7
+ import { readdir, stat } from 'node:fs/promises';
8
8
  import { join } from 'node:path';
9
- export function findDistFile(dir, ext) {
10
- if (!existsSync(dir)) {
9
+ import { pathExists } from '../../utils/path-exists.js';
10
+ export async function findDistFile(dir, ext) {
11
+ if (!(await pathExists(dir))) {
11
12
  return null;
12
13
  }
13
- for (const name of readdirSync(dir).sort()) {
14
+ for (const name of (await readdir(dir)).sort()) {
14
15
  if (name.endsWith(ext)) {
15
16
  const full = join(dir, name);
16
- if (statSync(full).isFile()) {
17
+ if ((await stat(full)).isFile()) {
17
18
  return full;
18
19
  }
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"find-dist-file.js","sourceRoot":"","sources":["../../../src/verify/wheel/find-dist-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"find-dist-file.js","sourceRoot":"","sources":["../../../src/verify/wheel/find-dist-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACzD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -14,9 +14,9 @@
14
14
  * `-<version>.tar.gz`; for a wheel row the first `*.whl`'s
15
15
  * `*.dist-info/METADATA` `Version:` must equal `--version`. The wheel is
16
16
  * read with a pure-Node zip reader (no `unzip`), so this runs on every
17
- * platform the maturin matrix builds on. Synchronous throughout. Returns the
17
+ * platform the maturin matrix builds on. Async throughout. Returns the
18
18
  * process exit code (0 ok, 1 on any miss).
19
19
  */
20
20
  import type { VerifyWheelOptions } from './types.js';
21
- export declare function verifyWheel(opts: VerifyWheelOptions): number;
21
+ export declare function verifyWheel(opts: VerifyWheelOptions): Promise<number>;
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAuC5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuC3E"}
@@ -14,22 +14,23 @@
14
14
  * `-<version>.tar.gz`; for a wheel row the first `*.whl`'s
15
15
  * `*.dist-info/METADATA` `Version:` must equal `--version`. The wheel is
16
16
  * read with a pure-Node zip reader (no `unzip`), so this runs on every
17
- * platform the maturin matrix builds on. Synchronous throughout. Returns the
17
+ * platform the maturin matrix builds on. Async throughout. Returns the
18
18
  * process exit code (0 ok, 1 on any miss).
19
19
  */
20
- import { existsSync, statSync } from 'node:fs';
20
+ import { stat } from 'node:fs/promises';
21
21
  import { basename, isAbsolute, join, resolve } from 'node:path';
22
22
  import { findDistFile } from './find-dist-file.js';
23
23
  import { readWheelVersion } from './read-wheel-version.js';
24
- export function verifyWheel(opts) {
24
+ import { pathExists } from '../../utils/path-exists.js';
25
+ export async function verifyWheel(opts) {
25
26
  const pkgDir = isAbsolute(opts.path) ? opts.path : resolve(opts.cwd, opts.path);
26
27
  const distDir = join(pkgDir, 'dist');
27
- if (!existsSync(distDir) || !statSync(distDir).isDirectory()) {
28
+ if (!(await pathExists(distDir)) || !(await stat(distDir)).isDirectory()) {
28
29
  process.stdout.write(`::error::no dist/ produced under ${distDir}\n`);
29
30
  return 1;
30
31
  }
31
32
  if (opts.target === 'sdist') {
32
- const sdist = findDistFile(distDir, '.tar.gz');
33
+ const sdist = await findDistFile(distDir, '.tar.gz');
33
34
  if (sdist === null) {
34
35
  process.stdout.write(`::error::no sdist produced in ${distDir}\n`);
35
36
  return 1;
@@ -42,12 +43,12 @@ export function verifyWheel(opts) {
42
43
  process.stdout.write(`::error::sdist filename '${name}' does not contain planned version '${opts.version}'\n`);
43
44
  return 1;
44
45
  }
45
- const wheel = findDistFile(distDir, '.whl');
46
+ const wheel = await findDistFile(distDir, '.whl');
46
47
  if (wheel === null) {
47
48
  process.stdout.write(`::error::no wheel produced in ${distDir}\n`);
48
49
  return 1;
49
50
  }
50
- const actual = readWheelVersion(wheel);
51
+ const actual = await readWheelVersion(wheel);
51
52
  if (actual !== opts.version) {
52
53
  process.stdout.write(`::error::wheel METADATA Version='${actual ?? ''}' but plan='${opts.version}' (wheel: ${basename(wheel)})\n`);
53
54
  return 1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/wheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,UAAU,WAAW,CAAC,IAAwB;IAClD,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,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,IAAI,CAAC,CAAC;YACnE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,SAAS,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,IAAI,uCAAuC,IAAI,CAAC,OAAO,KAAK,CACzF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oCAAoC,MAAM,IAAI,EAAE,eAAe,IAAI,CAAC,OAAO,aAAa,QAAQ,CAAC,KAAK,CAAC,KAAK,CAC7G,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/wheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAwB;IACxD,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,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,IAAI,CAAC,CAAC;YACnE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,SAAS,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,IAAI,uCAAuC,IAAI,CAAC,OAAO,KAAK,CACzF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,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,iCAAiC,OAAO,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oCAAoC,MAAM,IAAI,EAAE,eAAe,IAAI,CAAC,OAAO,aAAa,QAAQ,CAAC,KAAK,CAAC,KAAK,CAC7G,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -8,5 +8,5 @@
8
8
  * `Version:` line. `Metadata-Version:` is deliberately not matched — only a
9
9
  * line that begins exactly `Version:`, mirroring the bash `^Version:`.
10
10
  */
11
- export declare function readWheelVersion(wheelPath: string): string | null;
11
+ export declare function readWheelVersion(wheelPath: string): Promise<string | null>;
12
12
  //# sourceMappingURL=read-wheel-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-wheel-version.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/read-wheel-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYjE"}
1
+ {"version":3,"file":"read-wheel-version.d.ts","sourceRoot":"","sources":["../../../src/verify/wheel/read-wheel-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYhF"}
@@ -8,10 +8,10 @@
8
8
  * `Version:` line. `Metadata-Version:` is deliberately not matched — only a
9
9
  * line that begins exactly `Version:`, mirroring the bash `^Version:`.
10
10
  */
11
- import { readFileSync } from 'node:fs';
11
+ import { readFile } from 'node:fs/promises';
12
12
  import { readZipEntry } from './read-zip-entry.js';
13
- export function readWheelVersion(wheelPath) {
14
- const meta = readZipEntry(readFileSync(wheelPath), (name) => name.endsWith('.dist-info/METADATA'));
13
+ export async function readWheelVersion(wheelPath) {
14
+ const meta = readZipEntry(await readFile(wheelPath), (name) => name.endsWith('.dist-info/METADATA'));
15
15
  if (meta === null) {
16
16
  return null;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-wheel-version.js","sourceRoot":"","sources":["../../../src/verify/wheel/read-wheel-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACnG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"read-wheel-version.js","sourceRoot":"","sources":["../../../src/verify/wheel/read-wheel-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACrG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -26,12 +26,12 @@
26
26
  * table), falls through to `false` and the planner keeps fanning — the
27
27
  * pre-#401 behavior, never worse.
28
28
  *
29
- * Engine convention: synchronous `readFileSync` throughout (AGENTS.md).
29
+ * Engine convention: async `readFile` throughout (AGENTS.md, #469).
30
30
  */
31
31
  /**
32
32
  * True when the maturin wheel for the package at `cwd/pkgPath` is
33
33
  * Python-version-independent and so should be built once rather than
34
34
  * fanned across the resolved CPython set.
35
35
  */
36
- export declare function isVersionIndependentWheel(pkgPath: string, cwd: string): boolean;
36
+ export declare function isVersionIndependentWheel(pkgPath: string, cwd: string): Promise<boolean>;
37
37
  //# sourceMappingURL=wheel-abi.d.ts.map