@ykdz/template 0.0.36 → 0.0.38

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 (687) hide show
  1. package/dist/application.d.ts +129 -13
  2. package/dist/application.js +286 -174
  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 +319 -51
  7. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +122 -22
  8. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +2081 -410
  9. package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.d.ts +18 -3
  10. package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.js +29 -5
  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 +1 -1
  14. package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.js +16 -15
  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 +8 -6
  18. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/typescript.js +3 -3
  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 -6
  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 +1 -1
  24. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.js +34 -8
  25. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.d.ts +1 -1
  26. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.js +7 -7
  27. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.d.ts +28 -2
  28. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +164 -148
  29. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.d.ts +2 -2
  30. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.js +3 -3
  31. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.d.ts +2 -2
  32. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.js +22 -23
  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 +23 -10
  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/AGENTS.md.template +17 -0
  48. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/devcontainer.json +4 -2
  49. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.dynamic.txt +1 -0
  50. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +5 -5
  51. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-toolchain-versions.ts +556 -0
  52. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.json +4 -6
  53. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.packing-hook.json +2 -3
  54. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +1 -1
  55. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/turbo.json +19 -1
  56. package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/node-pnpm.Dockerfile +4 -6
  57. package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/tsconfig.config.json +2 -1
  58. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.app.json +1 -1
  59. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.node.json +2 -2
  60. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/readiness.ts +26 -5
  61. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/release.yml +1 -1
  62. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/root-tsconfig.json +2 -7
  63. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/tsconfig.json +2 -2
  64. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.build.json +2 -1
  65. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.json +2 -2
  66. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/scripts/reset.ts +3 -0
  67. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/db.ts +3 -4
  68. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/readiness.ts +6 -5
  69. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/storage.ts +93 -0
  70. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.build.json +8 -2
  71. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.json +3 -7
  72. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/turbo.json +1 -1
  73. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/drizzle.config.ts +5 -5
  74. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.build.json +2 -1
  75. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.json +2 -2
  76. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/.env.example +2 -1
  77. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile +25 -17
  78. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile.dockerignore +4 -4
  79. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/playwright.config.ts +5 -25
  80. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/scripts/check-standalone-deployment.ts +17 -15
  81. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/test/playwright-teardown.ts +6 -7
  82. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.app.json +1 -2
  83. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.json +0 -1
  84. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.node.json +2 -3
  85. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.test.json +0 -1
  86. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/turbo.json +0 -8
  87. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/vite.config.ts +3 -39
  88. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.json +7 -2
  89. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/playwright.config.ts +34 -0
  90. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/{web → root}/test/e2e/app.spec.ts +3 -3
  91. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/test/e2e/fixtures.ts +15 -0
  92. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/tsconfig.json +3 -0
  93. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/src/api.ts +1 -3
  94. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/turbo.json +0 -4
  95. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/vite.config.ts +2 -0
  96. package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.d.ts +2 -2
  97. package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.js +10 -5
  98. package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +1 -1
  99. package/node_modules/@ykdz/template-core/dist/module-graph.js +7 -5
  100. package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +33 -10
  101. package/node_modules/@ykdz/template-core/dist/package-contribution.js +1 -1
  102. package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +10 -9
  103. package/node_modules/@ykdz/template-core/dist/preset-definition.d.ts +11 -0
  104. package/node_modules/@ykdz/template-core/dist/project-github.d.ts +7 -5
  105. package/node_modules/@ykdz/template-core/dist/project-github.js +4 -4
  106. package/node_modules/@ykdz/template-core/dist/project-linking-v2.d.ts +2 -2
  107. package/node_modules/@ykdz/template-core/dist/project-linking-v2.js +12 -6
  108. package/node_modules/@ykdz/template-core/dist/project-projection.d.ts +27 -0
  109. package/node_modules/@ykdz/template-core/dist/project-projection.js +394 -9
  110. package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.d.ts +10 -0
  111. package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.js +9 -0
  112. package/node_modules/@ykdz/template-core/dist/template-boundary-check.js +15 -9
  113. package/node_modules/@ykdz/template-core/node_modules/valibot/LICENSE.md +9 -0
  114. package/node_modules/@ykdz/template-core/node_modules/valibot/README.md +94 -0
  115. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.cjs +7897 -0
  116. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.cts +16579 -0
  117. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.mts +16579 -0
  118. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.cjs +2 -0
  119. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.mjs +2 -0
  120. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.mjs +7577 -0
  121. package/node_modules/@ykdz/template-core/node_modules/valibot/package.json +84 -0
  122. package/node_modules/@ykdz/template-core/package.json +0 -2
  123. package/node_modules/hosted-git-info/LICENSE +13 -0
  124. package/node_modules/hosted-git-info/README.md +138 -0
  125. package/node_modules/hosted-git-info/lib/from-url.js +122 -0
  126. package/node_modules/hosted-git-info/lib/hosts.js +229 -0
  127. package/node_modules/hosted-git-info/lib/index.js +227 -0
  128. package/node_modules/hosted-git-info/lib/parse-url.js +79 -0
  129. package/node_modules/hosted-git-info/package.json +57 -0
  130. package/node_modules/jsonc-parser/CHANGELOG.md +76 -0
  131. package/node_modules/jsonc-parser/LICENSE.md +21 -0
  132. package/node_modules/jsonc-parser/README.md +364 -0
  133. package/node_modules/jsonc-parser/SECURITY.md +41 -0
  134. package/node_modules/jsonc-parser/lib/esm/impl/edit.js +185 -0
  135. package/node_modules/jsonc-parser/lib/esm/impl/format.js +261 -0
  136. package/node_modules/jsonc-parser/lib/esm/impl/parser.js +659 -0
  137. package/node_modules/jsonc-parser/lib/esm/impl/scanner.js +443 -0
  138. package/node_modules/jsonc-parser/lib/esm/impl/string-intern.js +29 -0
  139. package/node_modules/jsonc-parser/lib/esm/main.d.ts +351 -0
  140. package/node_modules/jsonc-parser/lib/esm/main.js +178 -0
  141. package/node_modules/jsonc-parser/lib/umd/impl/edit.js +201 -0
  142. package/node_modules/jsonc-parser/lib/umd/impl/format.js +275 -0
  143. package/node_modules/jsonc-parser/lib/umd/impl/parser.js +682 -0
  144. package/node_modules/jsonc-parser/lib/umd/impl/scanner.js +456 -0
  145. package/node_modules/jsonc-parser/lib/umd/impl/string-intern.js +42 -0
  146. package/node_modules/jsonc-parser/lib/umd/main.d.ts +351 -0
  147. package/node_modules/jsonc-parser/lib/umd/main.js +194 -0
  148. package/node_modules/jsonc-parser/package.json +37 -0
  149. package/node_modules/lru-cache/LICENSE.md +55 -0
  150. package/node_modules/lru-cache/README.md +469 -0
  151. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  152. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  153. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  154. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  155. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
  156. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  157. package/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
  158. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  159. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  160. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  161. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  162. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  163. package/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
  164. package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  165. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  166. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  167. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
  168. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
  169. package/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
  170. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  171. package/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
  172. package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  173. package/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  174. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  175. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  176. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  177. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  178. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  179. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
  180. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  181. package/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
  182. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  183. package/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  184. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  185. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  186. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  187. package/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
  188. package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  189. package/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  190. package/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  191. package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  192. package/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
  193. package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  194. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  195. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.js.map +1 -0
  196. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.d.ts +5 -0
  197. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.js +7 -0
  198. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts +1400 -0
  199. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts.map +1 -0
  200. package/node_modules/lru-cache/dist/commonjs/react-native/index.js +1733 -0
  201. package/node_modules/lru-cache/dist/commonjs/react-native/index.js.map +1 -0
  202. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts +12 -0
  203. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts.map +1 -0
  204. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js +10 -0
  205. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js.map +1 -0
  206. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  207. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  208. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
  209. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
  210. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
  211. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
  212. package/node_modules/lru-cache/dist/esm/browser/index.js +1729 -0
  213. package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
  214. package/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
  215. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
  216. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  217. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  218. package/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
  219. package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  220. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  221. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
  222. package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
  223. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
  224. package/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
  225. package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  226. package/node_modules/lru-cache/dist/esm/index.js +1729 -0
  227. package/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  228. package/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  229. package/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  230. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  231. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  232. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
  233. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
  234. package/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
  235. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
  236. package/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
  237. package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
  238. package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  239. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
  240. package/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  241. package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  242. package/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
  243. package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  244. package/node_modules/lru-cache/dist/esm/package.json +3 -0
  245. package/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  246. package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  247. package/node_modules/lru-cache/dist/esm/perf.js +7 -0
  248. package/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  249. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  250. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.js.map +1 -0
  251. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.d.ts +5 -0
  252. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.js +4 -0
  253. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts +1400 -0
  254. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts.map +1 -0
  255. package/node_modules/lru-cache/dist/esm/react-native/index.js +1729 -0
  256. package/node_modules/lru-cache/dist/esm/react-native/index.js.map +1 -0
  257. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts +12 -0
  258. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts.map +1 -0
  259. package/node_modules/lru-cache/dist/esm/react-native/perf.js +7 -0
  260. package/node_modules/lru-cache/dist/esm/react-native/perf.js.map +1 -0
  261. package/node_modules/lru-cache/package.json +180 -0
  262. package/node_modules/npm-package-arg/LICENSE +15 -0
  263. package/node_modules/npm-package-arg/README.md +104 -0
  264. package/node_modules/npm-package-arg/lib/npa.js +479 -0
  265. package/node_modules/npm-package-arg/node_modules/semver/LICENSE +15 -0
  266. package/node_modules/npm-package-arg/node_modules/semver/README.md +680 -0
  267. package/node_modules/npm-package-arg/node_modules/semver/bin/semver.js +195 -0
  268. package/node_modules/npm-package-arg/node_modules/semver/classes/comparator.js +143 -0
  269. package/node_modules/npm-package-arg/node_modules/semver/classes/index.js +7 -0
  270. package/node_modules/npm-package-arg/node_modules/semver/classes/range.js +577 -0
  271. package/node_modules/npm-package-arg/node_modules/semver/classes/semver.js +350 -0
  272. package/node_modules/npm-package-arg/node_modules/semver/functions/clean.js +8 -0
  273. package/node_modules/npm-package-arg/node_modules/semver/functions/cmp.js +54 -0
  274. package/node_modules/npm-package-arg/node_modules/semver/functions/coerce.js +62 -0
  275. package/node_modules/npm-package-arg/node_modules/semver/functions/compare-build.js +9 -0
  276. package/node_modules/npm-package-arg/node_modules/semver/functions/compare-loose.js +5 -0
  277. package/node_modules/npm-package-arg/node_modules/semver/functions/compare.js +7 -0
  278. package/node_modules/npm-package-arg/node_modules/semver/functions/diff.js +60 -0
  279. package/node_modules/npm-package-arg/node_modules/semver/functions/eq.js +5 -0
  280. package/node_modules/npm-package-arg/node_modules/semver/functions/gt.js +5 -0
  281. package/node_modules/npm-package-arg/node_modules/semver/functions/gte.js +5 -0
  282. package/node_modules/npm-package-arg/node_modules/semver/functions/inc.js +21 -0
  283. package/node_modules/npm-package-arg/node_modules/semver/functions/lt.js +5 -0
  284. package/node_modules/npm-package-arg/node_modules/semver/functions/lte.js +5 -0
  285. package/node_modules/npm-package-arg/node_modules/semver/functions/major.js +5 -0
  286. package/node_modules/npm-package-arg/node_modules/semver/functions/minor.js +5 -0
  287. package/node_modules/npm-package-arg/node_modules/semver/functions/neq.js +5 -0
  288. package/node_modules/npm-package-arg/node_modules/semver/functions/parse.js +18 -0
  289. package/node_modules/npm-package-arg/node_modules/semver/functions/patch.js +5 -0
  290. package/node_modules/npm-package-arg/node_modules/semver/functions/prerelease.js +8 -0
  291. package/node_modules/npm-package-arg/node_modules/semver/functions/rcompare.js +5 -0
  292. package/node_modules/npm-package-arg/node_modules/semver/functions/rsort.js +5 -0
  293. package/node_modules/npm-package-arg/node_modules/semver/functions/satisfies.js +12 -0
  294. package/node_modules/npm-package-arg/node_modules/semver/functions/sort.js +5 -0
  295. package/node_modules/npm-package-arg/node_modules/semver/functions/truncate.js +48 -0
  296. package/node_modules/npm-package-arg/node_modules/semver/functions/valid.js +8 -0
  297. package/node_modules/npm-package-arg/node_modules/semver/index.js +93 -0
  298. package/node_modules/npm-package-arg/node_modules/semver/internal/constants.js +37 -0
  299. package/node_modules/npm-package-arg/node_modules/semver/internal/debug.js +11 -0
  300. package/node_modules/npm-package-arg/node_modules/semver/internal/identifiers.js +29 -0
  301. package/node_modules/npm-package-arg/node_modules/semver/internal/lrucache.js +42 -0
  302. package/node_modules/npm-package-arg/node_modules/semver/internal/parse-options.js +17 -0
  303. package/node_modules/npm-package-arg/node_modules/semver/internal/re.js +223 -0
  304. package/node_modules/npm-package-arg/node_modules/semver/package.json +78 -0
  305. package/node_modules/npm-package-arg/node_modules/semver/preload.js +4 -0
  306. package/node_modules/npm-package-arg/node_modules/semver/range.bnf +17 -0
  307. package/node_modules/npm-package-arg/node_modules/semver/ranges/gtr.js +6 -0
  308. package/node_modules/npm-package-arg/node_modules/semver/ranges/intersects.js +9 -0
  309. package/node_modules/npm-package-arg/node_modules/semver/ranges/ltr.js +6 -0
  310. package/node_modules/npm-package-arg/node_modules/semver/ranges/max-satisfying.js +27 -0
  311. package/node_modules/npm-package-arg/node_modules/semver/ranges/min-satisfying.js +26 -0
  312. package/node_modules/npm-package-arg/node_modules/semver/ranges/min-version.js +63 -0
  313. package/node_modules/npm-package-arg/node_modules/semver/ranges/outside.js +82 -0
  314. package/node_modules/npm-package-arg/node_modules/semver/ranges/simplify.js +49 -0
  315. package/node_modules/npm-package-arg/node_modules/semver/ranges/subset.js +249 -0
  316. package/node_modules/npm-package-arg/node_modules/semver/ranges/to-comparators.js +10 -0
  317. package/node_modules/npm-package-arg/node_modules/semver/ranges/valid.js +13 -0
  318. package/node_modules/npm-package-arg/package.json +60 -0
  319. package/node_modules/picomatch/LICENSE +21 -0
  320. package/node_modules/picomatch/README.md +743 -0
  321. package/node_modules/picomatch/index.js +17 -0
  322. package/node_modules/picomatch/lib/constants.js +184 -0
  323. package/node_modules/picomatch/lib/parse.js +1425 -0
  324. package/node_modules/picomatch/lib/picomatch.js +361 -0
  325. package/node_modules/picomatch/lib/scan.js +403 -0
  326. package/node_modules/picomatch/lib/utils.js +72 -0
  327. package/node_modules/picomatch/package.json +83 -0
  328. package/node_modules/picomatch/posix.js +3 -0
  329. package/node_modules/proc-log/LICENSE +15 -0
  330. package/node_modules/proc-log/README.md +226 -0
  331. package/node_modules/proc-log/lib/index.js +158 -0
  332. package/node_modules/proc-log/package.json +46 -0
  333. package/node_modules/smol-toml/LICENSE +24 -0
  334. package/node_modules/smol-toml/README.md +605 -0
  335. package/node_modules/smol-toml/dist/date.d.ts +41 -0
  336. package/node_modules/smol-toml/dist/date.js +156 -0
  337. package/node_modules/smol-toml/dist/error.d.ts +37 -0
  338. package/node_modules/smol-toml/dist/error.js +67 -0
  339. package/node_modules/smol-toml/dist/extract.js +289 -0
  340. package/node_modules/smol-toml/dist/index.cjs +770 -0
  341. package/node_modules/smol-toml/dist/index.d.ts +44 -0
  342. package/node_modules/smol-toml/dist/index.js +34 -0
  343. package/node_modules/smol-toml/dist/parse.d.ts +73 -0
  344. package/node_modules/smol-toml/dist/parse.js +164 -0
  345. package/node_modules/smol-toml/dist/primitive.js +151 -0
  346. package/node_modules/smol-toml/dist/stringify.d.ts +32 -0
  347. package/node_modules/smol-toml/dist/stringify.js +219 -0
  348. package/node_modules/smol-toml/dist/struct.js +156 -0
  349. package/node_modules/smol-toml/dist/util.d.ts +43 -0
  350. package/node_modules/smol-toml/dist/util.js +57 -0
  351. package/node_modules/smol-toml/package.json +68 -0
  352. package/node_modules/typescript/bin/tsc +0 -0
  353. package/node_modules/typescript/bin/tsserver +0 -0
  354. package/node_modules/unbash/LICENSE +15 -0
  355. package/node_modules/unbash/README.md +289 -0
  356. package/node_modules/unbash/dist/ansi-c.d.ts +5 -0
  357. package/node_modules/unbash/dist/ansi-c.js +130 -0
  358. package/node_modules/unbash/dist/arithmetic.d.ts +11 -0
  359. package/node_modules/unbash/dist/arithmetic.js +530 -0
  360. package/node_modules/unbash/dist/assignment.d.ts +15 -0
  361. package/node_modules/unbash/dist/assignment.js +118 -0
  362. package/node_modules/unbash/dist/chars.d.ts +41 -0
  363. package/node_modules/unbash/dist/chars.js +41 -0
  364. package/node_modules/unbash/dist/command.d.ts +14 -0
  365. package/node_modules/unbash/dist/command.js +41 -0
  366. package/node_modules/unbash/dist/heredoc.d.ts +18 -0
  367. package/node_modules/unbash/dist/heredoc.js +25 -0
  368. package/node_modules/unbash/dist/internal-types.d.ts +87 -0
  369. package/node_modules/unbash/dist/internal-types.js +1 -0
  370. package/node_modules/unbash/dist/lexer.d.ts +202 -0
  371. package/node_modules/unbash/dist/lexer.js +3930 -0
  372. package/node_modules/unbash/dist/parser.d.ts +4 -0
  373. package/node_modules/unbash/dist/parser.js +1295 -0
  374. package/node_modules/unbash/dist/parts.d.ts +17 -0
  375. package/node_modules/unbash/dist/parts.js +82 -0
  376. package/node_modules/unbash/dist/printer.d.ts +2 -0
  377. package/node_modules/unbash/dist/printer.js +536 -0
  378. package/node_modules/unbash/dist/types.d.ts +494 -0
  379. package/node_modules/unbash/dist/types.js +1 -0
  380. package/node_modules/unbash/dist/word.d.ts +22 -0
  381. package/node_modules/unbash/dist/word.js +102 -0
  382. package/node_modules/unbash/package.json +80 -0
  383. package/node_modules/validate-npm-package-name/LICENSE +6 -0
  384. package/node_modules/validate-npm-package-name/README.md +120 -0
  385. package/node_modules/validate-npm-package-name/lib/builtin-modules.json +1 -0
  386. package/node_modules/validate-npm-package-name/lib/index.js +114 -0
  387. package/node_modules/validate-npm-package-name/package.json +59 -0
  388. package/node_modules/yaml/LICENSE +13 -0
  389. package/node_modules/yaml/README.md +172 -0
  390. package/node_modules/yaml/bin.mjs +11 -0
  391. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  392. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  393. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  394. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  395. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  396. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  397. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  398. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  399. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  400. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  401. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
  402. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  403. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  404. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  405. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  406. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  407. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  408. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  409. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  410. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  411. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  412. package/node_modules/yaml/browser/dist/errors.js +57 -0
  413. package/node_modules/yaml/browser/dist/index.js +17 -0
  414. package/node_modules/yaml/browser/dist/log.js +11 -0
  415. package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
  416. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  417. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  418. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  419. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  420. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  421. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  422. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  423. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  424. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  425. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  426. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  427. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  428. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  429. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  430. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  431. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  432. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  433. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  434. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  435. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  436. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  437. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  438. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  439. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  440. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  441. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  442. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  443. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  444. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  445. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  446. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  447. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  448. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  449. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  450. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  451. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  452. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  453. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  454. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  455. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  456. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  457. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  458. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  459. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  460. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  461. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  462. package/node_modules/yaml/browser/dist/util.js +11 -0
  463. package/node_modules/yaml/browser/dist/visit.js +233 -0
  464. package/node_modules/yaml/browser/index.js +5 -0
  465. package/node_modules/yaml/browser/package.json +3 -0
  466. package/node_modules/yaml/dist/cli.d.ts +8 -0
  467. package/node_modules/yaml/dist/cli.mjs +201 -0
  468. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  469. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  470. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  471. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  472. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  473. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  474. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  475. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  476. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  477. package/node_modules/yaml/dist/compose/composer.js +224 -0
  478. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  479. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  480. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  481. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  482. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  483. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  484. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  485. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  486. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  487. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  488. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  489. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
  490. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  491. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  492. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  493. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  494. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  495. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  496. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  497. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  498. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  499. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  500. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  501. package/node_modules/yaml/dist/doc/Document.js +337 -0
  502. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  503. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  504. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  505. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  506. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  507. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  508. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  509. package/node_modules/yaml/dist/doc/directives.js +178 -0
  510. package/node_modules/yaml/dist/errors.d.ts +21 -0
  511. package/node_modules/yaml/dist/errors.js +62 -0
  512. package/node_modules/yaml/dist/index.d.ts +25 -0
  513. package/node_modules/yaml/dist/index.js +50 -0
  514. package/node_modules/yaml/dist/log.d.ts +3 -0
  515. package/node_modules/yaml/dist/log.js +19 -0
  516. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  517. package/node_modules/yaml/dist/nodes/Alias.js +120 -0
  518. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  519. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  520. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  521. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  522. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  523. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  524. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  525. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  526. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  527. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  528. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  529. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  530. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  531. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  532. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  533. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  534. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  535. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  536. package/node_modules/yaml/dist/options.d.ts +350 -0
  537. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  538. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  539. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  540. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  541. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  542. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  543. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  544. package/node_modules/yaml/dist/parse/cst.js +112 -0
  545. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  546. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  547. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  548. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  549. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  550. package/node_modules/yaml/dist/parse/parser.js +980 -0
  551. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  552. package/node_modules/yaml/dist/public-api.js +107 -0
  553. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  554. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  555. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  556. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  557. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  558. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  559. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  560. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  561. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  562. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  563. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  564. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  565. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  566. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  567. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  568. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  569. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  570. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  571. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  572. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  573. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  574. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  575. package/node_modules/yaml/dist/schema/tags.js +99 -0
  576. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  577. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  578. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  579. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  580. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  581. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  582. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  583. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  584. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  585. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  586. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  587. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  588. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  589. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  590. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  591. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  592. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  593. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  594. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  595. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  596. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  597. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  598. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  599. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  600. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  601. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  602. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  603. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  604. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  605. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  606. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  607. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  608. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  609. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  610. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  611. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  612. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  613. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  614. package/node_modules/yaml/dist/test-events.js +134 -0
  615. package/node_modules/yaml/dist/util.d.ts +16 -0
  616. package/node_modules/yaml/dist/util.js +28 -0
  617. package/node_modules/yaml/dist/visit.d.ts +102 -0
  618. package/node_modules/yaml/dist/visit.js +236 -0
  619. package/node_modules/yaml/package.json +97 -0
  620. package/node_modules/yaml/util.js +2 -0
  621. package/package.json +21 -19
  622. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-boundaries.ts +0 -12
  623. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/run-root-owned-task.ts +0 -69
  624. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/test/global-setup.ts +0 -21
  625. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/vitest.config.ts +0 -7
  626. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/devcontainer/docker-client.Dockerfile +0 -3
  627. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/playwright.config.ts +0 -90
  628. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.d.ts +0 -45
  629. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.js +0 -27
  630. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.d.ts +0 -37
  631. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.js +0 -195
  632. package/node_modules/valibot/dist/index.min.cjs +0 -2
  633. package/node_modules/valibot/dist/index.min.mjs +0 -2
  634. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/LICENSE +0 -0
  635. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/README.md +0 -0
  636. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/comparator.js +0 -0
  637. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/index.js +0 -0
  638. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/range.js +0 -0
  639. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/semver.js +0 -0
  640. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/clean.js +0 -0
  641. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/cmp.js +0 -0
  642. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/coerce.js +0 -0
  643. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-build.js +0 -0
  644. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-loose.js +0 -0
  645. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare.js +0 -0
  646. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/diff.js +0 -0
  647. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/eq.js +0 -0
  648. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gt.js +0 -0
  649. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gte.js +0 -0
  650. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/inc.js +0 -0
  651. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lt.js +0 -0
  652. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lte.js +0 -0
  653. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/major.js +0 -0
  654. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/minor.js +0 -0
  655. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/neq.js +0 -0
  656. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/parse.js +0 -0
  657. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/patch.js +0 -0
  658. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/prerelease.js +0 -0
  659. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rcompare.js +0 -0
  660. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rsort.js +0 -0
  661. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/satisfies.js +0 -0
  662. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/sort.js +0 -0
  663. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/truncate.js +0 -0
  664. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/valid.js +0 -0
  665. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/index.js +0 -0
  666. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/constants.js +0 -0
  667. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/debug.js +0 -0
  668. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/identifiers.js +0 -0
  669. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/lrucache.js +0 -0
  670. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/parse-options.js +0 -0
  671. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/re.js +0 -0
  672. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/package.json +0 -0
  673. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/preload.js +0 -0
  674. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/range.bnf +0 -0
  675. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/gtr.js +0 -0
  676. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/intersects.js +0 -0
  677. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/ltr.js +0 -0
  678. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/max-satisfying.js +0 -0
  679. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-satisfying.js +0 -0
  680. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-version.js +0 -0
  681. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/outside.js +0 -0
  682. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/simplify.js +0 -0
  683. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/subset.js +0 -0
  684. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/to-comparators.js +0 -0
  685. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/valid.js +0 -0
  686. /package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/LICENSE.md +0 -0
  687. /package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/{types.d.ts → types.ts} +0 -0
@@ -0,0 +1,289 @@
1
+ # unbash
2
+
3
+ Fast 0-deps bash parser written in TypeScript
4
+
5
+ [![NPM Version][2]][1] [![NPM Downloads][3]][1]
6
+
7
+ ## Install
8
+
9
+ ```sh
10
+ npm install unbash
11
+ ```
12
+
13
+ ## When to use unbash?
14
+
15
+ Use unbash when your input is Bash source: a pasted command, a complete script,
16
+ or shell source embedded in another format, and you need to inspect its
17
+ structure without executing it. It returns a typed, source-positioned AST.
18
+
19
+ Example use cases:
20
+
21
+ - Classify commands, redirects, substitutions, and background execution for
22
+ permission prompts, allowlists, or audit findings
23
+ - Statically inventory executables and literal file, configuration, and
24
+ dependency references in package scripts, CI steps, task-runner configs,
25
+ hooks, and source-code shell calls
26
+ - Import or convert a supported command such as `curl` without folding
27
+ neighboring pipelines, logical chains, redirects, or comments into its
28
+ arguments
29
+ - Attach diagnostics to generated or pasted Bash using source-positioned errors
30
+ and partial trees
31
+ - Build explanations, visualizations, or structured previews of pipelines,
32
+ conditions, expansions, and nested commands
33
+ - Find or migrate command invocations and flags with source-range edits that
34
+ leave surrounding formatting and comments untouched
35
+
36
+ When Bash is embedded in JSON, YAML, or source code, use the host-language
37
+ parser to extract the shell string first. unbash provides Bash structure and
38
+ source ranges within that string; the consumer owns command-specific argument
39
+ semantics and policy.
40
+
41
+ ## Supported syntax
42
+
43
+ unbash supports commands, control flows, pipelines, redirects, assignments,
44
+ compound statements, parameter and word expansions, process and nested
45
+ substitutions, coproc, heredocs, herestrings, nested and generated syntax, etc.
46
+
47
+ Nested commands remain structured inside parameter operands and array indexes,
48
+ arithmetic expressions, brace expansions, extglobs, redirect targets, and
49
+ heredoc bodies. Nodes retain source positions and words retain both raw text and
50
+ dequoted values.
51
+
52
+ Malformed and incomplete input returns a best-effort partial AST with detected,
53
+ source-positioned errors. Recovery is bounded for deeply nested parameter and
54
+ arithmetic expansions, substitutions, subshells, braces, conditionals, loops,
55
+ `select`, `case`, and `[[ ]]` groups.
56
+
57
+ unbash does not execute code, perform shell expansion, provide a sandbox, or
58
+ decide whether a command is safe. Security-sensitive consumers must inspect word
59
+ parts, nested scripts, and errors on each parsed script. unbash is a tolerant
60
+ parser: for malformed or incomplete input, it recovers where possible and
61
+ returns a best-effort partial AST with source-positioned errors. It does not
62
+ target PowerShell, `cmd.exe`, or other shell languages. Much POSIX `sh` syntax
63
+ is also valid Bash.
64
+
65
+ To parse `process.argv` (`string[]`), use Node.js [`parseArgs`][4] or a CLI
66
+ library such as [yargs][5] or [citty][6].
67
+
68
+ ## Usage
69
+
70
+ ```ts
71
+ import { parse } from "unbash";
72
+
73
+ const ast = parse('if [ -f "$1" ]; then cat "$1"; fi');
74
+ ```
75
+
76
+ Result:
77
+
78
+ ```js
79
+ {
80
+ type: "Script",
81
+ commands: [{
82
+ type: "Statement",
83
+ command: {
84
+ type: "If",
85
+ clause: { type: "CompoundList", commands: [ /* [ -f "$1" ] */ ] },
86
+ then: { type: "CompoundList", commands: [ /* cat "$1" */ ] }
87
+ }
88
+ }]
89
+ }
90
+ ```
91
+
92
+ See the full AST at [unbash.statichost.page#input=if \[ -f...][7]
93
+
94
+ ### Word parts
95
+
96
+ A `Word` holds its expansions in `parts`. This is a lazy getter, computed on
97
+ first access (not an own enumerable property):
98
+
99
+ ```js
100
+ const source = "echo a$(id)b";
101
+ const word = parse(source).commands[0].command.suffix[0];
102
+
103
+ word.parts; // [Literal, CommandExpansion, Literal]
104
+
105
+ Object.keys(word); // ["type", "text", "pos", "end"]
106
+ ({ ...word }); // same
107
+ structuredClone(word); // same
108
+ ```
109
+
110
+ Read `parts` directly, or serialize with `JSON.stringify`, which includes it
111
+ through `toJSON`. A generic walker driven by `Object.keys` finds no expansions
112
+ at all, and reports no error while doing so:
113
+
114
+ ```js
115
+ import { parse } from "unbash";
116
+
117
+ const script = parse('echo "$HOME" $(mktemp)');
118
+
119
+ for (const statement of script.commands) {
120
+ const command = statement.command;
121
+ if (command.type !== "Command") continue;
122
+ for (const word of [command.name, ...command.args]) {
123
+ if (word?.type !== "Word") continue;
124
+ for (const part of word.parts ?? []) {
125
+ if (part.type === "CommandExpansion") console.log(part.text);
126
+ }
127
+ }
128
+ }
129
+ // $(mktemp)
130
+ ```
131
+
132
+ `BraceExpansion`, `ExtendedGlob`, `ArithmeticWord`, and `HereDocBody` expose
133
+ nested syntax through `parts`. Parameter and assignment indexes are Words with
134
+ their own `parts`. Assignment values are Words or ArrayValues; array elements
135
+ are Words. Declaration assignments and redirects are separate command items,
136
+ each with its own children. `Command.args` and `Command.redirects` are lazy
137
+ views over the ordered `prefix` and `suffix` items. They are getters like
138
+ `parts`, but `JSON.stringify` omits them because the two lists already carry
139
+ every item.
140
+
141
+ Positions are zero-based UTF-16 code-unit offsets forming half-open `[pos, end)`
142
+ ranges in the source owned by the nearest `ParsedScript`. Root scripts and
143
+ verbatim nested substitutions share the caller's source, so their ranges slice
144
+ that source directly:
145
+
146
+ ```js
147
+ const nested = word.parts.find((part) => part.type === "CommandExpansion").script;
148
+ const command = nested.commands[0].command;
149
+
150
+ source.slice(command.pos, command.end); // exact nested command source
151
+ ```
152
+
153
+ A legacy backtick script whose body contains backslash escapes owns its decoded
154
+ string as an enumerable `source` property, retained by JSON serialization.
155
+ Ordinary scripts nested inside it index that decoded source. Live nodes still
156
+ have lazy prototype getters; use `JSON.stringify` when serializing their
157
+ complete public syntax.
158
+
159
+ Parse errors inside a lazily parsed script surface on that script, not on the
160
+ root: check `errors` on every nested `script` while traversing. A consumer that
161
+ only reads the root `errors` array cannot tell that a substitution body failed
162
+ to parse.
163
+
164
+ ### Print
165
+
166
+ Basic opinionated printer, does not preserve whitespace or comments (except
167
+ shebang):
168
+
169
+ ```ts
170
+ import { parse } from "unbash";
171
+ import { print } from "unbash/printer";
172
+
173
+ const ast = parse('if [ -f "$1" ]; then cat "$1"; fi');
174
+ const script = print(ast);
175
+ ```
176
+
177
+ Result:
178
+
179
+ ```sh
180
+ if [ -f "$1" ]; then
181
+ cat "$1"
182
+ fi
183
+ ```
184
+
185
+ ## unbash vs tree-sitter-bash
186
+
187
+ [tree-sitter-bash][8] is the right choice when you need:
188
+
189
+ - Incremental parsing
190
+ - CST output preserving all tokens and punctuation
191
+ - Error recovery with `ERROR` nodes and missing tokens
192
+
193
+ unbash provides:
194
+
195
+ - A typed, executable-syntax AST instead of a grammar CST
196
+ - A synchronous, zero-dependency TypeScript package with no native addon, WASM
197
+ runtime, parser initialization, or query layer
198
+ - Structured word parts, arithmetic and test-expression trees, recursively
199
+ parsed substitutions, and direct source positions
200
+ - Best-effort error recovery that preserves a partial AST and collects errors
201
+ - Also see [tree-sitter-bash gaps covered by unbash][9]
202
+
203
+ ## unbash vs sh-syntax
204
+
205
+ [sh-syntax][10] is a WASM wrapper around the robust [mvdan/sh][11] Go parser. It
206
+ is highly recommended if you need:
207
+
208
+ - Support for Bash, POSIX sh, mksh, Bats, and experimental Zsh parsing
209
+ - Mature, configurable formatting and pretty-printing
210
+
211
+ unbash provides:
212
+
213
+ - A zero-dependency, synchronous TypeScript API without WASM loading
214
+ - A smaller, JSON-friendly Bash AST with lazy structured word parts, recursively
215
+ parsed substitutions, and direct source positions
216
+ - Best-effort partial ASTs for malformed or incomplete editor and user input
217
+ - Also see [sh-syntax gaps covered by unbash][12]
218
+
219
+ ## unbash vs bash-parser
220
+
221
+ [bash-parser][13] and its fork [@ericcornelissen/bash-parser][14] (community
222
+ dependency maintenance fork ❤️ now archived) provide:
223
+
224
+ - A POSIX-only mode that rejects bash-specific syntax
225
+
226
+ unbash provides:
227
+
228
+ - A zero-dependency architecture
229
+ - A typed TypeScript API (ESM-only)
230
+ - Best-effort error recovery that preserves a partial AST and collects errors
231
+ - Structured AST nodes for parameter expansions, arithmetic expressions, and `[[
232
+ ]]` test expressions; `bash-parser` treats `[[ ]]` as ordinary commands and
233
+ `(( ))` as nested subshells
234
+ - Herestrings, C-style `for`, `select`, process substitution, `coproc`, array
235
+ assignments, extglob, `;&`/`;;&` case fallthrough, Bash 5.3 command
236
+ substitutions, and `{variable}` file-descriptor redirects
237
+
238
+ ## Benchmarks
239
+
240
+ Parse throughput in MB/s; higher is better. Median per-run p75 iteration times
241
+ from 11 runs per unbash version and 22 per other parser, on Apple M1 Pro/32GB
242
+ with Node.js 24.19.0. Parentheses show speed relative to unbash v5.
243
+
244
+ | Parser | short (1.1KiB) | advanced (0.9KiB) | medium (150KiB) | large (970KiB) |
245
+ | ---------------------------- | -------------: | ----------------: | --------------: | -------------: |
246
+ | **unbash v5** | **73.6** | **73.0** | **104.1** | **123.9** |
247
+ | unbash v4 | 79.2 (0.93x) | 71.3 (1.02x) | 96.5 (1.08x) | 100.7 (1.23x) |
248
+ | tree-sitter-bash (native) | 4.58 (16x) | 6.47 (11x) | 15.00 (7x) | 11.88 (10x) |
249
+ | tree-sitter-bash (WASM) | 4.96 (15x) | 5.61 (13x) | 8.78 (12x) | 8.21 (15x) |
250
+ | sh-syntax | 0.03 (2268x) | 0.04 (1728x) | 8.26 (13x) | 14.02 (9x) |
251
+ | bash-parser | 0.26 (278x) | n/a | n/a | n/a |
252
+ | @ericcornelissen/bash-parser | 0.26 (288x) | n/a | n/a | n/a |
253
+
254
+ Run the benchmarks using Node.js 24+:
255
+
256
+ ```sh
257
+ pnpm install
258
+ pnpm bench
259
+ ```
260
+
261
+ ## Size
262
+
263
+ The parser bundle is 85KiB minified and 21KiB gzipped.
264
+
265
+ ## Playgrounds
266
+
267
+ - [unbash.statichost.page][15]
268
+ - [ast-explorer.dev][16]
269
+
270
+ ## License
271
+
272
+ ISC
273
+
274
+ [1]: https://www.npmx.dev/package/unbash
275
+ [2]: https://img.shields.io/npm/v/unbash?color=f56e0f
276
+ [3]: https://img.shields.io/npm/dm/unbash?color=f56e0f
277
+ [4]: https://nodejs.org/api/util.html#utilparseargsconfig
278
+ [5]: https://yargs.js.org/
279
+ [6]: https://www.npmjs.com/package/citty
280
+ [7]: https://unbash.statichost.page/#input=if%20%5B%20-f%20%22%241%22%20%5D%3B%20then%20cat%20%22%241%22%3B%20fi
281
+ [8]: https://github.com/tree-sitter/tree-sitter-bash
282
+ [9]: https://github.com/webpro-nl/unbash/issues/6
283
+ [10]: https://github.com/un-ts/sh-syntax
284
+ [11]: https://github.com/mvdan/sh
285
+ [12]: https://github.com/webpro-nl/unbash/issues/7
286
+ [13]: https://github.com/vorpaljs/bash-parser
287
+ [14]: https://github.com/ericcornelissen/bash-parser
288
+ [15]: https://unbash.statichost.page
289
+ [16]: https://ast-explorer.dev/#eNoVjDsKwzAQRK8yDK5CyAGS2nVAId02jixZAbFr/Kls393rbh7zeBsrn5xLqpV3jr5X/XVzcYgOKRaD8LoNzffTBqFotgkZf8XtUW14oTdRIHaLq00WYscwpRFtCO8g2psm75n3toPHCdz+Ivg=
@@ -0,0 +1,5 @@
1
+ export declare function decodeAnsiCQuoted(source: string, start: number, limit: number): {
2
+ value: string;
3
+ end: number;
4
+ closed: boolean;
5
+ };
@@ -0,0 +1,130 @@
1
+ function isOctal(code) {
2
+ return code >= 48 && code <= 55;
3
+ }
4
+ function isHex(code) {
5
+ return (code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102);
6
+ }
7
+ function codePoint(value, fallback) {
8
+ try {
9
+ return String.fromCodePoint(value);
10
+ }
11
+ catch {
12
+ return fallback;
13
+ }
14
+ }
15
+ export function decodeAnsiCQuoted(source, start, limit) {
16
+ let pos = start;
17
+ let value = "";
18
+ while (pos < limit && source.charCodeAt(pos) !== 39) {
19
+ if (source.charCodeAt(pos) !== 92 || pos + 1 >= limit) {
20
+ const runStart = pos;
21
+ while (pos < limit) {
22
+ const code = source.charCodeAt(pos);
23
+ // A backslash at the end of input has nothing to escape; consume it as a
24
+ // literal so the loop always advances.
25
+ if (code === 39 || (code === 92 && pos + 1 < limit))
26
+ break;
27
+ pos++;
28
+ }
29
+ value += source.slice(runStart, pos);
30
+ continue;
31
+ }
32
+ const escapeStart = pos++;
33
+ const escaped = source[pos++];
34
+ switch (escaped) {
35
+ case "a":
36
+ value += "\x07";
37
+ break;
38
+ case "b":
39
+ value += "\b";
40
+ break;
41
+ case "e":
42
+ case "E":
43
+ value += "\x1B";
44
+ break;
45
+ case "f":
46
+ value += "\f";
47
+ break;
48
+ case "n":
49
+ value += "\n";
50
+ break;
51
+ case "r":
52
+ value += "\r";
53
+ break;
54
+ case "t":
55
+ value += "\t";
56
+ break;
57
+ case "v":
58
+ value += "\v";
59
+ break;
60
+ case "\\":
61
+ value += "\\";
62
+ break;
63
+ case "'":
64
+ value += "'";
65
+ break;
66
+ case '"':
67
+ value += '"';
68
+ break;
69
+ case "?":
70
+ value += "?";
71
+ break;
72
+ case "\n":
73
+ break;
74
+ case "c": {
75
+ // The closing quote (or end of input) is not an operand: \c stays literal.
76
+ const code = pos < limit ? source.charCodeAt(pos) : 39;
77
+ if (code === 39) {
78
+ value += source.slice(escapeStart, pos);
79
+ break;
80
+ }
81
+ pos++;
82
+ if (code === 92) {
83
+ // Bash writes a backslash operand as the pair \c\\; a lone backslash
84
+ // still decodes and leaves the character it escaped as a literal.
85
+ const pair = pos < limit && source.charCodeAt(pos) === 92;
86
+ if (pair)
87
+ pos++;
88
+ value += "\x1c";
89
+ if (!pair && pos < limit) {
90
+ value += source[pos];
91
+ pos++;
92
+ }
93
+ break;
94
+ }
95
+ value += String.fromCharCode(code === 63 ? 127 : code & 31);
96
+ break;
97
+ }
98
+ case "x":
99
+ case "u":
100
+ case "U": {
101
+ const digitsStart = pos;
102
+ const maxDigits = escaped === "x" ? 2 : escaped === "u" ? 4 : 8;
103
+ while (pos < limit && pos - digitsStart < maxDigits && isHex(source.charCodeAt(pos)))
104
+ pos++;
105
+ if (pos === digitsStart) {
106
+ value += `\\${escaped}`;
107
+ break;
108
+ }
109
+ const raw = source.slice(escapeStart, pos);
110
+ value += codePoint(Number.parseInt(source.slice(digitsStart, pos), 16), raw);
111
+ break;
112
+ }
113
+ default: {
114
+ const escapedCode = escaped.charCodeAt(0);
115
+ if (!isOctal(escapedCode)) {
116
+ value += `\\${escaped}`;
117
+ break;
118
+ }
119
+ while (pos < limit && pos - escapeStart - 1 < 3 && isOctal(source.charCodeAt(pos)))
120
+ pos++;
121
+ value += String.fromCharCode(Number.parseInt(source.slice(escapeStart + 1, pos), 8) & 0xff);
122
+ break;
123
+ }
124
+ }
125
+ }
126
+ const closed = pos < limit;
127
+ if (closed)
128
+ pos++;
129
+ return { value, end: pos, closed };
130
+ }
@@ -0,0 +1,11 @@
1
+ import type { ArithmeticCommandExpansion, ArithmeticExpression, ArithmeticWord } from "./internal-types.ts";
2
+ export interface ArithmeticParseCollector {
3
+ commandExpansions: ArithmeticCommandExpansion[];
4
+ embeddedWords: ArithmeticWord[];
5
+ findClosingBracket?: (start: number, end: number) => number;
6
+ findClosingBrace: (start: number, end: number) => number;
7
+ findClosingParenthesis: (start: number, end: number) => number;
8
+ findArithmeticExpansionEnd: (start: number, end: number) => number;
9
+ findArithmeticWordEnd?: (start: number, end: number) => number;
10
+ }
11
+ export declare function parseArithmeticExpression(src: string, offset?: number, collector?: ArithmeticParseCollector): ArithmeticExpression | null;