stacks 0.52.0 → 0.52.1

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 (171) hide show
  1. package/auto-imports.d.ts +1595 -651
  2. package/components.d.ts +4 -2
  3. package/core/actions/build.config.ts +2 -0
  4. package/core/actions/package.json +14 -2
  5. package/core/actions/src/clean.ts +9 -12
  6. package/core/actions/src/deploy/domains.ts +1 -1
  7. package/core/actions/src/helpers/package-json.ts +1 -2
  8. package/core/actions/src/helpers/utils.ts +1 -2
  9. package/core/actions/src/release.ts +1 -1
  10. package/core/actions/src/tinker.ts +1 -0
  11. package/core/ai/build.config.ts +2 -0
  12. package/core/ai/package.json +1 -1
  13. package/core/alias/build.config.ts +2 -0
  14. package/core/alias/package.json +1 -2
  15. package/core/analytics/build.config.ts +2 -0
  16. package/core/analytics/package.json +1 -1
  17. package/core/arrays/build.config.ts +2 -0
  18. package/core/arrays/package.json +1 -1
  19. package/core/auth/build.config.ts +2 -0
  20. package/core/auth/package.json +1 -1
  21. package/core/auth/src/index.ts +1 -3
  22. package/core/buddy/README.md +1 -1
  23. package/core/buddy/package.json +1 -1
  24. package/core/buddy/src/commands/clean.ts +2 -3
  25. package/core/buddy/src/commands/dev.ts +2 -1
  26. package/core/buddy/src/commands/fresh.ts +2 -2
  27. package/core/buddy/src/commands/release.ts +4 -12
  28. package/core/buddy/src/commands/seed.ts +14 -14
  29. package/core/buddy/src/commands/test.ts +25 -25
  30. package/core/buddy/src/commands/upgrade.ts +5 -5
  31. package/core/buddy/src/commands/version.ts +25 -16
  32. package/core/build/build.config.ts +2 -0
  33. package/core/build/node_modules/.bin/vite +4 -4
  34. package/core/build/node_modules/.bin/vite-ssg +4 -4
  35. package/core/build/node_modules/.bin/vue-docgen-web-types +4 -4
  36. package/core/build/package.json +5 -5
  37. package/core/build/src/stacks.ts +8 -14
  38. package/core/build/src/vue-components.ts +6 -4
  39. package/core/cache/build.config.ts +2 -0
  40. package/core/cache/package.json +2 -2
  41. package/core/chat/build.config.ts +2 -0
  42. package/core/chat/package.json +6 -6
  43. package/core/cli/package.json +1 -1
  44. package/core/cli/src/actions/install.ts +20 -2
  45. package/core/cli/src/helpers.ts +6 -1
  46. package/core/cli/src/run.ts +5 -8
  47. package/core/cloud/build.config.ts +2 -0
  48. package/core/cloud/package.json +1 -1
  49. package/core/collections/build.config.ts +2 -0
  50. package/core/collections/package.json +1 -1
  51. package/core/config/package.json +1 -1
  52. package/core/config/src/defaults.ts +0 -2
  53. package/core/config/src/stacks.ts +9 -2
  54. package/core/database/package.json +1 -1
  55. package/core/database/src/migrations/index.ts +2 -1
  56. package/core/datetime/package.json +1 -1
  57. package/core/desktop/build.config.ts +2 -0
  58. package/core/desktop/package.json +2 -2
  59. package/core/development/build.config.ts +2 -0
  60. package/core/development/package.json +6 -6
  61. package/core/docs/build.config.ts +1 -0
  62. package/core/docs/node_modules/.bin/vitepress +4 -4
  63. package/core/docs/package.json +2 -2
  64. package/core/domains/build.config.ts +2 -0
  65. package/core/domains/package.json +1 -1
  66. package/core/email/package.json +12 -12
  67. package/core/email/src/drivers/mailjet.ts +1 -0
  68. package/core/email/src/tailwind.config.ts +1 -1
  69. package/core/error-handling/package.json +2 -2
  70. package/core/events/package.json +1 -1
  71. package/core/faker/build.config.ts +2 -0
  72. package/core/faker/package.json +1 -1
  73. package/core/git/build.config.ts +2 -0
  74. package/core/git/package.json +1 -1
  75. package/core/health/build.config.ts +2 -0
  76. package/core/health/package.json +1 -1
  77. package/core/lint/build.config.ts +2 -0
  78. package/core/lint/node_modules/.bin/eslint +4 -4
  79. package/core/lint/package.json +3 -3
  80. package/core/lint/src/index.ts +1 -1
  81. package/core/logging/package.json +5 -5
  82. package/core/modules/build.config.ts +2 -0
  83. package/core/modules/package.json +1 -1
  84. package/core/notifications/package.json +22 -22
  85. package/core/notifications/src/index.ts +5 -8
  86. package/core/objects/build.config.ts +2 -0
  87. package/core/objects/package.json +1 -1
  88. package/core/orm/package.json +1 -1
  89. package/core/pages/build.config.ts +2 -0
  90. package/core/pages/package.json +1 -1
  91. package/core/path/build.config.ts +1 -0
  92. package/core/path/package.json +1 -1
  93. package/core/payments/build.config.ts +2 -0
  94. package/core/payments/package.json +2 -2
  95. package/core/push/build.config.ts +2 -0
  96. package/core/push/package.json +3 -3
  97. package/core/query-builder/build.config.ts +2 -0
  98. package/core/query-builder/package.json +1 -1
  99. package/core/queue/build.config.ts +2 -0
  100. package/core/queue/package.json +1 -1
  101. package/core/realtime/build.config.ts +2 -0
  102. package/core/realtime/package.json +1 -1
  103. package/core/router/build.config.ts +2 -0
  104. package/core/router/package.json +2 -2
  105. package/core/router/src/index.ts +114 -11
  106. package/core/scheduler/build.config.ts +2 -0
  107. package/core/scheduler/package.json +1 -1
  108. package/core/search-engine/build.config.ts +1 -0
  109. package/core/search-engine/package.json +1 -1
  110. package/core/search-engine/src/index.ts +1 -22
  111. package/core/security/build.config.ts +2 -0
  112. package/core/security/package.json +1 -1
  113. package/core/server/build.config.ts +2 -0
  114. package/core/server/node_modules/.bin/nitro +4 -4
  115. package/core/server/node_modules/.bin/nitropack +4 -4
  116. package/core/server/node_modules/.bin/vite +4 -4
  117. package/core/server/package.json +3 -3
  118. package/core/signals/build.config.ts +2 -0
  119. package/core/signals/package.json +1 -1
  120. package/core/slug/build.config.ts +2 -0
  121. package/core/slug/package.json +1 -1
  122. package/core/sms/build.config.ts +2 -0
  123. package/core/sms/package.json +11 -11
  124. package/core/storage/build.config.ts +2 -0
  125. package/core/storage/package.json +1 -1
  126. package/core/storage/src/index.ts +11 -1
  127. package/core/strings/package.json +1 -1
  128. package/core/strings/src/index.ts +0 -1
  129. package/core/testing/build.config.ts +2 -0
  130. package/core/testing/node_modules/.bin/vitest +4 -4
  131. package/core/testing/package.json +4 -4
  132. package/core/testing/src/index.ts +1 -0
  133. package/core/tinker/package.json +1 -1
  134. package/core/types/build.config.ts +2 -0
  135. package/core/types/node_modules/.bin/vite +4 -4
  136. package/core/types/node_modules/.bin/vite-ssg +4 -4
  137. package/core/types/node_modules/.bin/vitepress +4 -4
  138. package/core/types/package.json +7 -7
  139. package/core/types/src/cli.ts +10 -9
  140. package/core/types/src/fs.ts +8 -0
  141. package/core/types/src/router.ts +22 -0
  142. package/core/types/src/stacks.ts +3 -3
  143. package/core/ui/build.config.ts +2 -0
  144. package/core/ui/package.json +3 -3
  145. package/core/ui/src/index.ts +1 -1
  146. package/core/utils/build.config.ts +2 -0
  147. package/core/utils/node_modules/.bin/rimraf +4 -4
  148. package/core/utils/package.json +3 -3
  149. package/core/utils/src/base.ts +6 -5
  150. package/core/utils/src/config.ts +2 -3
  151. package/core/utils/src/currency.ts +26 -0
  152. package/core/utils/src/delete.ts +3 -0
  153. package/core/utils/src/helpers.ts +2 -2
  154. package/core/utils/src/index.ts +7 -9
  155. package/core/utils/src/math.ts +30 -0
  156. package/core/utils/src/throttle.ts +3 -6
  157. package/core/utils/src/vendors.ts +221 -0
  158. package/core/utils/src/versions.ts +1 -0
  159. package/core/validation/build.config.ts +2 -0
  160. package/core/validation/package.json +1 -1
  161. package/core/validation/src/index.ts +2 -29
  162. package/core/{strings/src/validation.ts → validation/src/is.ts} +83 -8
  163. package/core/validation/src/validate.ts +29 -0
  164. package/docs/node_modules/.bin/rimraf +4 -4
  165. package/docs/node_modules/.bin/vitepress +4 -4
  166. package/docs/package.json +2 -2
  167. package/package.json +93 -46
  168. package/vitest.config.ts +25 -17
  169. package/core/utils/src/is.ts +0 -83
  170. package/tests/feature/example.spec.ts +0 -20
  171. package/tests/unit/example.test.ts +0 -7
@@ -6,12 +6,12 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules/vue-docgen-web-types/lib/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules/vue-docgen-web-types/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules/vue-docgen-web-types/lib/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules/vue-docgen-web-types/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules/vue-docgen-web-types/lib/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules/vue-docgen-web-types/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules/vue-docgen-web-types/lib/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules/vue-docgen-web-types/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules/vue-docgen-web-types/lib/cli.js" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules/vue-docgen-web-types/lib/cli.js" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.2/node_modules/vue-docgen-web-types/lib/cli.js" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/vue-docgen-web-types@0.1.8_vue@3.3.4/node_modules/vue-docgen-web-types/lib/cli.js" "$@"
17
17
  fi
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/build",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks framework build tools and configurations.",
7
7
  "author": "Chris Breuer",
@@ -60,12 +60,12 @@
60
60
  "unbuild": "^1.2.1",
61
61
  "unplugin-auto-import": "^0.16.0",
62
62
  "unplugin-vue-components": "^0.24.1",
63
- "vite": "^4.3.7",
63
+ "vite": "^4.3.8",
64
64
  "vite-plugin-inspect": "^0.7.26",
65
- "vite-plugin-pages": "^0.29.0",
66
- "vite-plugin-pwa": "^0.14.7",
65
+ "vite-plugin-pages": "^0.30.1",
66
+ "vite-plugin-pwa": "^0.15.0",
67
67
  "vite-plugin-vue-layouts": "^0.8.0",
68
- "vite-plugin-vue-markdown": "^0.23.4",
68
+ "vite-plugin-vue-markdown": "^0.23.5",
69
69
  "vite-ssg": "^0.22.2",
70
70
  "vite-ssg-sitemap": "^0.5.1",
71
71
  "vue-docgen-web-types": "^0.1.8"
@@ -11,8 +11,8 @@ import LinkAttributes from 'markdown-it-link-attributes'
11
11
  import Shiki from 'markdown-it-shiki'
12
12
  import { VitePWA } from 'vite-plugin-pwa'
13
13
  import { defu } from 'defu'
14
- import type { AutoImportsOptions, ComponentOptions, InspectOptions, LayoutOptions, MarkdownOptions, PagesOptions } from '@stacksjs/types'
15
- import p, { resolve } from '@stacksjs/path'
14
+ import type { AutoImportsOptions, ComponentOptions, InspectOptions, LayoutOptions, MarkdownOptions, PagesOption } from '@stacksjs/types'
15
+ import { path as p, resolve } from '@stacksjs/path'
16
16
 
17
17
  // it is important to note that path references within this file
18
18
  // are relative to the ./build folder
@@ -43,8 +43,8 @@ function components(options?: ComponentOptions): PluginOption {
43
43
  }
44
44
 
45
45
  // https://github.com/hannoeru/vite-plugin-pages
46
- function pages(options?: PagesOptions) {
47
- const defaultOptions: PagesOptions = {
46
+ function pages(options?: PagesOption) {
47
+ const defaultOptions: PagesOption = {
48
48
  extensions: ['vue', 'md'],
49
49
  dirs: [
50
50
  p.pagesPath(),
@@ -83,27 +83,23 @@ function markdown(options?: MarkdownOptions) {
83
83
  function autoImports(options?: AutoImportsOptions) {
84
84
  const defaultOptions: AutoImportsOptions = {
85
85
  imports: [
86
- 'vue', 'vue-router', 'vue/macros', '@vueuse/core', '@vueuse/head', '@vueuse/math', 'vitest',
87
- { '@vueuse/shared': ['isClient', 'now', 'timestamp', 'clamp', 'noop', 'rand', 'isIOS', 'hasOwn'] },
86
+ 'vue', 'vue-router', 'vue/macros', 'vitest',
87
+ { '@stacksjs/ui': ['CssEngine', 'UiEngine', 'Store', 'presetForms', 'transformerCompileClass'] },
88
88
  ],
89
89
  dirs: [
90
- p.functionsPath(),
91
- p.componentsPath(),
90
+ p.projectPath('functions'),
91
+ p.projectPath('components'),
92
92
  p.projectPath('config'),
93
93
 
94
94
  // auto imported utilities start here
95
95
  p.aiPath('src'),
96
96
  p.arraysPath('src'),
97
97
  p.authPath('src'),
98
- p.authPath('src'),
99
98
  p.cachePath('src'),
100
99
  p.chatPath('src'),
101
- p.collectionsPath('src'),
102
100
  p.databasePath('src'),
103
101
  p.desktopPath('src'),
104
- p.emailPath('src'),
105
102
  p.errorHandlingPath('src'),
106
- p.eventsPath('src'),
107
103
  p.healthPath('src'),
108
104
  p.lintPath('src'),
109
105
  p.loggingPath('src'),
@@ -121,9 +117,7 @@ function autoImports(options?: AutoImportsOptions) {
121
117
  p.storagePath('src'),
122
118
  p.stringsPath('src'),
123
119
  p.tablesPath('src'),
124
- p.stringsPath('src'),
125
120
  p.testingPath('src'),
126
- p.uiPath('src'),
127
121
  p.utilsPath('src'),
128
122
  p.validationPath('src'),
129
123
  ],
@@ -3,7 +3,6 @@ import type { ViteConfig } from '@stacksjs/types'
3
3
  import { buildEntriesPath, frameworkPath, projectPath } from '@stacksjs/path'
4
4
  import type { BuildOptions as ViteBuildOptions } from 'vite'
5
5
  import { library } from '@stacksjs/config'
6
- import { server } from '@stacksjs/server'
7
6
  import { alias } from '@stacksjs/alias'
8
7
  import { autoImports, components, cssEngine, inspect, uiEngine } from './stacks'
9
8
 
@@ -12,7 +11,10 @@ export const vueComponentsConfig: ViteConfig = {
12
11
  envDir: projectPath(),
13
12
  envPrefix: 'APP_',
14
13
 
15
- server,
14
+ server: {
15
+ port: 3333,
16
+ open: true,
17
+ },
16
18
 
17
19
  resolve: {
18
20
  dedupe: ['vue'],
@@ -20,7 +22,7 @@ export const vueComponentsConfig: ViteConfig = {
20
22
  },
21
23
 
22
24
  optimizeDeps: {
23
- exclude: ['vue'],
25
+ exclude: ['vue', 'fsevents', '@novu/mandrill', '@maizzle/framework', 'browser-sync-ui'],
24
26
  },
25
27
 
26
28
  plugins: [
@@ -41,7 +43,7 @@ export function vueComponentsBuildOptions(): ViteBuildOptions {
41
43
  emptyOutDir: true,
42
44
  lib: {
43
45
  entry: buildEntriesPath('vue-components.ts'),
44
- name: library.vueComponents.name,
46
+ name: library.vueComponents?.name,
45
47
  formats: ['cjs', 'es'],
46
48
  fileName: (format: string) => {
47
49
  if (format === 'es')
@@ -6,8 +6,10 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
 
13
+ clean: true,
12
14
  declaration: true,
13
15
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/cache",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks way of caching.",
7
7
  "author": "Chris Breuer",
@@ -64,7 +64,7 @@
64
64
  "typecheck": "tsc --noEmit"
65
65
  },
66
66
  "peerDependencies": {
67
- "@aws-sdk/client-dynamodb": "^3.332.0",
67
+ "@aws-sdk/client-dynamodb": "^3.335.0",
68
68
  "@stacksjs/config": "workspace:*",
69
69
  "@types/memjs": "^1.3.0",
70
70
  "memcached": "^2.2.2",
@@ -6,8 +6,10 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
 
13
+ clean: true,
12
14
  declaration: true,
13
15
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/chat",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks Chat Integration. Easy sending of messages for chat services",
7
7
  "author": "Chris Breuer",
@@ -44,11 +44,11 @@
44
44
  "typecheck": "tsc --noEmit"
45
45
  },
46
46
  "peerDependencies": {
47
- "@novu/discord": "^0.14.0",
48
- "@novu/ms-teams": "^0.14.0",
49
- "@novu/node": "^0.14.0",
50
- "@novu/slack": "^0.14.0",
51
- "@novu/stateless": "^0.14.0",
47
+ "@novu/discord": "^0.15.0",
48
+ "@novu/ms-teams": "^0.15.0",
49
+ "@novu/node": "^0.15.0",
50
+ "@novu/slack": "^0.15.0",
51
+ "@novu/stateless": "^0.15.0",
52
52
  "@stacksjs/cli": "workspace:*",
53
53
  "@stacksjs/config": "workspace:*",
54
54
  "@stacksjs/error-handling": "workspace:*",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/cli",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The simple way to create beautiful CLIs.",
7
7
  "author": "Chris Breuer",
@@ -1,13 +1,27 @@
1
1
  import { installPackage as installPkg } from '@antfu/install-pkg'
2
2
  import type { CommandReturnValue } from '@stacksjs/types'
3
3
 
4
+ interface InstallPackageOptions {
5
+ cwd?: string
6
+ dev?: boolean
7
+ silent?: boolean
8
+ packageManager?: string
9
+ packageManagerVersion?: string
10
+ preferOffline?: boolean
11
+ additionalArgs?: string[]
12
+ }
13
+
4
14
  /**
5
15
  * Install an npm package.
6
16
  *
7
17
  * @param pkg - The package name to install.
18
+ * @param pkg - The options to pass to the install.The options to pass to the install.
8
19
  * @returns The result of the install.
9
20
  */
10
- export async function installPackage(pkg: string): Promise<CommandReturnValue> {
21
+ export async function installPackage(pkg: string, options?: InstallPackageOptions): Promise<CommandReturnValue> {
22
+ if (options)
23
+ return await installPkg(pkg, options)
24
+
11
25
  return await installPkg(pkg, { silent: true })
12
26
  }
13
27
 
@@ -15,8 +29,12 @@ export async function installPackage(pkg: string): Promise<CommandReturnValue> {
15
29
  * Install a Stack into your project.
16
30
  *
17
31
  * @param pkg - The Stack name to install.
32
+ * @param options - The options to pass to the install.
18
33
  * @returns The result of the install.
19
34
  */
20
- export async function installStack(name: string): Promise<CommandReturnValue> {
35
+ export async function installStack(name: string, options?: InstallPackageOptions): Promise<CommandReturnValue> {
36
+ if (options)
37
+ return await installPkg(`@stacksjs/${name}`, options)
38
+
21
39
  return await installPkg(`@stacksjs/${name}`, { silent: true })
22
40
  }
@@ -28,7 +28,12 @@ export function outro(text: string, options: OutroOptions, error?: Error | strin
28
28
  if (error)
29
29
  log.error(error)
30
30
  }
31
- else { log.success(text) }
31
+ else {
32
+ if (options?.type === 'info')
33
+ log.info(text)
34
+
35
+ log.success(text)
36
+ }
32
37
 
33
38
  if (options.startTime) {
34
39
  let time = performance.now() - options.startTime
@@ -2,7 +2,7 @@ import { execSync as childExec } from 'node:child_process'
2
2
  import type { CliOptions, CommandResult, CommandReturnValue, ResultAsync, SpinnerOptions as Spinner } from '@stacksjs/types'
3
3
  import { ExitCode } from '@stacksjs/types'
4
4
  import { projectPath } from '@stacksjs/path'
5
- import { ResultAsync as AsyncResult, err } from '@stacksjs/error-handling'
5
+ import { ResultAsync as AsyncResult } from '@stacksjs/error-handling'
6
6
  import { determineDebugLevel } from '@stacksjs/utils'
7
7
  import { log } from './console'
8
8
  import { spawn } from './command'
@@ -46,7 +46,6 @@ export function execSync(command: string) {
46
46
  * @returns The result of the command.
47
47
  */
48
48
  export async function runCommand(command: string, options?: CliOptions): Promise<ResultAsync<CommandReturnValue, Error>> {
49
- console.log('runCommand', command, options)
50
49
  return await exec(command, options)
51
50
  }
52
51
 
@@ -69,17 +68,15 @@ export async function runCommands(commands: string[], options?: CliOptions): Pro
69
68
 
70
69
  const spinner = determineSpinner(options)
71
70
 
72
- console.log('spinner', spinner)
73
-
74
71
  for (const command of commands) {
75
72
  const result = await runCommand(command, options)
76
73
 
77
- if (result.isOk()) { results.push(result) }
78
-
74
+ if (result.isOk()) {
75
+ results.push(result)
76
+ }
79
77
  else if (result.isErr()) {
80
78
  if (spinner) {
81
- // spinner.fail('Failed to run command.')
82
- err(result.error)
79
+ log.error(new Error('Failed to run command'))
83
80
  process.exit(ExitCode.FatalError)
84
81
  }
85
82
 
@@ -6,8 +6,10 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
 
13
+ clean: true,
12
14
  declaration: true,
13
15
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/cloud",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks cloud/serverless integration & implementation.",
7
7
  "author": "Chris Breuer",
@@ -6,8 +6,10 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
 
13
+ clean: true,
12
14
  declaration: true,
13
15
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/collections",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks collections.",
7
7
  "author": "Chris Breuer",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/config",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "private": true,
6
6
  "packageManager": "pnpm@8.5.1",
7
7
  "description": "The Stacks config helper methods.",
@@ -18,5 +18,3 @@ export { default as searchEngine } from '../../../../config/search-engine'
18
18
  export { default as services } from '../../../../config/services'
19
19
  export { default as storage } from '../../../../config/storage'
20
20
  export { default as ui } from '../../../../config/ui'
21
-
22
- // export { default as cloud } from '../../../../config/cloud'
@@ -1,7 +1,14 @@
1
1
  import { loadConfig } from 'c12'
2
- import type { StacksOptions, ResolvedStacksOptions } from '@stacksjs/types'
2
+ import { readPackageJson } from '@stacksjs/storage'
3
+ import { frameworkPath } from '@stacksjs/path'
4
+ import type { ResolvedStacksOptions, StacksOptions } from '@stacksjs/types'
3
5
  import { app, cache, cdn, cli, database, debug, dns, docs, email, events, git, hashing, library, notification, payment, searchEngine, services, storage, ui } from './defaults'
4
6
 
7
+ export async function packageManager() {
8
+ const { packageManager } = await readPackageJson(frameworkPath('package.json'))
9
+ return packageManager
10
+ }
11
+
5
12
  export const stacksConfigDefaults = {
6
13
  app,
7
14
  cache,
@@ -21,7 +28,7 @@ export const stacksConfigDefaults = {
21
28
  searchEngine,
22
29
  services,
23
30
  storage,
24
- ui
31
+ ui,
25
32
  } satisfies ResolvedStacksOptions
26
33
 
27
34
  export async function loadStacksConfig(overrides?: Partial<StacksOptions>, cwd = process.cwd()) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/database",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks database integration.",
7
7
  "author": "Chris Breuer",
@@ -144,4 +144,5 @@
144
144
  // migrate,
145
145
  // }
146
146
 
147
- export {}
147
+ const migrate = 'wip'
148
+ export { migrate }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/datetime",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks datetime helpers.",
7
7
  "author": "Chris Breuer",
@@ -6,8 +6,10 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
 
13
+ clean: true,
12
14
  declaration: true,
13
15
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/desktop",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks Desktop engine.",
7
7
  "author": "Chris Breuer",
@@ -59,7 +59,7 @@
59
59
  "@tauri-apps/cli": "1.3.1",
60
60
  "unified-network": "0.6.4",
61
61
  "unstorage": "^1.6.0",
62
- "vue": "3.3.2",
62
+ "vue": "3.3.4",
63
63
  "vue3-highlightjs": "^1.0.5"
64
64
  },
65
65
  "devDependencies": {
@@ -6,8 +6,10 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
 
13
+ clean: true,
12
14
  declaration: true,
13
15
  })
@@ -1,14 +1,12 @@
1
1
  {
2
2
  "name": "@stacksjs/development",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks development dependencies.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
9
9
  "funding": "https://github.com/sponsors/chrisbbreuer",
10
- "module": "dist/index.mjs",
11
- "types": "dist/index.d.ts",
12
10
  "homepage": "https://github.com/stacksjs/stacks/tree/main/.stacks/core/development#readme",
13
11
  "repository": {
14
12
  "type": "git",
@@ -27,15 +25,17 @@
27
25
  "ts-reset",
28
26
  "javascript"
29
27
  ],
30
- "contributors": [
31
- "Chris Breuer <chris@ow3.org>"
32
- ],
33
28
  "exports": {
34
29
  ".": {
35
30
  "types": "./dist/index.d.ts",
36
31
  "import": "./dist/index.mjs"
37
32
  }
38
33
  },
34
+ "module": "dist/index.mjs",
35
+ "types": "dist/index.d.ts",
36
+ "contributors": [
37
+ "Chris Breuer <chris@ow3.org>"
38
+ ],
39
39
  "files": [
40
40
  "README.md"
41
41
  ],
@@ -8,6 +8,7 @@ export default defineBuildConfig({
8
8
  builder: 'mkdist',
9
9
  input: './src/',
10
10
  outDir: './dist/',
11
+ format: 'esm',
11
12
  },
12
13
  ],
13
14
  declaration: true,
@@ -6,12 +6,12 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules/vitepress/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules/vitepress/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules/vitepress/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules/vitepress/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules/vitepress/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules/vitepress/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules/vitepress/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules/vitepress/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules/vitepress/bin/vitepress.js" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules/vitepress/bin/vitepress.js" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/vitepress@1.0.0-alpha.75_@algolia+client-search@4.17.0_@types+node@18.16.10/node_modules/vitepress/bin/vitepress.js" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/vitepress@1.0.0-alpha.76_@algolia+client-search@4.17.0_@types+node@18.16.13/node_modules/vitepress/bin/vitepress.js" "$@"
17
17
  fi
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/docs",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks way to document.",
7
7
  "author": "Chris Breuer",
@@ -44,7 +44,7 @@
44
44
  "typecheck": "tsc --noEmit"
45
45
  },
46
46
  "peerDependencies": {
47
- "vitepress": "1.0.0-alpha.75"
47
+ "vitepress": "1.0.0-alpha.76"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@stacksjs/alias": "workspace:*",
@@ -6,8 +6,10 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
 
13
+ clean: true,
12
14
  declaration: true,
13
15
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/domains",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "Easily manage your domains.",
7
7
  "author": "Chris Breuer",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/email",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "The Stacks Email integration. Painlessly create & manage your inboxes, templates, and send emails.",
7
7
  "author": "Chris Breuer",
@@ -54,17 +54,17 @@
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@maizzle/framework": "^4.4.4",
57
- "@novu/emailjs": "^0.14.0",
58
- "@novu/mailgun": "^0.14.0",
59
- "@novu/mailjet": "^0.14.0",
60
- "@novu/mandrill": "^0.14.0",
61
- "@novu/netcore": "^0.14.0",
62
- "@novu/node": "^0.14.0",
63
- "@novu/nodemailer": "^0.14.0",
64
- "@novu/postmark": "^0.14.0",
65
- "@novu/sendgrid": "^0.14.0",
66
- "@novu/ses": "^0.14.0",
67
- "@novu/stateless": "^0.14.0",
57
+ "@novu/emailjs": "^0.15.0",
58
+ "@novu/mailgun": "^0.15.0",
59
+ "@novu/mailjet": "^0.15.0",
60
+ "@novu/mandrill": "^0.15.0",
61
+ "@novu/netcore": "^0.15.0",
62
+ "@novu/node": "^0.15.0",
63
+ "@novu/nodemailer": "^0.15.0",
64
+ "@novu/postmark": "^0.15.0",
65
+ "@novu/sendgrid": "^0.15.0",
66
+ "@novu/ses": "^0.15.0",
67
+ "@novu/stateless": "^0.15.0",
68
68
  "@stacksjs/cli": "workspace:*",
69
69
  "@stacksjs/config": "workspace:*",
70
70
  "@stacksjs/error-handling": "workspace:*",
@@ -11,6 +11,7 @@ const provider = new MailjetEmailProvider({
11
11
  apiKey: service?.key || '',
12
12
  apiSecret: service?.secret || '',
13
13
  from: env?.from || '',
14
+ senderName: env?.from || '', // look into what exactly this stands for
14
15
  })
15
16
 
16
17
  async function send(options: EmailOptions, css?: string): Promise<ResultAsync<any, Error>> {