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
@@ -1,4 +1,5 @@
1
1
  import { log } from '@stacksjs/logging'
2
+
2
3
  // import { kebabCase } from '@stacksjs/strings'
3
4
  import { libraryEntryPath } from '@stacksjs/path'
4
5
  import { writeTextFile } from '@stacksjs/storage'
@@ -66,12 +67,12 @@ export function generateEntryPointData(type: 'vue-components' | 'web-components'
66
67
  let arr = []
67
68
 
68
69
  if (type === 'functions') {
69
- if (!library.functions.functions) {
70
+ if (!library.functions?.functions) {
70
71
  log.error('There are no functions defined to be built. Please check your config/library.ts file for potential adjustments.')
71
72
  process.exit()
72
73
  }
73
74
 
74
- for (const fx of library.functions.functions) {
75
+ for (const fx of library.functions?.functions) {
75
76
  if (Array.isArray(fx))
76
77
  arr.push(`export * as ${fx[1]} from '../../../functions/${fx[0]}'`)
77
78
  else
@@ -83,14 +84,14 @@ export function generateEntryPointData(type: 'vue-components' | 'web-components'
83
84
  }
84
85
 
85
86
  if (type === 'vue-components') {
86
- if (!library.vueComponents.tags) {
87
+ if (!library.vueComponents?.tags) {
87
88
  log.error('There are no components defined to be built. Please check your config/library.ts file for potential adjustments.')
88
89
  process.exit()
89
90
  }
90
91
 
91
92
  arr = determineResetPreset()
92
93
 
93
- for (const component of library.vueComponents.tags.map(tag => tag.name)) {
94
+ for (const component of library.vueComponents?.tags.map(tag => tag.name)) {
94
95
  if (Array.isArray(component))
95
96
  arr.push(`export { default as ${component[1]} } from '../../../components/${component[0]}.vue'`)
96
97
  else
@@ -107,12 +108,12 @@ export function generateEntryPointData(type: 'vue-components' | 'web-components'
107
108
  const declarations = []
108
109
  const definitions = []
109
110
 
110
- if (!library.webComponents.tags) {
111
+ if (!library.webComponents?.tags) {
111
112
  log.error('There are no components defined to be built. Please check your config/library.ts file for potential adjustments.')
112
113
  process.exit()
113
114
  }
114
115
 
115
- for (const component of library.webComponents.tags.map(tag => tag.name)) {
116
+ for (const component of library.webComponents?.tags.map(tag => tag.name)) {
116
117
  if (Array.isArray(component)) {
117
118
  imports.push(`import ${component[1]} from '../../../components/${component[0]}.vue'`)
118
119
  declarations.push(`const ${component[1]}CustomElement = defineCustomElement(${component[1]})`)
@@ -8,26 +8,26 @@ export async function generatePackageJson(type: 'vue-components' | 'web-componen
8
8
  let name, description, directory, keywords, config, prettyName
9
9
 
10
10
  if (type === 'vue-components') {
11
- name = library.vueComponents.name
12
- description = library.vueComponents.description
11
+ name = library.vueComponents?.name
12
+ description = library.vueComponents?.description
13
13
  directory = 'components'
14
- keywords = library.vueComponents.keywords
14
+ keywords = library.vueComponents?.keywords
15
15
  config = 'vue-components'
16
16
  }
17
17
 
18
18
  else if (type === 'web-components') {
19
- name = library.webComponents.name
20
- description = library.webComponents.description
19
+ name = library.webComponents?.name
20
+ description = library.webComponents?.description
21
21
  directory = 'components'
22
- keywords = library.webComponents.keywords
22
+ keywords = library.webComponents?.keywords
23
23
  config = 'web-components'
24
24
  }
25
25
 
26
26
  else if (type === 'functions') {
27
- name = library.functions.name
28
- description = library.functions.description
27
+ name = library.functions?.name
28
+ description = library.functions?.description
29
29
  directory = 'functions'
30
- keywords = library.functions.keywords
30
+ keywords = library.functions?.keywords
31
31
  config = 'functions'
32
32
  }
33
33
 
@@ -1,30 +1,27 @@
1
1
  import storage from '@stacksjs/storage'
2
- import { log, runCommand, runCommands } from '@stacksjs/cli'
2
+ import { italic, log, runCommand, runCommands } from '@stacksjs/cli'
3
3
  import { actionsPath, functionsPath } from '@stacksjs/path'
4
- import type { CliOptions, CommandResult } from '@stacksjs/types'
5
- import type { Err, Result } from '@stacksjs/error-handling'
4
+ import type { ActionOptions, CommandResult } from '@stacksjs/types'
6
5
  import { err } from '@stacksjs/error-handling'
7
6
 
8
- const parseOptions = (options?: CliOptions) => {
7
+ function parseOptions(options?: ActionOptions) {
9
8
  if (!options)
10
9
  return ''
11
10
 
12
11
  const parsedOptions = Object.entries(options).map(([key, value]) => {
13
- if (typeof value === 'boolean')
12
+ if (key.length === 1)
13
+ return
14
+ if (typeof value === 'boolean' && value) // if the value is a boolean and true, just return the key
14
15
  return `--${key}`
15
16
  else
16
17
  return `--${key}=${value}`
17
18
  })
18
19
 
19
- // ----= only happens when no flags are passed
20
- return parsedOptions.join(' ').replace('----=', '')
20
+ // filter out undefined values and join the array
21
+ return parsedOptions.filter(Boolean).join(' ').replace('----=', '')
21
22
  }
22
23
 
23
- export type ActionResult = Promise<
24
- Result<CommandResult<string>, Error>
25
- | Result<CommandResult<string>, Error>[]
26
- | Err<CommandResult<string>, string>
27
- >
24
+ export type ActionResult = CommandResult
28
25
 
29
26
  /**
30
27
  * Run an Action the Stacks way.
@@ -33,23 +30,22 @@ export type ActionResult = Promise<
33
30
  * @param options The options to pass to the command.
34
31
  * @returns The result of the command.
35
32
  */
36
- export async function runAction(action: string, options?: CliOptions): Promise<
37
- Result<CommandResult<string>, Error>
38
- | Result<CommandResult<string>, Error>[]
39
- | Err<CommandResult<string>, string>
40
- > {
33
+ export async function runAction(action: string, options?: ActionOptions): Promise<CommandResult> {
41
34
  if (!hasAction(action))
42
- return err(`The specified action "${action}" does not exist.`)
35
+ return err(`The specified action "${action}" does not exist`)
43
36
 
44
- // we need to parse options here because we need to pass them to the action command
37
+ // we need to parse options here because they need to bw passed to the action
45
38
  const opts = parseOptions(options)
46
- const cmd = `npx esno ${actionsPath(`${action}.ts ${opts}`)}`
39
+ const cmd = `npx tsx ${actionsPath(`${action}.ts ${opts}`)}`
47
40
 
48
- if (options?.debug)
49
- log.info('Running command:', cmd, options)
41
+ // eslint-disable-next-line no-console
42
+ console.log('cmd', cmd)
43
+
44
+ if (options?.verbose)
45
+ log.debug('running command:', italic(cmd))
50
46
 
51
47
  return options?.showSpinner
52
- ? await runCommands([cmd], options)
48
+ ? await runCommands([cmd], options) as CommandResult
53
49
  : await runCommand(cmd, options)
54
50
  }
55
51
 
@@ -60,7 +56,7 @@ export async function runAction(action: string, options?: CliOptions): Promise<
60
56
  * @param options The options to pass to the command.
61
57
  * @returns The result of the command.
62
58
  */
63
- export async function runActions(actions: string[], options?: CliOptions): Promise<Result<CommandResult<string>, Error>[] | Result<CommandResult<string>, Error> | Err<CommandResult<string>, string>> {
59
+ export async function runActions(actions: string[], options?: ActionOptions): Promise<CommandResult | CommandResult[]> {
64
60
  if (!actions.length)
65
61
  return err('No actions were specified')
66
62
 
@@ -69,7 +65,7 @@ export async function runActions(actions: string[], options?: CliOptions): Promi
69
65
  return err(`The specified action "${action}" does not exist`)
70
66
  }
71
67
 
72
- const commands = actions.map(action => `npx esno ${actionsPath(`${action}.ts`)}`)
68
+ const commands = actions.map(action => `npx tsx ${actionsPath(`${action}.ts`)}`)
73
69
 
74
70
  return await runCommands(commands, options)
75
71
  }
@@ -18,7 +18,7 @@ export async function generateVsCodeCustomData() {
18
18
  }
19
19
 
20
20
  function generateComponentInfoData() {
21
- const componentsData = JSON.stringify(library.vueComponents.tags)
21
+ const componentsData = JSON.stringify(library.vueComponents?.tags)
22
22
 
23
23
  return `{
24
24
  "version": 1.1,
@@ -1,10 +1,10 @@
1
1
  import { runCommand } from '@stacksjs/cli'
2
2
  import { isFile } from '@stacksjs/storage'
3
3
  import { setEnvValue } from '@stacksjs/utils'
4
- import { options } from 'kolorist'
4
+ import { projectPath } from '@stacksjs/path'
5
5
  import { generateAppKey } from '@stacksjs/security'
6
6
 
7
7
  if (!isFile('.env'))
8
- await runCommand('cp .env.example .env', { ...options, cwd: projectPath() })
8
+ await runCommand('cp .env.example .env', { cwd: projectPath() })
9
9
 
10
10
  await setEnvValue('APP_KEY', await generateAppKey())
@@ -2,4 +2,4 @@ import { runCommand } from '@stacksjs/cli'
2
2
  import { projectPath } from '@stacksjs/path'
3
3
  import { NpmScript } from '@stacksjs/types'
4
4
 
5
- await runCommand(NpmScript.Lint, { cwd: projectPath(), debug: true })
5
+ await runCommand(NpmScript.Lint, { cwd: projectPath(), verbose: true })
@@ -1,6 +1,6 @@
1
1
  import { italic, log, spawn } from '@stacksjs/cli'
2
2
  import { createFolder, doesFolderExist, writeTextFile } from '@stacksjs/storage'
3
- import { resolve } from '@stacksjs/path'
3
+ import { frameworkPath, projectPath, resolve } from '@stacksjs/path'
4
4
  import type { MakeOptions } from '@stacksjs/types'
5
5
 
6
6
  export async function invoke(options: MakeOptions) {
@@ -108,24 +108,6 @@ export async function createFactory(options: MakeOptions) {
108
108
  console.log('options', options) // wip
109
109
  }
110
110
 
111
- export async function migration(options: MakeOptions) {
112
- try {
113
- const name = options.name
114
- log.info(`Creating your ${italic(name)} migration...`)
115
- await createMigration(options)
116
- log.success(`Created the ${italic(name)} migration.`)
117
- }
118
- catch (error) {
119
- log.error('There was an error creating your migration.', error)
120
- process.exit()
121
- }
122
- }
123
-
124
- export async function createMigration(options: MakeOptions) {
125
- // eslint-disable-next-line no-console
126
- console.log('options', options) // wip
127
- }
128
-
129
111
  export async function notification(options: MakeOptions) {
130
112
  try {
131
113
  const name = options.name
@@ -278,3 +260,65 @@ function send(): ${importOption} {
278
260
  return false
279
261
  }
280
262
  }
263
+
264
+ export async function createMigration(options: MakeOptions) {
265
+ const optionName = options.name
266
+ const table = options.tableName
267
+ const name = optionName[0].toUpperCase() + optionName.slice(1)
268
+ const path = frameworkPath(`database/migrations/${name}.ts`)
269
+
270
+ try {
271
+ await writeTextFile({
272
+ path: `${path}`,
273
+ data: `import { Kysely } from 'kysely'
274
+
275
+ export async function up(db: Kysely<any>): Promise<void> {
276
+ await db.schema
277
+ .createTable('${table}')
278
+ .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey())
279
+ .execute()
280
+ }`,
281
+ })
282
+
283
+ log.success(`Successfully created your migration file at .stacks/database/migrations/${name}.ts`)
284
+ }
285
+ catch (error) {
286
+ log.error(error)
287
+ }
288
+ }
289
+
290
+ export async function createModel(options: MakeOptions) {
291
+ const optionName = options.name
292
+ const name = optionName[0].toUpperCase() + optionName.slice(1)
293
+ const path = projectPath(`app/models/${name}.ts`)
294
+ try {
295
+ await writeTextFile({
296
+ path: `${path}`,
297
+ data: `import { faker } from '../../.stacks/core/faker/src' // stacks/faker or @stacksjs/faker
298
+ import { validate } from '../../.stacks/core/validation/src' // stacks/validate or @stacksjs/validate
299
+ import type { Model } from '../../.stacks/core/types/src' // stacks/types or @stacksjs/types
300
+
301
+ export default <Model> {
302
+ name: '${name}',
303
+ searchable: true, // boolean | IndexSettings,
304
+ authenticatable: true, // boolean | AuthSettings,
305
+ seeder: {
306
+ count: 10,
307
+ },
308
+ fields: {
309
+ name: {
310
+ type: 'String',
311
+ validation: validate.string().min(3).max(255),
312
+ factory: () => faker.name,
313
+ },
314
+ // more fields here
315
+ },
316
+ }`,
317
+ })
318
+
319
+ log.success(`Successfully created your model at app/models/${name}.ts`)
320
+ }
321
+ catch (error) {
322
+ log.error(error)
323
+ }
324
+ }
@@ -0,0 +1,3 @@
1
+ import { migrations } from '@stacksjs/actions/generate'
2
+
3
+ await migrations()
@@ -1,11 +1,11 @@
1
1
  import { log, spawn } from '@stacksjs/cli'
2
2
  import { projectPath } from '@stacksjs/path'
3
3
  import type { PreinstallOptions } from '@stacksjs/types'
4
- import { determineDebugMode } from '@stacksjs/config'
4
+ import { determineDebugLevel } from '@stacksjs/utils'
5
5
 
6
6
  export async function invoke(options?: PreinstallOptions) {
7
7
  try {
8
- const stdio = determineDebugMode(options) ? 'inherit' : 'ignore'
8
+ const stdio = determineDebugLevel(options) ? 'inherit' : 'ignore'
9
9
 
10
10
  log.info('Preinstall check...')
11
11
  await spawn('npx only-allow pnpm', { stdio, cwd: projectPath() })
@@ -6,7 +6,7 @@ import { NpmScript } from '@stacksjs/types'
6
6
  log.info('Running prepublish command...')
7
7
 
8
8
  // right before we publish, we need to build Stacks
9
- const result = await runNpmScript(NpmScript.BuildStacks, { debug: true, cwd: runtimePath() }) // TODO: add flag for debug mode
9
+ const result = await runNpmScript(NpmScript.BuildStacks, { verbose: true, cwd: runtimePath() }) // TODO: add flag for debug mode
10
10
 
11
11
  if (result.isErr()) {
12
12
  log.error('There was an error while prepublishing your stack, during the process of building Stacks.', result.error)
@@ -2,13 +2,14 @@
2
2
  import { frameworkPath } from '@stacksjs/path'
3
3
  import { runActions } from '@stacksjs/actions'
4
4
  import { Action } from '@stacksjs/types'
5
+
5
6
  // import { log } from '@stacksjxs/cli'
6
7
 
7
8
  await runActions([
8
- Action.GeneratePackageJsons, // generate the package.json's for each package
9
- Action.LintFix, // ensure there are no lint errors
9
+ // Action.GeneratePackageJsons, // generate the package.json's for each package
10
+ // Action.LintFix, // ensure there are no lint errors
10
11
  // Action.Test, // run the tests
11
12
  Action.Bump, // bump the versions, create the git (version) tag, generate the changelog, commit & push the changes
12
- ], { debug: true, cwd: frameworkPath() }) // debug mode needs to be enabled to see the output due to the interactive prompts
13
+ ], { verbose: true, cwd: frameworkPath(), shell: true }) // debug mode needs to be enabled to see the output due to the interactive prompts
13
14
 
14
15
  // log.success('Successfully released the Stacks framework')
@@ -0,0 +1,3 @@
1
+ import { seeder } from '@stacksjs/actions/generate'
2
+
3
+ await seeder()
@@ -2,4 +2,4 @@ import { NpmScript } from '@stacksjs/types'
2
2
  import { runCommand } from '@stacksjs/cli'
3
3
  import { frameworkPath } from '@stacksjs/path'
4
4
 
5
- await runCommand(NpmScript.TestCoverage, { cwd: frameworkPath(), debug: true })
5
+ await runCommand(NpmScript.TestCoverage, { cwd: frameworkPath(), verbose: true })
@@ -0,0 +1,5 @@
1
+ import { NpmScript } from '@stacksjs/types'
2
+ import { runCommand } from '@stacksjs/cli'
3
+ import { frameworkPath } from '@stacksjs/path'
4
+
5
+ await runCommand(NpmScript.TestFeature, { verbose: true, cwd: frameworkPath() })
@@ -2,4 +2,4 @@ import { NpmScript } from '@stacksjs/types'
2
2
  import { runCommand } from '@stacksjs/cli'
3
3
  import { frameworkPath } from '@stacksjs/path'
4
4
 
5
- await runCommand(NpmScript.TestUnit, { debug: true, cwd: frameworkPath() })
5
+ await runCommand(NpmScript.TestUi, { verbose: true, cwd: frameworkPath() })
@@ -2,4 +2,4 @@ import { NpmScript } from '@stacksjs/types'
2
2
  import { runCommand } from '@stacksjs/cli'
3
3
  import { frameworkPath } from '@stacksjs/path'
4
4
 
5
- await runCommand(NpmScript.TestFeature, { debug: true, cwd: frameworkPath() })
5
+ await runCommand(NpmScript.TestUnit, { verbose: true, cwd: frameworkPath() })
@@ -2,4 +2,4 @@ import { NpmScript } from '@stacksjs/types'
2
2
  import { runCommand } from '@stacksjs/cli'
3
3
  import { frameworkPath } from '@stacksjs/path'
4
4
 
5
- await runCommand(NpmScript.Test, { debug: true, cwd: frameworkPath() })
5
+ await runCommand(NpmScript.Test, { verbose: true, cwd: frameworkPath() })
@@ -0,0 +1,9 @@
1
+ import { parseArgs } from '@stacksjs/cli'
2
+
3
+ const options = parseArgs()
4
+
5
+ console.log('options are:', options)
6
+
7
+ // await runCommands([
8
+ // 'npx tinker',
9
+ // ], { verbose: true })
@@ -2,4 +2,4 @@ import { NpmScript } from '@stacksjs/types'
2
2
  import { runCommands } from '@stacksjs/cli'
3
3
  import { projectPath } from '@stacksjs/path'
4
4
 
5
- await runCommands([NpmScript.TestTypes], { cwd: projectPath(), spinnerText: 'Type checking...', debug: true })
5
+ await runCommands([NpmScript.TestTypes], { cwd: projectPath(), spinnerText: 'Type checking...', verbose: true })
@@ -0,0 +1,29 @@
1
+ import { log, outro } from '@stacksjs/cli'
2
+ import storage from '@stacksjs/storage'
3
+ import { determineDebugLevel, loop } from '@stacksjs/utils'
4
+ import { frameworkPath, projectPath } from '@stacksjs/path'
5
+
6
+ // await runCommand(NpmScript.UpgradeFramework, parseArgs())
7
+
8
+ await checkForUncommittedChanges('./.stacks', options)
9
+ await downloadFrameworkUpdate(options)
10
+
11
+ log.info('Updating framework...')
12
+
13
+ const exclude = ['functions/package.json', 'components/vue/package.json', 'components/web/package.json', 'auto-imports.d.ts', 'components.d.ts', 'dist']
14
+ await storage.deleteFiles(frameworkPath(), exclude)
15
+
16
+ // loop 5 times to make sure all "deep empty" folders are deleted
17
+ loop(5, async () => {
18
+ await storage.deleteEmptyFolders(frameworkPath())
19
+ })
20
+
21
+ await storage.copyFolder(frameworkPath(), projectPath('./updates/.stacks'), exclude)
22
+
23
+ if (determineDebugLevel(options))
24
+ log.info('Cleanup...')
25
+
26
+ await storage.deleteFolder(projectPath('updates'))
27
+
28
+ outro('Framework updated', { startTime: perf, useSeconds: true })
29
+ process.exit()
@@ -0,0 +1,27 @@
1
+ import { ExitCode, parseArgs } from '@stacksjs/cli'
2
+ import { Action } from '@stacksjs/types'
3
+ import { runAction } from '../helpers'
4
+
5
+ const options = parseArgs()
6
+ // eslint-disable-next-line no-console
7
+ console.log('here is opt', options)
8
+
9
+ // run all the upgrade actions
10
+ // if (options?.framework || options?.all)
11
+ // await updateFramework(options)
12
+
13
+ // if (options?.dependencies || options?.all)
14
+ // await updateDependencies(options)
15
+
16
+ if (options?.packageManager || options?.all)
17
+ await runAction(Action.UpgradePackageManager, options)
18
+
19
+ if (options?.node || options?.all)
20
+ await runAction(Action.UpgradeNode, options)
21
+
22
+ else
23
+ process.exit(ExitCode.InvalidArgument)
24
+
25
+ // // TODO: also update CI files & configurations, and other files, possibly
26
+ // // we want this to be smart enough to update only if files that have been updated
27
+ // // TODO: this script should trigger regeneration of auto-imports.d.ts & components.d.ts
@@ -0,0 +1,4 @@
1
+ import { parseArgs, runCommand } from '@stacksjs/cli'
2
+ import { NpmScript } from '@stacksjs/types'
3
+
4
+ await runCommand(NpmScript.UpgradeNode, parseArgs())
@@ -0,0 +1,4 @@
1
+ import { parseArgs, runCommand } from '@stacksjs/cli'
2
+ import { NpmScript } from '@stacksjs/types'
3
+
4
+ await runCommand(NpmScript.UpgradePackageManager, parseArgs())
@@ -0,0 +1,75 @@
1
+ import { intro, log, outro, prompt, runCommand, spawn } from '@stacksjs/cli'
2
+ import storage from '@stacksjs/storage'
3
+ import { determineDebugLevel } from '@stacksjs/utils'
4
+ import { projectPath } from '@stacksjs/path'
5
+ import type { UpgradeOptions } from '@stacksjs/types'
6
+ import { ExitCode, NpmScript } from '@stacksjs/types'
7
+
8
+ export async function checkForUncommittedChanges(path = './.stacks', options: UpgradeOptions) {
9
+ try {
10
+ const stdio = determineDebugLevel(options) ? 'inherit' : 'ignore'
11
+
12
+ // check if the .stacks folder has any updates
13
+ // https://carlosbecker.com/posts/git-changed/
14
+ await spawn(`git diff --quiet HEAD -- ${path}`, { stdio, cwd: projectPath() })
15
+ }
16
+ catch (error: any) {
17
+ if (error.status === 1) {
18
+ // even though the ./.stacks folder should not be edited, instead config values should be adjusted,
19
+ // there is a chance that users may apply local core edits, as it's totally acceptable, as long as
20
+ // the user knows what they are doing. There is also a change that simply the deps within .stacks
21
+ // folder have been updated and that could produce a diff.
22
+ if (!options?.force) {
23
+ const confirmed = await prompt('We detected there are uncommitted in the ./stacks folder. Do you want to overwrite those?', {
24
+ type: 'confirm',
25
+ })
26
+
27
+ if (!confirmed) {
28
+ log.info('Aborted. Stacks did not update itself.')
29
+ log.info('Note: if you commit your changes and replay the update, you can see what changed.')
30
+ process.exit(ExitCode.Success)
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+
37
+ export async function downloadFrameworkUpdate(options: UpgradeOptions) {
38
+ const tempFolderName = 'updates'
39
+ const tempUpdatePath = projectPath(tempFolderName)
40
+
41
+ if (storage.doesFolderExist(tempUpdatePath))
42
+ await deleteFolder(tempUpdatePath)
43
+
44
+ log.info('Downloading framework updates...')
45
+ await runCommand(`giget stacks ${tempFolderName}`, options)
46
+ const version = (await storage.readJsonFile(projectPath(`${tempFolderName}/.stacks/version`))).data
47
+ log.success('Your framework updated correctly to version: ', version)
48
+ }
49
+
50
+ export async function updateDependencies(options: UpgradeOptions) {
51
+ const perf = await intro('buddy upgrade:dependencies')
52
+ const result = await runCommand(NpmScript.UpgradeDependencies, options)
53
+
54
+ if (result.isErr()) {
55
+ outro('While running the upgrade:dependencies command, there was an issue', { startTime: perf, useSeconds: true, isError: true }, result.error)
56
+ process.exit()
57
+ }
58
+
59
+ outro('Freshly updated your dependencies.', { startTime: perf, useSeconds: true })
60
+ process.exit()
61
+ }
62
+
63
+ export async function updatePackageManager(options: UpgradeOptions) {
64
+ const perf = await intro('buddy upgrade:package-manager')
65
+ const version = options?.version || 'latest'
66
+ const result = await runCommand(`corepack prepare pnpm@${version} --activate`, options)
67
+
68
+ if (result.isErr()) {
69
+ outro('While running the upgrade:package-manager command, there was an issue', { startTime: perf, useSeconds: true, isError: true }, result.error)
70
+ process.exit()
71
+ }
72
+
73
+ outro(`Updated to version: ${version}`, { startTime: perf, useSeconds: true })
74
+ process.exit()
75
+ }
package/core/ai/README.md CHANGED
@@ -41,7 +41,7 @@ pnpm test
41
41
 
42
42
  Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
43
43
 
44
- ## 💪🏼 Contributing
44
+ ## 🚜 Contributing
45
45
 
46
46
  Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
47
47
 
@@ -0,0 +1,13 @@
1
+ import { defineBuildConfig } from '@stacksjs/development'
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,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/ai",
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": "Stacks Artificial Intelligence.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -23,7 +23,16 @@
23
23
  "api",
24
24
  "stacks"
25
25
  ],
26
- "main": "dist/index.mjs",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "import": "./dist/index.mjs"
30
+ },
31
+ "./openai": {
32
+ "types": "./dist/drivers/openai.d.ts",
33
+ "import": "./dist/drivers/openai.mjs"
34
+ }
35
+ },
27
36
  "module": "dist/index.mjs",
28
37
  "types": "dist/index.d.ts",
29
38
  "contributors": [
@@ -33,13 +42,9 @@
33
42
  "dist",
34
43
  "README.md"
35
44
  ],
36
- "engines": {
37
- "node": ">=v18.13.0",
38
- "pnpm": ">=7.25.1"
39
- },
40
45
  "scripts": {
41
- "build": "mkdist -d",
42
- "dev": "mkdist -d",
46
+ "build": "unbuild .",
47
+ "dev": "unbuild --stub",
43
48
  "prepublishOnly": "pnpm run build",
44
49
  "typecheck": "tsc --noEmit"
45
50
  },
@@ -48,8 +53,6 @@
48
53
  "@stacksjs/config": "workspace:*"
49
54
  },
50
55
  "devDependencies": {
51
- "@stacksjs/testing": "workspace:*",
52
- "mkdist": "^1.1.0",
53
- "typescript": "^4.9.4"
56
+ "@stacksjs/development": "workspace:*"
54
57
  }
55
58
  }
@@ -41,7 +41,7 @@ pnpm test
41
41
 
42
42
  Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
43
43
 
44
- ## 💪🏼 Contributing
44
+ ## 🚜 Contributing
45
45
 
46
46
  Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
47
47