stacks 0.41.1 → 0.44.9

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 (540) hide show
  1. package/.gitignore +12 -0
  2. package/README.md +369 -27
  3. package/auto-imports.d.ts +862 -0
  4. package/buddy/README.md +414 -0
  5. package/{bin → buddy/bin}/stacks.mjs +0 -0
  6. package/buddy/build.config.ts +17 -0
  7. package/buddy/node_modules/.bin/only-allow +17 -0
  8. package/buddy/node_modules/.bin/pnpm +17 -0
  9. package/buddy/node_modules/.bin/pnpx +17 -0
  10. package/buddy/node_modules/.bin/tsc +17 -0
  11. package/buddy/node_modules/.bin/tsserver +17 -0
  12. package/buddy/node_modules/.bin/unbuild +17 -0
  13. package/buddy/package.json +183 -0
  14. package/buddy/src/cli.ts +49 -0
  15. package/buddy/src/commands/add.ts +63 -0
  16. package/buddy/src/commands/build.ts +111 -0
  17. package/buddy/src/commands/clean.ts +18 -0
  18. package/buddy/src/commands/commit.ts +18 -0
  19. package/buddy/src/commands/create.ts +129 -0
  20. package/buddy/src/commands/dev.ts +96 -0
  21. package/buddy/src/commands/example.ts +65 -0
  22. package/buddy/src/commands/fresh.ts +18 -0
  23. package/buddy/src/commands/generate.ts +110 -0
  24. package/buddy/src/commands/index.ts +18 -0
  25. package/buddy/src/commands/key.ts +18 -0
  26. package/buddy/src/commands/lint.ts +27 -0
  27. package/buddy/src/commands/make.ts +219 -0
  28. package/buddy/src/commands/preinstall.ts +18 -0
  29. package/buddy/src/commands/prepublish.ts +19 -0
  30. package/buddy/src/commands/release.ts +28 -0
  31. package/buddy/src/commands/setup.ts +26 -0
  32. package/buddy/src/commands/test.ts +41 -0
  33. package/buddy/src/commands/types.ts +26 -0
  34. package/buddy/src/commands/update.ts +108 -0
  35. package/buddy/src/index.ts +17 -0
  36. package/components/vue/dist/.gitkeep +0 -0
  37. package/components/vue/index.html +13 -0
  38. package/components/vue/main.ts +18 -0
  39. package/components/vue/package.json +41 -0
  40. package/components/web/dist/.gitkeep +0 -0
  41. package/components/web/package.json +41 -0
  42. package/components.d.ts +22 -0
  43. package/core/actions/README.md +58 -0
  44. package/core/actions/node_modules/.bin/esno +17 -0
  45. package/core/actions/node_modules/.bin/markdown-it +17 -0
  46. package/core/actions/node_modules/.bin/mkdist +17 -0
  47. package/core/actions/node_modules/.bin/tsc +17 -0
  48. package/core/actions/node_modules/.bin/tsserver +17 -0
  49. package/core/actions/package.json +68 -0
  50. package/core/actions/src/add.ts +32 -0
  51. package/core/actions/src/build.ts +93 -0
  52. package/core/actions/src/clean.ts +25 -0
  53. package/core/actions/src/commit.ts +19 -0
  54. package/core/actions/src/copy-types.ts +22 -0
  55. package/core/actions/src/dev.ts +55 -0
  56. package/core/actions/src/examples.ts +48 -0
  57. package/core/actions/src/fresh.ts +27 -0
  58. package/core/actions/src/generate-component-meta.ts +15 -0
  59. package/core/actions/src/generate-ide-helpers.ts +19 -0
  60. package/core/actions/src/generate-lib-entries.ts +17 -0
  61. package/core/actions/src/generate-package-json.ts +11 -0
  62. package/core/actions/src/generate-vscode-custom-data.ts +16 -0
  63. package/core/actions/src/generate-vue-compat.ts +10 -0
  64. package/core/actions/src/generate.ts +119 -0
  65. package/core/actions/src/helpers/component-meta.ts +93 -0
  66. package/core/actions/src/helpers/index.ts +6 -0
  67. package/core/actions/src/helpers/lib-entries.ts +130 -0
  68. package/core/actions/src/helpers/package-json.ts +95 -0
  69. package/core/actions/src/helpers/utils.ts +30 -0
  70. package/core/actions/src/helpers/vscode-custom-data.ts +28 -0
  71. package/core/actions/src/helpers/vue-compat.ts +17 -0
  72. package/core/actions/src/index.ts +1 -0
  73. package/core/actions/src/key.ts +48 -0
  74. package/core/actions/src/lint.ts +36 -0
  75. package/core/actions/src/make.ts +249 -0
  76. package/core/actions/src/preinstall.ts +27 -0
  77. package/core/actions/src/prepublish.ts +16 -0
  78. package/core/actions/src/release.ts +32 -0
  79. package/core/actions/src/test.ts +61 -0
  80. package/core/actions/src/types.ts +23 -0
  81. package/core/actions/src/update.ts +149 -0
  82. package/core/actions/test.ts +10 -0
  83. package/core/actions/tests/example.test.ts +7 -0
  84. package/core/ai/README.md +62 -0
  85. package/core/ai/node_modules/.bin/mkdist +17 -0
  86. package/core/ai/node_modules/.bin/tsc +17 -0
  87. package/core/ai/node_modules/.bin/tsserver +17 -0
  88. package/core/ai/package.json +55 -0
  89. package/core/ai/src/drivers/openai.ts +1 -0
  90. package/core/ai/src/index.ts +1 -0
  91. package/core/ai/tests/example.test.ts +7 -0
  92. package/core/alias/README.md +62 -0
  93. package/core/alias/node_modules/.bin/mkdist +17 -0
  94. package/core/alias/node_modules/.bin/tsc +17 -0
  95. package/core/alias/node_modules/.bin/tsserver +17 -0
  96. package/core/alias/package.json +51 -0
  97. package/core/alias/src/index.ts +84 -0
  98. package/core/alias/tests/example.test.ts +7 -0
  99. package/core/arrays/README.md +59 -0
  100. package/core/arrays/node_modules/.bin/mkdist +17 -0
  101. package/core/arrays/node_modules/.bin/tsc +17 -0
  102. package/core/arrays/node_modules/.bin/tsserver +17 -0
  103. package/core/arrays/package.json +55 -0
  104. package/core/arrays/src/index.ts +208 -0
  105. package/core/arrays/tests/example.test.ts +7 -0
  106. package/core/auth/README.md +59 -0
  107. package/core/auth/node_modules/.bin/mkdist +17 -0
  108. package/core/auth/node_modules/.bin/tsc +17 -0
  109. package/core/auth/node_modules/.bin/tsserver +17 -0
  110. package/core/auth/package.json +49 -0
  111. package/core/auth/src/index.ts +3 -0
  112. package/core/auth/tests/example.test.ts +7 -0
  113. package/core/build/README.md +59 -0
  114. package/core/build/entries/README.md +7 -0
  115. package/core/build/node_modules/.bin/mkdist +17 -0
  116. package/core/build/node_modules/.bin/tsc +17 -0
  117. package/core/build/node_modules/.bin/tsserver +17 -0
  118. package/core/build/node_modules/.bin/unbuild +17 -0
  119. package/core/build/node_modules/.bin/vite +17 -0
  120. package/core/build/node_modules/.bin/vite-ssg +17 -0
  121. package/core/build/node_modules/.bin/vue-docgen-web-types +17 -0
  122. package/core/build/package.json +76 -0
  123. package/core/build/src/desktop.ts +27 -0
  124. package/core/build/src/example-vue.ts +24 -0
  125. package/core/build/src/example-wc.ts +24 -0
  126. package/core/build/src/functions.ts +56 -0
  127. package/core/build/src/index.ts +7 -0
  128. package/core/build/src/pages.ts +50 -0
  129. package/core/build/src/stacks.ts +198 -0
  130. package/core/build/src/vue-components.ts +74 -0
  131. package/core/build/src/web-components.ts +61 -0
  132. package/core/build/tests/example.test.ts +7 -0
  133. package/core/build/web-types.config.cjs +4 -0
  134. package/core/build/web-types.ts +14 -0
  135. package/core/cache/README.md +59 -0
  136. package/core/cache/node_modules/.bin/mkdist +17 -0
  137. package/core/cache/node_modules/.bin/tsc +17 -0
  138. package/core/cache/node_modules/.bin/tsserver +17 -0
  139. package/core/cache/package.json +60 -0
  140. package/core/cache/src/drivers/dynamodb.ts +117 -0
  141. package/core/cache/src/drivers/memcached.ts +20 -0
  142. package/core/cache/src/drivers/redis.ts +41 -0
  143. package/core/cache/src/index.ts +3 -0
  144. package/core/cache/tests/DynamoDB.test.ts +149 -0
  145. package/core/cache/tests/Memcached.test.ts +52 -0
  146. package/core/cache/tests/Redis.test.ts +82 -0
  147. package/core/cache/vite.config.ts +7 -0
  148. package/core/cli/README.md +129 -0
  149. package/core/cli/node_modules/.bin/esno +17 -0
  150. package/core/cli/node_modules/.bin/mkdist +17 -0
  151. package/core/cli/package.json +69 -0
  152. package/core/cli/src/actions/index.ts +2 -0
  153. package/core/cli/src/actions/install.ts +22 -0
  154. package/core/cli/src/actions/run.ts +72 -0
  155. package/core/cli/src/command.ts +7 -0
  156. package/core/cli/src/console.ts +6 -0
  157. package/core/cli/src/helpers.ts +58 -0
  158. package/core/cli/src/index.ts +8 -0
  159. package/core/cli/src/spinner.ts +3 -0
  160. package/core/cli/src/utilities.ts +1 -0
  161. package/core/cli/tests/example.test.ts +7 -0
  162. package/core/cloud/README.md +59 -0
  163. package/core/cloud/dist/actions/README.md +53 -0
  164. package/core/cloud/node_modules/.bin/mkdist +17 -0
  165. package/core/cloud/node_modules/.bin/tsc +17 -0
  166. package/core/cloud/node_modules/.bin/tsserver +17 -0
  167. package/core/cloud/package.json +53 -0
  168. package/core/cloud/src/actions/README.md +53 -0
  169. package/core/cloud/src/index.ts +1 -0
  170. package/core/cloud/tests/example.test.ts +7 -0
  171. package/core/collections/README.md +71 -0
  172. package/core/collections/node_modules/.bin/mkdist +17 -0
  173. package/core/collections/node_modules/.bin/tsc +17 -0
  174. package/core/collections/node_modules/.bin/tsserver +17 -0
  175. package/core/collections/package.json +56 -0
  176. package/core/collections/src/index.ts +1 -0
  177. package/core/collections/tests/example.test.ts +7 -0
  178. package/core/config/README.md +53 -0
  179. package/core/config/build.config.ts +13 -0
  180. package/core/config/node_modules/.bin/mkdist +17 -0
  181. package/core/config/node_modules/.bin/tsc +17 -0
  182. package/core/config/node_modules/.bin/tsserver +17 -0
  183. package/core/config/node_modules/.bin/unbuild +17 -0
  184. package/core/config/package.json +53 -0
  185. package/core/config/src/helpers.ts +30 -0
  186. package/core/config/src/index.ts +17 -0
  187. package/core/config/tests/example.test.ts +7 -0
  188. package/core/dashboard/README.md +74 -0
  189. package/core/dashboard/node_modules/.bin/mkdist +17 -0
  190. package/core/dashboard/package.json +52 -0
  191. package/core/dashboard/src/index.ts +0 -0
  192. package/core/dashboard/tests/example.test.ts +7 -0
  193. package/core/database/README.md +59 -0
  194. package/core/database/node_modules/.bin/mkdist +17 -0
  195. package/core/database/node_modules/.bin/tsc +17 -0
  196. package/core/database/node_modules/.bin/tsserver +17 -0
  197. package/core/database/package.json +59 -0
  198. package/core/database/src/factory/index.ts +70 -0
  199. package/core/database/src/index.ts +3 -0
  200. package/core/database/src/migrations/index.ts +5 -0
  201. package/core/database/src/seeder/index.ts +10 -0
  202. package/core/database/tests/example.test.ts +7 -0
  203. package/core/datetime/README.md +66 -0
  204. package/core/datetime/node_modules/.bin/mkdist +17 -0
  205. package/core/datetime/node_modules/.bin/tsc +17 -0
  206. package/core/datetime/node_modules/.bin/tsserver +17 -0
  207. package/core/datetime/package.json +55 -0
  208. package/core/datetime/src/index.ts +6 -0
  209. package/core/datetime/tests/example.test.ts +7 -0
  210. package/core/desktop/README.md +49 -0
  211. package/core/desktop/node_modules/.bin/mkdist +17 -0
  212. package/core/desktop/node_modules/.bin/tauri +17 -0
  213. package/core/desktop/node_modules/.bin/tsc +17 -0
  214. package/core/desktop/node_modules/.bin/tsserver +17 -0
  215. package/core/desktop/package.json +69 -0
  216. package/core/desktop/src/drivers/tauri/index.ts +1 -0
  217. package/core/desktop/src/index.ts +1 -0
  218. package/core/desktop/tests/example.test.ts +7 -0
  219. package/core/docs/README.md +59 -0
  220. package/core/docs/node_modules/.bin/mkdist +17 -0
  221. package/core/docs/node_modules/.bin/tsc +17 -0
  222. package/core/docs/node_modules/.bin/tsserver +17 -0
  223. package/core/docs/node_modules/.bin/vitepress +17 -0
  224. package/core/docs/package.json +53 -0
  225. package/core/docs/src/index.ts +4 -0
  226. package/core/docs/tests/example.test.ts +7 -0
  227. package/core/domains/README.md +56 -0
  228. package/core/domains/node_modules/.bin/mkdist +17 -0
  229. package/core/domains/node_modules/.bin/tsc +17 -0
  230. package/core/domains/node_modules/.bin/tsserver +17 -0
  231. package/core/domains/package.json +52 -0
  232. package/core/domains/src/index.ts +1 -0
  233. package/core/domains/tests/example.test.ts +7 -0
  234. package/core/drivers/README.md +53 -0
  235. package/core/drivers/node_modules/.bin/mkdist +17 -0
  236. package/core/drivers/node_modules/.bin/tsc +17 -0
  237. package/core/drivers/node_modules/.bin/tsserver +17 -0
  238. package/core/drivers/package.json +53 -0
  239. package/core/drivers/src/index.ts +10 -0
  240. package/core/drivers/tests/example.test.ts +7 -0
  241. package/core/email/README.md +89 -0
  242. package/core/email/node_modules/.bin/mkdist +17 -0
  243. package/core/email/node_modules/.bin/tsc +17 -0
  244. package/core/email/node_modules/.bin/tsserver +17 -0
  245. package/core/email/package.json +57 -0
  246. package/core/email/src/index.ts +1 -0
  247. package/core/email/tests/example.test.ts +7 -0
  248. package/core/error-handling/README.md +131 -0
  249. package/core/error-handling/node_modules/.bin/mkdist +17 -0
  250. package/core/error-handling/node_modules/.bin/tsc +17 -0
  251. package/core/error-handling/node_modules/.bin/tsserver +17 -0
  252. package/core/error-handling/package.json +55 -0
  253. package/core/error-handling/src/index.ts +15 -0
  254. package/core/error-handling/tests/example.test.ts +7 -0
  255. package/core/git/README.md +69 -0
  256. package/core/git/node_modules/.bin/bumpp +17 -0
  257. package/core/git/node_modules/.bin/commitizen +17 -0
  258. package/core/git/node_modules/.bin/conventional-changelog +17 -0
  259. package/core/git/node_modules/.bin/cz +17 -0
  260. package/core/git/node_modules/.bin/giget +17 -0
  261. package/core/git/node_modules/.bin/git-cz +17 -0
  262. package/core/git/node_modules/.bin/mkdist +17 -0
  263. package/core/git/node_modules/.bin/simple-git-hooks +17 -0
  264. package/core/git/node_modules/.bin/tsc +17 -0
  265. package/core/git/node_modules/.bin/tsserver +17 -0
  266. package/core/git/package.json +59 -0
  267. package/core/git/src/index.ts +1 -0
  268. package/core/git/tests/example.test.ts +7 -0
  269. package/core/lint/README.md +73 -0
  270. package/core/lint/node_modules/.bin/eslint +17 -0
  271. package/core/lint/node_modules/.bin/lint-staged +17 -0
  272. package/core/lint/node_modules/.bin/mkdist +17 -0
  273. package/core/lint/node_modules/.bin/tsc +17 -0
  274. package/core/lint/node_modules/.bin/tsserver +17 -0
  275. package/core/lint/package.json +58 -0
  276. package/core/lint/src/index.ts +3 -0
  277. package/core/lint/tests/example.test.ts +7 -0
  278. package/core/logging/README.md +58 -0
  279. package/core/logging/debug-test.ts +8 -0
  280. package/core/logging/node_modules/.bin/mkdist +17 -0
  281. package/core/logging/node_modules/.bin/tsc +17 -0
  282. package/core/logging/node_modules/.bin/tsserver +17 -0
  283. package/core/logging/package.json +55 -0
  284. package/core/logging/src/index.ts +15 -0
  285. package/core/logging/tests/example.test.ts +7 -0
  286. package/core/modules/README.md +51 -0
  287. package/core/modules/node_modules/.bin/mkdist +17 -0
  288. package/core/modules/node_modules/.bin/tsc +17 -0
  289. package/core/modules/node_modules/.bin/tsserver +17 -0
  290. package/core/modules/package.json +54 -0
  291. package/core/modules/src/i18n.ts +23 -0
  292. package/core/modules/src/nprogress.ts +12 -0
  293. package/core/modules/src/pwa.ts +12 -0
  294. package/core/modules/tests/example.test.ts +7 -0
  295. package/core/notifications/README.md +89 -0
  296. package/core/notifications/build.config.ts +14 -0
  297. package/core/notifications/node_modules/.bin/maizzle +17 -0
  298. package/core/notifications/node_modules/.bin/mkdist +17 -0
  299. package/core/notifications/node_modules/.bin/tsc +17 -0
  300. package/core/notifications/node_modules/.bin/tsserver +17 -0
  301. package/core/notifications/node_modules/.bin/unbuild +17 -0
  302. package/core/notifications/package.json +88 -0
  303. package/core/notifications/src/drivers/chat/discord.ts +15 -0
  304. package/core/notifications/src/drivers/chat/index.ts +2 -0
  305. package/core/notifications/src/drivers/chat/slack.ts +22 -0
  306. package/core/notifications/src/drivers/email/actions/send.ts +36 -0
  307. package/core/notifications/src/drivers/email/emailjs.ts +21 -0
  308. package/core/notifications/src/drivers/email/index.ts +9 -0
  309. package/core/notifications/src/drivers/email/mailgun.ts +19 -0
  310. package/core/notifications/src/drivers/email/mailjet.ts +18 -0
  311. package/core/notifications/src/drivers/email/mandrill.ts +17 -0
  312. package/core/notifications/src/drivers/email/netcore.ts +17 -0
  313. package/core/notifications/src/drivers/email/nodemailer.ts +21 -0
  314. package/core/notifications/src/drivers/email/postmark.ts +17 -0
  315. package/core/notifications/src/drivers/email/sendgrid.ts +18 -0
  316. package/core/notifications/src/drivers/email/ses.ts +19 -0
  317. package/core/notifications/src/drivers/email/tailwind.config.ts +37 -0
  318. package/core/notifications/src/drivers/sms/gupshup.ts +21 -0
  319. package/core/notifications/src/drivers/sms/index.ts +8 -0
  320. package/core/notifications/src/drivers/sms/nexmo.ts +22 -0
  321. package/core/notifications/src/drivers/sms/plivo.ts +22 -0
  322. package/core/notifications/src/drivers/sms/sms77.ts +21 -0
  323. package/core/notifications/src/drivers/sms/sns.ts +22 -0
  324. package/core/notifications/src/drivers/sms/telnyx.ts +22 -0
  325. package/core/notifications/src/drivers/sms/termii.ts +21 -0
  326. package/core/notifications/src/drivers/sms/twilio.ts +22 -0
  327. package/core/notifications/src/index.ts +25 -0
  328. package/core/notifications/src/utils/config.ts +5 -0
  329. package/core/notifications/src/utils/template.html +8 -0
  330. package/core/notifications/tests/chat/Slack.test.ts +24 -0
  331. package/core/notifications/tests/email/Mailgun.test.ts +29 -0
  332. package/core/notifications/tests/email/Sendgrid.test.ts +30 -0
  333. package/core/notifications/tests/example.test.ts +7 -0
  334. package/core/notifications/tests/sms/Twilio.test.ts +27 -0
  335. package/core/objects/README.md +71 -0
  336. package/core/objects/node_modules/.bin/mkdist +17 -0
  337. package/core/objects/node_modules/.bin/tsc +17 -0
  338. package/core/objects/node_modules/.bin/tsserver +17 -0
  339. package/core/objects/package.json +53 -0
  340. package/core/objects/src/index.ts +130 -0
  341. package/core/objects/tests/example.test.ts +7 -0
  342. package/core/path/README.md +64 -0
  343. package/core/path/node_modules/.bin/mkdist +17 -0
  344. package/core/path/node_modules/.bin/tsc +17 -0
  345. package/core/path/node_modules/.bin/tsserver +17 -0
  346. package/core/path/package.json +55 -0
  347. package/core/path/src/index.ts +353 -0
  348. package/core/path/tests/example.test.ts +7 -0
  349. package/core/payments/README.md +64 -0
  350. package/core/payments/node_modules/.bin/mkdist +17 -0
  351. package/core/payments/node_modules/.bin/tsc +17 -0
  352. package/core/payments/node_modules/.bin/tsserver +17 -0
  353. package/core/payments/package.json +52 -0
  354. package/core/payments/src/drivers/stripe.ts +1 -0
  355. package/core/payments/src/index.ts +1 -0
  356. package/core/payments/tests/example.test.ts +7 -0
  357. package/core/realtime/README.md +59 -0
  358. package/core/realtime/node_modules/.bin/mkdist +17 -0
  359. package/core/realtime/node_modules/.bin/tsc +17 -0
  360. package/core/realtime/node_modules/.bin/tsserver +17 -0
  361. package/core/realtime/package.json +51 -0
  362. package/core/realtime/src/drivers/index.ts +3 -0
  363. package/core/realtime/src/index.ts +3 -0
  364. package/core/realtime/tests/example.test.ts +7 -0
  365. package/core/router/README.md +59 -0
  366. package/core/router/node_modules/.bin/mkdist +17 -0
  367. package/core/router/node_modules/.bin/tsc +17 -0
  368. package/core/router/node_modules/.bin/tsserver +17 -0
  369. package/core/router/package.json +54 -0
  370. package/core/router/src/index.ts +14 -0
  371. package/core/router/tests/example.test.ts +7 -0
  372. package/core/search-engine/README.md +66 -0
  373. package/core/search-engine/node_modules/.bin/mkdist +17 -0
  374. package/core/search-engine/node_modules/.bin/tsc +17 -0
  375. package/core/search-engine/node_modules/.bin/tsserver +17 -0
  376. package/core/search-engine/package.json +64 -0
  377. package/core/search-engine/src/drivers/meilisearch.ts +37 -0
  378. package/core/search-engine/src/helpers.ts +74 -0
  379. package/core/search-engine/src/index.ts +56 -0
  380. package/core/search-engine/tests/example.test.ts +7 -0
  381. package/core/security/README.md +66 -0
  382. package/core/security/node_modules/.bin/mkdist +17 -0
  383. package/core/security/node_modules/.bin/tsc +17 -0
  384. package/core/security/node_modules/.bin/tsserver +17 -0
  385. package/core/security/package.json +57 -0
  386. package/core/security/src/crypt.ts +14 -0
  387. package/core/security/src/hash.ts +52 -0
  388. package/core/security/src/index.ts +3 -0
  389. package/core/security/src/key.ts +11 -0
  390. package/core/security/tests/example.test.ts +7 -0
  391. package/core/server/README.md +51 -0
  392. package/core/server/node_modules/.bin/mkdist +17 -0
  393. package/core/server/node_modules/.bin/nitro +17 -0
  394. package/core/server/node_modules/.bin/nitropack +17 -0
  395. package/core/server/node_modules/.bin/tsc +17 -0
  396. package/core/server/node_modules/.bin/tsserver +17 -0
  397. package/core/server/node_modules/.bin/vite +17 -0
  398. package/core/server/package.json +59 -0
  399. package/core/server/src/config.ts +6 -0
  400. package/core/server/src/index.ts +5 -0
  401. package/core/server/src/nitro.config.ts +6 -0
  402. package/core/server/tests/example.test.ts +7 -0
  403. package/core/storage/README.md +74 -0
  404. package/core/storage/node_modules/.bin/mkdist +17 -0
  405. package/core/storage/node_modules/.bin/tsc +17 -0
  406. package/core/storage/node_modules/.bin/tsserver +17 -0
  407. package/core/storage/package.json +62 -0
  408. package/core/storage/src/index.ts +193 -0
  409. package/core/storage/tests/example.test.ts +7 -0
  410. package/core/strings/README.md +68 -0
  411. package/core/strings/build.config.ts +15 -0
  412. package/core/strings/node_modules/.bin/mkdist +17 -0
  413. package/core/strings/node_modules/.bin/tsc +17 -0
  414. package/core/strings/node_modules/.bin/tsserver +17 -0
  415. package/core/strings/node_modules/.bin/unbuild +17 -0
  416. package/core/strings/package.json +69 -0
  417. package/core/strings/src/index.ts +97 -0
  418. package/core/strings/tests/example.test.ts +7 -0
  419. package/core/testing/README.md +59 -0
  420. package/core/testing/node_modules/.bin/mkdist +17 -0
  421. package/core/testing/node_modules/.bin/tsc +17 -0
  422. package/core/testing/node_modules/.bin/tsserver +17 -0
  423. package/core/testing/node_modules/.bin/vitest +17 -0
  424. package/core/testing/package.json +57 -0
  425. package/core/testing/src/index.ts +1 -0
  426. package/core/types/README.md +59 -0
  427. package/core/types/node_modules/.bin/markdown-it +17 -0
  428. package/core/types/node_modules/.bin/mkdist +17 -0
  429. package/core/types/node_modules/.bin/tsc +17 -0
  430. package/core/types/node_modules/.bin/tsserver +17 -0
  431. package/core/types/node_modules/.bin/vite-ssg +17 -0
  432. package/core/types/node_modules/.bin/vitepress +17 -0
  433. package/core/types/package.json +71 -0
  434. package/core/types/src/app.ts +140 -0
  435. package/core/types/src/auto-imports.ts +3 -0
  436. package/core/types/src/build.ts +2 -0
  437. package/core/types/src/cli.ts +198 -0
  438. package/core/types/src/components.ts +66 -0
  439. package/core/types/src/database.ts +3 -0
  440. package/core/types/src/debug.ts +6 -0
  441. package/core/types/src/deploy.ts +11 -0
  442. package/core/types/src/docs.ts +3 -0
  443. package/core/types/src/errors.ts +6 -0
  444. package/core/types/src/exit-code.ts +10 -0
  445. package/core/types/src/fs.ts +17 -0
  446. package/core/types/src/git.ts +131 -0
  447. package/core/types/src/hashing.ts +107 -0
  448. package/core/types/src/i18n.ts +19 -0
  449. package/core/types/src/index.ts +28 -0
  450. package/core/types/src/inspect.ts +10 -0
  451. package/core/types/src/layout.ts +8 -0
  452. package/core/types/src/library.ts +148 -0
  453. package/core/types/src/manifest.ts +9 -0
  454. package/core/types/src/markdown.ts +198 -0
  455. package/core/types/src/notifications.ts +9 -0
  456. package/core/types/src/pages.ts +8 -0
  457. package/core/types/src/promise.ts +1 -0
  458. package/core/types/src/pwa.ts +8 -0
  459. package/core/types/src/search-engine.ts +118 -0
  460. package/core/types/src/ssg.ts +3 -0
  461. package/core/types/src/ui.ts +184 -0
  462. package/core/types/src/utils.ts +38 -0
  463. package/core/ui/README.md +66 -0
  464. package/core/ui/node_modules/.bin/mkdist +17 -0
  465. package/core/ui/node_modules/.bin/tsc +17 -0
  466. package/core/ui/node_modules/.bin/tsserver +17 -0
  467. package/core/ui/node_modules/.bin/vue-tsc +17 -0
  468. package/core/ui/package.json +66 -0
  469. package/core/ui/src/index.ts +17 -0
  470. package/core/ui/src/unocss.ts +45 -0
  471. package/core/ui/tests/example.test.ts +7 -0
  472. package/core/utils/node_modules/.bin/esno +17 -0
  473. package/core/utils/node_modules/.bin/mkdist +17 -0
  474. package/core/utils/node_modules/.bin/rimraf +17 -0
  475. package/core/utils/node_modules/.bin/tsc +17 -0
  476. package/core/utils/node_modules/.bin/tsserver +17 -0
  477. package/core/utils/package.json +77 -0
  478. package/core/utils/src/base.ts +10 -0
  479. package/core/utils/src/function.ts +32 -0
  480. package/core/utils/src/guards.ts +39 -0
  481. package/core/utils/src/helpers.ts +134 -0
  482. package/core/utils/src/index.ts +13 -0
  483. package/core/utils/src/is.ts +12 -0
  484. package/core/utils/src/p.ts +118 -0
  485. package/core/utils/src/promise.ts +91 -0
  486. package/core/utils/src/vendor.ts +1 -0
  487. package/core/utils/tests/example.test.ts +7 -0
  488. package/core/x-ray/README.md +55 -0
  489. package/core/x-ray/index.html +13 -0
  490. package/core/x-ray/node_modules/.bin/mkdist +17 -0
  491. package/core/x-ray/node_modules/.bin/tsc +17 -0
  492. package/core/x-ray/node_modules/.bin/tsserver +17 -0
  493. package/core/x-ray/package.json +63 -0
  494. package/core/x-ray/routes/index.ts +19 -0
  495. package/core/x-ray/src/client.ts +14 -0
  496. package/core/x-ray/src/desktop/api/nitro.config.ts +18 -0
  497. package/core/x-ray/src/desktop/api/routes/api/logs.ts +7 -0
  498. package/core/x-ray/src/desktop/api/routes/api/store-logs.ts +22 -0
  499. package/core/x-ray/src/desktop/api/src/types.ts +7 -0
  500. package/core/x-ray/src/desktop/api/storage/index.ts +7 -0
  501. package/core/x-ray/src/desktop/app.vue +377 -0
  502. package/core/x-ray/src/desktop/functions/http.ts +26 -0
  503. package/core/x-ray/src/desktop/functions/types.ts +7 -0
  504. package/core/x-ray/src/desktop/main.ts +14 -0
  505. package/core/x-ray/src/desktop/modules/counter/mod.vue +44 -0
  506. package/core/x-ray/src/desktop/modules/fetcher/mod.vue +63 -0
  507. package/core/x-ray/src/desktop/plugins/unified/unified-app.ts +5 -0
  508. package/core/x-ray/src/desktop/plugins/unified/unified-styles.scss +0 -0
  509. package/core/x-ray/src/desktop/services/http.ts +45 -0
  510. package/core/x-ray/src/desktop/styles/app.scss +0 -0
  511. package/core/x-ray/src/http.ts +26 -0
  512. package/core/x-ray/src/index.ts +42 -0
  513. package/core/x-ray/src/ray.config.js +27 -0
  514. package/core/x-ray/src/types.ts +7 -0
  515. package/core/x-ray/tests/example.test.ts +7 -0
  516. package/custom-elements.json +14 -0
  517. package/examples/vue/App.vue +12 -0
  518. package/examples/vue/favicon.png +0 -0
  519. package/examples/vue/index.html +20 -0
  520. package/examples/web/favicon.png +0 -0
  521. package/examples/web/index.html +13 -0
  522. package/functions/package.json +41 -0
  523. package/netlify.toml +18 -0
  524. package/package.json +39 -68
  525. package/pages/App.vue +26 -0
  526. package/pages/index.html +23 -0
  527. package/pages/main.ts +26 -0
  528. package/pages/public/_headers +3 -0
  529. package/pages/public/favicon-dark.svg +3 -0
  530. package/pages/public/favicon.svg +3 -0
  531. package/pages/public/pwa-192x192.png +0 -0
  532. package/pages/public/pwa-512x512.png +0 -0
  533. package/pages/public/safari-pinned-tab.svg +41 -0
  534. package/pages/styles/main.css +29 -0
  535. package/pages/styles/markdown.css +28 -0
  536. package/shims.d.ts +29 -0
  537. package/simple-git-hooks.cjs +4 -0
  538. package/tsconfig.json +115 -0
  539. package/vitest.config.ts +21 -0
  540. package/web-types.json +67 -0
@@ -0,0 +1,65 @@
1
+ import { ExitCode } from '@stacksjs/types'
2
+ import type { CLI, ExamplesOption, ExamplesOptions } from '@stacksjs/types'
3
+ import { italic, log, prompts } from '@stacksjs/cli'
4
+ import { componentExample, invoke as runExample, webComponentExample } from '@stacksjs/actions/examples'
5
+
6
+ const descriptions = {
7
+ example: 'Which example do you want to see?',
8
+ components: 'Test your libraries against your built bundle',
9
+ vue: 'Test your Vue component library',
10
+ webComponents: 'Test your web component library',
11
+ debug: 'Enable debug mode',
12
+ }
13
+
14
+ async function example(stacks: CLI) {
15
+ stacks
16
+ .command('example', descriptions.example)
17
+ .option('-c, --components', descriptions.components)
18
+ .option('-v, --vue', descriptions.vue)
19
+ .option('-w, --web-components', descriptions.webComponents)
20
+ .option('--debug', descriptions.debug, { default: false })
21
+ .action(async (options: ExamplesOptions) => {
22
+ const answer: ExamplesOption = await prompts.select({
23
+ type: 'select',
24
+ name: 'example',
25
+ message: 'Which example are you trying to view?',
26
+ choices: [
27
+ { title: 'Components', value: 'components' },
28
+ { title: 'Web Components', value: 'web-components' },
29
+ ],
30
+ })
31
+
32
+ if (answer !== null) {
33
+ log.error(`You did not provide an answer. Please try again, ${italic('or report the issue')}`)
34
+ process.exit()
35
+ }
36
+
37
+ if (answer === 'components')
38
+ await componentExample(options)
39
+ else if (answer === 'web-components')
40
+ await webComponentExample(options)
41
+ else process.exit(ExitCode.InvalidArgument)
42
+
43
+ await runExample(options)
44
+ process.exit(ExitCode.Success)
45
+ })
46
+
47
+ stacks
48
+ .command('example:vue', descriptions.vue)
49
+ .option('-v, --vue', descriptions.debug, { default: true })
50
+ .option('--debug', descriptions.debug, { default: false })
51
+ .alias('example:components')
52
+ .action(async (options: ExamplesOptions) => {
53
+ await runExample(options)
54
+ })
55
+
56
+ stacks
57
+ .command('example:web-components', 'Test your Web Component library.')
58
+ .option('-w, --web-components', descriptions.debug, { default: true })
59
+ .option('--debug', descriptions.debug, { default: false })
60
+ .action(async (options: ExamplesOptions) => {
61
+ await runExample(options)
62
+ })
63
+ }
64
+
65
+ export { example }
@@ -0,0 +1,18 @@
1
+ import type { CLI, CommitOptions } from '@stacksjs/types'
2
+ import { invoke } from '@stacksjs/actions/fresh'
3
+
4
+ const descriptions = {
5
+ fresh: 'Reinstalls your npm dependencies',
6
+ debug: 'Enable debug mode',
7
+ }
8
+
9
+ async function fresh(stacks: CLI) {
10
+ stacks
11
+ .command('fresh', descriptions.fresh)
12
+ .option('--debug', descriptions.debug, { default: false })
13
+ .action(async (options: CommitOptions) => {
14
+ await invoke(options)
15
+ })
16
+ }
17
+
18
+ export { fresh }
@@ -0,0 +1,110 @@
1
+ import type { CLI, GeneratorOptions } from '@stacksjs/types'
2
+ import { ExitCode } from '@stacksjs/types'
3
+ import { prompts } from '@stacksjs/cli'
4
+ import { componentMeta, ideHelpers, libEntries, invoke as startGenerationProcess, types, vsCodeCustomData, vueCompat, webTypes } from '@stacksjs/actions/generate'
5
+
6
+ const descriptions = {
7
+ command: 'Automagically build any of your libraries/packages for production use. Select any of the following packages',
8
+ types: 'Generate your TypeScript types',
9
+ entries: 'Generate your function & component library entry points',
10
+ webTypes: 'Generate web-types.json for IDEs',
11
+ customData: 'Generate VS Code custom data (custom-elements.json) for IDEs',
12
+ ideHelpers: 'Generate IDE helpers',
13
+ vueCompat: 'Generate Vue 2 & 3 compatibility',
14
+ componentMeta: 'Generate component meta information',
15
+ debug: 'Enable debug mode',
16
+ }
17
+
18
+ async function generate(stacks: CLI) {
19
+ stacks
20
+ .command('generate', descriptions.command)
21
+ .option('-t, --types', descriptions.types)
22
+ .option('-e, --entries', descriptions.entries)
23
+ .option('-w, --web-types', descriptions.webTypes)
24
+ .option('-c, --custom-data', descriptions.customData)
25
+ .option('-i, --ide-helpers', descriptions.ideHelpers)
26
+ .option('-v, --vue-compatibility', descriptions.vueCompat)
27
+ .option('-c, --component-meta', descriptions.componentMeta)
28
+ .option('--debug', descriptions.debug, { default: false })
29
+ .action(async (options: GeneratorOptions) => {
30
+ if (hasNoOptions(options)) {
31
+ const answers = await prompts.multiselect({
32
+ type: 'multiselect',
33
+ name: 'generate',
34
+ message: 'What are you trying to generate?',
35
+ choices: [ // todo: should be a multi-select
36
+ { title: '1.) TypeScript Types', value: 'types' },
37
+ { title: '2.) Library Entry Points', value: 'entries' },
38
+ { title: '3.) Web Types', value: 'web-types' },
39
+ { title: '4.) VS Code Custom Data', value: 'custom-data' },
40
+ { title: '5.) IDE Helpers', value: 'ide-helpers' },
41
+ { title: '6.) Vue 2 & 3 Compatibility', value: 'vue-compatibility' },
42
+ { title: '7.) Component Meta', value: 'component-meta' },
43
+ ],
44
+ })
45
+
46
+ // creates an object out of array and sets answers to true
47
+ options = answers.reduce((a: any, v: any) => ({ ...a, [v]: true }), {})
48
+ }
49
+
50
+ await startGenerationProcess(options)
51
+
52
+ process.exit(ExitCode.Success)
53
+ })
54
+
55
+ stacks
56
+ .command('generate:types', descriptions.types)
57
+ .option('--debug', descriptions.debug, { default: false })
58
+ .alias('types:generate')
59
+ .action(async (options: GeneratorOptions) => {
60
+ await types(options)
61
+ })
62
+
63
+ stacks
64
+ .command('generate:entries', descriptions.entries)
65
+ .option('--debug', descriptions.debug, { default: false })
66
+ .action(async (options: GeneratorOptions) => {
67
+ await libEntries(options)
68
+ })
69
+
70
+ stacks
71
+ .command('generate:vue-compatibility', descriptions.vueCompat)
72
+ .option('--debug', descriptions.debug, { default: false })
73
+ .action(async (options: GeneratorOptions) => {
74
+ await vueCompat(options)
75
+ })
76
+
77
+ stacks
78
+ .command('generate:web-types', descriptions.webTypes)
79
+ .option('--debug', descriptions.debug, { default: false })
80
+ .action(async (options: GeneratorOptions) => {
81
+ await webTypes(options)
82
+ })
83
+
84
+ stacks
85
+ .command('generate:vscode-custom-data', descriptions.customData)
86
+ .option('--debug', descriptions.debug, { default: false })
87
+ .action(async (options: GeneratorOptions) => {
88
+ await vsCodeCustomData(options)
89
+ })
90
+
91
+ stacks
92
+ .command('generate:ide-helpers', descriptions.ideHelpers)
93
+ .option('--debug', descriptions.debug, { default: false })
94
+ .action(async (options: GeneratorOptions) => {
95
+ await ideHelpers(options)
96
+ })
97
+
98
+ stacks
99
+ .command('generate:component-meta', descriptions.componentMeta)
100
+ .option('--debug', descriptions.debug, { default: false })
101
+ .action(async (options: GeneratorOptions) => {
102
+ await componentMeta(options)
103
+ })
104
+ }
105
+
106
+ function hasNoOptions(options: GeneratorOptions) {
107
+ return !options.types && !options.entries && !options.webTypes && !options.customData && !options.ideHelpers && !options.vueCompatibility && !options.componentMeta
108
+ }
109
+
110
+ export { generate }
@@ -0,0 +1,18 @@
1
+ export * from './build'
2
+ export * from './clean'
3
+ export * from './commit'
4
+ export * from './create'
5
+ export * from './dev'
6
+ export * from './example'
7
+ export * from './fresh'
8
+ export * from './generate'
9
+ export * from './lint'
10
+ export * from './key'
11
+ export * from './make'
12
+ export * from './prepublish'
13
+ export * from './preinstall'
14
+ export * from './release'
15
+ export * from './setup'
16
+ export * from './test'
17
+ export * from './types'
18
+ export * from './update'
@@ -0,0 +1,18 @@
1
+ import type { CLI, KeyOptions } from '@stacksjs/types'
2
+ import { generate as generateAppKey } from '@stacksjs/actions/key'
3
+
4
+ async function key(stacks: CLI) {
5
+ const descriptions = {
6
+ command: 'Generate & set the application key.',
7
+ debug: 'Enable debug mode',
8
+ }
9
+
10
+ stacks
11
+ .command('key:generate', descriptions.command)
12
+ .option('--debug', descriptions.debug, { default: false })
13
+ .action(async (options: KeyOptions) => {
14
+ await generateAppKey(options)
15
+ })
16
+ }
17
+
18
+ export { key }
@@ -0,0 +1,27 @@
1
+ import type { CLI, LintOptions } from '@stacksjs/types'
2
+ import { invoke, lintFix } from '@stacksjs/actions/lint'
3
+
4
+ const descriptions = {
5
+ lint: 'Automagically lints your codebase',
6
+ lintFix: 'Automagically fixes lint errors',
7
+ debug: 'Enable debug mode',
8
+ }
9
+
10
+ async function lint(stacks: CLI) {
11
+ stacks
12
+ .command('lint', descriptions.lint)
13
+ .option('-f, --fix', descriptions.lintFix, { default: false })
14
+ .option('--debug', descriptions.debug, { default: false })
15
+ .action(async (options: LintOptions) => {
16
+ await invoke(options)
17
+ })
18
+
19
+ stacks
20
+ .command('lint:fix', descriptions.lintFix)
21
+ .option('--debug', descriptions.debug, { default: false })
22
+ .action(async (options: LintOptions) => {
23
+ await lintFix(options)
24
+ })
25
+ }
26
+
27
+ export { lint }
@@ -0,0 +1,219 @@
1
+ import { ExitCode } from '@stacksjs/types'
2
+ import type { CLI, MakeOptions } from '@stacksjs/types'
3
+ import { log, prompts } from '@stacksjs/cli'
4
+ import {
5
+ invoke,
6
+ component as makeComponent,
7
+ database as makeDatabase,
8
+ factory as makeFactory,
9
+ fx as makeFunction,
10
+ language as makeLanguage,
11
+ migration as makeMigration,
12
+ notification as makeNotification,
13
+ page as makePage,
14
+ stack as makeStack,
15
+ } from '@stacksjs/actions/make'
16
+
17
+ const descriptions = {
18
+ component: 'Create a new component',
19
+ page: 'Create a new page',
20
+ function: 'Create a new function',
21
+ language: 'Create a new language',
22
+ database: 'Create a new database',
23
+ migration: 'Create a new migration',
24
+ factory: 'Create a new factory',
25
+ notification: 'Create a new notification',
26
+ stack: 'Create a new new stack',
27
+ debug: 'Enable debug mode',
28
+ }
29
+
30
+ async function make(stacks: CLI) {
31
+ stacks
32
+ .command('make', 'The make command')
33
+ .option('-c, --component', descriptions.component, { default: false })
34
+ .option('-p, --page', descriptions.page, { default: false })
35
+ .option('-f, --function', descriptions.function, { default: false })
36
+ .option('-l, --language', descriptions.language, { default: false })
37
+ .option('-d, --database', descriptions.database, { default: false })
38
+ .option('-m, --migration', descriptions.migration, { default: false })
39
+ .option('-f, --factory', descriptions.factory, { default: false })
40
+ .option('-n, --notification', descriptions.notification, { default: false })
41
+ .option('-s, --stack', descriptions.stack, { default: false })
42
+ .option('--debug', descriptions.debug, { default: false })
43
+ .action(async (options: MakeOptions) => {
44
+ const name = stacks.args[0]
45
+
46
+ if (!name) {
47
+ log.error('You need to specify a name. Read more about the documentation here.')
48
+ process.exit()
49
+ }
50
+
51
+ if (hasNoOptions(options)) {
52
+ const answers = await prompts.multiselect({
53
+ type: 'multiselect',
54
+ name: 'make',
55
+ message: 'What are you trying to make?',
56
+ choices: [
57
+ { title: 'Component', value: 'component' },
58
+ { title: 'Function', value: 'function' },
59
+ { title: 'Page', value: 'page' },
60
+ { title: 'Language', value: 'language' },
61
+ { title: 'Notification', value: 'notification' },
62
+ { title: 'Database', value: 'database' },
63
+ { title: 'Migration', value: 'migration' },
64
+ { title: 'Factory', value: 'factory' },
65
+ { title: 'Stack', value: 'stack' },
66
+ ],
67
+ })
68
+
69
+ // creates an object out of array and sets answers to true
70
+ options = answers.reduce((a: any, v: any) => ({ ...a, [v]: true }), {})
71
+ }
72
+
73
+ await invoke(options)
74
+
75
+ process.exit(ExitCode.Success)
76
+ })
77
+
78
+ stacks
79
+ .command('make:component', descriptions.component)
80
+ .option('--n, -name', 'The name of the component')
81
+ .option('--debug', descriptions.debug, { default: false })
82
+ .action(async (options: MakeOptions) => {
83
+ const name = stacks.args[0] || options.name
84
+ options.name = name
85
+
86
+ if (!name) {
87
+ log.error('You need to specify a name. Read more about the documentation here.')
88
+ process.exit()
89
+ }
90
+
91
+ await makeComponent(options)
92
+ })
93
+
94
+ stacks
95
+ .command('make:database', descriptions.database)
96
+ .option('--n, -name', 'The name of the database')
97
+ .option('--debug', descriptions.debug, { default: false })
98
+ .action(async (options: MakeOptions) => {
99
+ const name = stacks.args[0] || options.name
100
+ options.name = name
101
+
102
+ if (!name) {
103
+ log.error('You need to specify a name. Read more about the documentation here.')
104
+ process.exit()
105
+ }
106
+
107
+ await makeDatabase(options)
108
+ })
109
+
110
+ stacks
111
+ .command('make:migration', descriptions.migration)
112
+ .option('--n, -name', 'The name of the migration')
113
+ .option('--debug', descriptions.debug, { default: false })
114
+ .action(async (options: MakeOptions) => {
115
+ const name = stacks.args[0] || options.name
116
+ options.name = name
117
+
118
+ if (!name) {
119
+ log.error('You need to specify a name. Read more about the documentation here.')
120
+ process.exit()
121
+ }
122
+
123
+ await makeMigration(options)
124
+ })
125
+
126
+ stacks
127
+ .command('make:factory', descriptions.factory)
128
+ .option('--n, -name', 'The name of the factory')
129
+ .option('--debug', descriptions.debug, { default: false })
130
+ .action(async (options: MakeOptions) => {
131
+ const name = stacks.args[0] || options.name
132
+ options.name = name
133
+
134
+ if (!name) {
135
+ log.error('You need to specify a name. Read more about the documentation here.')
136
+ process.exit()
137
+ }
138
+
139
+ await makeFactory(options)
140
+ })
141
+
142
+ stacks
143
+ .command('make:page', descriptions.page)
144
+ .option('--n, -name', 'The name of the page')
145
+ .option('--debug', descriptions.debug, { default: false })
146
+ .action(async (options: MakeOptions) => {
147
+ const name = stacks.args[0] || options.name
148
+ options.name = name
149
+
150
+ if (!name) {
151
+ log.error('You need to specify a name. Read more about the documentation here.')
152
+ process.exit()
153
+ }
154
+
155
+ await makePage(options)
156
+ })
157
+
158
+ stacks
159
+ .command('make:function', descriptions.function)
160
+ .option('--n, -name', 'The name of the function')
161
+ .option('--debug', descriptions.debug, { default: false })
162
+ .action(async (options: MakeOptions) => {
163
+ await makeFunction(options)
164
+ })
165
+
166
+ stacks
167
+ .command('make:lang', descriptions.language)
168
+ .option('--n, -name', 'The name of the language')
169
+ .option('--debug', descriptions.debug, { default: false })
170
+ .action(async (options: MakeOptions) => {
171
+ const name = stacks.args[0] || options.name
172
+ options.name = name
173
+
174
+ if (!name) {
175
+ log.error('You need to specify a name. Read more about the documentation here.')
176
+ process.exit()
177
+ }
178
+
179
+ await makeLanguage(options)
180
+ })
181
+
182
+ stacks
183
+ .command('make:notification', descriptions.notification)
184
+ .option('--n, -name', 'The name of the notification')
185
+ .option('--debug', descriptions.debug, { default: false })
186
+ .action(async (options: MakeOptions) => {
187
+ const name = stacks.args[0] || options.name
188
+ options.name = name
189
+
190
+ if (!name) {
191
+ log.error('You need to specify a name. Read more about the documentation here.')
192
+ process.exit()
193
+ }
194
+
195
+ await makeNotification(options)
196
+ })
197
+
198
+ stacks
199
+ .command('make:stack', descriptions.stack)
200
+ .option('--n, -name', 'The name of the stack')
201
+ .option('--debug', descriptions.debug, { default: false })
202
+ .action(async (options: MakeOptions) => {
203
+ const name = stacks.args[0] || options.name
204
+ options.name = name
205
+
206
+ if (!name) {
207
+ log.error('You need to specify a name. Read more about the documentation here.')
208
+ process.exit()
209
+ }
210
+
211
+ await makeStack(options)
212
+ })
213
+ }
214
+
215
+ function hasNoOptions(options: MakeOptions) {
216
+ return !options.component && !options.page && !options.function && !options.language && !options.database && !options.migration && !options.factory && !options.notification && !options.stack
217
+ }
218
+
219
+ export { make }
@@ -0,0 +1,18 @@
1
+ import type { CLI, PreinstallOptions } from '@stacksjs/types'
2
+ import { invoke } from '@stacksjs/actions/preinstall'
3
+
4
+ const descriptions = {
5
+ command: 'Run your preinstall script',
6
+ debug: 'Enable debug mode',
7
+ }
8
+
9
+ async function preinstall(stacks: CLI) {
10
+ stacks
11
+ .command('preinstall', descriptions.command)
12
+ .option('--debug', descriptions.debug, { default: false })
13
+ .action(async (options: PreinstallOptions) => {
14
+ await invoke(options)
15
+ })
16
+ }
17
+
18
+ export { preinstall }
@@ -0,0 +1,19 @@
1
+ import type { CLI, PrepublishOptions } from '@stacksjs/types'
2
+ import { Action } from '@stacksjs/types'
3
+ import { runAction } from '@stacksjs/actions'
4
+
5
+ const descriptions = {
6
+ command: 'Run your prepublish script',
7
+ debug: 'Enable debug mode',
8
+ }
9
+
10
+ async function prepublish(stacks: CLI) {
11
+ stacks
12
+ .command('prepublish', descriptions.command)
13
+ .option('--debug', descriptions.debug, { default: false })
14
+ .action(async (options: PrepublishOptions) => {
15
+ await runAction(Action.Prepublish, options)
16
+ })
17
+ }
18
+
19
+ export { prepublish }
@@ -0,0 +1,28 @@
1
+ import type { CLI, ReleaseOptions } from '@stacksjs/types'
2
+ import { intro, log, outro } from '@stacksjs/cli'
3
+ import { runAction } from '@stacksjs/actions'
4
+ import { Action } from '@stacksjs/types'
5
+
6
+ const descriptions = {
7
+ release: 'Release a new version of your libraries/packages',
8
+ debug: 'Enable debug mode',
9
+ }
10
+
11
+ async function release(stacks: CLI) {
12
+ stacks
13
+ .command('release', descriptions.release)
14
+ .option('--debug', descriptions.debug, { default: true }) // it's on by default because it requires manual input
15
+ .action(async (options: ReleaseOptions) => {
16
+ const perf = intro('buddy release')
17
+ const result = await runAction(Action.Release, options)
18
+
19
+ if (result.isErr()) {
20
+ log.error('Failed to trigger the CI/CD release workflow.', result.error)
21
+ process.exit()
22
+ }
23
+
24
+ outro('Triggered CI/CD release workflow', { startTime: perf, useSeconds: true })
25
+ })
26
+ }
27
+
28
+ export { release }
@@ -0,0 +1,26 @@
1
+ import { runCommand } from '@stacksjs/cli'
2
+ import type { CLI, CliOptions } from '@stacksjs/types'
3
+
4
+ const descriptions = {
5
+ ensure: 'This command checks whether Node is installed. pnpm is checked via `only-allow` preinstall hook',
6
+ setup: 'This command installs Node & pnpm',
7
+ debug: 'Enable debug mode',
8
+ }
9
+
10
+ async function setup(stacks: CLI) {
11
+ stacks
12
+ .command('ensure', descriptions.ensure)
13
+ .option('--debug', descriptions.debug, { default: false })
14
+ .action(async (options: CliOptions) => {
15
+ await runCommand('pnpm install', options)
16
+ })
17
+
18
+ stacks
19
+ .command('setup', descriptions.setup)
20
+ .option('--debug', descriptions.debug, { default: false })
21
+ .action(async (options: CliOptions) => {
22
+ await runCommand('pnpm env use', options)
23
+ })
24
+ }
25
+
26
+ export { setup }
@@ -0,0 +1,41 @@
1
+ import type { CLI, TestOptions } from '@stacksjs/types'
2
+ import { invoke, testCoverageReport, testUi, typecheck } from '@stacksjs/actions/test'
3
+
4
+ const descriptions = {
5
+ command: 'Runs your test suite',
6
+ types: 'Typechecks your codebase',
7
+ coverage: 'Generates a test coverage report',
8
+ debug: 'Enable debug mode',
9
+ }
10
+
11
+ async function test(stacks: CLI) {
12
+ stacks
13
+ .command('test', descriptions.command)
14
+ .option('--debug', descriptions.debug, { default: false })
15
+ .action(async (options: TestOptions) => {
16
+ await invoke(options)
17
+ })
18
+
19
+ stacks
20
+ .command('test:ui', descriptions.command)
21
+ .option('--debug', descriptions.debug, { default: false })
22
+ .action(async (options: TestOptions) => {
23
+ await testUi(options)
24
+ })
25
+
26
+ stacks
27
+ .command('test:types', descriptions.types)
28
+ .option('--debug', descriptions.debug, { default: false })
29
+ .action(async (options: TestOptions) => {
30
+ await typecheck(options)
31
+ })
32
+
33
+ stacks
34
+ .command('test:coverage', descriptions.coverage)
35
+ .option('--debug', descriptions.debug, { default: false })
36
+ .action(async (options: TestOptions) => {
37
+ await testCoverageReport(options)
38
+ })
39
+ }
40
+
41
+ export { test }
@@ -0,0 +1,26 @@
1
+ import type { CLI } from '@stacksjs/types'
2
+ import { types as generateTypes } from '@stacksjs/actions/generate'
3
+
4
+ const descriptions = {
5
+ generate: 'Generate the types of & for your library/libraries',
6
+ fix: 'wip',
7
+ debug: 'Enable debug mode',
8
+ }
9
+
10
+ async function types(stacks: CLI) {
11
+ stacks
12
+ .command('types:generate', descriptions.generate)
13
+ .option('--debug', descriptions.debug, { default: false })
14
+ .action(async () => {
15
+ await generateTypes()
16
+ })
17
+
18
+ stacks
19
+ .command('types:fix', descriptions.fix)
20
+ .option('--debug', descriptions.debug, { default: false })
21
+ .action(async () => {
22
+ // await fixTypes()
23
+ })
24
+ }
25
+
26
+ export { types }