@ykdz/template 0.0.35 → 0.0.37

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 (720) hide show
  1. package/dist/application.d.ts +131 -14
  2. package/dist/application.js +307 -206
  3. package/dist/command-result.d.ts +9 -0
  4. package/dist/command-result.js +231 -0
  5. package/dist/main.d.ts +4 -1
  6. package/dist/main.js +321 -49
  7. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +159 -45
  8. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +2816 -535
  9. package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.d.ts +39 -0
  10. package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.js +178 -0
  11. package/node_modules/@ykdz/template-builtin-presets/dist/src/index.d.ts +2 -2
  12. package/node_modules/@ykdz/template-builtin-presets/dist/src/index.js +1 -1
  13. package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.d.ts +31 -2
  14. package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.js +44 -47
  15. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/development-container.d.ts +1 -1
  16. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/development-container.js +1 -1
  17. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/typescript.d.ts +10 -7
  18. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/typescript.js +11 -7
  19. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.d.ts +6 -4
  20. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.js +8 -7
  21. package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.d.ts +1 -1
  22. package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.js +1 -1
  23. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.d.ts +31 -2
  24. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.js +111 -64
  25. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.d.ts +31 -2
  26. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.js +37 -29
  27. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.d.ts +48 -2
  28. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +203 -155
  29. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.d.ts +26 -2
  30. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.js +21 -9
  31. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.d.ts +22 -2
  32. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.js +48 -38
  33. package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/bin/semver.js +0 -0
  34. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/README.md +1 -1
  35. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.cjs +427 -504
  36. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.d.cts +427 -32
  37. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.d.mts +427 -32
  38. package/node_modules/@ykdz/template-builtin-presets/node_modules/valibot/dist/index.min.cjs +2 -0
  39. package/node_modules/@ykdz/template-builtin-presets/node_modules/valibot/dist/index.min.mjs +2 -0
  40. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.mjs +418 -504
  41. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/package.json +7 -2
  42. package/node_modules/@ykdz/template-builtin-presets/package.json +30 -16
  43. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-deployment-diagnostics.yml +5 -5
  44. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-deployment.yml +4 -4
  45. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-diagnostics.yml +4 -4
  46. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check.yml +3 -3
  47. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.pnpmfile.mjs +19 -0
  48. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/AGENTS.md.template +11 -0
  49. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/devcontainer.json +1 -2
  50. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.dynamic.txt +1 -0
  51. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +5 -5
  52. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-toolchain-versions.ts +556 -0
  53. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.json +4 -6
  54. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.packing-hook.json +7 -0
  55. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +1 -1
  56. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/turbo.json +19 -1
  57. package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/node-pnpm.Dockerfile +4 -6
  58. package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/tsconfig.config.json +2 -1
  59. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.app.json +1 -1
  60. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.node.json +2 -2
  61. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/CHANGELOG.md.template +17 -0
  62. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/RELEASING.md +17 -0
  63. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/artifact.ts +1271 -0
  64. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/changelog.ts +283 -0
  65. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/check-artifact.ts +99 -0
  66. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/check-readiness.ts +66 -0
  67. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/cli-command-identity.ts +4 -0
  68. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/handoff.ts +450 -0
  69. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/publish.ts +483 -0
  70. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/readiness.ts +1146 -0
  71. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/release.ts +819 -0
  72. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/release.yml +119 -0
  73. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/root-tsconfig.json +8 -0
  74. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/tsconfig.json +4 -0
  75. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/turbo.json +6 -0
  76. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/README.md +48 -0
  77. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/CHANGELOG.md.template +17 -0
  78. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/LICENSE-APACHE-2.0.txt +202 -0
  79. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/LICENSE-MIT.txt +21 -0
  80. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/README.md.template +5 -0
  81. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/bridge.ts +3336 -0
  82. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/setup.sh +221 -0
  83. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/cli-command-identity.ts +133 -0
  84. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/cli.ts +4 -3
  85. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/main.ts +5 -4
  86. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/integration/command.test.ts +14 -13
  87. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/unit/cli-command-identity.test.ts +76 -0
  88. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/tsconfig.build.json +2 -0
  89. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/tsconfig.json +2 -2
  90. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.build.json +2 -1
  91. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.json +2 -2
  92. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/scripts/reset.ts +3 -0
  93. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/db.ts +3 -4
  94. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/readiness.ts +6 -5
  95. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/storage.ts +93 -0
  96. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.build.json +8 -2
  97. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.json +3 -7
  98. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/turbo.json +1 -1
  99. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/drizzle.config.ts +5 -5
  100. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.build.json +2 -1
  101. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.json +2 -2
  102. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/.env.example +2 -1
  103. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile +25 -17
  104. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile.dockerignore +4 -4
  105. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/playwright.config.ts +5 -25
  106. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/scripts/check-standalone-deployment.ts +17 -15
  107. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/test/playwright-teardown.ts +6 -7
  108. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.app.json +1 -2
  109. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.json +0 -1
  110. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.node.json +2 -3
  111. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.test.json +0 -1
  112. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/turbo.json +0 -8
  113. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/vite.config.ts +3 -39
  114. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.json +7 -2
  115. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/playwright.config.ts +34 -0
  116. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/{web → root}/test/e2e/app.spec.ts +3 -3
  117. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/test/e2e/fixtures.ts +15 -0
  118. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/tsconfig.json +3 -0
  119. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/src/api.ts +1 -3
  120. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/turbo.json +0 -4
  121. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/vite.config.ts +2 -0
  122. package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.d.ts +2 -2
  123. package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.js +10 -5
  124. package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +16 -54
  125. package/node_modules/@ykdz/template-core/dist/module-graph.js +140 -105
  126. package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +47 -11
  127. package/node_modules/@ykdz/template-core/dist/package-contribution.js +92 -0
  128. package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +21 -16
  129. package/node_modules/@ykdz/template-core/dist/preset-definition.d.ts +82 -13
  130. package/node_modules/@ykdz/template-core/dist/preset-definition.js +16 -1
  131. package/node_modules/@ykdz/template-core/dist/project-blueprint.d.ts +56 -0
  132. package/node_modules/@ykdz/template-core/dist/project-blueprint.js +271 -0
  133. package/node_modules/@ykdz/template-core/dist/project-github.d.ts +6 -4
  134. package/node_modules/@ykdz/template-core/dist/project-github.js +4 -4
  135. package/node_modules/@ykdz/template-core/dist/project-linking-v2.d.ts +4 -4
  136. package/node_modules/@ykdz/template-core/dist/project-linking-v2.js +14 -8
  137. package/node_modules/@ykdz/template-core/dist/project-projection.d.ts +29 -1
  138. package/node_modules/@ykdz/template-core/dist/project-projection.js +501 -29
  139. package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.d.ts +10 -0
  140. package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.js +9 -0
  141. package/node_modules/@ykdz/template-core/dist/renderer.d.ts +0 -2
  142. package/node_modules/@ykdz/template-core/dist/renderer.js +17 -38
  143. package/node_modules/@ykdz/template-core/dist/template-boundary-check.d.ts +2 -2
  144. package/node_modules/@ykdz/template-core/dist/template-boundary-check.js +21 -9
  145. package/node_modules/@ykdz/template-core/node_modules/valibot/LICENSE.md +9 -0
  146. package/node_modules/@ykdz/template-core/node_modules/valibot/README.md +94 -0
  147. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.cjs +7897 -0
  148. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.cts +16579 -0
  149. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.mts +16579 -0
  150. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.cjs +2 -0
  151. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.mjs +2 -0
  152. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.mjs +7577 -0
  153. package/node_modules/@ykdz/template-core/node_modules/valibot/package.json +84 -0
  154. package/node_modules/@ykdz/template-core/package.json +0 -2
  155. package/node_modules/hosted-git-info/LICENSE +13 -0
  156. package/node_modules/hosted-git-info/README.md +138 -0
  157. package/node_modules/hosted-git-info/lib/from-url.js +122 -0
  158. package/node_modules/hosted-git-info/lib/hosts.js +229 -0
  159. package/node_modules/hosted-git-info/lib/index.js +227 -0
  160. package/node_modules/hosted-git-info/lib/parse-url.js +79 -0
  161. package/node_modules/hosted-git-info/package.json +57 -0
  162. package/node_modules/jsonc-parser/CHANGELOG.md +76 -0
  163. package/node_modules/jsonc-parser/LICENSE.md +21 -0
  164. package/node_modules/jsonc-parser/README.md +364 -0
  165. package/node_modules/jsonc-parser/SECURITY.md +41 -0
  166. package/node_modules/jsonc-parser/lib/esm/impl/edit.js +185 -0
  167. package/node_modules/jsonc-parser/lib/esm/impl/format.js +261 -0
  168. package/node_modules/jsonc-parser/lib/esm/impl/parser.js +659 -0
  169. package/node_modules/jsonc-parser/lib/esm/impl/scanner.js +443 -0
  170. package/node_modules/jsonc-parser/lib/esm/impl/string-intern.js +29 -0
  171. package/node_modules/jsonc-parser/lib/esm/main.d.ts +351 -0
  172. package/node_modules/jsonc-parser/lib/esm/main.js +178 -0
  173. package/node_modules/jsonc-parser/lib/umd/impl/edit.js +201 -0
  174. package/node_modules/jsonc-parser/lib/umd/impl/format.js +275 -0
  175. package/node_modules/jsonc-parser/lib/umd/impl/parser.js +682 -0
  176. package/node_modules/jsonc-parser/lib/umd/impl/scanner.js +456 -0
  177. package/node_modules/jsonc-parser/lib/umd/impl/string-intern.js +42 -0
  178. package/node_modules/jsonc-parser/lib/umd/main.d.ts +351 -0
  179. package/node_modules/jsonc-parser/lib/umd/main.js +194 -0
  180. package/node_modules/jsonc-parser/package.json +37 -0
  181. package/node_modules/lru-cache/LICENSE.md +55 -0
  182. package/node_modules/lru-cache/README.md +469 -0
  183. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  184. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  185. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  186. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  187. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
  188. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  189. package/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
  190. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  191. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  192. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  193. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  194. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  195. package/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
  196. package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  197. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  198. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  199. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
  200. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
  201. package/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
  202. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  203. package/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
  204. package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  205. package/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  206. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  207. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  208. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  209. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  210. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  211. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
  212. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  213. package/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
  214. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  215. package/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  216. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  217. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  218. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  219. package/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
  220. package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  221. package/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  222. package/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  223. package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  224. package/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
  225. package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  226. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  227. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.js.map +1 -0
  228. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.d.ts +5 -0
  229. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.js +7 -0
  230. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts +1400 -0
  231. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts.map +1 -0
  232. package/node_modules/lru-cache/dist/commonjs/react-native/index.js +1733 -0
  233. package/node_modules/lru-cache/dist/commonjs/react-native/index.js.map +1 -0
  234. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts +12 -0
  235. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts.map +1 -0
  236. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js +10 -0
  237. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js.map +1 -0
  238. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  239. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  240. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
  241. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
  242. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
  243. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
  244. package/node_modules/lru-cache/dist/esm/browser/index.js +1729 -0
  245. package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
  246. package/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
  247. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
  248. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  249. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  250. package/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
  251. package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  252. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  253. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
  254. package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
  255. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
  256. package/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
  257. package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  258. package/node_modules/lru-cache/dist/esm/index.js +1729 -0
  259. package/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  260. package/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  261. package/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  262. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  263. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  264. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
  265. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
  266. package/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
  267. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
  268. package/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
  269. package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
  270. package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  271. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
  272. package/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  273. package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  274. package/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
  275. package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  276. package/node_modules/lru-cache/dist/esm/package.json +3 -0
  277. package/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  278. package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  279. package/node_modules/lru-cache/dist/esm/perf.js +7 -0
  280. package/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  281. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  282. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.js.map +1 -0
  283. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.d.ts +5 -0
  284. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.js +4 -0
  285. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts +1400 -0
  286. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts.map +1 -0
  287. package/node_modules/lru-cache/dist/esm/react-native/index.js +1729 -0
  288. package/node_modules/lru-cache/dist/esm/react-native/index.js.map +1 -0
  289. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts +12 -0
  290. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts.map +1 -0
  291. package/node_modules/lru-cache/dist/esm/react-native/perf.js +7 -0
  292. package/node_modules/lru-cache/dist/esm/react-native/perf.js.map +1 -0
  293. package/node_modules/lru-cache/package.json +180 -0
  294. package/node_modules/npm-package-arg/LICENSE +15 -0
  295. package/node_modules/npm-package-arg/README.md +104 -0
  296. package/node_modules/npm-package-arg/lib/npa.js +479 -0
  297. package/node_modules/npm-package-arg/node_modules/semver/LICENSE +15 -0
  298. package/node_modules/npm-package-arg/node_modules/semver/README.md +680 -0
  299. package/node_modules/npm-package-arg/node_modules/semver/bin/semver.js +195 -0
  300. package/node_modules/npm-package-arg/node_modules/semver/classes/comparator.js +143 -0
  301. package/node_modules/npm-package-arg/node_modules/semver/classes/index.js +7 -0
  302. package/node_modules/npm-package-arg/node_modules/semver/classes/range.js +577 -0
  303. package/node_modules/npm-package-arg/node_modules/semver/classes/semver.js +350 -0
  304. package/node_modules/npm-package-arg/node_modules/semver/functions/clean.js +8 -0
  305. package/node_modules/npm-package-arg/node_modules/semver/functions/cmp.js +54 -0
  306. package/node_modules/npm-package-arg/node_modules/semver/functions/coerce.js +62 -0
  307. package/node_modules/npm-package-arg/node_modules/semver/functions/compare-build.js +9 -0
  308. package/node_modules/npm-package-arg/node_modules/semver/functions/compare-loose.js +5 -0
  309. package/node_modules/npm-package-arg/node_modules/semver/functions/compare.js +7 -0
  310. package/node_modules/npm-package-arg/node_modules/semver/functions/diff.js +60 -0
  311. package/node_modules/npm-package-arg/node_modules/semver/functions/eq.js +5 -0
  312. package/node_modules/npm-package-arg/node_modules/semver/functions/gt.js +5 -0
  313. package/node_modules/npm-package-arg/node_modules/semver/functions/gte.js +5 -0
  314. package/node_modules/npm-package-arg/node_modules/semver/functions/inc.js +21 -0
  315. package/node_modules/npm-package-arg/node_modules/semver/functions/lt.js +5 -0
  316. package/node_modules/npm-package-arg/node_modules/semver/functions/lte.js +5 -0
  317. package/node_modules/npm-package-arg/node_modules/semver/functions/major.js +5 -0
  318. package/node_modules/npm-package-arg/node_modules/semver/functions/minor.js +5 -0
  319. package/node_modules/npm-package-arg/node_modules/semver/functions/neq.js +5 -0
  320. package/node_modules/npm-package-arg/node_modules/semver/functions/parse.js +18 -0
  321. package/node_modules/npm-package-arg/node_modules/semver/functions/patch.js +5 -0
  322. package/node_modules/npm-package-arg/node_modules/semver/functions/prerelease.js +8 -0
  323. package/node_modules/npm-package-arg/node_modules/semver/functions/rcompare.js +5 -0
  324. package/node_modules/npm-package-arg/node_modules/semver/functions/rsort.js +5 -0
  325. package/node_modules/npm-package-arg/node_modules/semver/functions/satisfies.js +12 -0
  326. package/node_modules/npm-package-arg/node_modules/semver/functions/sort.js +5 -0
  327. package/node_modules/npm-package-arg/node_modules/semver/functions/truncate.js +48 -0
  328. package/node_modules/npm-package-arg/node_modules/semver/functions/valid.js +8 -0
  329. package/node_modules/npm-package-arg/node_modules/semver/index.js +93 -0
  330. package/node_modules/npm-package-arg/node_modules/semver/internal/constants.js +37 -0
  331. package/node_modules/npm-package-arg/node_modules/semver/internal/debug.js +11 -0
  332. package/node_modules/npm-package-arg/node_modules/semver/internal/identifiers.js +29 -0
  333. package/node_modules/npm-package-arg/node_modules/semver/internal/lrucache.js +42 -0
  334. package/node_modules/npm-package-arg/node_modules/semver/internal/parse-options.js +17 -0
  335. package/node_modules/npm-package-arg/node_modules/semver/internal/re.js +223 -0
  336. package/node_modules/npm-package-arg/node_modules/semver/package.json +78 -0
  337. package/node_modules/npm-package-arg/node_modules/semver/preload.js +4 -0
  338. package/node_modules/npm-package-arg/node_modules/semver/range.bnf +17 -0
  339. package/node_modules/npm-package-arg/node_modules/semver/ranges/gtr.js +6 -0
  340. package/node_modules/npm-package-arg/node_modules/semver/ranges/intersects.js +9 -0
  341. package/node_modules/npm-package-arg/node_modules/semver/ranges/ltr.js +6 -0
  342. package/node_modules/npm-package-arg/node_modules/semver/ranges/max-satisfying.js +27 -0
  343. package/node_modules/npm-package-arg/node_modules/semver/ranges/min-satisfying.js +26 -0
  344. package/node_modules/npm-package-arg/node_modules/semver/ranges/min-version.js +63 -0
  345. package/node_modules/npm-package-arg/node_modules/semver/ranges/outside.js +82 -0
  346. package/node_modules/npm-package-arg/node_modules/semver/ranges/simplify.js +49 -0
  347. package/node_modules/npm-package-arg/node_modules/semver/ranges/subset.js +249 -0
  348. package/node_modules/npm-package-arg/node_modules/semver/ranges/to-comparators.js +10 -0
  349. package/node_modules/npm-package-arg/node_modules/semver/ranges/valid.js +13 -0
  350. package/node_modules/npm-package-arg/package.json +60 -0
  351. package/node_modules/picomatch/LICENSE +21 -0
  352. package/node_modules/picomatch/README.md +743 -0
  353. package/node_modules/picomatch/index.js +17 -0
  354. package/node_modules/picomatch/lib/constants.js +184 -0
  355. package/node_modules/picomatch/lib/parse.js +1425 -0
  356. package/node_modules/picomatch/lib/picomatch.js +361 -0
  357. package/node_modules/picomatch/lib/scan.js +403 -0
  358. package/node_modules/picomatch/lib/utils.js +72 -0
  359. package/node_modules/picomatch/package.json +83 -0
  360. package/node_modules/picomatch/posix.js +3 -0
  361. package/node_modules/proc-log/LICENSE +15 -0
  362. package/node_modules/proc-log/README.md +226 -0
  363. package/node_modules/proc-log/lib/index.js +158 -0
  364. package/node_modules/proc-log/package.json +46 -0
  365. package/node_modules/smol-toml/LICENSE +24 -0
  366. package/node_modules/smol-toml/README.md +605 -0
  367. package/node_modules/smol-toml/dist/date.d.ts +41 -0
  368. package/node_modules/smol-toml/dist/date.js +156 -0
  369. package/node_modules/smol-toml/dist/error.d.ts +37 -0
  370. package/node_modules/smol-toml/dist/error.js +67 -0
  371. package/node_modules/smol-toml/dist/extract.js +289 -0
  372. package/node_modules/smol-toml/dist/index.cjs +770 -0
  373. package/node_modules/smol-toml/dist/index.d.ts +44 -0
  374. package/node_modules/smol-toml/dist/index.js +34 -0
  375. package/node_modules/smol-toml/dist/parse.d.ts +73 -0
  376. package/node_modules/smol-toml/dist/parse.js +164 -0
  377. package/node_modules/smol-toml/dist/primitive.js +151 -0
  378. package/node_modules/smol-toml/dist/stringify.d.ts +32 -0
  379. package/node_modules/smol-toml/dist/stringify.js +219 -0
  380. package/node_modules/smol-toml/dist/struct.js +156 -0
  381. package/node_modules/smol-toml/dist/util.d.ts +43 -0
  382. package/node_modules/smol-toml/dist/util.js +57 -0
  383. package/node_modules/smol-toml/package.json +68 -0
  384. package/node_modules/typescript/bin/tsc +0 -0
  385. package/node_modules/typescript/bin/tsserver +0 -0
  386. package/node_modules/unbash/LICENSE +15 -0
  387. package/node_modules/unbash/README.md +289 -0
  388. package/node_modules/unbash/dist/ansi-c.d.ts +5 -0
  389. package/node_modules/unbash/dist/ansi-c.js +130 -0
  390. package/node_modules/unbash/dist/arithmetic.d.ts +11 -0
  391. package/node_modules/unbash/dist/arithmetic.js +530 -0
  392. package/node_modules/unbash/dist/assignment.d.ts +15 -0
  393. package/node_modules/unbash/dist/assignment.js +118 -0
  394. package/node_modules/unbash/dist/chars.d.ts +41 -0
  395. package/node_modules/unbash/dist/chars.js +41 -0
  396. package/node_modules/unbash/dist/command.d.ts +14 -0
  397. package/node_modules/unbash/dist/command.js +41 -0
  398. package/node_modules/unbash/dist/heredoc.d.ts +18 -0
  399. package/node_modules/unbash/dist/heredoc.js +25 -0
  400. package/node_modules/unbash/dist/internal-types.d.ts +87 -0
  401. package/node_modules/unbash/dist/internal-types.js +1 -0
  402. package/node_modules/unbash/dist/lexer.d.ts +202 -0
  403. package/node_modules/unbash/dist/lexer.js +3930 -0
  404. package/node_modules/unbash/dist/parser.d.ts +4 -0
  405. package/node_modules/unbash/dist/parser.js +1295 -0
  406. package/node_modules/unbash/dist/parts.d.ts +17 -0
  407. package/node_modules/unbash/dist/parts.js +82 -0
  408. package/node_modules/unbash/dist/printer.d.ts +2 -0
  409. package/node_modules/unbash/dist/printer.js +536 -0
  410. package/node_modules/unbash/dist/types.d.ts +494 -0
  411. package/node_modules/unbash/dist/types.js +1 -0
  412. package/node_modules/unbash/dist/word.d.ts +22 -0
  413. package/node_modules/unbash/dist/word.js +102 -0
  414. package/node_modules/unbash/package.json +80 -0
  415. package/node_modules/validate-npm-package-name/LICENSE +6 -0
  416. package/node_modules/validate-npm-package-name/README.md +120 -0
  417. package/node_modules/validate-npm-package-name/lib/builtin-modules.json +1 -0
  418. package/node_modules/validate-npm-package-name/lib/index.js +114 -0
  419. package/node_modules/validate-npm-package-name/package.json +59 -0
  420. package/node_modules/yaml/LICENSE +13 -0
  421. package/node_modules/yaml/README.md +172 -0
  422. package/node_modules/yaml/bin.mjs +11 -0
  423. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  424. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  425. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  426. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  427. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  428. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  429. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  430. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  431. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  432. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  433. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
  434. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  435. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  436. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  437. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  438. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  439. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  440. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  441. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  442. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  443. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  444. package/node_modules/yaml/browser/dist/errors.js +57 -0
  445. package/node_modules/yaml/browser/dist/index.js +17 -0
  446. package/node_modules/yaml/browser/dist/log.js +11 -0
  447. package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
  448. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  449. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  450. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  451. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  452. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  453. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  454. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  455. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  456. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  457. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  458. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  459. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  460. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  461. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  462. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  463. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  464. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  465. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  466. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  467. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  468. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  469. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  470. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  471. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  472. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  473. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  474. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  475. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  476. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  477. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  478. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  479. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  480. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  481. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  482. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  483. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  484. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  485. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  486. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  487. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  488. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  489. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  490. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  491. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  492. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  493. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  494. package/node_modules/yaml/browser/dist/util.js +11 -0
  495. package/node_modules/yaml/browser/dist/visit.js +233 -0
  496. package/node_modules/yaml/browser/index.js +5 -0
  497. package/node_modules/yaml/browser/package.json +3 -0
  498. package/node_modules/yaml/dist/cli.d.ts +8 -0
  499. package/node_modules/yaml/dist/cli.mjs +201 -0
  500. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  501. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  502. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  503. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  504. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  505. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  506. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  507. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  508. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  509. package/node_modules/yaml/dist/compose/composer.js +224 -0
  510. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  511. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  512. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  513. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  514. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  515. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  516. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  517. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  518. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  519. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  520. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  521. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
  522. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  523. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  524. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  525. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  526. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  527. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  528. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  529. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  530. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  531. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  532. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  533. package/node_modules/yaml/dist/doc/Document.js +337 -0
  534. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  535. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  536. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  537. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  538. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  539. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  540. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  541. package/node_modules/yaml/dist/doc/directives.js +178 -0
  542. package/node_modules/yaml/dist/errors.d.ts +21 -0
  543. package/node_modules/yaml/dist/errors.js +62 -0
  544. package/node_modules/yaml/dist/index.d.ts +25 -0
  545. package/node_modules/yaml/dist/index.js +50 -0
  546. package/node_modules/yaml/dist/log.d.ts +3 -0
  547. package/node_modules/yaml/dist/log.js +19 -0
  548. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  549. package/node_modules/yaml/dist/nodes/Alias.js +120 -0
  550. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  551. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  552. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  553. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  554. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  555. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  556. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  557. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  558. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  559. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  560. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  561. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  562. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  563. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  564. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  565. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  566. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  567. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  568. package/node_modules/yaml/dist/options.d.ts +350 -0
  569. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  570. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  571. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  572. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  573. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  574. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  575. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  576. package/node_modules/yaml/dist/parse/cst.js +112 -0
  577. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  578. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  579. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  580. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  581. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  582. package/node_modules/yaml/dist/parse/parser.js +980 -0
  583. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  584. package/node_modules/yaml/dist/public-api.js +107 -0
  585. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  586. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  587. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  588. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  589. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  590. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  591. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  592. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  593. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  594. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  595. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  596. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  597. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  598. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  599. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  600. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  601. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  602. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  603. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  604. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  605. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  606. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  607. package/node_modules/yaml/dist/schema/tags.js +99 -0
  608. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  609. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  610. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  611. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  612. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  613. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  614. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  615. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  616. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  617. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  618. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  619. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  620. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  621. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  622. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  623. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  624. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  625. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  626. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  627. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  628. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  629. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  630. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  631. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  632. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  633. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  634. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  635. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  636. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  637. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  638. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  639. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  640. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  641. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  642. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  643. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  644. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  645. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  646. package/node_modules/yaml/dist/test-events.js +134 -0
  647. package/node_modules/yaml/dist/util.d.ts +16 -0
  648. package/node_modules/yaml/dist/util.js +28 -0
  649. package/node_modules/yaml/dist/visit.d.ts +102 -0
  650. package/node_modules/yaml/dist/visit.js +236 -0
  651. package/node_modules/yaml/package.json +97 -0
  652. package/node_modules/yaml/util.js +2 -0
  653. package/package.json +23 -21
  654. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-boundaries.ts +0 -12
  655. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/run-root-owned-task.ts +0 -69
  656. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/test/global-setup.ts +0 -21
  657. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/vitest.config.ts +0 -7
  658. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/playwright.config.ts +0 -90
  659. package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.d.ts +0 -33
  660. package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.js +0 -182
  661. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.d.ts +0 -45
  662. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.js +0 -27
  663. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.d.ts +0 -35
  664. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.js +0 -189
  665. package/node_modules/valibot/dist/index.min.cjs +0 -2
  666. package/node_modules/valibot/dist/index.min.mjs +0 -2
  667. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/LICENSE +0 -0
  668. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/README.md +0 -0
  669. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/comparator.js +0 -0
  670. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/index.js +0 -0
  671. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/range.js +0 -0
  672. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/semver.js +0 -0
  673. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/clean.js +0 -0
  674. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/cmp.js +0 -0
  675. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/coerce.js +0 -0
  676. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-build.js +0 -0
  677. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-loose.js +0 -0
  678. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare.js +0 -0
  679. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/diff.js +0 -0
  680. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/eq.js +0 -0
  681. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gt.js +0 -0
  682. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gte.js +0 -0
  683. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/inc.js +0 -0
  684. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lt.js +0 -0
  685. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lte.js +0 -0
  686. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/major.js +0 -0
  687. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/minor.js +0 -0
  688. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/neq.js +0 -0
  689. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/parse.js +0 -0
  690. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/patch.js +0 -0
  691. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/prerelease.js +0 -0
  692. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rcompare.js +0 -0
  693. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rsort.js +0 -0
  694. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/satisfies.js +0 -0
  695. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/sort.js +0 -0
  696. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/truncate.js +0 -0
  697. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/valid.js +0 -0
  698. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/index.js +0 -0
  699. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/constants.js +0 -0
  700. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/debug.js +0 -0
  701. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/identifiers.js +0 -0
  702. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/lrucache.js +0 -0
  703. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/parse-options.js +0 -0
  704. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/re.js +0 -0
  705. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/package.json +0 -0
  706. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/preload.js +0 -0
  707. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/range.bnf +0 -0
  708. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/gtr.js +0 -0
  709. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/intersects.js +0 -0
  710. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/ltr.js +0 -0
  711. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/max-satisfying.js +0 -0
  712. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-satisfying.js +0 -0
  713. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-version.js +0 -0
  714. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/outside.js +0 -0
  715. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/simplify.js +0 -0
  716. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/subset.js +0 -0
  717. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/to-comparators.js +0 -0
  718. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/valid.js +0 -0
  719. /package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/LICENSE.md +0 -0
  720. /package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/{types.d.ts → types.ts} +0 -0
@@ -0,0 +1,819 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from "node:child_process";
3
+ import { createHash } from "node:crypto";
4
+ import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
5
+ import { tmpdir } from "node:os";
6
+ import path from "node:path";
7
+
8
+ import {
9
+ acceptDownloadedPublicationArtifact,
10
+ type AcceptedPublicationArtifact,
11
+ PublicationFailure,
12
+ } from "./handoff.ts";
13
+
14
+ const packagePath = "{{PUBLIC_CLI_PACKAGE_PATH}}";
15
+
16
+ type ProcessResult = {
17
+ readonly exitCode: number;
18
+ readonly stdout: string;
19
+ readonly stderr: string;
20
+ };
21
+
22
+ type ReleaseContext = {
23
+ readonly repository: string;
24
+ readonly sha: string;
25
+ readonly runAttempt: number;
26
+ readonly childEnvironment: NodeJS.ProcessEnv;
27
+ readonly gitEnvironment: NodeJS.ProcessEnv;
28
+ };
29
+
30
+ type RemoteAsset = {
31
+ readonly id: number;
32
+ readonly name: string;
33
+ readonly size: number;
34
+ };
35
+
36
+ type RemoteRelease = {
37
+ readonly tag: string;
38
+ readonly title: string;
39
+ readonly body: string;
40
+ readonly draft: boolean;
41
+ readonly immutable: boolean;
42
+ readonly publishedAt: string | null;
43
+ readonly assets: readonly RemoteAsset[];
44
+ };
45
+
46
+ export type ImmutableGithubReleaseOptions = {
47
+ readonly repositoryRoot: string;
48
+ readonly artifactDirectory: string;
49
+ readonly environment: Readonly<Record<string, string | undefined>>;
50
+ readonly run?: (
51
+ command: string,
52
+ arguments_: readonly string[],
53
+ options: { readonly cwd: string; readonly env: NodeJS.ProcessEnv },
54
+ ) => Promise<ProcessResult>;
55
+ };
56
+
57
+ function fail(code: string): never {
58
+ throw new PublicationFailure(code, "release precondition was not accepted");
59
+ }
60
+
61
+ function isRecord(value: unknown): value is Record<string, unknown> {
62
+ return typeof value === "object" && value !== null && !Array.isArray(value);
63
+ }
64
+
65
+ function stringField(value: unknown): string | undefined {
66
+ return typeof value === "string" && value.length > 0 ? value : undefined;
67
+ }
68
+
69
+ function noControl(value: string): boolean {
70
+ for (let index = 0; index < value.length;) {
71
+ const codePoint = value.codePointAt(index);
72
+ if (
73
+ codePoint === undefined ||
74
+ codePoint < 0x20 ||
75
+ codePoint === 0x7f ||
76
+ (codePoint >= 0x80 && codePoint <= 0x9f)
77
+ ) {
78
+ return false;
79
+ }
80
+ index += codePoint > 0xffff ? 2 : 1;
81
+ }
82
+ return true;
83
+ }
84
+
85
+ function exactEnvironmentValue(
86
+ environment: Readonly<Record<string, string | undefined>>,
87
+ name: string,
88
+ ): string {
89
+ const value = environment[name];
90
+ if (typeof value !== "string" || value.length === 0 || !noControl(value))
91
+ fail("release-context-invalid");
92
+ return value;
93
+ }
94
+
95
+ function releaseContext(
96
+ environment: Readonly<Record<string, string | undefined>>,
97
+ ): ReleaseContext {
98
+ const repository = exactEnvironmentValue(environment, "GITHUB_REPOSITORY");
99
+ const sha = exactEnvironmentValue(environment, "GITHUB_SHA");
100
+ const branch = exactEnvironmentValue(environment, "GITHUB_DEFAULT_BRANCH");
101
+ const ref = exactEnvironmentValue(environment, "GITHUB_REF");
102
+ const eventName = exactEnvironmentValue(environment, "GITHUB_EVENT_NAME");
103
+ const runId = exactEnvironmentValue(environment, "GITHUB_RUN_ID");
104
+ const attempt = exactEnvironmentValue(environment, "GITHUB_RUN_ATTEMPT");
105
+ const token = exactEnvironmentValue(environment, "GH_TOKEN");
106
+ if (
107
+ !/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u.test(repository) ||
108
+ !/^[0-9a-f]{40}$/u.test(sha) ||
109
+ !/^[A-Za-z0-9._/-]+$/u.test(branch) ||
110
+ eventName !== "workflow_dispatch" ||
111
+ ref !== `refs/heads/${branch}` ||
112
+ !/^\d+$/u.test(runId) ||
113
+ !/^[1-9]\d*$/u.test(attempt)
114
+ ) {
115
+ fail("release-context-invalid");
116
+ }
117
+ const runAttempt = Number(attempt);
118
+ if (!Number.isSafeInteger(runAttempt)) fail("release-context-invalid");
119
+ const childEnvironment: NodeJS.ProcessEnv = { GH_TOKEN: token };
120
+ if (environment.PATH !== undefined) childEnvironment.PATH = environment.PATH;
121
+ const gitEnvironment: NodeJS.ProcessEnv = {};
122
+ if (environment.PATH !== undefined) gitEnvironment.PATH = environment.PATH;
123
+ return { repository, sha, runAttempt, childEnvironment, gitEnvironment };
124
+ }
125
+
126
+ async function defaultRun(
127
+ command: string,
128
+ arguments_: readonly string[],
129
+ options: { readonly cwd: string; readonly env: NodeJS.ProcessEnv },
130
+ ): Promise<ProcessResult> {
131
+ return await new Promise((resolve, reject) => {
132
+ const child = spawn(command, arguments_, {
133
+ cwd: options.cwd,
134
+ env: options.env,
135
+ stdio: ["ignore", "pipe", "pipe"],
136
+ });
137
+ let stdout = "";
138
+ let stderr = "";
139
+ child.stdout.on("data", (value: Buffer) => (stdout += value));
140
+ child.stderr.on("data", (value: Buffer) => (stderr += value));
141
+ child.once("error", reject);
142
+ child.once("close", (exitCode) =>
143
+ resolve({ exitCode: exitCode ?? 1, stdout, stderr }),
144
+ );
145
+ });
146
+ }
147
+
148
+ async function gh(options: {
149
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
150
+ readonly repositoryRoot: string;
151
+ readonly context: ReleaseContext;
152
+ readonly arguments_: readonly string[];
153
+ }): Promise<ProcessResult> {
154
+ try {
155
+ return await options.run("gh", options.arguments_, {
156
+ cwd: options.repositoryRoot,
157
+ env: options.context.childEnvironment,
158
+ });
159
+ } catch {
160
+ fail("release-remote-unavailable");
161
+ }
162
+ }
163
+
164
+ async function assertCheckoutHead(options: {
165
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
166
+ readonly repositoryRoot: string;
167
+ readonly context: ReleaseContext;
168
+ }): Promise<void> {
169
+ let result: ProcessResult;
170
+ try {
171
+ result = await options.run("git", ["rev-parse", "--verify", "HEAD"], {
172
+ cwd: options.repositoryRoot,
173
+ env: options.context.gitEnvironment,
174
+ });
175
+ } catch {
176
+ fail("release-context-invalid");
177
+ }
178
+ if (result.exitCode !== 0 || result.stdout !== `${options.context.sha}\n`) {
179
+ fail("release-context-invalid");
180
+ }
181
+ }
182
+
183
+ function parseJson(value: string, code: string): unknown {
184
+ try {
185
+ return JSON.parse(value);
186
+ } catch {
187
+ return fail(code);
188
+ }
189
+ }
190
+
191
+ function responseBody(value: string): string | undefined {
192
+ const match =
193
+ /^HTTP\/\d(?:\.\d)? 200[^\r\n]*\r?\n(?:[^\r\n]*\r?\n)*\r?\n([\s\S]*)$/u.exec(
194
+ value,
195
+ );
196
+ return match?.[1];
197
+ }
198
+
199
+ function isExplicitNotFound(value: string): boolean {
200
+ return /^HTTP\/\d(?:\.\d)? 404(?:\s|$)/mu.test(value);
201
+ }
202
+
203
+ async function tagReference(options: {
204
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
205
+ readonly repositoryRoot: string;
206
+ readonly context: ReleaseContext;
207
+ readonly tag: string;
208
+ }): Promise<string | undefined> {
209
+ const result = await gh({
210
+ ...options,
211
+ arguments_: [
212
+ "api",
213
+ "--include",
214
+ "--method",
215
+ "GET",
216
+ `repos/${options.context.repository}/git/ref/tags/${options.tag}`,
217
+ ],
218
+ });
219
+ if (result.exitCode !== 0) {
220
+ if (isExplicitNotFound(result.stdout)) return undefined;
221
+ fail("release-remote-unavailable");
222
+ }
223
+ const body = responseBody(result.stdout);
224
+ if (body === undefined) fail("release-remote-unavailable");
225
+ const value = parseJson(body, "release-remote-unavailable");
226
+ if (
227
+ !isRecord(value) ||
228
+ !isRecord(value.object) ||
229
+ value.object.type !== "tag" ||
230
+ stringField(value.object.sha) === undefined
231
+ ) {
232
+ fail("release-tag-conflict");
233
+ }
234
+ return stringField(value.object.sha)!;
235
+ }
236
+
237
+ async function assertAnnotatedTag(options: {
238
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
239
+ readonly repositoryRoot: string;
240
+ readonly context: ReleaseContext;
241
+ readonly tag: string;
242
+ readonly annotation: string;
243
+ }): Promise<void> {
244
+ const reference = await tagReference(options);
245
+ if (reference === undefined) fail("release-tag-conflict");
246
+ const result = await gh({
247
+ ...options,
248
+ arguments_: [
249
+ "api",
250
+ "--method",
251
+ "GET",
252
+ `repos/${options.context.repository}/git/tags/${reference}`,
253
+ ],
254
+ });
255
+ if (result.exitCode !== 0) fail("release-remote-unavailable");
256
+ const value = parseJson(result.stdout, "release-remote-unavailable");
257
+ if (
258
+ !isRecord(value) ||
259
+ value.tag !== options.tag ||
260
+ value.message !== options.annotation ||
261
+ !isRecord(value.object) ||
262
+ value.object.type !== "commit" ||
263
+ value.object.sha !== options.context.sha
264
+ ) {
265
+ fail("release-tag-conflict");
266
+ }
267
+ }
268
+
269
+ function remoteAsset(value: unknown): RemoteAsset | undefined {
270
+ if (!isRecord(value)) return undefined;
271
+ const id = value.id;
272
+ const name = stringField(value.name);
273
+ const size = value.size;
274
+ if (
275
+ !Number.isSafeInteger(id) ||
276
+ typeof id !== "number" ||
277
+ id <= 0 ||
278
+ name === undefined ||
279
+ !Number.isSafeInteger(size) ||
280
+ typeof size !== "number" ||
281
+ size < 0
282
+ ) {
283
+ return undefined;
284
+ }
285
+ return { id, name, size };
286
+ }
287
+
288
+ function remoteRelease(value: unknown): RemoteRelease | undefined {
289
+ if (!isRecord(value)) return undefined;
290
+ const tag = stringField(value.tag_name);
291
+ const title = stringField(value.name);
292
+ const body = typeof value.body === "string" ? value.body : undefined;
293
+ const publishedAt =
294
+ value.published_at === null ? null : stringField(value.published_at);
295
+ if (
296
+ tag === undefined ||
297
+ title === undefined ||
298
+ body === undefined ||
299
+ typeof value.draft !== "boolean" ||
300
+ typeof value.immutable !== "boolean" ||
301
+ publishedAt === undefined ||
302
+ !Array.isArray(value.assets)
303
+ ) {
304
+ return undefined;
305
+ }
306
+ const assets = value.assets.map(remoteAsset);
307
+ if (!assets.every((asset): asset is RemoteAsset => asset !== undefined))
308
+ return undefined;
309
+ return {
310
+ tag,
311
+ title,
312
+ body,
313
+ draft: value.draft,
314
+ immutable: value.immutable,
315
+ publishedAt,
316
+ assets,
317
+ };
318
+ }
319
+
320
+ async function taggedRelease(options: {
321
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
322
+ readonly repositoryRoot: string;
323
+ readonly context: ReleaseContext;
324
+ readonly tag: string;
325
+ }): Promise<RemoteRelease | undefined> {
326
+ const result = await gh({
327
+ ...options,
328
+ arguments_: [
329
+ "api",
330
+ "--paginate",
331
+ "--slurp",
332
+ `repos/${options.context.repository}/releases?per_page=100`,
333
+ ],
334
+ });
335
+ if (result.exitCode !== 0) fail("release-remote-unavailable");
336
+ const pages = parseJson(result.stdout, "release-remote-unavailable");
337
+ if (!Array.isArray(pages) || pages.some((page) => !Array.isArray(page)))
338
+ fail("release-remote-unavailable");
339
+ const matches = pages
340
+ .flat()
341
+ .filter((item) => isRecord(item) && item.tag_name === options.tag)
342
+ .map(remoteRelease);
343
+ if (matches.some((item) => item === undefined))
344
+ fail("release-remote-unavailable");
345
+ if (matches.length > 1) fail("release-draft-conflict");
346
+ return matches[0];
347
+ }
348
+
349
+ async function assertReleaseIdentity(options: {
350
+ readonly release: RemoteRelease;
351
+ readonly artifact: AcceptedPublicationArtifact;
352
+ readonly tag: string;
353
+ readonly draft: boolean;
354
+ readonly identityFailure: string;
355
+ readonly assetCountFailure: string;
356
+ }): Promise<readonly RemoteAsset[]> {
357
+ const checksum = await readFile(options.artifact.checksum).catch(() =>
358
+ fail("release-artifact-invalid"),
359
+ );
360
+ const expected = [
361
+ {
362
+ name: path.basename(options.artifact.tgz),
363
+ size: options.artifact.receipt.artifact.size,
364
+ },
365
+ { name: "SHA512SUMS", size: checksum.byteLength },
366
+ ];
367
+ const assets = options.release.assets.toSorted((left, right) =>
368
+ left.name.localeCompare(right.name),
369
+ );
370
+ const sortedExpected = expected.toSorted((left, right) =>
371
+ left.name.localeCompare(right.name),
372
+ );
373
+ if (
374
+ options.release.tag !== options.tag ||
375
+ options.release.title !== options.tag ||
376
+ options.release.body !==
377
+ options.artifact.receipt.publication.releaseNotes ||
378
+ options.release.draft !== options.draft
379
+ ) {
380
+ fail(options.identityFailure);
381
+ }
382
+ if (assets.length !== sortedExpected.length) fail(options.assetCountFailure);
383
+ if (
384
+ assets.some(
385
+ (asset, index) =>
386
+ asset.name !== sortedExpected[index]!.name ||
387
+ asset.size !== sortedExpected[index]!.size ||
388
+ assets.findIndex((candidate) => candidate.name === asset.name) !==
389
+ index,
390
+ )
391
+ ) {
392
+ fail(options.identityFailure);
393
+ }
394
+ return assets;
395
+ }
396
+
397
+ async function verifyAssetBytes(options: {
398
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
399
+ readonly repositoryRoot: string;
400
+ readonly context: ReleaseContext;
401
+ readonly artifact: AcceptedPublicationArtifact;
402
+ readonly assets: readonly RemoteAsset[];
403
+ readonly temporaryDirectory: string;
404
+ }): Promise<void> {
405
+ const expected = new Set([path.basename(options.artifact.tgz), "SHA512SUMS"]);
406
+ const downloaded = new Map<string, string>();
407
+ for (const asset of options.assets) {
408
+ if (!expected.has(asset.name)) fail("release-asset-conflict");
409
+ const destination = path.join(
410
+ options.temporaryDirectory,
411
+ `asset-${asset.id}`,
412
+ );
413
+ const result = await gh({
414
+ ...options,
415
+ arguments_: [
416
+ "api",
417
+ "--method",
418
+ "GET",
419
+ "-H",
420
+ "Accept: application/octet-stream",
421
+ `repos/${options.context.repository}/releases/assets/${asset.id}`,
422
+ `--output=${destination}`,
423
+ ],
424
+ });
425
+ if (result.exitCode !== 0) fail("release-asset-conflict");
426
+ downloaded.set(asset.name, destination);
427
+ }
428
+ const tgz = downloaded.get(path.basename(options.artifact.tgz));
429
+ const checksum = downloaded.get("SHA512SUMS");
430
+ if (tgz === undefined || checksum === undefined)
431
+ fail("release-asset-conflict");
432
+ const [downloadedTgz, downloadedChecksum, localChecksum] = await Promise.all([
433
+ readFile(tgz),
434
+ readFile(checksum),
435
+ readFile(options.artifact.checksum),
436
+ ]).catch(() => fail("release-asset-conflict"));
437
+ if (
438
+ downloadedTgz.byteLength !== options.artifact.receipt.artifact.size ||
439
+ createHash("sha512").update(downloadedTgz).digest("hex") !==
440
+ options.artifact.sha512 ||
441
+ !downloadedChecksum.equals(localChecksum)
442
+ ) {
443
+ fail("release-asset-conflict");
444
+ }
445
+ try {
446
+ await Promise.all([...downloaded.values()].map((filePath) => rm(filePath)));
447
+ } catch {
448
+ fail("release-remote-unavailable");
449
+ }
450
+ }
451
+
452
+ async function createTag(options: {
453
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
454
+ readonly repositoryRoot: string;
455
+ readonly context: ReleaseContext;
456
+ readonly tag: string;
457
+ readonly annotation: string;
458
+ }): Promise<void> {
459
+ const tagObject = await gh({
460
+ ...options,
461
+ arguments_: [
462
+ "api",
463
+ "--method",
464
+ "POST",
465
+ `repos/${options.context.repository}/git/tags`,
466
+ "-f",
467
+ `tag=${options.tag}`,
468
+ "-f",
469
+ `message=${options.annotation}`,
470
+ "-f",
471
+ `object=${options.context.sha}`,
472
+ "-f",
473
+ "type=commit",
474
+ ],
475
+ });
476
+ if (tagObject.exitCode !== 0) fail("release-write-failed");
477
+ const tagObjectValue = parseJson(tagObject.stdout, "release-write-failed");
478
+ const tagObjectSha = isRecord(tagObjectValue)
479
+ ? stringField(tagObjectValue.sha)
480
+ : undefined;
481
+ if (tagObjectSha === undefined) fail("release-write-failed");
482
+ const reference = await gh({
483
+ ...options,
484
+ arguments_: [
485
+ "api",
486
+ "--method",
487
+ "POST",
488
+ `repos/${options.context.repository}/git/refs`,
489
+ "-f",
490
+ `ref=refs/tags/${options.tag}`,
491
+ "-f",
492
+ `sha=${tagObjectSha}`,
493
+ ],
494
+ });
495
+ if (reference.exitCode !== 0) fail("release-write-failed");
496
+ }
497
+
498
+ async function createDraft(options: {
499
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
500
+ readonly repositoryRoot: string;
501
+ readonly context: ReleaseContext;
502
+ readonly artifact: AcceptedPublicationArtifact;
503
+ readonly tag: string;
504
+ readonly notesPath: string;
505
+ }): Promise<void> {
506
+ const result = await gh({
507
+ ...options,
508
+ arguments_: [
509
+ "release",
510
+ "create",
511
+ options.tag,
512
+ options.artifact.tgz,
513
+ options.artifact.checksum,
514
+ "--draft",
515
+ "--verify-tag",
516
+ "--title",
517
+ options.tag,
518
+ `--notes-file=${options.notesPath}`,
519
+ ],
520
+ });
521
+ if (result.exitCode !== 0) fail("release-write-failed");
522
+ }
523
+
524
+ async function publishDraft(options: {
525
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
526
+ readonly repositoryRoot: string;
527
+ readonly context: ReleaseContext;
528
+ readonly tag: string;
529
+ }): Promise<void> {
530
+ const result = await gh({
531
+ ...options,
532
+ arguments_: ["release", "edit", options.tag, "--draft=false"],
533
+ });
534
+ if (result.exitCode !== 0) fail("release-write-failed");
535
+ }
536
+
537
+ async function verifyAttestations(options: {
538
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
539
+ readonly repositoryRoot: string;
540
+ readonly context: ReleaseContext;
541
+ readonly artifact: AcceptedPublicationArtifact;
542
+ readonly tag: string;
543
+ }): Promise<void> {
544
+ for (const arguments_ of [
545
+ ["release", "verify", options.tag],
546
+ ["release", "verify-asset", options.tag, options.artifact.tgz],
547
+ ["release", "verify-asset", options.tag, options.artifact.checksum],
548
+ ] as const) {
549
+ const result = await gh({ ...options, arguments_ });
550
+ if (result.exitCode !== 0) fail("release-attestation-invalid");
551
+ }
552
+ }
553
+
554
+ async function acceptedArtifact(options: {
555
+ readonly repositoryRoot: string;
556
+ readonly artifactDirectory: string;
557
+ readonly repository: string;
558
+ }): Promise<AcceptedPublicationArtifact> {
559
+ try {
560
+ return await acceptDownloadedPublicationArtifact({
561
+ repositoryRoot: options.repositoryRoot,
562
+ packagePath,
563
+ artifactDirectory: options.artifactDirectory,
564
+ githubRepository: options.repository,
565
+ });
566
+ } catch {
567
+ fail("release-artifact-invalid");
568
+ }
569
+ }
570
+
571
+ async function requireRelease(options: {
572
+ readonly run: NonNullable<ImmutableGithubReleaseOptions["run"]>;
573
+ readonly repositoryRoot: string;
574
+ readonly context: ReleaseContext;
575
+ readonly tag: string;
576
+ }): Promise<RemoteRelease> {
577
+ const release = await taggedRelease(options);
578
+ if (release === undefined) fail("release-write-failed");
579
+ return release;
580
+ }
581
+
582
+ function installSignalCleanup(temporaryDirectory: string): () => void {
583
+ let receivedSignal = false;
584
+ const remove = () => {
585
+ process.off("SIGINT", onSigint);
586
+ process.off("SIGTERM", onSigterm);
587
+ };
588
+ const cleanupAndResend = (signal: NodeJS.Signals) => {
589
+ if (receivedSignal) return;
590
+ receivedSignal = true;
591
+ void rm(temporaryDirectory, { recursive: true, force: true })
592
+ .catch(() => undefined)
593
+ .finally(() => {
594
+ remove();
595
+ process.kill(process.pid, signal);
596
+ });
597
+ };
598
+ const onSigint = () => cleanupAndResend("SIGINT");
599
+ const onSigterm = () => cleanupAndResend("SIGTERM");
600
+ process.once("SIGINT", onSigint);
601
+ process.once("SIGTERM", onSigterm);
602
+ return remove;
603
+ }
604
+
605
+ export async function runImmutableGithubRelease(
606
+ options: ImmutableGithubReleaseOptions,
607
+ ): Promise<void> {
608
+ const context = releaseContext(options.environment);
609
+ const artifact = await acceptedArtifact({
610
+ repositoryRoot: options.repositoryRoot,
611
+ artifactDirectory: options.artifactDirectory,
612
+ repository: context.repository,
613
+ });
614
+ const tag = `v${artifact.receipt.packedManifest.version}`;
615
+ const annotation = `npm artifact SHA-512: ${artifact.sha512}`;
616
+ const run = options.run ?? defaultRun;
617
+ await assertCheckoutHead({
618
+ run,
619
+ repositoryRoot: options.repositoryRoot,
620
+ context,
621
+ });
622
+ const temporaryDirectory = await mkdtemp(
623
+ path.join(tmpdir(), "npm-github-release-"),
624
+ ).catch(() => fail("release-remote-unavailable"));
625
+ const removeSignalCleanup = installSignalCleanup(temporaryDirectory);
626
+ let completed = false;
627
+ try {
628
+ const notesPath = path.join(temporaryDirectory, "notes.md");
629
+ await writeFile(notesPath, artifact.receipt.publication.releaseNotes).catch(
630
+ () => fail("release-write-failed"),
631
+ );
632
+ let alreadyImmutable = false;
633
+ const remoteTag = await tagReference({
634
+ run,
635
+ repositoryRoot: options.repositoryRoot,
636
+ context,
637
+ tag,
638
+ });
639
+ const remoteRelease = await taggedRelease({
640
+ run,
641
+ repositoryRoot: options.repositoryRoot,
642
+ context,
643
+ tag,
644
+ });
645
+
646
+ if (context.runAttempt === 1) {
647
+ if (remoteTag !== undefined || remoteRelease !== undefined)
648
+ fail("fresh-release-conflict");
649
+ await createTag({
650
+ run,
651
+ repositoryRoot: options.repositoryRoot,
652
+ context,
653
+ tag,
654
+ annotation,
655
+ });
656
+ await assertAnnotatedTag({
657
+ run,
658
+ repositoryRoot: options.repositoryRoot,
659
+ context,
660
+ tag,
661
+ annotation,
662
+ });
663
+ await createDraft({
664
+ run,
665
+ repositoryRoot: options.repositoryRoot,
666
+ context,
667
+ artifact,
668
+ tag,
669
+ notesPath,
670
+ });
671
+ } else {
672
+ if (remoteTag === undefined || remoteRelease === undefined)
673
+ fail("release-incomplete-conflict");
674
+ await assertAnnotatedTag({
675
+ run,
676
+ repositoryRoot: options.repositoryRoot,
677
+ context,
678
+ tag,
679
+ annotation,
680
+ });
681
+ if (!remoteRelease.draft) {
682
+ if (!remoteRelease.immutable || remoteRelease.publishedAt === null)
683
+ fail("release-immutability-unproven");
684
+ await assertReleaseIdentity({
685
+ release: remoteRelease,
686
+ artifact,
687
+ tag,
688
+ draft: false,
689
+ identityFailure: "release-asset-conflict",
690
+ assetCountFailure: "release-incomplete-conflict",
691
+ });
692
+ await verifyAttestations({
693
+ run,
694
+ repositoryRoot: options.repositoryRoot,
695
+ context,
696
+ artifact,
697
+ tag,
698
+ });
699
+ alreadyImmutable = true;
700
+ }
701
+ }
702
+
703
+ if (!alreadyImmutable) {
704
+ const draft = await requireRelease({
705
+ run,
706
+ repositoryRoot: options.repositoryRoot,
707
+ context,
708
+ tag,
709
+ });
710
+ const draftAssets = await assertReleaseIdentity({
711
+ release: draft,
712
+ artifact,
713
+ tag,
714
+ draft: true,
715
+ identityFailure:
716
+ context.runAttempt === 1
717
+ ? "release-write-failed"
718
+ : "release-draft-conflict",
719
+ assetCountFailure:
720
+ context.runAttempt === 1
721
+ ? "release-write-failed"
722
+ : "release-incomplete-conflict",
723
+ });
724
+ await verifyAssetBytes({
725
+ run,
726
+ repositoryRoot: options.repositoryRoot,
727
+ context,
728
+ artifact,
729
+ assets: draftAssets,
730
+ temporaryDirectory,
731
+ });
732
+ await assertAnnotatedTag({
733
+ run,
734
+ repositoryRoot: options.repositoryRoot,
735
+ context,
736
+ tag,
737
+ annotation,
738
+ });
739
+ await publishDraft({
740
+ run,
741
+ repositoryRoot: options.repositoryRoot,
742
+ context,
743
+ tag,
744
+ });
745
+ const published = await requireRelease({
746
+ run,
747
+ repositoryRoot: options.repositoryRoot,
748
+ context,
749
+ tag,
750
+ });
751
+ if (published.draft) fail("release-write-failed");
752
+ await assertReleaseIdentity({
753
+ release: published,
754
+ artifact,
755
+ tag,
756
+ draft: false,
757
+ identityFailure: "release-write-failed",
758
+ assetCountFailure: "release-write-failed",
759
+ });
760
+ if (!published.immutable || published.publishedAt === null)
761
+ fail("release-immutability-unproven");
762
+ await assertAnnotatedTag({
763
+ run,
764
+ repositoryRoot: options.repositoryRoot,
765
+ context,
766
+ tag,
767
+ annotation,
768
+ });
769
+ await verifyAttestations({
770
+ run,
771
+ repositoryRoot: options.repositoryRoot,
772
+ context,
773
+ artifact,
774
+ tag,
775
+ });
776
+ }
777
+ completed = true;
778
+ } finally {
779
+ removeSignalCleanup();
780
+ try {
781
+ await rm(temporaryDirectory, { recursive: true, force: true });
782
+ } catch {
783
+ if (completed) fail("release-remote-unavailable");
784
+ }
785
+ }
786
+ if (completed) console.log(`Immutable GitHub Release verified: ${tag}`);
787
+ }
788
+
789
+ if (import.meta.main) {
790
+ try {
791
+ const artifactDirectory = process.env.PUBLICATION_ARTIFACT_DIRECTORY;
792
+ if (
793
+ artifactDirectory === undefined ||
794
+ !path.isAbsolute(artifactDirectory)
795
+ ) {
796
+ throw new PublicationFailure(
797
+ "release-artifact-invalid",
798
+ "PUBLICATION_ARTIFACT_DIRECTORY must be absolute",
799
+ );
800
+ }
801
+ await runImmutableGithubRelease({
802
+ repositoryRoot: process.cwd(),
803
+ artifactDirectory,
804
+ environment: process.env,
805
+ });
806
+ } catch (error) {
807
+ const code =
808
+ error instanceof PublicationFailure
809
+ ? error.code
810
+ : "release-remote-unavailable";
811
+ console.error(`ERROR ${code}`);
812
+ console.error("Observed: GitHub release evidence was not accepted");
813
+ console.error("Expected: one immutable release for the accepted artifact");
814
+ console.error(
815
+ "Next action: preserve the release state and contact a maintainer",
816
+ );
817
+ process.exitCode = 1;
818
+ }
819
+ }