stacks 0.40.0 → 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 +69 -99
  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,140 @@
1
+ /**
2
+ * **Application Options**
3
+ *
4
+ * This configuration defines all of your application options. Because Stacks is full-typed,
5
+ * you may hover any of the options below and the definitions will be provided. In case
6
+ * you have any questions, feel free to reach out via Discord or GitHub Discussions.
7
+ */
8
+ export interface AppOptions {
9
+ /**
10
+ * **Application Name**
11
+ *
12
+ * This value is the name of your application. This value is used when the
13
+ * framework needs to place the application's name in a log or any
14
+ * other location as required by the application or its packages.
15
+ *
16
+ * @default string "Stacks"
17
+ */
18
+ name: string
19
+
20
+ /**
21
+ * **Application Environment**
22
+ *
23
+ * This value determines the "environment" your application is currently
24
+ * running in. This may determine how you prefer to configure various
25
+ * services the application utilizes. Set this in your ".env" file
26
+ *
27
+ * @default "local"
28
+ */
29
+ env?: 'local' | 'development' | 'production'
30
+
31
+ /**
32
+ * **Application URL**
33
+ *
34
+ * This URL is used by the console to properly generate URLs when using
35
+ * the Artisan command line tool. You should set this to the root of
36
+ * your application so that it is used when running Artisan tasks.
37
+ *
38
+ * @default string "https://localhost"
39
+ * @example
40
+ * https://hello-world.test
41
+ */
42
+ url?: string
43
+
44
+ /**
45
+ * **Application Debug Mode**
46
+ *
47
+ * When your application is in debug mode, detailed error messages with
48
+ * stack traces will be shown on every error that occurs within your
49
+ * application. If disabled, a simple generic error page is shown.
50
+ *
51
+ * @default true
52
+ */
53
+ debug: boolean
54
+
55
+ /**
56
+ * **Application Port**
57
+ *
58
+ * This port is used when Stacks creates a server you. You should set
59
+ * a port that's not already in use by your machine. Stacks defaults
60
+ * to a memorable port that likely is free on your end: 3333.
61
+ *
62
+ * @default number 3333
63
+ */
64
+ port: number
65
+
66
+ /**
67
+ * **Encryption Key**
68
+ *
69
+ * This key is used by the Stacks encrypter service and should be set to
70
+ * a random, 32 character string, otherwise these encrypted strings will
71
+ * not be safe. Please do this before deploying an application!
72
+ */
73
+ key?: string
74
+
75
+ /**
76
+ * **Application Timezone**
77
+ *
78
+ * Here you may specify the default timezone for your application, which
79
+ * will be used by Stacks and date-time functions. We have gone ahead
80
+ * and set this to a sensible default for you out of the box.
81
+ *
82
+ * @default string "UTC"
83
+ */
84
+ timezone?: string
85
+
86
+ /**
87
+ * **Application Locale Configuration**
88
+ *
89
+ * The application locale determines the default locale that will be used
90
+ * by the translation service provider. You are free to set this value
91
+ * to any of the locales which will be supported by the application.
92
+ *
93
+ * @default string "en"
94
+ * @example
95
+ * de // ./lang/de.yml needs to be present for this
96
+ */
97
+ locale?: string
98
+
99
+ /**
100
+ * **Application Fallback Locale**
101
+ *
102
+ * The fallback locale determines the locale to use when the current one
103
+ * is not available. You may change the value to correspond to any of
104
+ * the language folders that are provided through your application.
105
+ *
106
+ * @default string "en"
107
+ */
108
+ fallbackLocale: 'en'
109
+
110
+ /**
111
+ * **Integrated Development Environment**
112
+ *
113
+ * Currently, only VS Code is fully supported. While you may use Stacks with
114
+ * any editor, some of its tooling is VS Code specific. Hence, for the
115
+ * best experience, VS Code is currently the recommended editor.
116
+ *
117
+ * @default string "vscode"
118
+ */
119
+ editor: string
120
+
121
+ /**
122
+ * **Cipher**
123
+ *
124
+ * Description WIP.
125
+ *
126
+ * @default string "aes-256-cbc"
127
+ */
128
+ cipher: string
129
+
130
+ // inspect: <InspectOptions>{},
131
+
132
+ /**
133
+ * **Font**
134
+ *
135
+ * Description WIP.
136
+ *
137
+ * @default object
138
+ */
139
+ font: object
140
+ }
@@ -0,0 +1,3 @@
1
+ import type { Options } from 'unplugin-auto-import/types'
2
+
3
+ export type AutoImportsOptions = Options
@@ -0,0 +1,2 @@
1
+ export type { UserConfig as ViteConfig } from 'vite'
2
+ export { type ViteSSGContext } from 'vite-ssg'
@@ -0,0 +1,198 @@
1
+ /**
2
+ * The parsed command-line arguments
3
+ */
4
+
5
+ import type { Ora } from 'ora'
6
+
7
+ export interface StacksOptions {
8
+ componentsSrcPath?: string
9
+ dtsPath?: string
10
+ extensions?: string[]
11
+ }
12
+
13
+ export interface OutroOptions {
14
+ startTime?: number
15
+ useSeconds?: boolean
16
+ isError?: boolean
17
+ }
18
+
19
+ export interface IntroOptions {
20
+ /**
21
+ * @default true
22
+ */
23
+ showPerformance?: boolean
24
+ }
25
+
26
+ type SpinnerOptions = Ora
27
+
28
+ /**
29
+ * The options to pass to the CLI.
30
+ */
31
+ export interface CliOptions {
32
+ /**
33
+ * **CLI Debug Level**
34
+ *
35
+ * When your application is in debug mode, a different level of information,
36
+ * like stack traces, will be shown on every error that occurs within the
37
+ * application. When disabled, it defaults to the "normal experience."
38
+ *
39
+ * @default false
40
+ */
41
+ debug?: boolean
42
+
43
+ /**
44
+ * **Current Work Directory**
45
+ *
46
+ * Based on the `cwd` value, that's where the command...
47
+ *
48
+ * @default projectPath()
49
+ */
50
+ cwd?: string
51
+
52
+ /**
53
+ * **Loading Animation**
54
+ *
55
+ * Should the command show a loading animation?
56
+ * Please note, when debug mode is enabled,
57
+ * the animation will not show.
58
+ *
59
+ * @default true
60
+ */
61
+ shouldBeAnimated?: boolean | SpinnerOptions
62
+ }
63
+
64
+ export type { Ora as SpinnerOptions } from 'ora'
65
+
66
+ export type ActionsOption = 'types'
67
+ export type ActionsOptions = {
68
+ [key in ActionsOption]?: boolean;
69
+ } & CliOptions
70
+
71
+ export type BuildOption = 'components' | 'vueComponents' | 'webComponents' | 'elements' | 'functions' | 'docs' | 'pages' | 'stacks' | 'all'
72
+ export type BuildOptions = {
73
+ [key in BuildOption]: boolean;
74
+ } & CliOptions
75
+
76
+ export type AddOption = 'table' | 'calendar' | 'all'
77
+ export type AddOptions = {
78
+ [key in AddOption]?: boolean;
79
+ } & CliOptions
80
+
81
+ export type CreateStringOption = 'name'
82
+ export type CreateBooleanOption = 'ui' | 'components' | 'web-components' | 'vue' | 'pages' | 'functions' | 'api' | 'database'
83
+ export type CreateOptions = {
84
+ [key in CreateBooleanOption]: boolean
85
+ } & {
86
+ [key in CreateStringOption]: string
87
+ } & CliOptions
88
+
89
+ export type DevOption = 'components' | 'docs' | 'pages' | 'functions' | 'desktop' | 'all'
90
+ export type DevOptions = {
91
+ [key in DevOption]: boolean;
92
+ } & CliOptions
93
+
94
+ export type GeneratorOption = 'types' | 'entries' | 'webTypes' | 'customData' | 'ideHelpers' | 'vueCompatibility' | 'componentMeta'
95
+ export type GeneratorOptions = {
96
+ [key in GeneratorOption]?: boolean;
97
+ } & CliOptions
98
+
99
+ export type LintOption = 'fix'
100
+ export type LintOptions = {
101
+ [key in LintOption]: boolean;
102
+ } & CliOptions
103
+
104
+ export type MakeStringOption = 'name'
105
+ export type MakeBooleanOption = 'component' | 'page' | 'function' | 'language' | 'database' | 'migration' | 'factory' | 'notification' | 'stack'
106
+ export type MakeOptions = {
107
+ [key in MakeBooleanOption]: boolean
108
+ } & {
109
+ [key in MakeStringOption]: string
110
+ } & CliOptions
111
+
112
+ export type UpdateString = 'version'
113
+ export type UpdateBoolean = 'framework' | 'dependencies' | 'packageManager' | 'node' | 'all' | 'force'
114
+ export type UpdateOptions = {
115
+ [key in UpdateString]: string;
116
+ } & {
117
+ [key in UpdateBoolean]: boolean;
118
+ } & CliOptions
119
+
120
+ export type ExamplesString = 'version'
121
+ export type ExamplesBoolean = 'components' | 'vue' | 'webComponents' | 'elements' | 'all' | 'force'
122
+ export type ExamplesOption = ExamplesString & ExamplesBoolean | void
123
+ export type ExamplesOptions = {
124
+ [key in ExamplesString]: string;
125
+ } & {
126
+ [key in ExamplesBoolean]: boolean;
127
+ } & CliOptions
128
+
129
+ export interface TestOptions extends CliOptions {}
130
+ export interface CleanOptions extends CliOptions {}
131
+ export interface CommitOptions extends CliOptions {}
132
+ export interface KeyOptions extends CliOptions {}
133
+ export interface FreshOptions extends CliOptions {}
134
+ export interface ReleaseOptions extends CliOptions {}
135
+ export interface PreinstallOptions extends CliOptions {}
136
+ export interface PrepublishOptions extends CliOptions {}
137
+ export interface TypesOptions extends CliOptions {}
138
+
139
+ export type LibEntryType = 'vue-components' | 'web-components' | 'functions' | 'all'
140
+
141
+ /**
142
+ * The available npm scripts within the Stacks toolkit.
143
+ */
144
+ export const enum NpmScript {
145
+ Build = 'build',
146
+ BuildComponents = 'build:components',
147
+ BuildWebComponents = 'build:web-components',
148
+ BuildFunctions = 'build:functions',
149
+ BuildDocs = 'build:docs',
150
+ BuildStacks = 'build:stacks',
151
+ Clean = 'rimraf ./pnpm-lock.yaml ./node_modules/ ./.stacks/**/node_modules',
152
+ Dev = 'dev',
153
+ DevComponents = 'dev:components',
154
+ DevDocs = 'dev:docs',
155
+ DevDesktop = 'dev:desktop',
156
+ DevPages = 'dev:pages',
157
+ DevFunctions = 'dev:functions',
158
+ Fresh = 'fresh',
159
+ Update = 'update',
160
+ UpdateDependencies = 'pnpm update',
161
+ UpdateFramework = 'update:framework',
162
+ UpdatePackageManager = 'update:package-manager',
163
+ UpdateNode = 'pnpm env use',
164
+ Lint = 'eslint .',
165
+ LintFix = 'lint:fix',
166
+ MakeStack = 'make:stack',
167
+ Test = 'vitest --config .stacks/vitest.config.ts',
168
+ TestUi = 'vitest --config .stacks/vitest.config.ts --ui',
169
+ TestCoverage = 'vitest --config .stacks/vitest.config.ts --coverage',
170
+ TestTypes = 'vue-tsc --noEmit',
171
+ Generate = 'generate',
172
+ GenerateTypes = 'generate:types',
173
+ GenerateEntries = 'generate:entries',
174
+ GenerateVueCompat = 'generate:vue-compatibility',
175
+ GenerateWebTypes = 'generate:web-types',
176
+ GenerateVsCodeCustomData = 'generate:vscode-custom-data',
177
+ GenerateIdeHelpers = 'generate:ide-helpers',
178
+ GenerateComponentMeta = 'generate:component-meta',
179
+ Release = 'release',
180
+ Commit = 'commit',
181
+ Example = 'example',
182
+ ExampleVue = 'example:vue',
183
+ ExampleWebComponents = 'example:web-components',
184
+ KeyGenerate = 'key:generate',
185
+ TypesFix = 'types:fix',
186
+ TypesGenerate = 'types:generate',
187
+ Preinstall = 'preinstall',
188
+ Prepublish = 'prepublish',
189
+ Wip = 'wip',
190
+ }
191
+
192
+ export const enum Action {
193
+ Release = 'release',
194
+ Prepublish = 'prepublish',
195
+ }
196
+
197
+ export type { CAC as CLI } from 'cac'
198
+ export type { ExecaReturnValue as CommandResult } from 'execa'
@@ -0,0 +1,66 @@
1
+ import type { Options } from 'unplugin-vue-components'
2
+
3
+ export interface TagOption {
4
+ /**
5
+ * **Tag Name**
6
+ *
7
+ * This is the name of the component to be included in your library build.
8
+ * When defining a tag, ensure that the name corresponds to a file within
9
+ * root component directory.
10
+ *
11
+ * @example
12
+ * {
13
+ * tags: [{
14
+ * name: 'HelloWorld' // results in `<HelloWorld />`
15
+ * }]
16
+ * }
17
+ *
18
+ * @example
19
+ * {
20
+ * tags: [{
21
+ * name: ['HelloWorld', 'AppHelloWorld'] // results in `<AppHelloWorld />`
22
+ * }]
23
+ * }
24
+ * @see https://stacksjs.dev/docs/components
25
+ */
26
+ name: string | string[]
27
+
28
+ /**
29
+ * **Tag Description**
30
+ *
31
+ * This is the description of your component. This value is
32
+ * used when to provide additional information to IDEs.
33
+ *
34
+ * @example
35
+ * {
36
+ * name: 'HelloWorld' // results in `<HelloWorld />`
37
+ * }
38
+ * @see https://stacksjs.dev/docs/components
39
+ */
40
+ description?: string
41
+
42
+ /**
43
+ * **Tag Attributes**
44
+ *
45
+ * These are your component's attributes. While it's an optional field, you should aim
46
+ * to define all of your component attributes here, to provide as much context
47
+ * to your IDEs as possible, when actually using the library as an end-user.
48
+ *
49
+ * @example
50
+ * {
51
+ * attributes: {
52
+ * name: 'greeting',
53
+ * description: 'The way to greet the user.',
54
+ * }
55
+ * }
56
+ * @see https://stacksjs.dev/docs/components
57
+ */
58
+ attributes?: {
59
+ name: string
60
+ description: string
61
+ }[]
62
+ }
63
+
64
+ export type TagsOptions = TagOption[]
65
+
66
+ export type ComponentOptions = Options
@@ -0,0 +1,3 @@
1
+ import type { PrismaClient } from '@prisma/client'
2
+
3
+ export type DatabaseClient = PrismaClient
@@ -0,0 +1,6 @@
1
+ export interface DebugOptions {
2
+ driver: string
3
+ enabled: boolean
4
+ host: string
5
+ port: number
6
+ }
@@ -0,0 +1,11 @@
1
+ export interface DeployOptions {
2
+ /**
3
+ * **Deployment Host**
4
+ *
5
+ * The host to deploy to.
6
+ *
7
+ * @default string 'netlify'
8
+ * @see https://stacksjs.dev/docs/components
9
+ */
10
+ host: 'netlify' | 'vercel'
11
+ }
@@ -0,0 +1,3 @@
1
+ import type { UserConfig } from 'vitepress'
2
+
3
+ export type DocsConfig = UserConfig
@@ -0,0 +1,6 @@
1
+ export {
2
+ Err,
3
+ Ok,
4
+ Result,
5
+ ResultAsync,
6
+ } from 'neverthrow'
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CLI exit codes.
3
+ *
4
+ * @see https://nodejs.org/api/process.html#process_exit_codes
5
+ */
6
+ export enum ExitCode {
7
+ Success = 0,
8
+ FatalError = 1,
9
+ InvalidArgument = 9,
10
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Describes a plain-text file.
3
+ */
4
+ export interface TextFile {
5
+ path: string
6
+ data: string
7
+ }
8
+
9
+ /**
10
+ * Describes a JSON file.
11
+ */
12
+ export interface JsonFile {
13
+ path: string
14
+ data: unknown
15
+ indent: string
16
+ newline: string | undefined
17
+ }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * **Git Options**
3
+ *
4
+ * This configuration defines all of your git options. Because Stacks is full-typed, you may
5
+ * hover any of the options below and the definitions will be provided. In case you
6
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
7
+ */
8
+ export interface GitOptions {
9
+ /**
10
+ * **Git Hooks**
11
+ *
12
+ * The git hooks to use.
13
+ *
14
+ * @see https://git-scm.com/docs/githooks
15
+ * @example
16
+ * ```ts
17
+ * git: {
18
+ * hooks: {
19
+ * 'pre-commit': 'lint-staged',
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ hooks: GitHooks
25
+
26
+ /**
27
+ * **Git Commit Scopes**
28
+ *
29
+ * The git commit scopes to use.
30
+ *
31
+ * @see https://stacksjs.dev/docs/git/scopes
32
+ * @example
33
+ * git: [
34
+ * scopes: [
35
+ * '', 'ci', 'deps', 'dx', 'release', 'readme', 'test', 'actions', 'build', 'cli',
36
+ * 'config', 'examples', 'functions', 'modules', 'pages', 'router', 'scripts',
37
+ * 'ui', 'utils', 'arrays', 'collections', 'fs', 'objects', 'strings',
38
+ * ]
39
+ * ]
40
+ */
41
+ scopes: string[]
42
+
43
+ /**
44
+ * **Git Commit Types**
45
+ *
46
+ * The git commit types to use.
47
+ *
48
+ * @default array
49
+ * @see https://stacksjs.dev/docs/git/types
50
+ * @see https://www.conventionalcommits.org/en/v1.0.0/
51
+ * @example
52
+ * ```ts
53
+ * git: [
54
+ * types: [
55
+ * 'build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test',
56
+ * ]
57
+ * ]
58
+ * ```
59
+ */
60
+ types: {
61
+ value: string
62
+ name: string
63
+ emoji: string
64
+ }[]
65
+
66
+ /**
67
+ * **Messages—Options**
68
+ *
69
+ * The git messages/prompts to use.
70
+ *
71
+ * @default object
72
+ * @example
73
+ * ```ts
74
+ * messages: {
75
+ * type: 'Select the type of change that you\'re committing:',
76
+ * scope: 'Denote the SCOPE of this change:',
77
+ * subject: 'Write a SHORT, IMPERATIVE tense description of the change:\n',
78
+ * body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
79
+ * breaking: 'List any BREAKING CHANGES (optional):\n',
80
+ * footer: 'List any ISSUES CLOSED by this change (optional). E.g.: #31, #34:\n',
81
+ * confirmCommit: 'Are you sure you want to proceed with the commit above?',
82
+ * }
83
+ * ```
84
+ * @see https://stacksjs.dev/docs/git/messages
85
+ */
86
+ messages: {
87
+ type: string
88
+ scope: string
89
+ customScope: string
90
+ subject: string
91
+ body: string
92
+ breaking: string
93
+ footerPrefixesSelect: string
94
+ customFooterPrefixes: string
95
+ footer: string
96
+ confirmCommit: string
97
+ }
98
+ }
99
+
100
+ interface Hooks {
101
+ 'applypatch-msg'?: string
102
+ 'pre-applypatch'?: string
103
+ 'post-applypatch'?: string
104
+ 'pre-commit'?: string
105
+ 'pre-merge-commit'?: string
106
+ 'prepare-commit-msg'?: string
107
+ 'commit-msg'?: string
108
+ 'post-commit'?: string
109
+ 'pre-rebase'?: string
110
+ 'post-checkout'?: string
111
+ 'post-merge'?: string
112
+ 'pre-push'?: string
113
+ 'pre-receive'?: string
114
+ 'update'?: string
115
+ 'proc-receive'?: string
116
+ 'post-receive'?: string
117
+ 'post-update'?: string
118
+ 'reference-transaction'?: string
119
+ 'push-to-checkout'?: string
120
+ 'pre-auto-gc'?: string
121
+ 'post-rewrite'?: string
122
+ 'sendemail-validate'?: string
123
+ 'fsmonitor-watchman'?: string
124
+ 'p4-changelist'?: string
125
+ 'p4-prepare-changelist'?: string
126
+ 'p4-post-changelist'?: string
127
+ 'p4-pre-submit'?: string
128
+ 'post-index-change'?: string
129
+ }
130
+
131
+ export interface GitHooks extends Hooks {}