stacks 0.53.1 → 0.56.3

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 (461) hide show
  1. package/.gitignore +4 -2
  2. package/README.md +71 -74
  3. package/api/package.json +3 -2
  4. package/art/logo-dark.svg +11 -0
  5. package/art/logo.svg +11 -0
  6. package/auto-imports.d.ts +1182 -841
  7. package/components.d.ts +7 -9
  8. package/core/actions/build.config.ts +181 -9
  9. package/core/actions/package.json +6 -8
  10. package/core/actions/src/build/component-libs.ts +2 -12
  11. package/core/actions/src/dev/index.ts +6 -5
  12. package/core/actions/src/generate/index.ts +2 -2
  13. package/core/actions/src/generate/settings.ts +1 -1
  14. package/core/actions/src/helpers/lib-entries.ts +43 -35
  15. package/core/actions/src/helpers/utils.ts +7 -9
  16. package/core/actions/src/lint/index.ts +14 -2
  17. package/core/actions/src/make.ts +7 -4
  18. package/core/actions/src/migrate.ts +2 -2
  19. package/core/actions/src/prepublish.ts +2 -2
  20. package/core/actions/src/release.ts +1 -1
  21. package/core/actions/src/seed.ts +1 -1
  22. package/core/actions/src/upgrade/framework.ts +1 -1
  23. package/core/actions/src/upgrade.ts +3 -3
  24. package/core/ai/build.config.ts +5 -7
  25. package/core/ai/package.json +5 -9
  26. package/core/alias/build.config.ts +5 -7
  27. package/core/alias/package.json +3 -6
  28. package/core/alias/src/index.ts +6 -7
  29. package/core/analytics/build.config.ts +5 -7
  30. package/core/analytics/package.json +6 -6
  31. package/core/arrays/build.config.ts +4 -7
  32. package/core/arrays/package.json +8 -4
  33. package/core/arrays/src/contains.ts +23 -0
  34. package/core/arrays/src/helpers.ts +206 -0
  35. package/core/arrays/src/index.ts +4 -226
  36. package/core/arrays/src/macro.ts +135 -0
  37. package/core/arrays/src/math.ts +19 -0
  38. package/core/auth/build.config.ts +4 -7
  39. package/core/auth/package.json +3 -3
  40. package/core/buddy/README.md +73 -76
  41. package/core/buddy/build.config.ts +1 -2
  42. package/core/buddy/package.json +4 -4
  43. package/core/buddy/src/cli.ts +10 -18
  44. package/core/buddy/src/commands/add.ts +2 -2
  45. package/core/buddy/src/commands/build.ts +23 -16
  46. package/core/buddy/src/commands/create.ts +2 -2
  47. package/core/buddy/src/commands/dev.ts +31 -30
  48. package/core/buddy/src/commands/example.ts +8 -14
  49. package/core/buddy/src/commands/generate.ts +16 -14
  50. package/core/buddy/src/commands/key.ts +1 -1
  51. package/core/buddy/src/commands/lint.ts +4 -4
  52. package/core/buddy/src/commands/make.ts +20 -15
  53. package/core/buddy/src/commands/setting.ts +2 -2
  54. package/core/buddy/src/commands/upgrade.ts +18 -22
  55. package/core/buddy/src/commands/version.ts +1 -1
  56. package/core/build/build.config.ts +22 -7
  57. package/core/build/package.json +11 -10
  58. package/core/build/src/desktop.ts +2 -2
  59. package/core/build/src/example-vue.ts +5 -4
  60. package/core/build/src/example-wc.ts +5 -4
  61. package/core/build/src/functions.ts +9 -11
  62. package/core/build/src/index.ts +7 -7
  63. package/core/build/src/stacks.ts +31 -50
  64. package/core/build/src/{pages.ts → views.ts} +13 -14
  65. package/core/build/src/vue-components.ts +73 -12
  66. package/core/build/src/web-components.ts +12 -11
  67. package/core/build/web-types.ts +3 -3
  68. package/core/cache/build.config.ts +7 -7
  69. package/core/cache/package.json +17 -17
  70. package/core/cache/tests/DynamoDB.test.ts +19 -33
  71. package/core/chat/build.config.ts +5 -7
  72. package/core/chat/package.json +8 -8
  73. package/core/cli/build.config.ts +3 -2
  74. package/core/cli/package.json +3 -3
  75. package/core/cli/src/console.ts +75 -2
  76. package/core/cli/src/helpers.ts +1 -1
  77. package/core/cli/src/parse.ts +2 -2
  78. package/core/cli/src/run.ts +5 -6
  79. package/core/cloud/build.config.ts +4 -7
  80. package/core/cloud/package.json +17 -3
  81. package/core/cloud/src/aws/index.ts +9 -0
  82. package/core/cloud/src/aws/logger.ts +8 -0
  83. package/core/cloud/src/aws/metrics.ts +8 -0
  84. package/core/cloud/src/aws/stack.ts +12 -0
  85. package/core/cloud/src/aws/tracer.ts +3 -0
  86. package/core/cloud/src/index.ts +1 -1
  87. package/core/cloud/src/runtime/nodejs/bootstrap.ts +16 -0
  88. package/core/cloud/src/runtime/nodejs/build.sh +1 -0
  89. package/core/collections/build.config.ts +3 -7
  90. package/core/collections/package.json +3 -3
  91. package/core/config/build.config.ts +33 -33
  92. package/core/config/package.json +4 -4
  93. package/core/config/src/defaults.ts +0 -3
  94. package/core/config/src/stacks.ts +10 -11
  95. package/core/database/build.config.ts +1 -2
  96. package/core/database/package.json +3 -3
  97. package/core/database/src/factory/index.ts +1 -1
  98. package/core/database/src/migrations/index.ts +1 -1
  99. package/core/datetime/build.config.ts +1 -2
  100. package/core/datetime/package.json +3 -3
  101. package/core/datetime/src/index.ts +2 -1
  102. package/core/desktop/build.config.ts +2 -1
  103. package/core/desktop/package.json +6 -6
  104. package/core/development/build.config.ts +15 -8
  105. package/core/development/package.json +11 -5
  106. package/core/development/src/index.ts +2 -0
  107. package/core/{domains → dns}/README.md +2 -2
  108. package/core/dns/build.config.ts +22 -0
  109. package/core/{domains → dns}/package.json +13 -9
  110. package/core/dns/src/index.ts +18 -0
  111. package/core/docs/build.config.ts +1 -2
  112. package/core/docs/package.json +4 -4
  113. package/core/email/build.config.ts +1 -2
  114. package/core/email/package.json +15 -15
  115. package/core/email/src/drivers/emailjs.ts +1 -1
  116. package/core/email/src/drivers/mailgun.ts +1 -1
  117. package/core/email/src/drivers/mailjet.ts +2 -2
  118. package/core/email/src/drivers/mandrill.ts +1 -1
  119. package/core/email/src/drivers/netcore.ts +1 -1
  120. package/core/email/src/drivers/nodemailer.ts +1 -1
  121. package/core/email/src/drivers/postmark.ts +1 -1
  122. package/core/email/src/drivers/sendgrid.ts +1 -1
  123. package/core/error-handling/build.config.ts +7 -2
  124. package/core/error-handling/package.json +6 -4
  125. package/core/error-handling/src/index.ts +45 -0
  126. package/core/events/README.md +1 -1
  127. package/core/events/build.config.ts +1 -2
  128. package/core/events/package.json +3 -3
  129. package/core/events/src/index.ts +8 -1
  130. package/core/faker/build.config.ts +3 -1
  131. package/core/faker/package.json +4 -4
  132. package/core/git/build.config.ts +3 -1
  133. package/core/git/package.json +4 -4
  134. package/core/health/build.config.ts +3 -1
  135. package/core/health/package.json +3 -3
  136. package/core/lint/build.config.ts +3 -1
  137. package/core/lint/package.json +6 -6
  138. package/core/logging/build.config.ts +5 -3
  139. package/core/logging/package.json +6 -6
  140. package/core/modules/build.config.ts +10 -7
  141. package/core/modules/package.json +3 -3
  142. package/core/notifications/README.md +1 -1
  143. package/core/notifications/build.config.ts +2 -1
  144. package/core/notifications/package.json +25 -25
  145. package/core/notifications/src/tailwind.config.ts +1 -1
  146. package/core/notifications/tests/email/Mailgun.test.ts +4 -4
  147. package/core/notifications/tests/email/Sendgrid.test.ts +2 -2
  148. package/core/objects/build.config.ts +15 -7
  149. package/core/objects/package.json +5 -4
  150. package/core/orm/build.config.ts +1 -2
  151. package/core/orm/package.json +3 -3
  152. package/core/pages/build.config.ts +4 -7
  153. package/core/pages/package.json +3 -3
  154. package/core/pages/src/index.ts +2 -2
  155. package/core/path/build.config.ts +1 -2
  156. package/core/path/package.json +4 -5
  157. package/core/path/src/index.ts +84 -65
  158. package/core/payments/build.config.ts +4 -7
  159. package/core/payments/package.json +5 -5
  160. package/core/push/build.config.ts +4 -7
  161. package/core/push/package.json +5 -5
  162. package/core/query-builder/build.config.ts +4 -7
  163. package/core/query-builder/package.json +7 -7
  164. package/core/queue/build.config.ts +4 -7
  165. package/core/queue/package.json +3 -3
  166. package/core/realtime/build.config.ts +4 -7
  167. package/core/realtime/package.json +3 -3
  168. package/core/realtime/src/index.ts +3 -1
  169. package/core/repl/README.md +53 -0
  170. package/core/repl/build.config.ts +12 -0
  171. package/core/repl/package.json +56 -0
  172. package/core/repl/src/index.ts +1 -0
  173. package/core/repl/tests/example.test.ts +7 -0
  174. package/core/router/build.config.ts +13 -7
  175. package/core/router/package.json +4 -4
  176. package/core/router/src/index.ts +2 -0
  177. package/core/scheduler/build.config.ts +4 -7
  178. package/core/scheduler/package.json +4 -4
  179. package/core/search-engine/build.config.ts +17 -7
  180. package/core/search-engine/package.json +4 -4
  181. package/core/search-engine/src/index.ts +2 -2
  182. package/core/security/build.config.ts +17 -7
  183. package/core/security/package.json +4 -3
  184. package/core/security/src/crypt.ts +11 -2
  185. package/core/server/build.config.ts +3 -7
  186. package/core/server/package.json +5 -5
  187. package/core/signals/README.md +2 -2
  188. package/core/signals/build.config.ts +4 -7
  189. package/core/signals/package.json +4 -4
  190. package/core/signals/src/index.ts +1 -1
  191. package/core/slug/build.config.ts +4 -7
  192. package/core/slug/package.json +3 -3
  193. package/core/slug/src/index.ts +2 -1
  194. package/core/sms/build.config.ts +3 -1
  195. package/core/sms/package.json +13 -13
  196. package/core/storage/build.config.ts +3 -7
  197. package/core/storage/package.json +5 -5
  198. package/core/storage/src/index.ts +2 -22
  199. package/core/strings/build.config.ts +1 -2
  200. package/core/strings/package.json +9 -3
  201. package/core/strings/src/case.ts +12 -0
  202. package/core/strings/src/index.ts +2 -1
  203. package/core/strings/src/is.ts +170 -0
  204. package/core/strings/src/macro.ts +139 -0
  205. package/core/strings/src/utils.ts +10 -12
  206. package/core/testing/build.config.ts +3 -1
  207. package/core/testing/package.json +8 -8
  208. package/core/tinker/build.config.ts +12 -0
  209. package/core/tinker/package.json +15 -3
  210. package/core/tinker/src/index.ts +1 -0
  211. package/core/types/build.config.ts +17 -8
  212. package/core/types/package.json +25 -19
  213. package/core/types/src/app.ts +4 -4
  214. package/core/types/src/cli.ts +36 -34
  215. package/core/types/src/cron-jobs.ts +25 -4
  216. package/core/types/src/database.ts +12 -3
  217. package/core/types/src/errors.ts +19 -1
  218. package/core/types/src/events.ts +13 -5
  219. package/core/types/src/git.ts +1 -1
  220. package/core/types/src/index.ts +2 -1
  221. package/core/types/src/library.ts +0 -7
  222. package/core/types/src/model.ts +21 -7
  223. package/core/types/src/money.ts +3 -0
  224. package/core/types/src/notifications.ts +9 -7
  225. package/core/types/src/queue.ts +34 -0
  226. package/core/types/src/search-engine.ts +3 -3
  227. package/core/types/src/stacks.ts +1 -12
  228. package/core/ui/build.config.ts +5 -7
  229. package/core/ui/package.json +7 -7
  230. package/core/utils/build.config.ts +32 -7
  231. package/core/utils/package.json +16 -16
  232. package/core/utils/src/config.ts +88 -49
  233. package/core/utils/src/currency.ts +3 -0
  234. package/core/utils/src/delete.ts +1 -3
  235. package/core/utils/src/helpers.ts +11 -5
  236. package/core/validation/build.config.ts +18 -8
  237. package/core/validation/package.json +8 -6
  238. package/core/validation/src/index.ts +2 -0
  239. package/core/validation/src/is.ts +27 -174
  240. package/core/validation/src/rules.ts +126 -0
  241. package/core/validation/src/types/env.ts +147 -0
  242. package/core/validation/src/types/index.ts +2 -0
  243. package/core/validation/src/types/money.ts +17 -0
  244. package/core/validation/src/validate.ts +14 -25
  245. package/core/vite-plugin/README.md +59 -0
  246. package/core/vite-plugin/build.config.ts +21 -0
  247. package/core/vite-plugin/package.json +51 -0
  248. package/core/vite-plugin/src/index.ts +23 -0
  249. package/core/vite-plugin/tests/example.test.ts +7 -0
  250. package/dictionary.txt +228 -0
  251. package/docs/package.json +3 -2
  252. package/env.d.ts +7 -0
  253. package/ide/jetbrains/.fleet/run.json +5 -0
  254. package/ide/jetbrains/.fleet/settings.json +4 -0
  255. package/ide/jetbrains/.idea/.gitignore +5 -0
  256. package/ide/jetbrains/.idea/inspectionProfiles/Project_Default.xml +6 -0
  257. package/ide/jetbrains/.idea/jsLibraryMappings.xml +6 -0
  258. package/ide/jetbrains/.idea/jsLinters/eslint.xml +7 -0
  259. package/ide/jetbrains/.idea/modules.xml +8 -0
  260. package/ide/jetbrains/.idea/stacks.iml +69 -0
  261. package/ide/jetbrains/.idea/vcs.xml +6 -0
  262. package/ide/jetbrains/.idea/webResources.xml +14 -0
  263. package/ide/jetbrains/.idea/workspace.xml +225 -0
  264. package/ide/jetbrains/IntelliJ IDEA Global Settings +0 -0
  265. package/ide/jetbrains/installed.txt +4 -0
  266. package/ide/jetbrains/options/github-copilot.xml +5 -0
  267. package/ide/jetbrains/options/nodejs.xml +7 -0
  268. package/ide/jetbrains/options/templates.xml +124 -0
  269. package/ide/jetbrains/templates/JavaScript.xml +6 -0
  270. package/ide/jetbrains/templates/Stacks.xml +8 -0
  271. package/ide/vscode/.vscode/README.md +23 -0
  272. package/ide/vscode/.vscode/extensions.json +5 -0
  273. package/ide/vscode/.vscode/settings.json +111 -0
  274. package/ide/vscode/.vscode/stacks.code-snippets +182 -0
  275. package/ide/vscode/README.md +42 -0
  276. package/ide/vscode/logo.png +0 -0
  277. package/ide/vscode/package.json +64 -0
  278. package/{components → libs/components}/vue/main.ts +1 -1
  279. package/{components → libs/components}/vue/package.json +1 -1
  280. package/{components → libs/components}/web/package.json +1 -1
  281. package/libs/examples/vue/App.vue +12 -0
  282. package/libs/examples/vue/favicon.png +0 -0
  283. package/libs/examples/vue/index.html +20 -0
  284. package/libs/examples/web/favicon.png +0 -0
  285. package/libs/examples/web/index.html +13 -0
  286. package/libs/functions/package.json +41 -0
  287. package/package.json +104 -98
  288. package/reset.d.ts +1 -0
  289. package/scripts/ensure.sh +33 -0
  290. package/scripts/publish.sh +18 -0
  291. package/scripts/setup.sh +540 -0
  292. package/stacks/dashboard/README.md +74 -0
  293. package/{core/domains → stacks/dashboard}/build.config.ts +1 -1
  294. package/stacks/dashboard/package.json +46 -0
  295. package/stacks/dashboard/src/index.ts +0 -0
  296. package/stacks/dashboard/tests/example.test.ts +7 -0
  297. package/stacks/tables/README.md +109 -0
  298. package/stacks/tables/build.config.ts +16 -0
  299. package/stacks/tables/examples/vue/App.vue +12 -0
  300. package/stacks/tables/examples/vue/favicon.png +0 -0
  301. package/stacks/tables/examples/vue/index.html +20 -0
  302. package/stacks/tables/examples/web/favicon.png +0 -0
  303. package/stacks/tables/examples/web/index.html +13 -0
  304. package/stacks/tables/index.html +13 -0
  305. package/stacks/tables/package.json +57 -0
  306. package/stacks/tables/src/App.vue +23 -0
  307. package/stacks/tables/src/components/Demo.vue +84 -0
  308. package/stacks/tables/src/components/README.md +110 -0
  309. package/stacks/tables/src/components/Table.vue +342 -0
  310. package/stacks/tables/src/components/TableBody.vue +32 -0
  311. package/stacks/tables/src/components/TableCellActionItems.vue +9 -0
  312. package/stacks/tables/src/components/TableFilters.vue +704 -0
  313. package/stacks/tables/src/components/TableHead.vue +60 -0
  314. package/stacks/tables/src/components/TablePagination.vue +131 -0
  315. package/stacks/tables/src/components/TableRow.vue +73 -0
  316. package/stacks/tables/src/components/TableSearch.vue +39 -0
  317. package/stacks/tables/src/components/Tooltip.vue +10 -0
  318. package/stacks/tables/src/config/tables.ts +1 -0
  319. package/stacks/tables/src/docs/index.md +0 -0
  320. package/stacks/tables/src/functions/README.md +8 -0
  321. package/stacks/tables/src/functions/dark.ts +3 -0
  322. package/stacks/tables/src/functions/index.ts +2 -0
  323. package/stacks/tables/src/functions/table.ts +207 -0
  324. package/stacks/tables/src/main.ts +4 -0
  325. package/stacks/tables/tests/example.test.ts +7 -0
  326. package/stacks/tables/vite.config.ts +26 -0
  327. package/stacks/tinker/package.json +48 -0
  328. package/stacks/tinker/src/index.ts +1 -0
  329. package/stacks/x-ray/README.md +55 -0
  330. package/stacks/x-ray/build.config.ts +15 -0
  331. package/stacks/x-ray/index.html +13 -0
  332. package/stacks/x-ray/package.json +55 -0
  333. package/stacks/x-ray/routes/index.ts +19 -0
  334. package/stacks/x-ray/src/client.ts +14 -0
  335. package/stacks/x-ray/src/desktop/api/nitro.config.ts +19 -0
  336. package/stacks/x-ray/src/desktop/api/routes/api/logs.ts +7 -0
  337. package/stacks/x-ray/src/desktop/api/routes/api/store-logs.ts +22 -0
  338. package/stacks/x-ray/src/desktop/api/src/types.ts +7 -0
  339. package/stacks/x-ray/src/desktop/api/storage/index.ts +7 -0
  340. package/stacks/x-ray/src/desktop/app.vue +377 -0
  341. package/stacks/x-ray/src/desktop/functions/http.ts +26 -0
  342. package/stacks/x-ray/src/desktop/functions/types.ts +7 -0
  343. package/stacks/x-ray/src/desktop/main.ts +14 -0
  344. package/stacks/x-ray/src/desktop/modules/counter/mod.vue +44 -0
  345. package/stacks/x-ray/src/desktop/modules/fetcher/mod.vue +63 -0
  346. package/stacks/x-ray/src/desktop/plugins/unified/unified-app.ts +5 -0
  347. package/stacks/x-ray/src/desktop/plugins/unified/unified-styles.scss +0 -0
  348. package/stacks/x-ray/src/desktop/services/http.ts +45 -0
  349. package/stacks/x-ray/src/desktop/styles/app.scss +0 -0
  350. package/stacks/x-ray/src/http.ts +26 -0
  351. package/stacks/x-ray/src/index.ts +42 -0
  352. package/stacks/x-ray/src/ray.config.ts +27 -0
  353. package/stacks/x-ray/src/types.ts +8 -0
  354. package/stacks/x-ray/tests/example.test.ts +7 -0
  355. package/stacks.d.ts +22 -0
  356. package/tsconfig.json +21 -12
  357. package/vcs/github/CODE_OF_CONDUCT.md +83 -0
  358. package/vcs/github/CONTRIBUTING.md +190 -0
  359. package/vcs/github/EXPLANATIONS.md +41 -0
  360. package/vcs/github/FUNDING.yml +1 -0
  361. package/vcs/github/ISSUE_TEMPLATE/bug_report.yml +62 -0
  362. package/vcs/github/ISSUE_TEMPLATE/config.yml +10 -0
  363. package/vcs/github/ISSUE_TEMPLATE/feature_request.yml +44 -0
  364. package/vcs/github/SECURITY.md +70 -0
  365. package/vcs/github/renovate.json +5 -0
  366. package/vcs/github/stale.yml +14 -0
  367. package/vcs/github/workflows/README.md +16 -0
  368. package/vcs/github/workflows/ci.yml +173 -0
  369. package/vcs/github/workflows/export-size.yml +32 -0
  370. package/vcs/github/workflows/release.yml +57 -0
  371. package/{pages → views}/desktop/src/Cargo.lock +363 -46
  372. package/{pages → views}/desktop/src/Cargo.toml +2 -2
  373. package/{pages → views}/web/main.ts +2 -2
  374. package/api/serverless.yml +0 -11
  375. package/core/actions/node_modules/.bin/markdown-it +0 -17
  376. package/core/actions/node_modules/.bin/unbuild +0 -17
  377. package/core/build/entries/README.md +0 -7
  378. package/core/build/node_modules/.bin/unbuild +0 -17
  379. package/core/build/node_modules/.bin/vite +0 -17
  380. package/core/build/node_modules/.bin/vite-ssg +0 -17
  381. package/core/build/node_modules/.bin/vue-docgen-web-types +0 -17
  382. package/core/desktop/node_modules/.bin/tauri +0 -17
  383. package/core/development/node_modules/.bin/tsc +0 -17
  384. package/core/development/node_modules/.bin/tsserver +0 -17
  385. package/core/development/node_modules/.bin/tsx +0 -17
  386. package/core/development/node_modules/.bin/unbuild +0 -17
  387. package/core/docs/node_modules/.bin/vitepress +0 -17
  388. package/core/email/node_modules/.bin/maizzle +0 -17
  389. package/core/git/node_modules/.bin/bumpp +0 -17
  390. package/core/git/node_modules/.bin/changelogen +0 -17
  391. package/core/git/node_modules/.bin/commitizen +0 -17
  392. package/core/git/node_modules/.bin/cz +0 -17
  393. package/core/git/node_modules/.bin/giget +0 -17
  394. package/core/git/node_modules/.bin/git-cz +0 -17
  395. package/core/git/node_modules/.bin/simple-git-hooks +0 -17
  396. package/core/lint/node_modules/.bin/eslint +0 -17
  397. package/core/lint/node_modules/.bin/lint-staged +0 -17
  398. package/core/lint/node_modules/.bin/publint +0 -17
  399. package/core/logging/node_modules/.bin/tsc +0 -17
  400. package/core/logging/node_modules/.bin/tsserver +0 -17
  401. package/core/logging/node_modules/.bin/tsx +0 -17
  402. package/core/logging/node_modules/.bin/unbuild +0 -17
  403. package/core/notifications/node_modules/.bin/maizzle +0 -17
  404. package/core/server/node_modules/.bin/nitro +0 -17
  405. package/core/server/node_modules/.bin/nitropack +0 -17
  406. package/core/server/node_modules/.bin/vite +0 -17
  407. package/core/testing/node_modules/.bin/playwright +0 -17
  408. package/core/testing/node_modules/.bin/tsc +0 -17
  409. package/core/testing/node_modules/.bin/tsserver +0 -17
  410. package/core/testing/node_modules/.bin/unbuild +0 -17
  411. package/core/testing/node_modules/.bin/vitest +0 -17
  412. package/core/tinker/node_modules/.bin/tsx +0 -17
  413. package/core/types/node_modules/.bin/markdown-it +0 -17
  414. package/core/types/node_modules/.bin/vite +0 -17
  415. package/core/types/node_modules/.bin/vite-ssg +0 -17
  416. package/core/types/node_modules/.bin/vitepress +0 -17
  417. package/core/types/src/markdown.ts +0 -198
  418. package/core/ui/node_modules/.bin/vue-tsc +0 -17
  419. package/core/utils/node_modules/.bin/rimraf +0 -17
  420. package/core/utils/node_modules/.bin/semver +0 -17
  421. package/docs/node_modules/.bin/rimraf +0 -17
  422. package/docs/node_modules/.bin/vitepress +0 -17
  423. /package/core/{domains → dns}/tests/example.test.ts +0 -0
  424. /package/{LICENSE.md → ide/vscode/LICENSE.md} +0 -0
  425. /package/{components → libs/components}/vue/index.html +0 -0
  426. /package/{core/domains/src → stacks/tables/src/cli}/index.ts +0 -0
  427. /package/{pages → views}/desktop/.gitignore +0 -0
  428. /package/{pages → views}/desktop/README.md +0 -0
  429. /package/{pages → views}/desktop/index.html +0 -0
  430. /package/{pages → views}/desktop/package.json +0 -0
  431. /package/{pages → views}/desktop/public/favicon.svg +0 -0
  432. /package/{pages → views}/desktop/src/.gitignore +0 -0
  433. /package/{pages → views}/desktop/src/build.rs +0 -0
  434. /package/{pages → views}/desktop/src/icons/128x128.png +0 -0
  435. /package/{pages → views}/desktop/src/icons/128x128@2x.png +0 -0
  436. /package/{pages → views}/desktop/src/icons/32x32.png +0 -0
  437. /package/{pages → views}/desktop/src/icons/Square107x107Logo.png +0 -0
  438. /package/{pages → views}/desktop/src/icons/Square142x142Logo.png +0 -0
  439. /package/{pages → views}/desktop/src/icons/Square150x150Logo.png +0 -0
  440. /package/{pages → views}/desktop/src/icons/Square284x284Logo.png +0 -0
  441. /package/{pages → views}/desktop/src/icons/Square30x30Logo.png +0 -0
  442. /package/{pages → views}/desktop/src/icons/Square310x310Logo.png +0 -0
  443. /package/{pages → views}/desktop/src/icons/Square44x44Logo.png +0 -0
  444. /package/{pages → views}/desktop/src/icons/Square71x71Logo.png +0 -0
  445. /package/{pages → views}/desktop/src/icons/Square89x89Logo.png +0 -0
  446. /package/{pages → views}/desktop/src/icons/StoreLogo.png +0 -0
  447. /package/{pages → views}/desktop/src/icons/icon.icns +0 -0
  448. /package/{pages → views}/desktop/src/icons/icon.ico +0 -0
  449. /package/{pages → views}/desktop/src/icons/icon.png +0 -0
  450. /package/{pages → views}/desktop/src/src/main.rs +0 -0
  451. /package/{pages → views}/desktop/src/tauri.conf.json +0 -0
  452. /package/{pages → views}/web/App.vue +0 -0
  453. /package/{pages → views}/web/index.html +0 -0
  454. /package/{pages → views}/web/public/_headers +0 -0
  455. /package/{pages → views}/web/public/favicon-dark.svg +0 -0
  456. /package/{pages → views}/web/public/favicon.svg +0 -0
  457. /package/{pages → views}/web/public/pwa-192x192.png +0 -0
  458. /package/{pages → views}/web/public/pwa-512x512.png +0 -0
  459. /package/{pages → views}/web/public/safari-pinned-tab.svg +0 -0
  460. /package/{pages → views}/web/styles/main.css +0 -0
  461. /package/{pages → views}/web/styles/markdown.css +0 -0
package/components.d.ts CHANGED
@@ -3,19 +3,17 @@
3
3
  // @ts-nocheck
4
4
  // Generated by unplugin-vue-components
5
5
  // Read more: https://github.com/vuejs/core/pull/3399
6
- import '@vue/runtime-core'
7
-
8
6
  export {}
9
7
 
10
- declare module '@vue/runtime-core' {
8
+ declare module 'vue' {
11
9
  export interface GlobalComponents {
12
- Counter: typeof import('./../components/Buttons/Counter.vue')['default']
13
- Demo: typeof import('./../components/Demo.vue')['default']
14
- HelloWorld: typeof import('./../components/HelloWorld.vue')['default']
15
- Logo: typeof import('./../components/Logo.vue')['default']
16
- README: typeof import('./../components/README.md')['default']
10
+ Counter: typeof import('./../resources/components/Buttons/Counter.vue')['default']
11
+ Demo: typeof import('./../resources/components/Demo.vue')['default']
12
+ HelloWorld: typeof import('./../resources/components/HelloWorld.vue')['default']
13
+ Logo: typeof import('./../resources/components/Logo.vue')['default']
14
+ README: typeof import('./../resources/components/README.md')['default']
17
15
  RouterLink: typeof import('vue-router')['RouterLink']
18
16
  RouterView: typeof import('vue-router')['RouterView']
19
- ToggleDark: typeof import('./../components/Buttons/ToggleDark.vue')['default']
17
+ ToggleDark: typeof import('./../resources/components/Buttons/ToggleDark.vue')['default']
20
18
  }
21
19
  }
@@ -1,14 +1,186 @@
1
- import { defineBuildConfig } from 'unbuild'
1
+ import type { BuildConfig } from '@stacksjs/development'
2
+ import { alias, defineBuildConfig } from '@stacksjs/development'
2
3
 
3
- export default defineBuildConfig({
4
- entries: [
5
- {
4
+ const entries: BuildConfig['entries'] = process.env.npm_lifecycle_script?.includes('--stub')
5
+ ? [
6
+ {
7
+ input: './src/build/component-libs',
8
+ name: 'build/component-libs',
9
+ outDir: './dist/build/',
10
+ }, {
11
+ input: './src/build/core',
12
+ name: 'build/core',
13
+ outDir: './dist/build/',
14
+ }, {
15
+ input: './src/build/stacks',
16
+ name: 'build/stacks',
17
+ outDir: './dist/build/',
18
+ }, {
19
+ input: './src/deploy/domains',
20
+ name: 'deploy/domains',
21
+ outDir: './dist/deploy/',
22
+ }, {
23
+ input: './src/dev/index',
24
+ name: 'dev/index',
25
+ outDir: './dist/dev/',
26
+ }, {
27
+ input: './src/dev/components',
28
+ name: 'dev/components',
29
+ outDir: './dist/dev/',
30
+ }, {
31
+ input: './src/dev/docs',
32
+ name: 'dev/docs',
33
+ outDir: './dist/dev/',
34
+ }, {
35
+ input: './src/generate/index',
36
+ name: 'generate/index',
37
+ outDir: './dist/generate/',
38
+ }, {
39
+ input: './src/generate/component-meta',
40
+ name: 'generate/component-meta',
41
+ outDir: './dist/generate/',
42
+ }, {
43
+ input: './src/generate/ide-helpers',
44
+ name: 'generate/ide-helpers',
45
+ outDir: './dist/generate/',
46
+ }, {
47
+ input: './src/generate/lib-entries',
48
+ name: 'generate/lib-entries',
49
+ outDir: './dist/generate/',
50
+ }, {
51
+ input: './src/generate/settings',
52
+ name: 'generate/settings',
53
+ outDir: './dist/generate/',
54
+ }, {
55
+ input: './src/generate/vscode-custom-data',
56
+ name: 'generate/vscode-custom-data',
57
+ outDir: './dist/generate/',
58
+ }, {
59
+ input: './src/generate/vue-compat',
60
+ name: 'generate/vue-compat',
61
+ outDir: './dist/generate/',
62
+ }, {
63
+ input: './src/helpers/index',
64
+ name: 'helpers/index',
65
+ outDir: './dist/helpers/',
66
+ }, {
67
+ input: './src/helpers/index',
68
+ name: 'helpers/index',
69
+ outDir: './dist/helpers/',
70
+ }, {
71
+ input: './src/helpers/component-meta',
72
+ name: 'helpers/component-meta',
73
+ outDir: './dist/helpers/',
74
+ }, {
75
+ input: './src/helpers/lib-entries',
76
+ name: 'helpers/lib-entries',
77
+ outDir: './dist/helpers/',
78
+ }, {
79
+ input: './src/helpers/package-json',
80
+ name: 'helpers/package-json',
81
+ outDir: './dist/helpers/',
82
+ }, {
83
+ input: './src/helpers/utils',
84
+ name: 'helpers/utils',
85
+ outDir: './dist/helpers/',
86
+ }, {
87
+ input: './src/helpers/vscode-custom-data',
88
+ name: 'helpers/vscode-custom-data',
89
+ outDir: './dist/helpers/',
90
+ }, {
91
+ input: './src/helpers/vue-compat',
92
+ name: 'helpers/vue-compat',
93
+ outDir: './dist/helpers/',
94
+ }, {
95
+ input: './src/lint/index',
96
+ name: 'lint/index',
97
+ outDir: './dist/lint/',
98
+ }, {
99
+ input: './src/lint/fix',
100
+ name: 'lint/fix',
101
+ outDir: './dist/lint/',
102
+ }, {
103
+ input: './src/test/coverage',
104
+ name: 'test/coverage',
105
+ outDir: './dist/test/',
106
+ }, {
107
+ input: './src/test/feature',
108
+ name: 'test/feature',
109
+ outDir: './dist/test/',
110
+ }, {
111
+ input: './src/test/ui',
112
+ name: 'test/ui',
113
+ outDir: './dist/test/',
114
+ }, {
115
+ input: './src/test/unit',
116
+ name: 'test/unit',
117
+ outDir: './dist/test/',
118
+ },
119
+ {
120
+ input: './src/upgrade/dependencies',
121
+ name: 'upgrade/dependencies',
122
+ outDir: './dist/upgrade/',
123
+ },
124
+ {
125
+ input: './src/upgrade/framework',
126
+ name: 'upgrade/framework',
127
+ outDir: './dist/upgrade/',
128
+ },
129
+ {
130
+ input: './src/upgrade/index',
131
+ name: 'upgrade/index',
132
+ outDir: './dist/upgrade/',
133
+ },
134
+ './src/index',
135
+ './src/add',
136
+ './src/build.ts', // we need to be specific here because we have a build folder
137
+ './src/bump',
138
+ './src/changelog',
139
+ './src/clean',
140
+ './src/commit',
141
+ './src/copy-types',
142
+ './src/deploy.ts',
143
+ './src/examples',
144
+ './src/fresh',
145
+ './src/key-generate',
146
+ './src/make',
147
+ './src/migrate',
148
+ './src/preinstall',
149
+ './src/prepublish',
150
+ './src/release',
151
+ './src/seed',
152
+ './src/test.ts', // we need to be specific here because we have a build folder
153
+ './src/tinker',
154
+ './src/typecheck',
155
+ './src/types',
156
+ './src/upgrade.ts', // we need to be specific here because we have a build folder
157
+ ]
158
+ : [{
6
159
  builder: 'mkdist',
7
- input: './src/',
8
- outDir: './dist/',
9
- format: 'esm',
10
- },
11
- ],
160
+ input: './src',
161
+ outDir: './dist',
162
+ }]
163
+
164
+ export default defineBuildConfig({
165
+ alias,
166
+
167
+ entries,
168
+
169
+ // externals: [
170
+ // '@stacksjs/cli',
171
+ // '@stacksjs/database',
172
+ // '@stacksjs/logging',
173
+ // '@stacksjs/path',
174
+ // '@stacksjs/utils',
175
+ // '@stacksjs/storage',
176
+ // '@stacksjs/types',
177
+ // ],
178
+
179
+ // rollup: {
180
+ // esbuild: {
181
+ // target: 'esnext',
182
+ // },
183
+ // },
12
184
 
13
185
  clean: true,
14
186
  declaration: true,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/actions",
3
3
  "type": "module",
4
- "version": "0.53.1",
5
- "packageManager": "pnpm@8.5.1",
4
+ "version": "0.56.3",
5
+ "packageManager": "pnpm@8.6.5",
6
6
  "description": "The Stacks actions.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -236,7 +236,7 @@
236
236
  "scripts": {
237
237
  "build": "unbuild",
238
238
  "dev": "unbuild --stub",
239
- "prepublishOnly": "pnpm run build",
239
+ "prepublishOnly": "unbuild",
240
240
  "typecheck": "tsc --noEmit"
241
241
  },
242
242
  "peerDependencies": {
@@ -252,7 +252,7 @@
252
252
  "@stacksjs/types": "workspace:*",
253
253
  "@stacksjs/utils": "workspace:*",
254
254
  "markdown-it": "^13.0.1",
255
- "vue-component-meta": "^1.6.5"
255
+ "vue-component-meta": "^1.8.2"
256
256
  },
257
257
  "dependencies": {
258
258
  "@stacksjs/cli": "workspace:*",
@@ -269,11 +269,9 @@
269
269
  "fast-glob": "^3.2.12",
270
270
  "fs-extra": "^11.1.1",
271
271
  "markdown-it": "^13.0.1",
272
- "vue-component-meta": "^1.6.5"
272
+ "vue-component-meta": "^1.8.2"
273
273
  },
274
274
  "devDependencies": {
275
- "@stacksjs/development": "workspace:*",
276
- "@stacksjs/types": "workspace:*",
277
- "unbuild": "^1.2.1"
275
+ "@stacksjs/development": "workspace:*"
278
276
  }
279
277
  }
@@ -1,15 +1,5 @@
1
- import { log } from '@stacksjs/logging'
2
1
  import { frameworkPath } from '@stacksjs/path'
3
2
  import { runCommand } from '@stacksjs/cli'
3
+ import { NpmScript } from '@stacksjs/types'
4
4
 
5
- log.info('Building Component Libraries...')
6
-
7
- // run the `npx mkdist -d` command to build the dist folder
8
- const result = await runCommand('npx mkdist -d', { verbose: true, cwd: frameworkPath() })
9
-
10
- if (result.isErr()) {
11
- log.error('There was an error running `npx mkdist -d`.', result.error)
12
- process.exit()
13
- }
14
-
15
- log.success('Building Stacks was successful.')
5
+ await runCommand(NpmScript.BuildComponents, { cwd: frameworkPath(), verbose: true })
@@ -1,24 +1,25 @@
1
1
  import { log } from '@stacksjs/logging'
2
- import { runNpmScript } from '@stacksjs/utils'
2
+ import { frameworkPath } from '@stacksjs/path'
3
+ import { runCommand } from '@stacksjs/cli'
3
4
  import type { DevOptions } from '@stacksjs/types'
4
5
  import { NpmScript } from '@stacksjs/types'
5
6
 
6
7
  export async function components(options: DevOptions) {
7
8
  log.info('Starting your components dev server...')
8
- await runNpmScript(NpmScript.DevComponents, options)
9
+ await runCommand(NpmScript.DevComponents, { ...options, cwd: frameworkPath() })
9
10
  }
10
11
 
11
12
  export async function desktop(options: DevOptions) {
12
13
  log.info('Starting your Desktop engine...')
13
- await runNpmScript(NpmScript.DevDesktop, options)
14
+ await runCommand(NpmScript.DevDesktop, options)
14
15
  }
15
16
 
16
17
  export async function pages(options: DevOptions) {
17
18
  log.info('Starting your page engine...')
18
- await runNpmScript(NpmScript.DevPages, options)
19
+ await runCommand(NpmScript.DevPages, options)
19
20
  }
20
21
 
21
22
  export async function functions(options: DevOptions) {
22
23
  log.info('Starting your function\'s dev server...')
23
- await runNpmScript(NpmScript.DevFunctions, options)
24
+ await runCommand(NpmScript.DevFunctions, options)
24
25
  }
@@ -40,10 +40,10 @@ export async function generate(options: GeneratorOptions) {
40
40
  }
41
41
 
42
42
  export async function libEntries(options: GeneratorOptions) {
43
- const result = await runAction(Action.GeneratePackageJsons, { ...options, verbose: true, cwd: projectPath() })
43
+ const result = await runAction(Action.GenerateLibraryEntries, { ...options, verbose: true, cwd: projectPath() })
44
44
 
45
45
  if (result.isErr()) {
46
- log.error('There was an error generating your library entry points.', result.error)
46
+ log.error('There was an error generating your library entry points', result.error)
47
47
  process.exit()
48
48
  }
49
49
 
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- // import { generateSettings } from '@stacksjs/pages'
2
+ // import { generateSettings } from '@stacksjs/views'
3
3
  //
4
4
  // await generateSettings()
@@ -1,81 +1,89 @@
1
1
  import { log } from '@stacksjs/logging'
2
2
  import { kebabCase } from '@stacksjs/strings'
3
- import { libraryEntryPath } from '@stacksjs/path'
3
+ import type { LibraryType } from '@stacksjs/path'
4
+ import { componentsPath, functionsPath, libraryEntryPath } from '@stacksjs/path'
4
5
  import { writeTextFile } from '@stacksjs/storage'
5
6
  import { determineResetPreset } from '@stacksjs/utils'
6
- import type { LibEntryType } from '@stacksjs/types'
7
7
  import { library } from '@stacksjs/config'
8
+ import { ExitCode } from '@stacksjs/types'
8
9
 
9
10
  /**
10
11
  * Based on the config values, this method
11
12
  * will generate the library entry points.
12
13
  *
13
- * @param type string
14
+ * @param type LibraryType
14
15
  */
15
- export async function generateLibEntry(type: LibEntryType) {
16
- try {
17
- if (type === 'vue-components')
18
- await createVueLibraryEntryPoint()
16
+ export async function generateLibEntry(type: LibraryType) {
17
+ await createLibraryEntryPoint(type)
18
+ }
19
19
 
20
- if (type === 'web-components')
21
- await createWebComponentLibraryEntryPoint()
20
+ export async function createLibraryEntryPoint(type: LibraryType) {
21
+ if (type === 'vue-components')
22
+ await createVueLibraryEntryPoint()
22
23
 
23
- if (type === 'functions')
24
- await createFunctionLibraryEntryPoint()
25
- }
26
- catch (err) {
27
- log.error('There was an error generating the library entry point', err)
28
- process.exit()
29
- }
24
+ if (type === 'web-components')
25
+ await createWebComponentLibraryEntryPoint()
26
+
27
+ if (type === 'functions')
28
+ await createFunctionLibraryEntryPoint()
30
29
  }
31
30
 
32
- export async function createVueLibraryEntryPoint() {
31
+ export async function createVueLibraryEntryPoint(type: LibraryType = 'vue-components') {
33
32
  log.info('Creating the Vue component library entry point...')
34
33
 
35
34
  await writeTextFile({
36
- path: libraryEntryPath('vue-components'),
37
- data: generateEntryPointData('vue-components'),
35
+ path: libraryEntryPath(type),
36
+ data: generateEntryPointData(type),
37
+ }).catch((err) => {
38
+ log.error(new Error('There was an error generating the Vue component library entry point.', err))
39
+ process.exit(ExitCode.FatalError)
38
40
  })
39
41
 
40
42
  log.success('Created the Vue component library entry point')
41
43
  }
42
44
 
43
- export async function createWebComponentLibraryEntryPoint() {
45
+ export async function createWebComponentLibraryEntryPoint(type: LibraryType = 'web-components') {
44
46
  log.info('Creating the Web Component library entry point...')
45
47
 
46
48
  await writeTextFile({
47
- path: libraryEntryPath('web-components'),
48
- data: generateEntryPointData('web-components'),
49
+ path: libraryEntryPath(type),
50
+ data: generateEntryPointData(type),
51
+ }).catch((err) => {
52
+ log.error(new Error('There was an error generating the Web Component library entry point', err))
53
+ process.exit(ExitCode.FatalError)
49
54
  })
50
55
 
51
56
  log.success('Created Web Component library entry point')
52
57
  }
53
58
 
54
- export async function createFunctionLibraryEntryPoint() {
59
+ export async function createFunctionLibraryEntryPoint(type: LibraryType = 'functions') {
55
60
  log.info('Creating the Function library entry point...')
56
61
 
57
62
  await writeTextFile({
58
- path: libraryEntryPath('functions'),
59
- data: generateEntryPointData('functions'),
63
+ path: libraryEntryPath(type),
64
+ data: generateEntryPointData(type),
65
+ }).catch((err) => {
66
+ log.error(new Error('There was an error generating Function library entry point', err))
67
+ process.exit(ExitCode.FatalError)
60
68
  })
61
69
 
62
70
  log.success('Created Functions library entry point')
63
71
  }
64
72
 
65
- export function generateEntryPointData(type: 'vue-components' | 'web-components' | 'functions'): string {
73
+ export function generateEntryPointData(type: LibraryType): string {
66
74
  let arr = []
67
75
 
68
76
  if (type === 'functions') {
69
77
  if (!library.functions?.functions) {
70
- log.error('There are no functions defined to be built. Please check your config/library.ts file for potential adjustments.')
78
+ log.error(new Error('There are no functions defined to be built. Please check your config/library.ts file for potential adjustments'))
71
79
  process.exit()
72
80
  }
73
81
 
74
82
  for (const fx of library.functions?.functions) {
75
83
  if (Array.isArray(fx))
76
- arr.push(`export * as ${fx[1]} from '../../../resources/functions/${fx[0]}'`)
84
+ arr.push(`export * as ${fx[1]} from '${functionsPath(fx[0])}'`)
77
85
  else
78
- arr.push(`export * from '../../../resources/functions/${fx}'`)
86
+ arr.push(`export * from '${functionsPath(fx)}'`)
79
87
  }
80
88
 
81
89
  // join the array into a string with each element being on a new line
@@ -84,7 +92,7 @@ export function generateEntryPointData(type: 'vue-components' | 'web-components'
84
92
 
85
93
  if (type === 'vue-components') {
86
94
  if (!library.vueComponents?.tags) {
87
- log.error('There are no components defined to be built. Please check your config/library.ts file for potential adjustments.')
95
+ log.error(new Error('There are no components defined to be built. Please check your config/library.ts file for potential adjustments'))
88
96
  process.exit()
89
97
  }
90
98
 
@@ -92,9 +100,9 @@ export function generateEntryPointData(type: 'vue-components' | 'web-components'
92
100
 
93
101
  for (const component of library.vueComponents?.tags.map(tag => tag.name)) {
94
102
  if (Array.isArray(component))
95
- arr.push(`export { default as ${component[1]} } from '../../../resources/components/${component[0]}.vue'`)
103
+ arr.push(`export { default as ${component[1]} } from '${componentsPath(component[0])}.vue'`)
96
104
  else
97
- arr.push(`export { default as ${component} } from '../../../resources/components/${component}.vue'`)
105
+ arr.push(`export { default as ${component} } from '${componentsPath(component)}.vue'`)
98
106
  }
99
107
 
100
108
  // join the array into a string with each element being on a new line
@@ -108,18 +116,18 @@ export function generateEntryPointData(type: 'vue-components' | 'web-components'
108
116
  const definitions = []
109
117
 
110
118
  if (!library.webComponents?.tags) {
111
- log.error('There are no components defined to be built. Please check your config/library.ts file for potential adjustments.')
119
+ log.error(new Error('There are no components defined to be built. Please check your config/library.ts file for potential adjustments'))
112
120
  process.exit()
113
121
  }
114
122
 
115
123
  for (const component of library.webComponents?.tags.map(tag => tag.name)) {
116
124
  if (Array.isArray(component)) {
117
- imports.push(`import ${component[1]} from '../../../resources/components/${component[0]}.vue'`)
125
+ imports.push(`import ${component[1]} from '${componentsPath(component[0])}.vue'`)
118
126
  declarations.push(`const ${component[1]}CustomElement = defineCustomElement(${component[1]})`)
119
127
  definitions.push(`customElements.define('${kebabCase(component[1])}', ${component[1]}CustomElement)`)
120
128
  }
121
129
  else {
122
- imports.push(`import ${component} from '../../../resources/components/${component}.vue'`)
130
+ imports.push(`import ${component} from '${componentsPath(component)}.vue'`)
123
131
  declarations.push(`const ${component}CustomElement = defineCustomElement(${component})`)
124
132
  definitions.push(`customElements.define('${kebabCase(component)}', ${component}CustomElement)`)
125
133
  }
@@ -1,4 +1,4 @@
1
- import { storage } from '@stacksjs/storage'
1
+ import * as storage from '@stacksjs/storage'
2
2
  import { italic, log, runCommand, runCommands } from '@stacksjs/cli'
3
3
  import { actionsPath, functionsPath } from '@stacksjs/path'
4
4
  import type { ActionOptions, CommandResult } from '@stacksjs/types'
@@ -11,10 +11,11 @@ function parseOptions(options?: ActionOptions) {
11
11
  const parsedOptions = Object.entries(options).map(([key, value]) => {
12
12
  if (key.length === 1)
13
13
  return `-${key}=${value}`
14
+
14
15
  if (typeof value === 'boolean' && value) // if the value is a boolean and true, just return the key
15
16
  return `--${key}`
16
- else
17
- return `--${key}=${value}`
17
+
18
+ return `--${key}=${value}`
18
19
  })
19
20
 
20
21
  // filter out undefined values and join the array
@@ -26,7 +27,7 @@ export type ActionResult = CommandResult
26
27
  /**
27
28
  * Run an Action the Stacks way.
28
29
  *
29
- * @param command The action to invoke.
30
+ * @param action The action to invoke.
30
31
  * @param options The options to pass to the command.
31
32
  * @returns The result of the command.
32
33
  */
@@ -49,7 +50,7 @@ export async function runAction(action: string, options?: ActionOptions): Promis
49
50
  /**
50
51
  * Run Actions the Stacks way.
51
52
  *
52
- * @param command The action to invoke.
53
+ * @param actions The actions to invoke.
53
54
  * @param options The options to pass to the command.
54
55
  * @returns The result of the command.
55
56
  */
@@ -71,8 +72,5 @@ export function hasAction(action: string) {
71
72
  if (storage.isFile(functionsPath(`actions/${action}.ts`)))
72
73
  return true
73
74
 
74
- if (storage.isFile(actionsPath(`${action}.ts`)))
75
- return true
76
-
77
- return false
75
+ return storage.isFile(actionsPath(`${action}.ts`))
78
76
  }
@@ -1,5 +1,17 @@
1
- import { runCommand } from '@stacksjs/cli'
1
+ import { ExitCode, runCommands } from '@stacksjs/cli'
2
2
  import { projectPath } from '@stacksjs/path'
3
3
  import { NpmScript } from '@stacksjs/types'
4
4
 
5
- await runCommand(NpmScript.Lint, { cwd: projectPath(), verbose: true })
5
+ export default async function lintAction() {
6
+ const result = await runCommands([
7
+ NpmScript.Lint,
8
+ NpmScript.LintPackageJson,
9
+ ], { cwd: projectPath(), verbose: true })
10
+
11
+ if (Array.isArray(result)) {
12
+ if (result.map(r => r.isErr()).includes(true))
13
+ process.exit(ExitCode.FatalError)
14
+ }
15
+
16
+ process.exit(ExitCode.Success)
17
+ }
@@ -295,23 +295,26 @@ export async function createModel(options: MakeOptions) {
295
295
  try {
296
296
  await writeTextFile({
297
297
  path: `${path}`,
298
- data: `import { faker } from '../../.stacks/core/faker/src' // stacks/faker or
299
- import { validate } from '../../.stacks/core/validation/src' // stacks/validate or @stacksjs/validate
300
- import type { Model } from '../../.stacks/core/types/src' // stacks/types or @stacksjs/types
298
+ data: `import { faker } from '@stacksjs/faker'
299
+ import { validate } from '@stacksjs/validation'
300
+ import type { Model } from '@stacksjs/types'
301
301
 
302
302
  export default <Model> {
303
303
  name: '${name}',
304
+
304
305
  searchable: true, // boolean | IndexSettings,
305
306
  authenticatable: true, // boolean | AuthSettings,
307
+
306
308
  seeder: {
307
309
  count: 10,
308
310
  },
311
+
309
312
  fields: {
310
313
  name: {
311
- type: 'String',
312
314
  validation: validate.string().min(3).max(255),
313
315
  factory: () => faker.person,
314
316
  },
317
+
315
318
  // more fields here
316
319
  },
317
320
  }`,
@@ -1,3 +1,3 @@
1
- import { migrations } from '@stacksjs/actions/generate'
1
+ import { migrations as generateMigrations } from './generate'
2
2
 
3
- await migrations()
3
+ await generateMigrations()
@@ -6,10 +6,10 @@ import { NpmScript } from '@stacksjs/types'
6
6
  log.info('Running prepublish command...')
7
7
 
8
8
  // right before we publish, we need to build Stacks
9
- const result = await runNpmScript(NpmScript.BuildStacks, { verbose: true, cwd: runtimePath() }) // TODO: add flag for debug mode
9
+ const result = await runNpmScript(NpmScript.BuildStacks, { verbose: true, cwd: runtimePath() })
10
10
 
11
11
  if (result.isErr()) {
12
- log.error('There was an error while prepublishing your stack, during the process of building Stacks.', result.error)
12
+ log.error(new Error('There was an error while prepublishing your stack'), result.error)
13
13
  process.exit()
14
14
  }
15
15
 
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { frameworkPath } from '@stacksjs/path'
3
- import { runActions } from '@stacksjs/actions'
4
3
  import { Action } from '@stacksjs/types'
5
4
  import { log } from '@stacksjs/cli'
6
5
  import { app } from '@stacksjs/config'
6
+ import { runActions } from './'
7
7
 
8
8
  await runActions([
9
9
  Action.GenerateLibraryEntries, // generates the package/library entry points
@@ -1,3 +1,3 @@
1
- import { seeder } from '@stacksjs/actions/generate'
1
+ import { seeder } from './generate'
2
2
 
3
3
  await seeder()
@@ -1,5 +1,5 @@
1
1
  // import { log, outro } from '@stacksjs/cli'
2
- // import { storage } from '@stacksjs/storage'
2
+ // import * as storage from '@stacksjs/storage'
3
3
  // import { determineDebugLevel, loop } from '@stacksjs/utils'
4
4
  // import { frameworkPath, projectPath } from '@stacksjs/path'
5
5
  //