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,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/utils",
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 helper functions.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -26,6 +26,12 @@
26
26
  "functions",
27
27
  "stacks"
28
28
  ],
29
+ "exports": {
30
+ ".": {
31
+ "types": "./dist/index.d.ts",
32
+ "import": "./dist/index.mjs"
33
+ }
34
+ },
29
35
  "main": "dist/index.mjs",
30
36
  "module": "dist/index.mjs",
31
37
  "types": "dist/index.d.ts",
@@ -36,17 +42,37 @@
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": {
52
+ "@stacksjs/arrays": "workspace:*",
53
+ "@stacksjs/cli": "workspace:*",
54
+ "@stacksjs/config": "workspace:*",
55
+ "@stacksjs/development": "workspace:*",
56
+ "@stacksjs/lint": "workspace:*",
57
+ "@stacksjs/path": "workspace:*",
58
+ "@stacksjs/storage": "workspace:*",
59
+ "@stacksjs/types": "workspace:*",
60
+ "@vueuse/core": "^10.1.2",
61
+ "@vueuse/head": "^1.1.26",
62
+ "@vueuse/math": "^10.1.2",
63
+ "@vueuse/shared": "^10.1.2",
64
+ "defu": "^6.1.2",
65
+ "detect-indent": "^7.0.1",
66
+ "detect-newline": "^4.0.0",
67
+ "dinero.js": "2.0.0-alpha.14",
68
+ "fast-glob": "^3.2.12",
69
+ "kolorist": "1.8.0",
70
+ "p-limit": "^4.0.0",
71
+ "rimraf": "^5.0.0",
72
+ "semver": "^7.5.1",
73
+ "yaml": "^2.2.2"
74
+ },
75
+ "dependencies": {
50
76
  "@stacksjs/arrays": "workspace:*",
51
77
  "@stacksjs/cli": "workspace:*",
52
78
  "@stacksjs/config": "workspace:*",
@@ -54,25 +80,23 @@
54
80
  "@stacksjs/path": "workspace:*",
55
81
  "@stacksjs/storage": "workspace:*",
56
82
  "@stacksjs/types": "workspace:*",
57
- "@vueuse/core": "^9.11.1",
58
- "@vueuse/head": "^1.0.22",
59
- "@vueuse/math": "^9.11.1",
60
- "@vueuse/shared": "^9.11.1",
61
- "defu": "^6.1.1",
83
+ "@vueuse/core": "^10.1.2",
84
+ "@vueuse/head": "^1.1.26",
85
+ "@vueuse/math": "^10.1.2",
86
+ "@vueuse/shared": "^10.1.2",
87
+ "defu": "^6.1.2",
62
88
  "detect-indent": "^7.0.1",
63
89
  "detect-newline": "^4.0.0",
64
- "dinero.js": "2.0.0-alpha.13",
65
- "esno": "^0.16.3",
90
+ "dinero.js": "2.0.0-alpha.14",
66
91
  "fast-glob": "^3.2.12",
67
- "kolorist": "1.6.0",
92
+ "kolorist": "1.8.0",
68
93
  "p-limit": "^4.0.0",
69
- "rimraf": "^4.1.1",
70
- "throttle-debounce": "^5.0.0"
94
+ "perfect-debounce": "^1.0.0",
95
+ "rimraf": "^5.0.0",
96
+ "semver": "^7.5.1",
97
+ "yaml": "^2.2.2"
71
98
  },
72
99
  "devDependencies": {
73
- "@stacksjs/testing": "workspace:*",
74
- "@types/throttle-debounce": "^5.0.0",
75
- "mkdist": "^1.1.0",
76
- "typescript": "^4.9.4"
100
+ "@stacksjs/development": "workspace:*"
77
101
  }
78
102
  }
@@ -1,19 +1,24 @@
1
- export const assert = (condition: boolean, message: string): asserts condition => {
1
+ export function assert(condition: boolean, message: string): asserts condition {
2
2
  if (!condition)
3
3
  throw new Error(message)
4
4
  }
5
5
 
6
- export const toString = (v: any) => Object.prototype.toString.call(v)
6
+ export function toString(v: any) {
7
+ return Object.prototype.toString.call(v)
8
+ }
7
9
 
8
- export const noop = () => {}
10
+ export function noop() {}
9
11
 
10
- export const loop = (times: number, callback: any) => {
12
+ export function loop(times: number, callback: any) {
11
13
  [...Array(times)].forEach((item, i) => callback(i))
12
14
  }
13
15
 
14
- export const getTypeName = (v: any) => {
16
+ export function getTypeName(v: any) {
15
17
  if (v === null)
16
18
  return 'null'
17
19
  const type = toString(v).slice(8, -1).toLowerCase()
18
- return typeof v === 'object' || typeof v === 'function' ? type : typeof v
20
+
21
+ return (typeof v === 'object' || typeof v === 'function')
22
+ ? type
23
+ : typeof v
19
24
  }
@@ -0,0 +1,97 @@
1
+ import type { UserCliOptions, AppOptions, CacheOptions, CdnOptions, CronJobOptions, DatabaseOptions, DebugOptions, DnsOptions, EmailOptions, Events, GitOptions, HashingOptions, LibraryOptions, Model, NotificationOptions, PagesOption, PaymentOptions, SearchEngineOptions, ServicesOptions, StorageOptions, UiOptions } from '@stacksjs/types'
2
+
3
+ export function env(key: any, fallback?: any) {
4
+ // console.log('isClient', isClient)
5
+ // if (key && import.meta?.env)
6
+ // return import.meta.env[key]
7
+
8
+ return key
9
+ }
10
+
11
+ export function defineApp(options: Partial<AppOptions>) {
12
+ return options
13
+ }
14
+
15
+ export function defineCache(options: Partial<CacheOptions>) {
16
+ return options
17
+ }
18
+
19
+ export function defineCdn(options: Partial<CdnOptions>) {
20
+ return options
21
+ }
22
+
23
+ export function defineCli(options: Partial<UserCliOptions>) {
24
+ return options
25
+ }
26
+
27
+ export function defineCronJobsConfig(options: Partial<CronJobOptions>[]) {
28
+ return options
29
+ }
30
+
31
+ export function defineDatabase(options: Partial<DatabaseOptions>) {
32
+ return options
33
+ }
34
+
35
+ export function defineDebugConfig(options: Partial<DebugOptions>) {
36
+ return options
37
+ }
38
+
39
+ // export function defineCloudConfig(options: Partial<CloudOptions>) {
40
+ // return options
41
+ // }
42
+
43
+ export function defineDns(options: Partial<DnsOptions>) {
44
+ return options
45
+ }
46
+
47
+ export function defineEmailConfig(options: Partial<EmailOptions>) {
48
+ return options
49
+ }
50
+
51
+ export function defineEvents(options: Partial<Events>) {
52
+ return options
53
+ }
54
+
55
+ export function defineGit(options: Partial<GitOptions>) {
56
+ return options
57
+ }
58
+
59
+ export function defineHashing(options: Partial<HashingOptions>) {
60
+ return options
61
+ }
62
+
63
+ export function defineLibrary(options: Partial<LibraryOptions>) {
64
+ return options
65
+ }
66
+
67
+ export function defineModel(options: Partial<Model>) {
68
+ return options
69
+ }
70
+
71
+ export function defineNotification(options: Partial<NotificationOptions>) {
72
+ return options
73
+ }
74
+
75
+ export function definePage(options: Partial<PagesOption>) {
76
+ return options
77
+ }
78
+
79
+ export function definePayment(options: Partial<PaymentOptions>) {
80
+ return options
81
+ }
82
+
83
+ export function defineSearchEngine(options: Partial<SearchEngineOptions>) {
84
+ return options
85
+ }
86
+
87
+ export function defineServices(options: Partial<ServicesOptions>) {
88
+ return options
89
+ }
90
+
91
+ export function defineStorage(options: Partial<StorageOptions>) {
92
+ return options
93
+ }
94
+
95
+ export function defineUi(options: Partial<UiOptions>) {
96
+ return options
97
+ }
@@ -0,0 +1 @@
1
+ export { debounce } from 'perfect-debounce'
@@ -4,9 +4,9 @@
4
4
  * @category Guards
5
5
  * @example array.filter(notNullish)
6
6
  */
7
- export function notNullish<T>(v: T | null | undefined): v is NonNullable<T> {
8
- return v != null
9
- }
7
+ // export function notNullish<T>(v: T | null | undefined): v is NonNullable<T> {
8
+ // return v != null
9
+ // }
10
10
 
11
11
  /**
12
12
  * Type guard to filter out null values
@@ -1,9 +1,10 @@
1
- import { log, runCommand, spawn } from '@stacksjs/cli'
2
- import type { CliOptions, Manifest, NpmScript } from '@stacksjs/types'
1
+ import type { CliOptions, CommandResult, Manifest, NpmScript } from '@stacksjs/types'
2
+ import detectIndent from 'detect-indent'
3
3
  import { frameworkPath, projectPath } from '@stacksjs/path'
4
+ import { parse } from 'yaml'
5
+ import { log, runCommand, spawn } from '@stacksjs/cli'
4
6
  import storage from '@stacksjs/storage'
5
- import { ui } from '@stacksjs/config'
6
- import detectIndent from 'detect-indent'
7
+ import { ui, app } from '@stacksjs/config'
7
8
 
8
9
  export async function isProjectCreated() {
9
10
  if (storage.isFile('.env'))
@@ -60,22 +61,6 @@ export function determineResetPreset(preset?: string) {
60
61
  return []
61
62
  }
62
63
 
63
- export function env(key?: string, fallback?: any) {
64
- // console.log('isClient', isClient)
65
- if (key && import.meta?.env) {
66
- console.log('key', key, 'fallback', import.meta?.env[key])
67
- return import.meta.env[key]
68
- }
69
-
70
- return fallback
71
- }
72
-
73
- export function config(key?: string, fallback?: string) {
74
- // eslint-disable-next-line no-console
75
- console.log('key', key, 'fallback', fallback)
76
- // return key ? configArr[key as string] : fallback
77
- }
78
-
79
64
  /**
80
65
  * Determines whether the specified value is a package manifest.
81
66
  */
@@ -109,7 +94,7 @@ export async function setEnvValue(key: string, value: string) {
109
94
  /**
110
95
  * Runs the specified NPM script in the package.json file.
111
96
  */
112
- export async function runNpmScript(script: NpmScript, options?: CliOptions) {
97
+ export async function runNpmScript(script: NpmScript, options?: CliOptions): Promise<CommandResult> {
113
98
  const { data: manifest } = await storage.readJsonFile('package.json', frameworkPath())
114
99
 
115
100
  if (isManifest(manifest) && hasScript(manifest, script)) // simple, yet effective check to see if the script exists
@@ -131,7 +116,30 @@ export function hasScript(manifest: Manifest, script: NpmScript): boolean {
131
116
  return false
132
117
  }
133
118
 
134
- export * from '@dinero.js/currencies'
119
+ export function parseYaml(content: any) {
120
+ return parse(content)
121
+ }
122
+
123
+ /**
124
+ * Determines the level of debugging.
125
+ *
126
+ * The debug level is determined by the following:
127
+ * 1. The --verbose flag
128
+ * 2. The debug property in the app configuration
129
+ *
130
+ * Currently, we don't support a custom debug level,
131
+ * though, we would like to in the future.
132
+ *
133
+ * @param options
134
+ */
135
+ export function determineDebugLevel(options?: CliOptions) {
136
+ if (options?.verbose === true)
137
+ return true
138
+
139
+ return app.debug === true
140
+ }
141
+
142
+ // export { SemVer } from 'semver'
135
143
  export * from 'dinero.js'
136
144
  export { detectIndent }
137
145
  export { detectNewline } from 'detect-newline'
@@ -1,13 +1,16 @@
1
1
  export { assert, toString, noop, loop, getTypeName } from './base'
2
+ export * from './config'
3
+ export * from './debounce'
2
4
  export * from './equal'
3
- export * from './helpers'
4
- export type { SingletonPromiseReturn, ControlledPromise } from './promise'
5
- export { createSingletonPromise, createPromiseLock, createControlledPromise, sleep } from './promise'
6
5
  export * from './function'
7
6
  export * from './guards'
7
+ export * from './helpers'
8
8
  export { isDef, isBoolean, isFunction, isNumber, isString, isObject, isWindow, isBrowser, isServer, isMap, isSet, isPromise } from './is'
9
9
  export * from './p'
10
- export * from './vendor'
10
+ export type { SingletonPromiseReturn, ControlledPromise } from './promise'
11
+ export { createSingletonPromise, createPromiseLock, createControlledPromise, sleep } from './promise'
12
+ export * as semver from 'semver'
13
+ export * from './throttle'
11
14
 
12
15
  export * from '@vueuse/core'
13
16
  export * from '@vueuse/math'
@@ -1,14 +1,83 @@
1
- import { toString } from './base'
1
+ import { getTypeName, toString } from './base'
2
2
 
3
- export const isDef = <T = any>(val?: T): val is T => typeof val !== 'undefined'
4
- export const isBoolean = (val: any): val is boolean => typeof val === 'boolean'
5
- export const isFunction = <T extends Function> (val: any): val is T => typeof val === 'function'
6
- export const isNumber = (val: any): val is number => typeof val === 'number'
7
- export const isString = (val: unknown): val is string => typeof val === 'string'
8
- export const isObject = (val: any): val is object => toString(val) === '[object Object]'
9
- export const isWindow = (val: any): boolean => typeof window !== 'undefined' && toString(val) === '[object Window]'
3
+ export function isDef<T = any>(val?: T): val is T {
4
+ return typeof val !== 'undefined'
5
+ }
6
+ export function isBoolean(val: any): val is boolean {
7
+ return typeof val === 'boolean'
8
+ }
9
+ export function isFunction<T extends Function>(val: any): val is T {
10
+ return typeof val === 'function'
11
+ }
12
+ export function isNumber(val: any): val is number {
13
+ return typeof val === 'number'
14
+ }
15
+ export function isString(val: unknown): val is string {
16
+ return typeof val === 'string'
17
+ }
18
+ export function isObject(val: any): val is object {
19
+ return toString(val) === '[object Object]'
20
+ }
21
+ export function isWindow(val: any): boolean {
22
+ return typeof window !== 'undefined' && toString(val) === '[object Window]'
23
+ }
10
24
  export const isBrowser = typeof window !== 'undefined'
11
25
  export const isServer = typeof document === 'undefined' // https://remix.run/docs/en/v1/pages/gotchas#typeof-window-checks
12
- export const isMap = (val: any): val is Map<any, any> => toString(val) === '[object Map]'
13
- export const isSet = (val: any): val is Set<any> => toString(val) === '[object Set]'
14
- export const isPromise = <T = any>(val: any): val is Promise<T> => isObject(val) && isFunction(val.then) && isFunction(val.catch)
26
+ export function isMap(val: any): val is Map<any, any> {
27
+ return toString(val) === '[object Map]'
28
+ }
29
+ export function isSet(val: any): val is Set<any> {
30
+ return toString(val) === '[object Set]'
31
+ }
32
+ export function isPromise<T = any>(val: any): val is Promise<T> {
33
+ return toString(val) === '[object Promise]'
34
+ }
35
+ export function isUndefined(v: any) {
36
+ return getTypeName(v) === 'undefined'
37
+ }
38
+ export function isNull(v: any) {
39
+ return getTypeName(v) === 'null'
40
+ }
41
+ export function isSymbol(v: any) {
42
+ return getTypeName(v) === 'symbol'
43
+ }
44
+ export function isDate(v: any) {
45
+ return getTypeName(v) === 'date'
46
+ }
47
+ export function isRegExp(v: any) {
48
+ return getTypeName(v) === 'regexp'
49
+ }
50
+ export function isArray(v: any) {
51
+ return getTypeName(v) === 'array'
52
+ }
53
+ export function isPrimitive(v: any) {
54
+ const type = getTypeName(v)
55
+ return type === 'null' || type === 'undefined' || type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol'
56
+ }
57
+ export function isInteger(v: any) {
58
+ return isNumber(v) && Number.isInteger(v)
59
+ }
60
+ export function isFloat(v: any) {
61
+ return isNumber(v) && !Number.isInteger(v)
62
+ }
63
+ export function isPositive(v: any) {
64
+ return isNumber(v) && v > 0
65
+ }
66
+ export function isNegative(v: any) {
67
+ return isNumber(v) && v < 0
68
+ }
69
+ export function isEven(v: any) {
70
+ return isNumber(v) && v % 2 === 0
71
+ }
72
+ export function isOdd(v: any) {
73
+ return isNumber(v) && v % 2 !== 0
74
+ }
75
+ export function isEvenOrOdd(v: any) {
76
+ return isNumber(v) && (v % 2 === 0 ? 'even' : 'odd')
77
+ }
78
+ export function isPositiveOrNegative(v: any) {
79
+ return isNumber(v) && (v > 0 ? 'positive' : 'negative')
80
+ }
81
+ export function isIntegerOrFloat(v: any) {
82
+ return isNumber(v) && (Number.isInteger(v) ? 'integer' : 'float')
83
+ }
@@ -1,5 +1,5 @@
1
- import { remove } from '@stacksjs/arrays'
2
1
  import type { Fn } from '@stacksjs/types'
2
+ import { remove } from '@stacksjs/arrays'
3
3
 
4
4
  export interface SingletonPromiseReturn<T> {
5
5
  (): Promise<T>
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Throttle a function.
3
+ *
4
+ * @param fn
5
+ * @param wait
6
+ * @returns
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * // logs window dimensions at most every 250ms
11
+ * window.addEventListener(
12
+ * "resize",
13
+ * throttle(function (evt) {
14
+ * console.log(window.innerWidth)
15
+ * console.log(window.innerHeight)
16
+ * }, 250)
17
+ * )
18
+ */
19
+ export function throttle(fn: Function, wait = 300) {
20
+ let inThrottle: boolean
21
+ let lastFn: ReturnType<typeof setTimeout>
22
+ let lastTime: number
23
+
24
+ return function (this: any) {
25
+ const context = this
26
+ const args = arguments
27
+
28
+ if (!inThrottle) {
29
+ fn.apply(context, args)
30
+
31
+ lastTime = Date.now()
32
+ inThrottle = true
33
+ }
34
+ else {
35
+ clearTimeout(lastFn)
36
+
37
+ lastFn = setTimeout(() => {
38
+ if (Date.now() - lastTime >= wait) {
39
+ fn.apply(context, args)
40
+ lastTime = Date.now()
41
+ }
42
+ }, Math.max(wait - (Date.now() - lastTime), 0))
43
+ }
44
+ }
45
+ }
@@ -32,7 +32,7 @@ pnpm test
32
32
 
33
33
  Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
34
34
 
35
- ## 💪🏼 Contributing
35
+ ## 🚜 Contributing
36
36
 
37
37
  Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
38
38
 
@@ -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,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/validation",
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 Validation methods.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -23,7 +23,12 @@
23
23
  "functions",
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
+ },
27
32
  "module": "dist/index.mjs",
28
33
  "types": "dist/index.d.ts",
29
34
  "contributors": [
@@ -33,23 +38,17 @@
33
38
  "dist",
34
39
  "README.md"
35
40
  ],
36
- "engines": {
37
- "node": ">=v18.13.0",
38
- "pnpm": ">=7.25.1"
39
- },
40
41
  "scripts": {
41
- "build": "mkdist -d",
42
- "dev": "mkdist -d",
42
+ "build": "unbuild",
43
+ "dev": "unbuild --stub",
43
44
  "prepublishOnly": "pnpm run build",
44
45
  "typecheck": "tsc --noEmit"
45
46
  },
46
47
  "peerDependencies": {
47
- "zod": "^3.20.2"
48
+ "zod": "^3.21.4"
48
49
  },
49
50
  "devDependencies": {
50
- "@stacksjs/path": "workspace:*",
51
- "@stacksjs/testing": "workspace:*",
52
- "mkdist": "^1.1.0",
53
- "typescript": "^4.9.4"
51
+ "@stacksjs/development": "workspace:*",
52
+ "@stacksjs/path": "workspace:*"
54
53
  }
55
54
  }
@@ -1,5 +1,29 @@
1
- import { z } from 'zod'
1
+ import { z as validate, z } from 'zod'
2
2
 
3
- const validate = z
3
+ export const envVariables = validate.object({
4
+ APP_NAME: validate.string().default('Stacks').optional(),
5
+ APP_ENV: validate.string().default('local').optional(),
6
+ APP_KEY: validate.string(),
7
+ APP_URL: validate.string().url().default('http://localhost:3333'),
8
+ APP_DEBUG: validate.boolean().default(true),
9
+ DB_CONNECTION: validate.string().default('mysql').optional(),
10
+ DB_DATABASE: validate.string().default('stacks').optional(),
11
+ DB_USERNAME: validate.string().default('root').optional(),
12
+ DB_PASSWORD: validate.string().optional(),
13
+ SEARCH_ENGINE_DRIVER: validate.string().optional(),
14
+ MEILISEARCH_HOST: validate.string().optional().default('http://127.0.0.1:7700'),
15
+ MEILISEARCH_KEY: validate.string().optional(),
16
+ })
17
+
18
+ export type StacksEnv = validate.infer<typeof envVariables>
19
+
20
+ export enum Type {
21
+ String = 'String',
22
+ Number = 'Number',
23
+ Boolean = 'Boolean',
24
+ Date = 'Date',
25
+ Object = 'Object',
26
+ Array = 'Array',
27
+ }
4
28
 
5
29
  export { validate, z }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This is the place where the VitePress documentation is defined.
3
+ * This is required because there is no way to set a custom
4
+ * path for the VitePress config.
5
+ */
6
+
7
+ import docs from '../../../config/docs'
8
+
9
+ export default docs
package/docs/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # Docs
2
+
3
+ This folder contains the generated Stacks documentation.
4
+
5
+ ## How To
6
+
7
+ To generate the documentation, run the following command:
8
+
9
+ ```bash
10
+ pnpm run dev
11
+ pnpm run build
12
+ pnpm run deploy
13
+ ```
@@ -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/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/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/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/rimraf@5.0.0/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/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/bin.js" "$@"
15
+ else
16
+ exec node "$basedir/../../../../node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/bin.js" "$@"
17
+ fi