stacks 0.50.0 → 0.52.0

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/README.md +20 -17
  2. package/api/nitro.config.ts +17 -0
  3. package/api/package.json +42 -0
  4. package/api/routes/index.ts +1 -0
  5. package/api/serverless.yml +11 -0
  6. package/auto-imports.d.ts +476 -57
  7. package/components/vue/main.ts +1 -0
  8. package/components/vue/package.json +1 -1
  9. package/components/web/package.json +1 -1
  10. package/core/actions/README.md +1 -1
  11. package/core/actions/build.config.ts +13 -0
  12. package/core/actions/node_modules/.bin/markdown-it +2 -2
  13. package/core/actions/node_modules/.bin/unbuild +17 -0
  14. package/core/actions/package.json +215 -13
  15. package/core/actions/src/{build-component-libs.ts → build/component-libs.ts} +1 -1
  16. package/core/actions/src/build/core.ts +6 -0
  17. package/core/actions/src/{build-stacks.ts → build/stacks.ts} +1 -1
  18. package/core/actions/src/bump.ts +1 -1
  19. package/core/actions/src/changelog.ts +1 -1
  20. package/core/actions/src/clean.ts +9 -19
  21. package/core/actions/src/deploy/domains.ts +8 -0
  22. package/core/actions/src/deploy.ts +8 -0
  23. package/core/actions/src/{dev-components.ts → dev/components.ts} +1 -1
  24. package/core/actions/src/{test-ui.ts → dev/docs.ts} +2 -2
  25. package/core/actions/src/{dev.ts → dev/index.ts} +0 -25
  26. package/core/actions/src/fresh.ts +2 -2
  27. package/core/actions/src/{generate-component-meta.ts → generate/component-meta.ts} +1 -1
  28. package/core/actions/src/{generate-ide-helpers.ts → generate/ide-helpers.ts} +2 -1
  29. package/core/actions/src/{generate.ts → generate/index.ts} +21 -6
  30. package/core/actions/src/{generate-lib-entries.ts → generate/lib-entries.ts} +1 -1
  31. package/core/actions/src/{generate-package-jsons.ts → generate/package-jsons.ts} +1 -1
  32. package/core/actions/src/generate/settings.ts +4 -0
  33. package/core/actions/src/{generate-vscode-custom-data.ts → generate/vscode-custom-data.ts} +1 -1
  34. package/core/actions/src/{generate-vue-compat.ts → generate/vue-compat.ts} +1 -1
  35. package/core/actions/src/helpers/lib-entries.ts +7 -6
  36. package/core/actions/src/helpers/package-json.ts +9 -9
  37. package/core/actions/src/helpers/utils.ts +21 -25
  38. package/core/actions/src/helpers/vscode-custom-data.ts +1 -1
  39. package/core/actions/src/key-generate.ts +2 -2
  40. package/core/actions/src/{lint.ts → lint/index.ts} +1 -1
  41. package/core/actions/src/make.ts +63 -19
  42. package/core/actions/src/migrate.ts +3 -0
  43. package/core/actions/src/preinstall.ts +2 -2
  44. package/core/actions/src/prepublish.ts +1 -1
  45. package/core/actions/src/release.ts +4 -3
  46. package/core/actions/src/seed.ts +3 -0
  47. package/core/actions/src/{test-coverage.ts → test/coverage.ts} +1 -1
  48. package/core/actions/src/test/feature.ts +5 -0
  49. package/core/actions/src/{test-unit.ts → test/ui.ts} +1 -1
  50. package/core/actions/src/{test-feature.ts → test/unit.ts} +1 -1
  51. package/core/actions/src/test.ts +1 -1
  52. package/core/actions/src/tinker.ts +9 -0
  53. package/core/actions/src/typecheck.ts +1 -1
  54. package/core/actions/src/upgrade/framework.ts +29 -0
  55. package/core/actions/src/upgrade/index.ts +27 -0
  56. package/core/actions/src/upgrade/node.ts +4 -0
  57. package/core/actions/src/upgrade/package-manager.ts +4 -0
  58. package/core/actions/src/upgrade.ts +75 -0
  59. package/core/ai/README.md +1 -1
  60. package/core/ai/build.config.ts +13 -0
  61. package/core/ai/package.json +15 -12
  62. package/core/alias/README.md +1 -1
  63. package/core/alias/build.config.ts +13 -0
  64. package/core/alias/package.json +11 -11
  65. package/core/alias/src/index.ts +29 -12
  66. package/core/{drivers → analytics}/README.md +18 -9
  67. package/core/analytics/build.config.ts +13 -0
  68. package/core/analytics/package.json +64 -0
  69. package/core/arrays/README.md +1 -1
  70. package/core/arrays/build.config.ts +13 -0
  71. package/core/arrays/package.json +13 -12
  72. package/core/arrays/src/index.ts +4 -0
  73. package/core/auth/README.md +1 -1
  74. package/core/auth/build.config.ts +13 -0
  75. package/core/auth/package.json +11 -12
  76. package/{buddy → core/buddy}/README.md +19 -16
  77. package/core/buddy/build.config.ts +16 -0
  78. package/core/buddy/package.json +127 -0
  79. package/core/buddy/src/cli.ts +96 -0
  80. package/{buddy → core/buddy}/src/commands/add.ts +10 -11
  81. package/{buddy → core/buddy}/src/commands/build.ts +32 -29
  82. package/{buddy → core/buddy}/src/commands/changelog.ts +7 -6
  83. package/core/buddy/src/commands/clean.ts +30 -0
  84. package/{buddy → core/buddy}/src/commands/commit.ts +2 -2
  85. package/{buddy → core/buddy}/src/commands/create.ts +6 -6
  86. package/core/buddy/src/commands/deploy.ts +30 -0
  87. package/{buddy → core/buddy}/src/commands/dev.ts +51 -29
  88. package/{buddy → core/buddy}/src/commands/example.ts +14 -14
  89. package/{buddy → core/buddy}/src/commands/fresh.ts +5 -5
  90. package/{buddy → core/buddy}/src/commands/generate.ts +28 -22
  91. package/{buddy → core/buddy}/src/commands/index.ts +9 -1
  92. package/core/buddy/src/commands/inspire.ts +25 -0
  93. package/{buddy → core/buddy}/src/commands/key.ts +8 -7
  94. package/{buddy → core/buddy}/src/commands/lint.ts +13 -11
  95. package/{buddy → core/buddy}/src/commands/make.ts +65 -46
  96. package/core/buddy/src/commands/migrate.ts +32 -0
  97. package/core/buddy/src/commands/onboarding.ts +29 -0
  98. package/{buddy → core/buddy}/src/commands/preinstall.ts +2 -2
  99. package/{buddy → core/buddy}/src/commands/prepublish.ts +2 -2
  100. package/{buddy → core/buddy}/src/commands/release.ts +5 -5
  101. package/core/buddy/src/commands/seed.ts +31 -0
  102. package/core/buddy/src/commands/setting.ts +29 -0
  103. package/{buddy → core/buddy}/src/commands/setup.ts +3 -3
  104. package/{buddy → core/buddy}/src/commands/test.ts +44 -39
  105. package/core/buddy/src/commands/tinker.ts +29 -0
  106. package/{buddy → core/buddy}/src/commands/types.ts +3 -3
  107. package/core/buddy/src/commands/upgrade.ts +141 -0
  108. package/core/buddy/src/commands/version.ts +31 -0
  109. package/{buddy → core/buddy}/src/index.ts +2 -1
  110. package/core/build/README.md +1 -1
  111. package/core/build/build.config.ts +13 -0
  112. package/core/build/node_modules/.bin/unbuild +4 -4
  113. package/core/build/node_modules/.bin/vite +4 -4
  114. package/core/build/node_modules/.bin/vite-ssg +4 -4
  115. package/core/build/node_modules/.bin/vue-docgen-web-types +4 -4
  116. package/core/build/package.json +26 -24
  117. package/core/build/src/desktop.ts +141 -11
  118. package/core/build/src/pages.ts +1 -0
  119. package/core/build/src/stacks.ts +55 -30
  120. package/core/build/src/vue-components.ts +4 -10
  121. package/core/build/web-types.config.cjs +1 -0
  122. package/core/cache/README.md +1 -1
  123. package/core/cache/build.config.ts +13 -0
  124. package/core/cache/package.json +31 -16
  125. package/core/cache/src/drivers/dynamodb.ts +119 -117
  126. package/core/cache/src/drivers/memcached.ts +15 -14
  127. package/core/cache/src/drivers/redis.ts +7 -4
  128. package/core/cache/tests/Redis.test.ts +1 -0
  129. package/core/chat/README.md +2 -1
  130. package/core/chat/build.config.ts +13 -0
  131. package/core/chat/package.json +16 -16
  132. package/core/chat/src/drivers/slack.ts +20 -18
  133. package/core/chat/src/drivers/teams.ts +24 -0
  134. package/core/chat/src/index.ts +1 -0
  135. package/core/cli/README.md +2 -2
  136. package/core/cli/build.config.ts +14 -0
  137. package/core/cli/package.json +16 -14
  138. package/core/cli/src/actions/index.ts +0 -1
  139. package/core/cli/src/actions/install.ts +3 -3
  140. package/core/cli/src/command.ts +2 -7
  141. package/core/cli/src/console.ts +2 -3
  142. package/core/cli/src/index.ts +2 -0
  143. package/core/cli/src/parse.ts +99 -0
  144. package/core/cli/src/{actions/run.ts → run.ts} +38 -21
  145. package/core/cloud/README.md +1 -1
  146. package/core/cloud/build.config.ts +13 -0
  147. package/core/cloud/package.json +11 -12
  148. package/core/collections/README.md +1 -1
  149. package/core/collections/build.config.ts +13 -0
  150. package/core/collections/package.json +12 -13
  151. package/core/config/README.md +28 -10
  152. package/core/config/build.config.ts +40 -4
  153. package/core/config/package.json +20 -19
  154. package/core/config/src/defaults.ts +22 -0
  155. package/core/config/src/index.ts +3 -16
  156. package/core/config/src/stacks.ts +42 -0
  157. package/core/database/README.md +1 -1
  158. package/core/database/build.config.ts +17 -0
  159. package/core/database/package.json +19 -14
  160. package/core/database/src/factory/index.ts +16 -62
  161. package/core/database/src/migrations/index.ts +145 -3
  162. package/core/database/src/seeder/index.ts +75 -6
  163. package/core/datetime/README.md +1 -1
  164. package/core/datetime/build.config.ts +14 -0
  165. package/core/datetime/package.json +11 -12
  166. package/core/datetime/src/index.ts +1 -1
  167. package/core/desktop/README.md +1 -1
  168. package/core/desktop/build.config.ts +13 -0
  169. package/core/desktop/node_modules/.bin/tauri +4 -4
  170. package/core/desktop/package.json +16 -17
  171. package/core/development/README.md +27 -0
  172. package/core/development/build.config.ts +13 -0
  173. package/core/development/node_modules/.bin/tsc +17 -0
  174. package/core/development/node_modules/.bin/tsserver +17 -0
  175. package/core/development/node_modules/.bin/tsx +17 -0
  176. package/core/development/node_modules/.bin/unbuild +17 -0
  177. package/core/{x-ray → development}/package.json +32 -33
  178. package/core/development/src/index.ts +2 -0
  179. package/core/docs/README.md +1 -1
  180. package/core/docs/build.config.ts +15 -0
  181. package/core/docs/node_modules/.bin/vitepress +4 -4
  182. package/core/docs/package.json +14 -13
  183. package/core/docs/src/index.ts +3 -2
  184. package/core/domains/README.md +1 -1
  185. package/core/domains/build.config.ts +13 -0
  186. package/core/domains/package.json +11 -11
  187. package/core/email/README.md +1 -1
  188. package/core/email/build.config.ts +14 -0
  189. package/core/email/node_modules/.bin/maizzle +4 -4
  190. package/core/email/package.json +29 -24
  191. package/core/email/src/actions/send.ts +1 -1
  192. package/core/email/src/drivers/emailjs.ts +10 -8
  193. package/core/email/src/drivers/mailgun.ts +8 -6
  194. package/core/email/src/drivers/mailjet.ts +7 -5
  195. package/core/email/src/drivers/mandrill.ts +6 -4
  196. package/core/email/src/drivers/netcore.ts +6 -4
  197. package/core/email/src/drivers/nodemailer.ts +10 -8
  198. package/core/email/src/drivers/postmark.ts +6 -4
  199. package/core/email/src/drivers/sendgrid.ts +7 -5
  200. package/core/email/src/drivers/ses.ts +18 -15
  201. package/core/error-handling/README.md +1 -1
  202. package/core/error-handling/build.config.ts +14 -0
  203. package/core/error-handling/package.json +14 -12
  204. package/core/error-handling/src/index.ts +1 -3
  205. package/core/events/README.md +1 -1
  206. package/core/events/package.json +12 -12
  207. package/core/events/src/index.ts +3 -2
  208. package/core/faker/README.md +62 -0
  209. package/core/faker/build.config.ts +13 -0
  210. package/core/faker/package.json +55 -0
  211. package/core/faker/src/index.ts +1 -0
  212. package/core/git/README.md +1 -1
  213. package/core/git/build.config.ts +13 -0
  214. package/core/git/node_modules/.bin/bumpp +4 -4
  215. package/core/git/node_modules/.bin/changelogen +4 -4
  216. package/core/git/node_modules/.bin/commitizen +2 -2
  217. package/core/git/node_modules/.bin/cz +2 -2
  218. package/core/git/node_modules/.bin/giget +4 -4
  219. package/core/git/node_modules/.bin/git-cz +2 -2
  220. package/core/git/node_modules/.bin/simple-git-hooks +2 -2
  221. package/core/git/package.json +15 -16
  222. package/core/health/README.md +1 -1
  223. package/core/health/build.config.ts +13 -0
  224. package/core/health/package.json +11 -12
  225. package/core/lint/README.md +1 -1
  226. package/core/lint/build.config.ts +13 -0
  227. package/core/lint/node_modules/.bin/eslint +4 -4
  228. package/core/lint/node_modules/.bin/lint-staged +4 -4
  229. package/core/lint/node_modules/.bin/publint +17 -0
  230. package/core/lint/package.json +16 -16
  231. package/core/logging/README.md +1 -1
  232. package/core/logging/build.config.ts +15 -0
  233. package/core/logging/node_modules/.bin/tsc +4 -4
  234. package/core/logging/node_modules/.bin/tsserver +4 -4
  235. package/core/logging/node_modules/.bin/tsx +17 -0
  236. package/core/logging/node_modules/.bin/unbuild +17 -0
  237. package/core/logging/package.json +19 -11
  238. package/core/logging/src/index.ts +4 -8
  239. package/core/modules/README.md +1 -1
  240. package/core/modules/build.config.ts +13 -0
  241. package/core/modules/package.json +19 -11
  242. package/core/notifications/README.md +1 -1
  243. package/core/notifications/build.config.ts +0 -1
  244. package/core/notifications/node_modules/.bin/maizzle +4 -4
  245. package/core/notifications/package.json +33 -33
  246. package/core/notifications/src/index.ts +13 -7
  247. package/core/notifications/src/tailwind.config.ts +3 -3
  248. package/core/notifications/src/utils/config.ts +2 -2
  249. package/core/notifications/tests/email/Mailgun.test.ts +1 -1
  250. package/core/objects/README.md +1 -1
  251. package/core/objects/build.config.ts +13 -0
  252. package/core/objects/package.json +14 -13
  253. package/core/{cloud/dist/actions → orm}/README.md +14 -19
  254. package/core/orm/build.config.ts +15 -0
  255. package/core/{drivers → orm}/package.json +18 -19
  256. package/core/orm/src/index.ts +43 -0
  257. package/core/pages/build.config.ts +13 -0
  258. package/core/pages/package.json +57 -0
  259. package/core/pages/src/index.ts +39 -0
  260. package/core/pages/tests/example.test.ts +7 -0
  261. package/core/path/README.md +1 -1
  262. package/core/{tables → path}/build.config.ts +2 -5
  263. package/core/path/package.json +13 -11
  264. package/core/path/src/index.ts +101 -14
  265. package/core/payments/README.md +1 -1
  266. package/core/payments/build.config.ts +13 -0
  267. package/core/payments/package.json +18 -12
  268. package/core/payments/src/drivers/stripe.ts +136 -0
  269. package/core/payments/src/index.ts +1 -1
  270. package/core/push/README.md +1 -1
  271. package/core/push/build.config.ts +13 -0
  272. package/core/push/package.json +13 -16
  273. package/core/push/src/drivers/expo.ts +18 -16
  274. package/core/push/src/drivers/fcm.ts +18 -16
  275. package/core/{x-ray → query-builder}/README.md +14 -21
  276. package/core/query-builder/build.config.ts +13 -0
  277. package/core/query-builder/package.json +56 -0
  278. package/core/query-builder/src/index.ts +1 -0
  279. package/core/query-builder/src/kysely.ts +37 -0
  280. package/core/query-builder/tests/example.test.ts +7 -0
  281. package/core/queue/README.md +1 -1
  282. package/core/queue/build.config.ts +13 -0
  283. package/core/queue/package.json +11 -12
  284. package/core/realtime/README.md +1 -1
  285. package/core/realtime/build.config.ts +13 -0
  286. package/core/realtime/package.json +11 -12
  287. package/core/router/README.md +1 -1
  288. package/core/router/build.config.ts +13 -0
  289. package/core/router/package.json +12 -13
  290. package/core/router/src/index.ts +4 -3
  291. package/core/scheduler/README.md +137 -0
  292. package/core/scheduler/build.config.ts +13 -0
  293. package/core/{dashboard → scheduler}/package.json +20 -21
  294. package/core/scheduler/src/index.ts +120 -0
  295. package/core/scheduler/tests/example.test.ts +7 -0
  296. package/core/search-engine/README.md +1 -1
  297. package/core/search-engine/build.config.ts +13 -0
  298. package/core/search-engine/package.json +16 -15
  299. package/core/search-engine/src/drivers/meilisearch.ts +3 -1
  300. package/core/search-engine/src/index.ts +4 -2
  301. package/core/security/README.md +1 -1
  302. package/core/security/build.config.ts +13 -0
  303. package/core/security/package.json +12 -13
  304. package/core/security/src/crypt.ts +2 -2
  305. package/core/server/README.md +1 -1
  306. package/core/server/build.config.ts +13 -0
  307. package/core/server/node_modules/.bin/nitro +4 -4
  308. package/core/server/node_modules/.bin/nitropack +4 -4
  309. package/core/server/node_modules/.bin/vite +4 -4
  310. package/core/server/package.json +13 -13
  311. package/core/server/src/index.ts +1 -1
  312. package/core/server/src/nitro.config.ts +1 -0
  313. package/core/signals/README.md +105 -0
  314. package/core/signals/build.config.ts +13 -0
  315. package/core/signals/package.json +55 -0
  316. package/core/signals/src/index.ts +1 -0
  317. package/core/signals/tests/example.test.ts +7 -0
  318. package/core/{cloud/src/actions → slug}/README.md +11 -5
  319. package/core/slug/build.config.ts +13 -0
  320. package/core/slug/package.json +55 -0
  321. package/core/slug/src/index.ts +56 -0
  322. package/core/slug/tests/example.test.ts +7 -0
  323. package/core/sms/README.md +2 -1
  324. package/core/sms/build.config.ts +13 -0
  325. package/core/sms/package.json +22 -22
  326. package/core/sms/src/drivers/gupshup.ts +3 -3
  327. package/core/sms/src/drivers/nexmo.ts +4 -4
  328. package/core/sms/src/drivers/plivo.ts +4 -4
  329. package/core/sms/src/drivers/sms77.ts +3 -3
  330. package/core/sms/src/drivers/sns.ts +4 -4
  331. package/core/sms/src/drivers/telnyx.ts +4 -4
  332. package/core/sms/src/drivers/termii.ts +3 -3
  333. package/core/sms/src/drivers/twilio.ts +4 -4
  334. package/core/storage/README.md +1 -1
  335. package/core/storage/build.config.ts +13 -0
  336. package/core/storage/package.json +14 -14
  337. package/core/storage/src/index.ts +16 -0
  338. package/core/strings/README.md +7 -6
  339. package/core/strings/package.json +13 -13
  340. package/core/strings/src/case.ts +1 -0
  341. package/core/strings/src/pluralize.ts +5 -1
  342. package/core/strings/src/utils.ts +48 -6
  343. package/core/testing/README.md +1 -1
  344. package/core/testing/build.config.ts +13 -0
  345. package/core/testing/node_modules/.bin/playwright +4 -4
  346. package/core/testing/node_modules/.bin/tsc +4 -4
  347. package/core/testing/node_modules/.bin/tsserver +4 -4
  348. package/core/testing/node_modules/.bin/unbuild +17 -0
  349. package/core/testing/node_modules/.bin/vitest +4 -4
  350. package/core/testing/package.json +16 -15
  351. package/core/tinker/README.md +61 -0
  352. package/core/tinker/node_modules/.bin/tsx +17 -0
  353. package/core/tinker/package.json +45 -0
  354. package/core/tinker/tinker.js +2 -0
  355. package/core/types/README.md +1 -1
  356. package/core/types/build.config.ts +13 -0
  357. package/core/types/node_modules/.bin/markdown-it +2 -2
  358. package/core/types/node_modules/.bin/vite +17 -0
  359. package/core/types/node_modules/.bin/vite-ssg +4 -4
  360. package/core/types/node_modules/.bin/vitepress +4 -4
  361. package/core/types/package.json +33 -24
  362. package/core/types/src/app.ts +4 -16
  363. package/core/types/src/auto-imports.ts +1 -3
  364. package/core/types/src/build.ts +1 -1
  365. package/core/types/src/cache.ts +78 -0
  366. package/core/types/src/cdn.ts +15 -0
  367. package/core/types/src/cli.ts +94 -60
  368. package/core/types/src/components.ts +1 -3
  369. package/core/types/src/cron-jobs.ts +17 -0
  370. package/core/types/src/database.ts +39 -2
  371. package/core/types/src/deploy.ts +8 -11
  372. package/core/types/src/dns.ts +49 -0
  373. package/core/types/src/docs.ts +2 -0
  374. package/core/types/src/events.ts +1 -1
  375. package/core/types/src/git.ts +1 -1
  376. package/core/types/src/index.ts +10 -2
  377. package/core/types/src/library.ts +7 -2
  378. package/core/types/src/model.ts +46 -0
  379. package/core/types/src/notifications.ts +151 -117
  380. package/core/types/src/pages.ts +10 -8
  381. package/core/types/src/payments.ts +63 -0
  382. package/core/types/src/reactivity.ts +1 -3
  383. package/core/types/src/router.ts +30 -0
  384. package/core/types/src/search-engine.ts +56 -8
  385. package/core/types/src/ssg.ts +1 -1
  386. package/core/types/src/stacks.ts +203 -0
  387. package/core/types/src/ui.ts +1 -1
  388. package/core/ui/README.md +1 -1
  389. package/core/ui/build.config.ts +13 -0
  390. package/core/ui/node_modules/.bin/vue-tsc +4 -4
  391. package/core/ui/package.json +23 -20
  392. package/core/ui/src/index.ts +5 -2
  393. package/core/ui/src/unocss.config.ts +47 -0
  394. package/core/ui/src/unocss.ts +2 -2
  395. package/core/utils/build.config.ts +13 -0
  396. package/core/utils/node_modules/.bin/rimraf +4 -4
  397. package/core/utils/node_modules/.bin/semver +17 -0
  398. package/core/utils/package.json +46 -22
  399. package/core/utils/src/base.ts +11 -6
  400. package/core/utils/src/config.ts +97 -0
  401. package/core/utils/src/debounce.ts +1 -0
  402. package/core/utils/src/guards.ts +3 -3
  403. package/core/utils/src/helpers.ts +30 -22
  404. package/core/utils/src/index.ts +7 -4
  405. package/core/utils/src/is.ts +80 -11
  406. package/core/utils/src/promise.ts +1 -1
  407. package/core/utils/src/throttle.ts +45 -0
  408. package/core/validation/README.md +1 -1
  409. package/core/validation/build.config.ts +13 -0
  410. package/core/validation/package.json +13 -14
  411. package/core/validation/src/index.ts +26 -2
  412. package/docs/.vitepress/config.ts +9 -0
  413. package/docs/README.md +13 -0
  414. package/docs/node_modules/.bin/rimraf +17 -0
  415. package/docs/node_modules/.bin/vitepress +17 -0
  416. package/docs/package.json +46 -0
  417. package/package.json +75 -35
  418. package/pages/desktop/.gitignore +24 -0
  419. package/pages/desktop/README.md +73 -0
  420. package/{core/x-ray → pages/desktop}/index.html +1 -1
  421. package/pages/desktop/package.json +26 -0
  422. package/pages/desktop/public/favicon.svg +1 -0
  423. package/pages/desktop/src/.gitignore +3 -0
  424. package/pages/desktop/src/Cargo.lock +3599 -0
  425. package/pages/desktop/src/Cargo.toml +28 -0
  426. package/pages/desktop/src/build.rs +3 -0
  427. package/pages/desktop/src/icons/128x128.png +0 -0
  428. package/pages/desktop/src/icons/128x128@2x.png +0 -0
  429. package/pages/desktop/src/icons/32x32.png +0 -0
  430. package/pages/desktop/src/icons/Square107x107Logo.png +0 -0
  431. package/pages/desktop/src/icons/Square142x142Logo.png +0 -0
  432. package/pages/desktop/src/icons/Square150x150Logo.png +0 -0
  433. package/pages/desktop/src/icons/Square284x284Logo.png +0 -0
  434. package/pages/desktop/src/icons/Square30x30Logo.png +0 -0
  435. package/pages/desktop/src/icons/Square310x310Logo.png +0 -0
  436. package/pages/desktop/src/icons/Square44x44Logo.png +0 -0
  437. package/pages/desktop/src/icons/Square71x71Logo.png +0 -0
  438. package/pages/desktop/src/icons/Square89x89Logo.png +0 -0
  439. package/pages/desktop/src/icons/StoreLogo.png +0 -0
  440. package/pages/desktop/src/icons/icon.icns +0 -0
  441. package/pages/desktop/src/icons/icon.ico +0 -0
  442. package/pages/desktop/src/icons/icon.png +0 -0
  443. package/pages/desktop/src/src/main.rs +10 -0
  444. package/pages/desktop/src/tauri.conf.json +73 -0
  445. package/shims.d.ts +0 -12
  446. package/simple-git-hooks.cjs +1 -0
  447. package/tsconfig.json +35 -12
  448. package/vitest.config.ts +2 -2
  449. package/buddy/bin/stacks.mjs +0 -4
  450. package/buddy/build.config.ts +0 -17
  451. package/buddy/node_modules/.bin/only-allow +0 -17
  452. package/buddy/node_modules/.bin/tsc +0 -17
  453. package/buddy/node_modules/.bin/tsserver +0 -17
  454. package/buddy/node_modules/.bin/unbuild +0 -17
  455. package/buddy/package.json +0 -194
  456. package/buddy/src/cli.ts +0 -66
  457. package/buddy/src/commands/clean.ts +0 -18
  458. package/buddy/src/commands/update.ts +0 -108
  459. package/core/actions/node_modules/.bin/esno +0 -17
  460. package/core/actions/node_modules/.bin/mkdist +0 -17
  461. package/core/actions/node_modules/.bin/tsc +0 -17
  462. package/core/actions/node_modules/.bin/tsserver +0 -17
  463. package/core/actions/src/build-core.ts +0 -7
  464. package/core/actions/src/fix-lint-issues.ts +0 -4
  465. package/core/actions/src/update.ts +0 -149
  466. package/core/ai/node_modules/.bin/mkdist +0 -17
  467. package/core/ai/node_modules/.bin/tsc +0 -17
  468. package/core/ai/node_modules/.bin/tsserver +0 -17
  469. package/core/alias/node_modules/.bin/mkdist +0 -17
  470. package/core/alias/node_modules/.bin/tsc +0 -17
  471. package/core/alias/node_modules/.bin/tsserver +0 -17
  472. package/core/arrays/node_modules/.bin/mkdist +0 -17
  473. package/core/arrays/node_modules/.bin/tsc +0 -17
  474. package/core/arrays/node_modules/.bin/tsserver +0 -17
  475. package/core/auth/node_modules/.bin/mkdist +0 -17
  476. package/core/auth/node_modules/.bin/tsc +0 -17
  477. package/core/auth/node_modules/.bin/tsserver +0 -17
  478. package/core/build/node_modules/.bin/mkdist +0 -17
  479. package/core/build/node_modules/.bin/tsc +0 -17
  480. package/core/build/node_modules/.bin/tsserver +0 -17
  481. package/core/cache/node_modules/.bin/mkdist +0 -17
  482. package/core/cache/node_modules/.bin/tsc +0 -17
  483. package/core/cache/node_modules/.bin/tsserver +0 -17
  484. package/core/chat/node_modules/.bin/mkdist +0 -17
  485. package/core/chat/node_modules/.bin/tsc +0 -17
  486. package/core/chat/node_modules/.bin/tsserver +0 -17
  487. package/core/cli/node_modules/.bin/esno +0 -17
  488. package/core/cli/node_modules/.bin/mkdist +0 -17
  489. package/core/cloud/node_modules/.bin/mkdist +0 -17
  490. package/core/cloud/node_modules/.bin/tsc +0 -17
  491. package/core/cloud/node_modules/.bin/tsserver +0 -17
  492. package/core/collections/node_modules/.bin/mkdist +0 -17
  493. package/core/collections/node_modules/.bin/tsc +0 -17
  494. package/core/collections/node_modules/.bin/tsserver +0 -17
  495. package/core/config/node_modules/.bin/mkdist +0 -17
  496. package/core/config/node_modules/.bin/tsc +0 -17
  497. package/core/config/node_modules/.bin/tsserver +0 -17
  498. package/core/config/node_modules/.bin/unbuild +0 -17
  499. package/core/config/src/helpers.ts +0 -30
  500. package/core/dashboard/README.md +0 -74
  501. package/core/dashboard/node_modules/.bin/mkdist +0 -17
  502. package/core/database/node_modules/.bin/mkdist +0 -17
  503. package/core/database/node_modules/.bin/tsc +0 -17
  504. package/core/database/node_modules/.bin/tsserver +0 -17
  505. package/core/datetime/node_modules/.bin/mkdist +0 -17
  506. package/core/datetime/node_modules/.bin/tsc +0 -17
  507. package/core/datetime/node_modules/.bin/tsserver +0 -17
  508. package/core/desktop/node_modules/.bin/mkdist +0 -17
  509. package/core/desktop/node_modules/.bin/tsc +0 -17
  510. package/core/desktop/node_modules/.bin/tsserver +0 -17
  511. package/core/docs/node_modules/.bin/mkdist +0 -17
  512. package/core/docs/node_modules/.bin/tsc +0 -17
  513. package/core/docs/node_modules/.bin/tsserver +0 -17
  514. package/core/domains/node_modules/.bin/mkdist +0 -17
  515. package/core/domains/node_modules/.bin/tsc +0 -17
  516. package/core/domains/node_modules/.bin/tsserver +0 -17
  517. package/core/drivers/node_modules/.bin/mkdist +0 -17
  518. package/core/drivers/node_modules/.bin/tsc +0 -17
  519. package/core/drivers/node_modules/.bin/tsserver +0 -17
  520. package/core/drivers/src/index.ts +0 -10
  521. package/core/email/dist/utils/template.html +0 -8
  522. package/core/email/node_modules/.bin/mkdist +0 -17
  523. package/core/email/node_modules/.bin/tsc +0 -17
  524. package/core/email/node_modules/.bin/tsserver +0 -17
  525. package/core/error-handling/node_modules/.bin/mkdist +0 -17
  526. package/core/error-handling/node_modules/.bin/tsc +0 -17
  527. package/core/error-handling/node_modules/.bin/tsserver +0 -17
  528. package/core/events/node_modules/.bin/mkdist +0 -17
  529. package/core/events/node_modules/.bin/tsc +0 -17
  530. package/core/events/node_modules/.bin/tsserver +0 -17
  531. package/core/git/node_modules/.bin/mkdist +0 -17
  532. package/core/git/node_modules/.bin/tsc +0 -17
  533. package/core/git/node_modules/.bin/tsserver +0 -17
  534. package/core/health/node_modules/.bin/mkdist +0 -17
  535. package/core/health/node_modules/.bin/tsc +0 -17
  536. package/core/health/node_modules/.bin/tsserver +0 -17
  537. package/core/lint/node_modules/.bin/mkdist +0 -17
  538. package/core/lint/node_modules/.bin/tsc +0 -17
  539. package/core/lint/node_modules/.bin/tsserver +0 -17
  540. package/core/logging/debug-test.ts +0 -8
  541. package/core/logging/node_modules/.bin/mkdist +0 -17
  542. package/core/modules/node_modules/.bin/mkdist +0 -17
  543. package/core/modules/node_modules/.bin/tsc +0 -17
  544. package/core/modules/node_modules/.bin/tsserver +0 -17
  545. package/core/notifications/node_modules/.bin/mkdist +0 -17
  546. package/core/notifications/node_modules/.bin/tsc +0 -17
  547. package/core/notifications/node_modules/.bin/tsserver +0 -17
  548. package/core/notifications/node_modules/.bin/unbuild +0 -17
  549. package/core/objects/node_modules/.bin/mkdist +0 -17
  550. package/core/objects/node_modules/.bin/tsc +0 -17
  551. package/core/objects/node_modules/.bin/tsserver +0 -17
  552. package/core/path/node_modules/.bin/mkdist +0 -17
  553. package/core/path/node_modules/.bin/tsc +0 -17
  554. package/core/path/node_modules/.bin/tsserver +0 -17
  555. package/core/payments/node_modules/.bin/mkdist +0 -17
  556. package/core/payments/node_modules/.bin/tsc +0 -17
  557. package/core/payments/node_modules/.bin/tsserver +0 -17
  558. package/core/push/node_modules/.bin/mkdist +0 -17
  559. package/core/push/node_modules/.bin/tsc +0 -17
  560. package/core/push/node_modules/.bin/tsserver +0 -17
  561. package/core/queue/node_modules/.bin/mkdist +0 -17
  562. package/core/queue/node_modules/.bin/tsc +0 -17
  563. package/core/queue/node_modules/.bin/tsserver +0 -17
  564. package/core/realtime/node_modules/.bin/mkdist +0 -17
  565. package/core/realtime/node_modules/.bin/tsc +0 -17
  566. package/core/realtime/node_modules/.bin/tsserver +0 -17
  567. package/core/router/node_modules/.bin/mkdist +0 -17
  568. package/core/router/node_modules/.bin/tsc +0 -17
  569. package/core/router/node_modules/.bin/tsserver +0 -17
  570. package/core/search-engine/node_modules/.bin/mkdist +0 -17
  571. package/core/search-engine/node_modules/.bin/tsc +0 -17
  572. package/core/search-engine/node_modules/.bin/tsserver +0 -17
  573. package/core/security/node_modules/.bin/mkdist +0 -17
  574. package/core/security/node_modules/.bin/tsc +0 -17
  575. package/core/security/node_modules/.bin/tsserver +0 -17
  576. package/core/server/node_modules/.bin/mkdist +0 -17
  577. package/core/server/node_modules/.bin/tsc +0 -17
  578. package/core/server/node_modules/.bin/tsserver +0 -17
  579. package/core/sms/node_modules/.bin/mkdist +0 -17
  580. package/core/sms/node_modules/.bin/tsc +0 -17
  581. package/core/sms/node_modules/.bin/tsserver +0 -17
  582. package/core/storage/node_modules/.bin/mkdist +0 -17
  583. package/core/storage/node_modules/.bin/tsc +0 -17
  584. package/core/storage/node_modules/.bin/tsserver +0 -17
  585. package/core/strings/node_modules/.bin/mkdist +0 -17
  586. package/core/strings/node_modules/.bin/tsc +0 -17
  587. package/core/strings/node_modules/.bin/tsserver +0 -17
  588. package/core/strings/node_modules/.bin/unbuild +0 -17
  589. package/core/tables/README.md +0 -109
  590. package/core/tables/examples/vue/App.vue +0 -12
  591. package/core/tables/examples/vue/favicon.png +0 -0
  592. package/core/tables/examples/vue/index.html +0 -20
  593. package/core/tables/examples/web/favicon.png +0 -0
  594. package/core/tables/examples/web/index.html +0 -13
  595. package/core/tables/index.html +0 -13
  596. package/core/tables/node_modules/.bin/mkdist +0 -17
  597. package/core/tables/node_modules/.bin/tsc +0 -17
  598. package/core/tables/node_modules/.bin/tsserver +0 -17
  599. package/core/tables/node_modules/.bin/unbuild +0 -17
  600. package/core/tables/node_modules/.bin/vite +0 -17
  601. package/core/tables/old.vite.config.ts +0 -97
  602. package/core/tables/package.json +0 -64
  603. package/core/tables/src/App.vue +0 -23
  604. package/core/tables/src/components/Demo.vue +0 -89
  605. package/core/tables/src/components/README.md +0 -111
  606. package/core/tables/src/components/Table.vue +0 -342
  607. package/core/tables/src/components/TableBody.vue +0 -33
  608. package/core/tables/src/components/TableCellActionItems.vue +0 -9
  609. package/core/tables/src/components/TableFilters.vue +0 -703
  610. package/core/tables/src/components/TableHead.vue +0 -87
  611. package/core/tables/src/components/TablePagination.vue +0 -146
  612. package/core/tables/src/components/TableRow.vue +0 -78
  613. package/core/tables/src/components/TableSearch.vue +0 -38
  614. package/core/tables/src/components/Tooltip.vue +0 -10
  615. package/core/tables/src/docs/index.md +0 -0
  616. package/core/tables/src/functions/README.md +0 -8
  617. package/core/tables/src/functions/dark.ts +0 -3
  618. package/core/tables/src/functions/index.ts +0 -2
  619. package/core/tables/src/functions/table.ts +0 -207
  620. package/core/tables/src/main.js +0 -4
  621. package/core/tables/vite.config.ts +0 -26
  622. package/core/testing/node_modules/.bin/mkdist +0 -17
  623. package/core/types/node_modules/.bin/mkdist +0 -17
  624. package/core/types/node_modules/.bin/tsc +0 -17
  625. package/core/types/node_modules/.bin/tsserver +0 -17
  626. package/core/ui/node_modules/.bin/mkdist +0 -17
  627. package/core/ui/node_modules/.bin/tsc +0 -17
  628. package/core/ui/node_modules/.bin/tsserver +0 -17
  629. package/core/utils/node_modules/.bin/esno +0 -17
  630. package/core/utils/node_modules/.bin/mkdist +0 -17
  631. package/core/utils/node_modules/.bin/tsc +0 -17
  632. package/core/utils/node_modules/.bin/tsserver +0 -17
  633. package/core/utils/src/vendor.ts +0 -1
  634. package/core/validation/node_modules/.bin/mkdist +0 -17
  635. package/core/validation/node_modules/.bin/tsc +0 -17
  636. package/core/validation/node_modules/.bin/tsserver +0 -17
  637. package/core/x-ray/node_modules/.bin/mkdist +0 -17
  638. package/core/x-ray/node_modules/.bin/tsc +0 -17
  639. package/core/x-ray/node_modules/.bin/tsserver +0 -17
  640. package/core/x-ray/routes/index.ts +0 -19
  641. package/core/x-ray/src/client.ts +0 -14
  642. package/core/x-ray/src/desktop/api/nitro.config.ts +0 -18
  643. package/core/x-ray/src/desktop/api/routes/api/logs.ts +0 -7
  644. package/core/x-ray/src/desktop/api/routes/api/store-logs.ts +0 -22
  645. package/core/x-ray/src/desktop/api/src/types.ts +0 -7
  646. package/core/x-ray/src/desktop/api/storage/index.ts +0 -7
  647. package/core/x-ray/src/desktop/app.vue +0 -376
  648. package/core/x-ray/src/desktop/functions/http.ts +0 -26
  649. package/core/x-ray/src/desktop/functions/types.ts +0 -7
  650. package/core/x-ray/src/desktop/main.ts +0 -14
  651. package/core/x-ray/src/desktop/modules/counter/mod.vue +0 -44
  652. package/core/x-ray/src/desktop/modules/fetcher/mod.vue +0 -63
  653. package/core/x-ray/src/desktop/plugins/unified/unified-app.ts +0 -5
  654. package/core/x-ray/src/desktop/plugins/unified/unified-styles.scss +0 -0
  655. package/core/x-ray/src/desktop/services/http.ts +0 -45
  656. package/core/x-ray/src/desktop/styles/app.scss +0 -0
  657. package/core/x-ray/src/http.ts +0 -26
  658. package/core/x-ray/src/index.ts +0 -42
  659. package/core/x-ray/src/ray.config.js +0 -28
  660. package/core/x-ray/src/types.ts +0 -8
  661. package/examples/vue/App.vue +0 -12
  662. package/examples/vue/favicon.png +0 -0
  663. package/examples/vue/index.html +0 -20
  664. package/examples/web/favicon.png +0 -0
  665. package/examples/web/index.html +0 -13
  666. package/functions/package.json +0 -41
  667. /package/core/actions/src/{lint-fix.ts → lint/fix.ts} +0 -0
  668. /package/core/{dashboard/src/index.ts → actions/src/upgrade/dependencies.ts} +0 -0
  669. /package/core/{tables/src/cli/index.ts → analytics/src/drivers/fathom.ts} +0 -0
  670. /package/core/{tables/src/config/tables.ts → analytics/src/index.ts} +0 -0
  671. /package/core/{dashboard → analytics}/tests/example.test.ts +0 -0
  672. /package/{buddy → core/buddy}/art/social.png +0 -0
  673. /package/{netlify.toml → core/cloud/netlify.toml} +0 -0
  674. /package/core/{drivers → development}/tests/example.test.ts +0 -0
  675. /package/core/{tables → faker}/tests/example.test.ts +0 -0
  676. /package/core/{x-ray → orm}/tests/example.test.ts +0 -0
  677. /package/pages/{App.vue → web/App.vue} +0 -0
  678. /package/pages/{index.html → web/index.html} +0 -0
  679. /package/pages/{main.ts → web/main.ts} +0 -0
  680. /package/pages/{public → web/public}/_headers +0 -0
  681. /package/pages/{public → web/public}/favicon-dark.svg +0 -0
  682. /package/pages/{public → web/public}/favicon.svg +0 -0
  683. /package/pages/{public → web/public}/pwa-192x192.png +0 -0
  684. /package/pages/{public → web/public}/pwa-512x512.png +0 -0
  685. /package/pages/{public → web/public}/safari-pinned-tab.svg +0 -0
  686. /package/pages/{styles → web/styles}/main.css +0 -0
  687. /package/pages/{styles → web/styles}/markdown.css +0 -0
@@ -4,12 +4,12 @@ import type { SmsOptions } from '@stacksjs/types'
4
4
  import { ResultAsync } from '@stacksjs/error-handling'
5
5
  import { notification } from '@stacksjs/config'
6
6
 
7
- const env = notification.sms.telnyx
7
+ const env = notification.sms?.telnyx
8
8
 
9
9
  const provider = new TelnyxSmsProvider({
10
- apiKey: env.key,
11
- messageProfileId: env.messageProfileId,
12
- from: env.from,
10
+ apiKey: env?.key,
11
+ messageProfileId: env?.messageProfileId,
12
+ from: env?.from,
13
13
  })
14
14
 
15
15
  function send(options: SmsOptions) {
@@ -4,11 +4,11 @@ import type { SmsOptions } from '@stacksjs/types'
4
4
  import { ResultAsync } from '@stacksjs/error-handling'
5
5
  import { notification } from '@stacksjs/config'
6
6
 
7
- const env = notification.sms.termii
7
+ const env = notification.sms?.termii
8
8
 
9
9
  const provider = new TermiiSmsProvider({
10
- apiKey: env.key,
11
- from: env.from,
10
+ apiKey: env?.key,
11
+ from: env?.from,
12
12
  })
13
13
 
14
14
  function send(options: SmsOptions) {
@@ -4,12 +4,12 @@ import type { SmsOptions } from '@stacksjs/types'
4
4
  import { ResultAsync } from '@stacksjs/error-handling'
5
5
  import { notification } from '@stacksjs/config'
6
6
 
7
- const env = notification.sms.twilio
7
+ const env = notification.sms?.twilio
8
8
 
9
9
  const provider = new TwilioSmsProvider({
10
- accountSid: env.sid,
11
- authToken: env.authToken,
12
- from: env.from,
10
+ accountSid: env?.sid,
11
+ authToken: env?.authToken,
12
+ from: env?.from,
13
13
  })
14
14
 
15
15
  function send(options: SmsOptions) {
@@ -53,7 +53,7 @@ pnpm test
53
53
 
54
54
  Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
55
55
 
56
- ## 💪🏼 Contributing
56
+ ## 🚜 Contributing
57
57
 
58
58
  Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
59
59
 
@@ -0,0 +1,13 @@
1
+ import { defineBuildConfig } from 'unbuild'
2
+
3
+ export default defineBuildConfig({
4
+ entries: [
5
+ {
6
+ builder: 'mkdist',
7
+ input: './src/',
8
+ outDir: './dist/',
9
+ },
10
+ ],
11
+
12
+ declaration: true,
13
+ })
@@ -1,11 +1,17 @@
1
1
  {
2
2
  "name": "@stacksjs/storage",
3
3
  "type": "module",
4
- "version": "0.50.0",
5
- "packageManager": "pnpm@7.25.1",
4
+ "version": "0.52.0",
5
+ "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks file system.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.mjs"
13
+ }
14
+ },
9
15
  "funding": "https://github.com/sponsors/chrisbbreuer",
10
16
  "homepage": "https://github.com/stacksjs/stacks/tree/main/.stacks/core/storage#readme",
11
17
  "repository": {
@@ -36,27 +42,21 @@
36
42
  "dist",
37
43
  "README.md"
38
44
  ],
39
- "engines": {
40
- "node": ">=v18.13.0",
41
- "pnpm": ">=7.25.1"
42
- },
43
45
  "scripts": {
44
- "build": "mkdist -d",
45
- "dev": "mkdist -d",
46
+ "build": "unbuild",
47
+ "dev": "unbuild --stub",
46
48
  "prepublishOnly": "pnpm run build",
47
49
  "typecheck": "tsc --noEmit"
48
50
  },
49
51
  "peerDependencies": {
50
52
  "@stacksjs/arrays": "workspace:*",
53
+ "@stacksjs/path": "workspace:*",
51
54
  "@stacksjs/types": "workspace:*",
52
55
  "@stacksjs/utils": "workspace:*",
53
- "fs-extra": "^11.1.0",
54
- "unstorage": "^1.0.1"
56
+ "fs-extra": "^11.1.1",
57
+ "unstorage": "^1.6.0"
55
58
  },
56
59
  "devDependencies": {
57
- "@stacksjs/path": "workspace:*",
58
- "@stacksjs/testing": "workspace:*",
59
- "mkdist": "^1.1.0",
60
- "typescript": "^4.9.4"
60
+ "@stacksjs/development": "workspace:*"
61
61
  }
62
62
  }
@@ -181,6 +181,21 @@ export function createFolder(dir: string): Promise<void> {
181
181
  })
182
182
  }
183
183
 
184
+ export function updateConfigFile(filePath: string, newConfig: Record<string, unknown>): Promise<void> {
185
+ return new Promise((resolve, reject) => {
186
+ const config = JSON.parse(fs.readFileSync(filePath, 'utf8')) as Record<string, unknown>;
187
+
188
+ for (const key in newConfig) {
189
+ config[key] = newConfig[key];
190
+ }
191
+
192
+ fs.writeFileSync(filePath, JSON.stringify(config, null, 2));
193
+
194
+ resolve();
195
+ })
196
+ }
197
+
198
+
184
199
  export const filesystem = {
185
200
  _dirname,
186
201
  readJsonFile,
@@ -197,6 +212,7 @@ export const filesystem = {
197
212
  deleteFiles,
198
213
  deleteEmptyFolders,
199
214
  doesFolderExist,
215
+ updateConfigFile,
200
216
  fs, // potentially refactor to `...fs` but, currently, there is an issues when building @stacksjs/config
201
217
  // the problem is relating to https://github.com/microsoft/TypeScript/issues/5711#issuecomment-157793294
202
218
  }
@@ -18,19 +18,20 @@ Now, you can use it in your project:
18
18
  ```js
19
19
  import {
20
20
  // pluralize
21
+ isPlural, isSingular, singular, plural,
21
22
  addIrregularRule, addPluralRule, addSingularRule, addUncountableRule,
22
23
 
23
24
  // case
24
- camelCase, capitalCase, constantCase, dotCase,
25
- headerCase, isPlural, isSingular, kebabCase, noCase, paramCase, pascalCase,
26
- pathCase, plural, sentenceCase, singular, snakeCase,
25
+ camelCase, capitalCase, constantCase, dotCase
26
+ headerCase, kebabCase, noCase, paramCase, pascalCase,
27
+ pathCase, sentenceCase , snakeCase, titleCase
27
28
 
28
29
  // validation
29
30
  isEmail, isStrongPassword, isAlphanumeric, validateUsername, isURL, isMobilePhone, isAlpha, isPostalCode, isDate, isNumeric, isBoolean, isHexColor, isHexadecimal, isBase64, isUUID, isJSON, isCreditCard, isISBN, isIP, isIPRange, isMACAddress, isLatLong, isLatitude, isLongitude, isCurrency, isDataURI, isMimeType, isJWT, isMongoId, isAscii, isBase32, isByteLength, isFQDN, isFullWidth, isHalfWidth, isHash, isHSL, isIBAN, isIdentityCard, isISIN, isISO8601, isISRC, isISSN, isISO31661Alpha2, isISO31661Alpha3
30
31
  } from '@stacksjs/strings'
31
32
 
32
- console.log(camelCase('hello world')) // helloWorld
33
- console.log(plural('dog')) // dogs
33
+ console.log(camelCase('hello world')) //=> "helloWorld"
34
+ console.log(plural('dog')) //=> "dogs"
34
35
  ```
35
36
 
36
37
  To view the full documentation, please visit [https://stacksjs.dev/strings](https://stacksjs.dev/strings).
@@ -45,7 +46,7 @@ pnpm test
45
46
 
46
47
  Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
47
48
 
48
- ## 💪🏼 Contributing
49
+ ## 🚜 Contributing
49
50
 
50
51
  Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
51
52
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/strings",
3
3
  "type": "module",
4
- "version": "0.50.0",
5
- "packageManager": "pnpm@7.25.1",
4
+ "version": "0.52.0",
5
+ "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks string utilities.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -34,7 +34,12 @@
34
34
  "functions",
35
35
  "stacks"
36
36
  ],
37
- "main": "dist/index.mjs",
37
+ "exports": {
38
+ ".": {
39
+ "types": "./dist/index.d.ts",
40
+ "import": "./dist/index.mjs"
41
+ }
42
+ },
38
43
  "module": "dist/index.mjs",
39
44
  "types": "dist/index.d.ts",
40
45
  "contributors": [
@@ -44,10 +49,6 @@
44
49
  "dist",
45
50
  "README.md"
46
51
  ],
47
- "engines": {
48
- "node": ">=v18.13.0",
49
- "pnpm": ">=7.25.1"
50
- },
51
52
  "scripts": {
52
53
  "build": "unbuild",
53
54
  "dev": "unbuild --stub",
@@ -58,15 +59,14 @@
58
59
  "@stacksjs/alias": "workspace:*",
59
60
  "@stacksjs/types": "workspace:*",
60
61
  "@types/pluralize": "^0.0.29",
61
- "@types/validator": "^13.7.10",
62
+ "@types/validator": "^13.7.17",
62
63
  "change-case": "^4.1.2",
63
64
  "pluralize": "^8.0.0",
64
- "validator": "^13.7.0"
65
+ "slugify": "^1.6.6",
66
+ "title-case": "^3.0.3",
67
+ "validator": "^13.9.0"
65
68
  },
66
69
  "devDependencies": {
67
- "@stacksjs/testing": "workspace:*",
68
- "mkdist": "^1.1.0",
69
- "typescript": "^4.9.4",
70
- "unbuild": "^1.1.1"
70
+ "@stacksjs/development": "workspace:*"
71
71
  }
72
72
  }
@@ -12,3 +12,4 @@ export {
12
12
  sentenceCase,
13
13
  snakeCase,
14
14
  } from 'change-case'
15
+ export { titleCase } from 'title-case'
@@ -1 +1,5 @@
1
- export { plural, singular, isPlural, isSingular, addPluralRule, addSingularRule, addIrregularRule, addUncountableRule } from 'pluralize'
1
+ import pluralize from 'pluralize'
2
+
3
+ const { plural, singular, isPlural, isSingular, addPluralRule, addSingularRule, addIrregularRule, addUncountableRule } = pluralize
4
+
5
+ export { plural, singular, isPlural, isSingular, addPluralRule, addSingularRule, addIrregularRule, addUncountableRule }
@@ -1,7 +1,26 @@
1
+ import slugify from 'slugify'
2
+
3
+ interface SlugOptions {
4
+ replacement?: string
5
+ remove?: RegExp
6
+ lower?: boolean
7
+ strict?: boolean
8
+ locale?: string
9
+ trim?: boolean
10
+ }
11
+
12
+ // port from nanoid
13
+ // https://github.com/ai/nanoid
14
+ const urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
15
+
1
16
  /**
2
17
  * Replace backslash to slash
3
18
  *
4
19
  * @category String
20
+ * @example
21
+ * ```
22
+ * slash('C:\\Users\\Chris') => 'C:/Users/Chris'
23
+ * ```
5
24
  */
6
25
  export function slash(str: string) {
7
26
  return str.replace(/\\/g, '/')
@@ -11,6 +30,10 @@ export function slash(str: string) {
11
30
  * Ensure prefix of a string
12
31
  *
13
32
  * @category String
33
+ * @example
34
+ * ```
35
+ * ensurePrefix('https://', 'google.com') => 'https://google.com'
36
+ * ensurePrefix('https://', 'http://google.com') => 'https://google.com'
14
37
  */
15
38
  export function ensurePrefix(prefix: string, str: string) {
16
39
  if (!str.startsWith(prefix))
@@ -22,6 +45,11 @@ export function ensurePrefix(prefix: string, str: string) {
22
45
  * Ensure suffix of a string
23
46
  *
24
47
  * @category String
48
+ * @example
49
+ * ```
50
+ * ensureSuffix('.js', 'index') => 'index.js'
51
+ * ensureSuffix('.js', 'index.js') => 'index.js'
52
+ * ```
25
53
  */
26
54
  export function ensureSuffix(suffix: string, str: string) {
27
55
  if (!str.endsWith(suffix))
@@ -35,8 +63,7 @@ export function ensureSuffix(suffix: string, str: string) {
35
63
  * @category String
36
64
  * @example
37
65
  * ```
38
- * const result = template(
39
- * 'Hello {0}! My name is {1}.',
66
+ * const result = template('Hello {0}! My name is {1}.',
40
67
  * 'Buddy',
41
68
  * 'Chris'
42
69
  * ) // Hello Buddy! My name is Chris.
@@ -51,9 +78,6 @@ export function template(str: string, ...args: any[]): string {
51
78
  })
52
79
  }
53
80
 
54
- // port from nanoid
55
- // https://github.com/ai/nanoid
56
- const urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
57
81
  /**
58
82
  * Generate a random string
59
83
  * @category String
@@ -72,9 +96,27 @@ export function randomStr(size = 16, dict = urlAlphabet) {
72
96
  * @category string
73
97
  * @example
74
98
  * ```
75
- * capitalize('hello') => 'Hello'
99
+ * capitalize('hello world') => 'Hello world'
76
100
  * ```
77
101
  */
78
102
  export function capitalize(str: string): string {
79
103
  return str[0].toUpperCase() + str.slice(1).toLowerCase()
80
104
  }
105
+
106
+ /**
107
+ * Slugify a string
108
+ * @category string
109
+ * @example
110
+ * ```
111
+ * slug('Hello World') => 'hello-world'
112
+ * ```
113
+ */
114
+ export function slug(str: string, options?: SlugOptions): string {
115
+ if (options)
116
+ return slugify(str, options)
117
+
118
+ return slugify(str, {
119
+ lower: true,
120
+ strict: true,
121
+ })
122
+ }
@@ -38,7 +38,7 @@ pnpm test
38
38
 
39
39
  Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
40
40
 
41
- ## 💪🏼 Contributing
41
+ ## 🚜 Contributing
42
42
 
43
43
  Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
44
44
 
@@ -0,0 +1,13 @@
1
+ import { defineBuildConfig } from 'unbuild'
2
+
3
+ export default defineBuildConfig({
4
+ entries: [
5
+ {
6
+ builder: 'mkdist',
7
+ input: './src/',
8
+ outDir: './dist/',
9
+ },
10
+ ],
11
+
12
+ declaration: true,
13
+ })
@@ -6,12 +6,12 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/@playwright+test@1.33.0/node_modules/@playwright/test/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/@playwright+test@1.33.0/node_modules/@playwright/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/@playwright+test@1.33.0/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/@playwright+test@1.33.0/node_modules/@playwright/test/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/@playwright+test@1.33.0/node_modules/@playwright/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/@playwright+test@1.33.0/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/@playwright+test@1.29.2/node_modules/@playwright/test/cli.js" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/@playwright+test@1.33.0/node_modules/@playwright/test/cli.js" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/@playwright+test@1.29.2/node_modules/@playwright/test/cli.js" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/@playwright+test@1.33.0/node_modules/@playwright/test/cli.js" "$@"
17
17
  fi
@@ -6,12 +6,12 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsc" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/tsc" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsc" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/tsc" "$@"
17
17
  fi
@@ -6,12 +6,12 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/typescript@5.0.4/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsserver" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/tsserver" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsserver" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/bin/tsserver" "$@"
17
17
  fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/unbuild@1.2.1/node_modules/unbuild/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/unbuild@1.2.1/node_modules/unbuild/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/unbuild@1.2.1/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/unbuild@1.2.1/node_modules/unbuild/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/unbuild@1.2.1/node_modules/unbuild/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/unbuild@1.2.1/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/unbuild@1.2.1/node_modules/unbuild/dist/cli.mjs" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/unbuild@1.2.1/node_modules/unbuild/dist/cli.mjs" "$@"
17
+ fi
@@ -6,12 +6,12 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vitest@0.27.3_@vitest+ui@0.27.3/node_modules/vitest/vitest.mjs" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/vitest.mjs" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/vitest@0.27.3_@vitest+ui@0.27.3/node_modules/vitest/vitest.mjs" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/vitest.mjs" "$@"
17
17
  fi
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/testing",
3
3
  "type": "module",
4
- "version": "0.50.0",
5
- "packageManager": "pnpm@7.25.1",
4
+ "version": "0.52.0",
5
+ "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks way of testing.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -28,7 +28,12 @@
28
28
  "vitest",
29
29
  "stacks"
30
30
  ],
31
- "main": "dist/index.mjs",
31
+ "exports": {
32
+ ".": {
33
+ "types": "./dist/index.d.ts",
34
+ "import": "./dist/index.mjs"
35
+ }
36
+ },
32
37
  "module": "dist/index.mjs",
33
38
  "types": "dist/index.d.ts",
34
39
  "contributors": [
@@ -38,24 +43,20 @@
38
43
  "dist",
39
44
  "README.md"
40
45
  ],
41
- "engines": {
42
- "node": ">=v18.13.0",
43
- "pnpm": ">=7.25.1"
44
- },
45
46
  "scripts": {
46
- "build": "mkdist -d",
47
- "dev": "mkdist -d",
47
+ "build": "unbuild",
48
+ "dev": "unbuild --stub",
48
49
  "prepublishOnly": "pnpm run build",
49
50
  "typecheck": "tsc --noEmit"
50
51
  },
51
52
  "peerDependencies": {
52
- "@playwright/test": "^1.29.2",
53
- "@vitest/coverage-istanbul": "^0.27.2",
54
- "@vitest/ui": "^0.27.2",
55
- "vitest": "^0.27.2"
53
+ "@playwright/test": "^1.33.0",
54
+ "@vitest/coverage-istanbul": "^0.31.0",
55
+ "@vitest/ui": "^0.31.0",
56
+ "vitest": "^0.31.0"
56
57
  },
57
58
  "devDependencies": {
58
- "mkdist": "^1.1.0",
59
- "typescript": "^4.9.4"
59
+ "typescript": "^5.0.4",
60
+ "unbuild": "^1.2.1"
60
61
  }
61
62
  }
@@ -0,0 +1,61 @@
1
+ # Stacks Tinker
2
+
3
+ A powerful TypeScript REPL, powered by TSX.
4
+
5
+ ## ☘️ Features
6
+
7
+ - Blazing fast on-demand TypeScript & ESM compilation
8
+ - Works in both [CommonJS and ESM packages](https://nodejs.org/api/packages.html#type)
9
+ - Supports next-gen TypeScript extensions (`.cts` & `.mts`)
10
+ - Supports `node:` import prefixes
11
+ - Hides experimental feature warnings
12
+ - TypeScript REPL
13
+ - Resolves `tsconfig.json` [`paths`](https://www.typescriptlang.org/tsconfig#paths)
14
+ - Tested on Linux & Windows with Node.js v12~18
15
+
16
+ ## 🤖 Usage
17
+
18
+ ```bash
19
+ pnpm i -D @stacksjs/tinker
20
+ ```
21
+
22
+ Now, you can easily access it in your project:
23
+
24
+ ```bash
25
+ npx tinker
26
+ ```
27
+
28
+ To learn more, visit [`tsx`](https://github.com/esbuild-kit/tsx).
29
+
30
+ ## 📈 Changelog
31
+
32
+ Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
33
+
34
+ ## 🚜 Contributing
35
+
36
+ Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
37
+
38
+ ## 🏝 Community
39
+
40
+ For help, discussion about best practices, or any other conversation that would benefit from being searchable:
41
+
42
+ [Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
43
+
44
+ For casual chit-chat with others using this package:
45
+
46
+ [Join the Stacks Discord Server](https://discord.ow3.org)
47
+
48
+ ## 🙏🏼 Credits
49
+
50
+ Many thanks to the following core technologies & people who have contributed to this package:
51
+
52
+ - [tsx](https://github.com/esbuild-kit/tsx)
53
+ - [esno](https://github.com/esbuild-kit/esno)
54
+ - [Chris Breuer](https://github.com/chrisbbreuer)
55
+ - [All Contributors](../../contributors)
56
+
57
+ ## 📄 License
58
+
59
+ The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
60
+
61
+ Made with ❤️
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/tsx@3.12.7/node_modules/tsx/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/tsx@3.12.7/node_modules/tsx/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/tsx@3.12.7/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/tsx@3.12.7/node_modules/tsx/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/tsx@3.12.7/node_modules/tsx/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/tsx@3.12.7/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/tsx@3.12.7/node_modules/tsx/dist/cli.js" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/tsx@3.12.7/node_modules/tsx/dist/cli.js" "$@"
17
+ fi