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,130 @@
1
+ import { isObject, notNullish } from '@stacksjs/utils'
2
+ import type { DeepMerge } from '@stacksjs/types'
3
+
4
+ export { Collection, collect } from '@stacksjs/collections'
5
+
6
+ /**
7
+ * Map key/value pairs for an object, and construct a new one
8
+ *
9
+ *
10
+ * @category Object
11
+ *
12
+ * Transform:
13
+ * @example
14
+ * ```
15
+ * objectMap({ a: 1, b: 2 }, (k, v) => [k.toString().toUpperCase(), v.toString()])
16
+ * // { A: '1', B: '2' }
17
+ * ```
18
+ *
19
+ * Swap key/value:
20
+ * @example
21
+ * ```
22
+ * objectMap({ a: 1, b: 2 }, (k, v) => [v, k])
23
+ * // { 1: 'a', 2: 'b' }
24
+ * ```
25
+ *
26
+ * Filter keys:
27
+ * @example
28
+ * ```
29
+ * objectMap({ a: 1, b: 2 }, (k, v) => k === 'a' ? undefined : [k, v])
30
+ * // { b: 2 }
31
+ * ```
32
+ */
33
+ export function objectMap<K extends string, V, NK = K, NV = V>(obj: Record<K, V>, fn: (key: K, value: V) => [NK, NV] | undefined): Record<K, V> {
34
+ return Object.fromEntries(
35
+ Object.entries(obj)
36
+ .map(([k, v]) => fn(k as K, v as V))
37
+ .filter(notNullish),
38
+ )
39
+ }
40
+
41
+ /**
42
+ * Type guard for any key, `k`.
43
+ * Marks `k` as a key of `T` if `k` is in `obj`.
44
+ *
45
+ * @category Object
46
+ * @param obj object to query for key `k`
47
+ * @param k key to check existence in `obj`
48
+ */
49
+ export function isKeyOf<T extends object>(obj: T, k: keyof any): k is keyof T {
50
+ return k in obj
51
+ }
52
+
53
+ /**
54
+ * Strict typed `Object.keys`
55
+ *
56
+ * @category Object
57
+ */
58
+ export function objectKeys<T extends object>(obj: T) {
59
+ return Object.keys(obj) as Array<`${keyof T & (string | number | boolean | null | undefined)}`>
60
+ }
61
+
62
+ /**
63
+ * Strict typed `Object.entries`
64
+ *
65
+ * @category Object
66
+ */
67
+ export function objectEntries<T extends object>(obj: T) {
68
+ return Object.entries(obj) as Array<[keyof T, T[keyof T]]>
69
+ }
70
+
71
+ /**
72
+ * Deep merge :P
73
+ *
74
+ * @category Object
75
+ */
76
+ export function deepMerge<T extends object = object, S extends object = T>(target: T, ...sources: S[]): DeepMerge<T, S> {
77
+ if (!sources.length)
78
+ return target as any
79
+
80
+ const source = sources.shift()
81
+ if (source === undefined)
82
+ return target as any
83
+
84
+ if (isMergeableObject(target) && isMergeableObject(source)) {
85
+ objectKeys(source).forEach((key) => {
86
+ // @ts-expect-error some description
87
+ if (isMergeableObject(source[key])) {
88
+ // @ts-expect-error some description
89
+ if (!target[key])
90
+ // @ts-expect-error some description
91
+ target[key] = {}
92
+
93
+ // @ts-expect-error some description
94
+ deepMerge(target[key], source[key])
95
+ }
96
+ else {
97
+ // @ts-expect-error some description
98
+ target[key] = source[key]
99
+ }
100
+ })
101
+ }
102
+
103
+ return deepMerge(target, ...sources)
104
+ }
105
+
106
+ function isMergeableObject(item: any): item is Object {
107
+ return isObject(item) && !Array.isArray(item)
108
+ }
109
+
110
+ /**
111
+ * Clear undefined fields from an object. It mutates the object
112
+ *
113
+ * @category Object
114
+ */
115
+ export function clearUndefined<T extends object>(obj: T): T {
116
+ Object.keys(obj).forEach((key: string) => (obj[key] === undefined ? delete obj[key] : {}))
117
+ return obj
118
+ }
119
+
120
+ /**
121
+ * Determines whether an object has a property with the specified name
122
+ *
123
+ * @see https://eslint.org/docs/rules/no-prototype-builtins
124
+ * @category Object
125
+ */
126
+ export function hasOwnProperty<T>(obj: T, v: PropertyKey) {
127
+ if (obj == null)
128
+ return false
129
+ return Object.prototype.hasOwnProperty.call(obj, v)
130
+ }
@@ -0,0 +1,7 @@
1
+ import { assert, describe, test } from 'vitest'
2
+
3
+ describe('example test', () => {
4
+ test('assert', () => {
5
+ assert.equal(1, 1)
6
+ })
7
+ })
@@ -0,0 +1,64 @@
1
+ # Stacks Path
2
+
3
+ Easily work with file paths.
4
+
5
+ ## ☘️ Features
6
+
7
+ - Ensures paths are normalized across all Operating Systems
8
+ - Easily access the path's basename, dirname, extension, filename, and more
9
+ - Drop-in Node.js module replacement
10
+ - Written in modern ESM/TypeScript
11
+
12
+ ## 🤖 Usage
13
+
14
+ ```bash
15
+ pnpm i -D @stacksjs/path
16
+ ```
17
+
18
+ Now, you can easily access it in your project:
19
+
20
+ ```js
21
+ import { filename, normalizeAliases, resolve, resolveAlias } from '@stacksjs/path'
22
+
23
+ // and more...
24
+ ```
25
+
26
+ To view the full documentation, please visit [https://stacksjs.dev/path](https://stacksjs.dev/path).
27
+
28
+ ## 🧪 Testing
29
+
30
+ ```bash
31
+ pnpm test
32
+ ```
33
+
34
+ ## 📈 Changelog
35
+
36
+ Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
37
+
38
+ ## 💪🏼 Contributing
39
+
40
+ Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
41
+
42
+ ## 🏝 Community
43
+
44
+ For help, discussion about best practices, or any other conversation that would benefit from being searchable:
45
+
46
+ [Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
47
+
48
+ For casual chit-chat with others using this package:
49
+
50
+ [Join the Stacks Discord Server](https://discord.ow3.org)
51
+
52
+ ## 🙏🏼 Credits
53
+
54
+ Many thanks to the following core technologies & people who have contributed to this package:
55
+
56
+ - [pathe](https://github.com/unjs/pathe)
57
+ - [Chris Breuer](https://github.com/chrisbbreuer)
58
+ - [All Contributors](../../contributors)
59
+
60
+ ## 📄 License
61
+
62
+ The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
63
+
64
+ Made with ❤️
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/mkdist@1.0.0_typescript@4.9.4/node_modules/mkdist/dist/cli.cjs" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/mkdist@1.0.0_typescript@4.9.4/node_modules/mkdist/dist/cli.cjs" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsc" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsc" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsserver" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsserver" "$@"
17
+ fi
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@stacksjs/path",
3
+ "type": "module",
4
+ "version": "0.44.9",
5
+ "packageManager": "pnpm@7.18.2",
6
+ "description": "The Stacks path.",
7
+ "author": "Chris Breuer",
8
+ "license": "MIT",
9
+ "funding": "https://github.com/sponsors/chrisbbreuer",
10
+ "homepage": "https://github.com/stacksjs/stacks/tree/main/.stacks/core/path#readme",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/stacksjs/stacks.git",
14
+ "directory": "./.stacks/core/path"
15
+ },
16
+ "bugs": {
17
+ "url": "https://github.com/stacksjs/stacks/issues"
18
+ },
19
+ "keywords": [
20
+ "path",
21
+ "pathe",
22
+ "paths",
23
+ "utilities",
24
+ "functions",
25
+ "stacks"
26
+ ],
27
+ "main": "dist/index.mjs",
28
+ "module": "dist/index.mjs",
29
+ "types": "dist/index.d.ts",
30
+ "contributors": [
31
+ "Chris Breuer <chris@ow3.org>"
32
+ ],
33
+ "files": [
34
+ "dist",
35
+ "README.md"
36
+ ],
37
+ "engines": {
38
+ "node": ">=v18.12.1",
39
+ "pnpm": ">=7.18.2"
40
+ },
41
+ "scripts": {
42
+ "build": "mkdist -d",
43
+ "dev": "mkdist -d",
44
+ "prepublishOnly": "pnpm run build",
45
+ "typecheck": "tsc --noEmit"
46
+ },
47
+ "dependencies": {
48
+ "pathe": "^1.0.0"
49
+ },
50
+ "devDependencies": {
51
+ "@stacksjs/testing": "workspace:*",
52
+ "mkdist": "^1.0.0",
53
+ "typescript": "^4.9.4"
54
+ }
55
+ }
@@ -0,0 +1,353 @@
1
+ import { basename, delimiter, dirname, extname, format, isAbsolute, join, normalize, normalizeString, parse, relative, resolve, sep, toNamespacedPath } from 'pathe'
2
+
3
+ /**
4
+ * Returns the path to the `ai` directory. The AI directory
5
+ * contains the core Stacks' AI logic which currently
6
+ * is a wrapper of the OpenAI API.
7
+ *
8
+ * @param path - relative path to the file or directory
9
+ * @returns string - absolute path to the file or directory
10
+ * @example
11
+ * ```ts
12
+ * import { aiPath } from '@stacks/paths'
13
+ *
14
+ * console.log('path is', aiPath())
15
+ * // path is /Users/chrisbreuer/Code/stacks/.stacks/core/ai
16
+ * ```
17
+ */
18
+ export function aiPath(path?: string) {
19
+ return corePath(`ai/${path || ''}`)
20
+ }
21
+
22
+ /**
23
+ * Returns the path to the `actions` directory. The actions directory
24
+ * contains the core Stacks' actions. An action
25
+ *
26
+ * @param path - relative path to the file or directory
27
+ * @returns string - absolute path to the file or directory
28
+ * @example
29
+ * ```ts
30
+ * import { buildPath } from '@stacks/paths'
31
+ *
32
+ * buildPath('functions.vue')
33
+ * buildPath('any-path.ts')
34
+ * ```
35
+ */
36
+ export function actionsPath(path?: string) {
37
+ return corePath(`actions/src/${path || ''}`)
38
+ }
39
+
40
+ export function aliasPath() {
41
+ return corePath('alias/src/index.ts')
42
+ }
43
+
44
+ export function runtimePath(path?: string) {
45
+ return frameworkPath(`buddy/${path || ''}`)
46
+ }
47
+
48
+ export function arraysPath(path?: string) {
49
+ return corePath(`arrays/${path || ''}`)
50
+ }
51
+
52
+ export function authPath(path?: string) {
53
+ return corePath(`auth/${path || ''}`)
54
+ }
55
+
56
+ /**
57
+ * Returns the path to the build directory. The build directory
58
+ * contains Stacks' build engine & its tooling integrations.
59
+ *
60
+ * @param path string - relative path to the file or directory
61
+ * @returns string - absolute path to the file or directory
62
+ * @example
63
+ * ```ts
64
+ * buildPath('functions.vue')
65
+ * buildPath('vue-components.ts')
66
+ * ```
67
+ */
68
+ export function buildPath(path?: string) {
69
+ return corePath(`build/${path || ''}`)
70
+ }
71
+
72
+ export function buildEnginePath(path?: string) {
73
+ return buildPath(`${path || ''}`)
74
+ }
75
+
76
+ export function buildEntriesPath(path?: string) {
77
+ return buildPath(`entries/${path || ''}`)
78
+ }
79
+
80
+ export function cachePath(path?: string) {
81
+ return corePath(`cache/${path || ''}`)
82
+ }
83
+
84
+ export function cliPath(path?: string) {
85
+ return corePath(`cli/${path || ''}`)
86
+ }
87
+
88
+ export function collectionsPath(path?: string) {
89
+ return corePath(`collections/${path || ''}`)
90
+ }
91
+
92
+ export function componentsPath(path?: string) {
93
+ return projectPath(`components/${path || ''}`)
94
+ }
95
+
96
+ export function configPath(path?: string) {
97
+ return corePath(`config/${path || ''}`)
98
+ }
99
+
100
+ export function corePath(path?: string) {
101
+ return frameworkPath(`core/${path || ''}`)
102
+ }
103
+
104
+ export function dashboardPath(path?: string) {
105
+ return corePath(`dashboard/${path || ''}`)
106
+ }
107
+
108
+ export function desktopPath(path?: string) {
109
+ return corePath(`desktop/${path || ''}`)
110
+ }
111
+
112
+ export function docsPath(path?: string) {
113
+ return corePath(`docs/${path || ''}`)
114
+ }
115
+
116
+ export function domainsPath(path?: string) {
117
+ return corePath(`domains/${path || ''}`)
118
+ }
119
+
120
+ export function driversPath(path?: string) {
121
+ return corePath(`drivers/${path || ''}`)
122
+ }
123
+
124
+ export function customElementsDataPath() {
125
+ return frameworkPath('custom-elements.json')
126
+ }
127
+
128
+ export function errorHandlingPath(path?: string) {
129
+ return corePath(`error-handling/${path || ''}`)
130
+ }
131
+
132
+ export function examplesPath(type: 'vue-components' | 'web-components') {
133
+ return frameworkPath(`examples/${type || ''}`)
134
+ }
135
+
136
+ export function frameworkPath(path?: string) {
137
+ return projectPath(`.stacks/${path || ''}`)
138
+ }
139
+
140
+ export function fsPath(path?: string) {
141
+ return corePath(`storage/${path || ''}`)
142
+ }
143
+
144
+ export function functionsPath(path?: string) {
145
+ return projectPath(`functions/${path || ''}`)
146
+ }
147
+
148
+ export function gitPath(path?: string) {
149
+ return corePath(`git/${path || ''}`)
150
+ }
151
+
152
+ export function langPath(path?: string) {
153
+ return projectPath(`lang/${path || ''}`)
154
+ }
155
+
156
+ export function libraryEntryPath(type: 'vue-components' | 'web-components' | 'functions') {
157
+ return buildEntriesPath(`${type}.ts`)
158
+ }
159
+
160
+ export function lintPath(path?: string) {
161
+ return corePath(`lint/${path || ''}`)
162
+ }
163
+
164
+ export function loggingPath(path?: string) {
165
+ return corePath(`logging/${path || ''}`)
166
+ }
167
+
168
+ export function xRayPath(path?: string) {
169
+ return corePath(`x-ray/${path || ''}`)
170
+ }
171
+
172
+ export function modulesPath(path?: string) {
173
+ return corePath(`modules/${path || ''}`)
174
+ }
175
+
176
+ export function notificationsPath(path?: string) {
177
+ return corePath(`notifications/${path || ''}`)
178
+ }
179
+
180
+ export function objectsPath(path?: string) {
181
+ return corePath(`objects/${path || ''}`)
182
+ }
183
+
184
+ export function packageJsonPath(type: 'vue-components' | 'web-components' | 'functions') {
185
+ if (type === 'vue-components')
186
+ return frameworkPath('components/vue/package.json')
187
+
188
+ if (type === 'web-components')
189
+ return frameworkPath('components/web/package.json')
190
+
191
+ if (type === 'functions')
192
+ return frameworkPath('functions/package.json')
193
+
194
+ return frameworkPath(`${type}/package.json`)
195
+ }
196
+
197
+ export function pagesPath(path?: string) {
198
+ return projectPath(`pages/${path || ''}`)
199
+ }
200
+
201
+ export function pathPath(path?: string) {
202
+ return corePath(`path/${path || ''}`)
203
+ }
204
+
205
+ export function projectPath(filePath = '') {
206
+ let path = process.cwd()
207
+
208
+ // workaround: simple way to determine the project path
209
+ if (path.includes('.stacks'))
210
+ path = resolve(path, '..')
211
+
212
+ if (path.includes('.stacks'))
213
+ path = resolve(path, '..')
214
+
215
+ if (path.includes('.stacks'))
216
+ path = resolve(path, '..')
217
+
218
+ if (!path.includes('.stacks'))
219
+ path = resolve(path, '.')
220
+
221
+ return resolve(path, filePath)
222
+ }
223
+
224
+ export function routerPath(path?: string) {
225
+ return corePath(`router/${path || ''}`)
226
+ }
227
+
228
+ export function searchEnginePath(path?: string) {
229
+ return corePath(`search-engine/${path || ''}`)
230
+ }
231
+
232
+ export function routesPath(path?: string) {
233
+ return projectPath(`routes/${path || ''}`)
234
+ }
235
+
236
+ export function securityPath(path?: string) {
237
+ return corePath(`security/${path || ''}`)
238
+ }
239
+
240
+ export function serverPath(path?: string) {
241
+ return corePath(`server/${path || ''}`)
242
+ }
243
+
244
+ export function serverlessPath(path?: string) {
245
+ return corePath(`serverless/${path || ''}`)
246
+ }
247
+
248
+ export function stacksPath(path?: string) {
249
+ return frameworkPath(`src/${path || ''}`)
250
+ }
251
+
252
+ export function tablesPath(path?: string) {
253
+ return corePath(`tables/${path || ''}`)
254
+ }
255
+
256
+ export function testingPath(path?: string) {
257
+ return corePath(`testing/${path || ''}`)
258
+ }
259
+
260
+ export function typesPath(path?: string) {
261
+ return corePath(`types/${path || ''}`)
262
+ }
263
+
264
+ export function stringsPath(path?: string) {
265
+ return corePath(`strings/${path || ''}`)
266
+ }
267
+
268
+ export function scriptsPath(path?: string) {
269
+ return frameworkPath(`scripts/${path || ''}`)
270
+ }
271
+
272
+ export function uiPath(path?: string) {
273
+ return corePath(`ui/${path || ''}`)
274
+ }
275
+
276
+ export function utilsPath(path?: string) {
277
+ return corePath(`utils/${path || ''}`)
278
+ }
279
+
280
+ export const path = {
281
+ aiPath,
282
+ actionsPath,
283
+ aliasPath,
284
+ arraysPath,
285
+ authPath,
286
+ buildEnginePath,
287
+ buildEntriesPath,
288
+ buildPath,
289
+ cachePath,
290
+ cliPath,
291
+ collectionsPath,
292
+ componentsPath,
293
+ configPath,
294
+ corePath,
295
+ customElementsDataPath,
296
+ dashboardPath,
297
+ desktopPath,
298
+ docsPath,
299
+ domainsPath,
300
+ driversPath,
301
+ errorHandlingPath,
302
+ examplesPath,
303
+ frameworkPath,
304
+ fsPath,
305
+ functionsPath,
306
+ gitPath,
307
+ langPath,
308
+ libraryEntryPath,
309
+ lintPath,
310
+ loggingPath,
311
+ xRayPath,
312
+ modulesPath,
313
+ objectsPath,
314
+ notificationsPath,
315
+ packageJsonPath,
316
+ pagesPath,
317
+ pathPath,
318
+ projectPath,
319
+ routerPath,
320
+ searchEnginePath,
321
+ routesPath,
322
+ scriptsPath,
323
+ securityPath,
324
+ serverPath,
325
+ serverlessPath,
326
+ stacksPath,
327
+ stringsPath,
328
+ tablesPath,
329
+ testingPath,
330
+ typesPath,
331
+ uiPath,
332
+ utilsPath,
333
+
334
+ // path utils
335
+ basename,
336
+ delimiter,
337
+ dirname,
338
+ extname,
339
+ format,
340
+ isAbsolute,
341
+ join,
342
+ normalize,
343
+ normalizeString,
344
+ parse,
345
+ relative,
346
+ resolve,
347
+ sep,
348
+ toNamespacedPath,
349
+ }
350
+
351
+ export { basename, delimiter, dirname, extname, format, isAbsolute, join, normalize, normalizeString, parse, relative, resolve, sep, toNamespacedPath }
352
+
353
+ export default path
@@ -0,0 +1,7 @@
1
+ import { assert, describe, test } from 'vitest'
2
+
3
+ describe('example test', () => {
4
+ test('assert', () => {
5
+ assert.equal(1, 1)
6
+ })
7
+ })