stacks 0.58.28 → 0.58.30

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 (233) hide show
  1. package/core/README.md +1 -1
  2. package/core/actions/dist/src/deploy/index.js +1 -1
  3. package/core/actions/dist/src/dev/components.js +1 -1
  4. package/core/actions/dist/src/dev/index.js +10 -0
  5. package/core/actions/dist/src/generate/lib-entries.js +3 -3
  6. package/core/actions/dist/src/helpers/lib-entries.js +3 -3
  7. package/core/actions/dist/src/index.js +10 -0
  8. package/core/actions/dist/src/lint/fix.js +1 -1
  9. package/core/actions/dist/src/release.js +8 -0
  10. package/core/actions/dist/src/upgrade.js +1 -1
  11. package/core/actions/package.json +1 -1
  12. package/core/actions/src/build/docs.ts +7 -0
  13. package/core/actions/src/deploy/index.ts +1 -1
  14. package/core/actions/src/dev/api.ts +2 -2
  15. package/core/actions/src/dev/components.ts +1 -1
  16. package/core/actions/src/dev/dashboard.ts +7 -0
  17. package/core/actions/src/dev/desktop.ts +3 -3
  18. package/core/actions/src/dev/index.ts +10 -0
  19. package/core/actions/src/dev/system-tray.ts +6 -0
  20. package/core/actions/src/helpers/lib-entries.ts +3 -3
  21. package/core/actions/src/lint/fix.ts +1 -1
  22. package/core/ai/package.json +3 -3
  23. package/core/alias/package.json +1 -1
  24. package/core/analytics/package.json +1 -1
  25. package/core/api/package.json +1 -1
  26. package/core/arrays/package.json +1 -1
  27. package/core/auth/package.json +1 -1
  28. package/core/buddy/README.md +2 -2
  29. package/core/buddy/dist/{chunk-b75e6db0012faa55.js → chunk-0455e53fab4244b1.js} +1 -4
  30. package/core/buddy/dist/{chunk-fd47b42fb923a4be.js → chunk-61e8f138963fc709.js} +173 -137
  31. package/core/buddy/dist/cli.js +2 -2
  32. package/core/buddy/dist/index.js +2 -2
  33. package/core/buddy/package.json +1 -1
  34. package/core/buddy/src/commands/add.ts +4 -0
  35. package/core/buddy/src/commands/build.ts +12 -1
  36. package/core/buddy/src/commands/changelog.ts +2 -0
  37. package/core/buddy/src/commands/clean.ts +2 -0
  38. package/core/buddy/src/commands/cloud.ts +6 -0
  39. package/core/buddy/src/commands/commit.ts +2 -0
  40. package/core/buddy/src/commands/configure.ts +3 -0
  41. package/core/buddy/src/commands/create.ts +8 -8
  42. package/core/buddy/src/commands/deploy.ts +24 -23
  43. package/core/buddy/src/commands/dev.ts +50 -10
  44. package/core/buddy/src/commands/dns.ts +2 -0
  45. package/core/buddy/src/commands/domains.ts +2 -0
  46. package/core/buddy/src/commands/example.ts +4 -0
  47. package/core/buddy/src/commands/fresh.ts +2 -0
  48. package/core/buddy/src/commands/generate.ts +12 -3
  49. package/core/buddy/src/commands/http.ts +2 -0
  50. package/core/buddy/src/commands/install.ts +2 -0
  51. package/core/buddy/src/commands/key.ts +4 -2
  52. package/core/buddy/src/commands/lint.ts +3 -0
  53. package/core/buddy/src/commands/make.ts +11 -1
  54. package/core/buddy/src/commands/migrate.ts +3 -0
  55. package/core/buddy/src/commands/prepublish.ts +2 -0
  56. package/core/buddy/src/commands/release.ts +2 -0
  57. package/core/buddy/src/commands/seed.ts +2 -0
  58. package/core/buddy/src/commands/setup.ts +33 -34
  59. package/core/buddy/src/commands/test.ts +2 -0
  60. package/core/buddy/src/commands/tinker.ts +2 -0
  61. package/core/buddy/src/commands/types.ts +3 -0
  62. package/core/buddy/src/commands/upgrade.ts +6 -0
  63. package/core/build/package.json +1 -1
  64. package/core/bun-create/bud/package.json +3 -2
  65. package/core/bun-create/buddy/package.json +2 -2
  66. package/core/bun-create/stack/package.json +2 -2
  67. package/core/bun-create/stacks/package.json +2 -2
  68. package/core/bun-create/stx/package.json +2 -2
  69. package/core/bun-plugin-yaml/dist/index.js +1 -19
  70. package/core/bun-plugin-yaml/package.json +1 -1
  71. package/core/bun-plugin-yaml/src/index.ts +1 -1
  72. package/core/cache/package.json +2 -2
  73. package/core/chat/package.json +1 -1
  74. package/core/cli/dist/index.js +24 -23
  75. package/core/cli/package.json +1 -1
  76. package/core/cli/src/helpers.ts +21 -31
  77. package/core/cli/src/run.ts +9 -7
  78. package/core/cloud/buddy +2 -0
  79. package/core/cloud/package.json +33 -33
  80. package/core/cloud/src/cloud/ai.ts +45 -36
  81. package/core/cloud/src/cloud/aws-sdk-layer/nodejs/package-lock.json +10 -10
  82. package/core/cloud/src/cloud/aws-sdk-layer/nodejs/package.json +2 -2
  83. package/core/cloud/src/cloud/cdn.ts +44 -5
  84. package/core/cloud/src/cloud/cli.ts +45 -0
  85. package/core/cloud/src/cloud/compute.ts +1 -1
  86. package/core/cloud/src/cloud/index.ts +6 -1
  87. package/core/cloud/src/cloud/lambda/cli-setup/index.js +67 -0
  88. package/core/cloud/src/index.ts +1 -0
  89. package/core/cloud/src/runtime/example/lambda.ts +1 -1
  90. package/core/cloud/src/runtime/runtime.ts +1 -0
  91. package/core/cloud/src/runtime/server.ts +1 -1
  92. package/core/collections/package.json +1 -1
  93. package/core/config/dist/index.js +130 -122
  94. package/core/config/package.json +1 -1
  95. package/core/config/src/overrides.ts +0 -2
  96. package/core/database/package.json +2 -2
  97. package/core/database/src/kysely-bun-worker/driver.ts +1 -0
  98. package/core/database/src/kysely-bun-worker/worker.ts +1 -1
  99. package/core/datetime/package.json +1 -1
  100. package/core/desktop/dist/index.js +6 -0
  101. package/core/desktop/package.json +5 -5
  102. package/core/desktop/src/index.ts +2 -0
  103. package/core/desktop/src/system-tray.ts +1 -0
  104. package/core/development/package.json +1 -1
  105. package/core/dns/package.json +7 -7
  106. package/core/docs/build.ts +1 -1
  107. package/core/docs/dist/index.js +29878 -9995
  108. package/core/docs/package.json +6 -5
  109. package/core/docs/src/index.ts +7 -1
  110. package/core/docs/src/meta.ts +32 -0
  111. package/core/docs/src/scripts/pwa.ts +116 -0
  112. package/core/email/email-forwarder.cjs +1 -0
  113. package/core/email/package.json +3 -3
  114. package/core/email/src/server/converter.ts +1 -0
  115. package/core/email/src/server/inbound.ts +1 -0
  116. package/core/email/src/server/outbound.ts +6 -4
  117. package/core/enums/dist/index.js +4 -2
  118. package/core/enums/package.json +1 -1
  119. package/core/enums/src/index.ts +4 -2
  120. package/core/env/package.json +1 -1
  121. package/core/error-handling/package.json +1 -1
  122. package/core/eslint-config/package.json +18 -18
  123. package/core/eslint-config/src/configs/comments.ts +1 -1
  124. package/core/eslint-config/src/configs/imports.ts +9 -0
  125. package/core/eslint-config/src/configs/svelte.ts +1 -0
  126. package/core/eslint-config/src/configs/unicorn.ts +1 -1
  127. package/core/eslint-config/src/configs/vue.ts +0 -1
  128. package/core/eslint-config/src/factory.ts +2 -8
  129. package/core/events/package.json +1 -1
  130. package/core/faker/package.json +2 -2
  131. package/core/git/dist/index.js +40 -0
  132. package/core/git/package.json +3 -3
  133. package/core/git/src/index.ts +62 -0
  134. package/core/health/package.json +1 -1
  135. package/core/http/package.json +1 -1
  136. package/core/lint/package.json +1 -1
  137. package/core/logging/dist/index.js +0 -6
  138. package/core/logging/package.json +1 -1
  139. package/core/music/package.json +3 -3
  140. package/core/notifications/package.json +2 -2
  141. package/core/objects/package.json +1 -1
  142. package/core/orm/package.json +1 -1
  143. package/core/path/dist/index.js +6 -3
  144. package/core/path/package.json +1 -1
  145. package/core/path/src/index.ts +7 -3
  146. package/core/payments/dist/index.js +2 -5
  147. package/core/payments/package.json +3 -3
  148. package/core/push/package.json +1 -1
  149. package/core/query-builder/package.json +1 -1
  150. package/core/queue/package.json +1 -1
  151. package/core/raycast/package.json +5 -0
  152. package/core/raycast/src/index.ts +0 -0
  153. package/core/realtime/package.json +1 -1
  154. package/core/repl/package.json +1 -1
  155. package/core/router/dist/index.js +16 -496
  156. package/core/router/package.json +1 -1
  157. package/core/router/src/middleware.ts +16 -14
  158. package/core/scheduler/package.json +1 -1
  159. package/core/search-engine/package.json +2 -2
  160. package/core/security/dist/index.js +3 -6
  161. package/core/security/package.json +2 -2
  162. package/core/server/dist/index.js +6 -2
  163. package/core/server/package.json +2 -2
  164. package/core/server/src/config.ts +14 -9
  165. package/core/signals/package.json +1 -1
  166. package/core/slug/package.json +1 -1
  167. package/core/sms/package.json +1 -1
  168. package/core/storage/dist/index.js +28 -10
  169. package/core/storage/package.json +1 -1
  170. package/core/storage/src/files.ts +10 -2
  171. package/core/storage/src/zip.ts +1 -1
  172. package/core/strings/package.json +3 -3
  173. package/core/stx +2 -0
  174. package/core/tables/package.json +3 -3
  175. package/core/testing/package.json +3 -3
  176. package/core/tinker/package.json +1 -1
  177. package/core/tsconfig.json +4 -9
  178. package/core/tunnel/package.json +1 -1
  179. package/core/types/dist/index.js +3 -1
  180. package/core/types/package.json +13 -13
  181. package/core/types/src/cli.ts +3 -3
  182. package/core/types/src/cloud.ts +4 -1
  183. package/core/types/src/dns.ts +1 -1
  184. package/core/types/src/native.ts +0 -0
  185. package/core/types/src/stacks.ts +0 -10
  186. package/core/ui/package.json +8 -8
  187. package/core/utils/dist/index.js +1 -1
  188. package/core/utils/package.json +1 -1
  189. package/core/validation/package.json +1 -1
  190. package/core/vite/README.md +1 -1
  191. package/core/vite/build.ts +1 -1
  192. package/core/vite/dist/index.js +211 -203
  193. package/core/vite/package.json +5 -5
  194. package/core/vite/src/components.ts +1 -1
  195. package/core/vite/src/dashboard.ts +100 -0
  196. package/core/vite/src/desktop.ts +2 -58
  197. package/core/vite/src/example-vue.ts +1 -1
  198. package/core/vite/src/example-wc.ts +1 -1
  199. package/core/vite/src/functions.ts +1 -1
  200. package/core/vite/src/index.ts +9 -11
  201. package/core/vite/src/plugin/auto-imports.ts +1 -1
  202. package/core/vite/src/plugin/layouts.ts +6 -7
  203. package/core/vite/src/plugin/router.ts +3 -1
  204. package/core/vite/src/system-tray.ts +100 -0
  205. package/core/vite/src/views.ts +13 -2
  206. package/core/vite/src/web-components.ts +1 -1
  207. package/core/whois/dist/index.js +1 -2
  208. package/core/whois/package.json +1 -1
  209. package/core/whois/src/index.ts +10 -8
  210. package/core/x-ray/package.json +1 -1
  211. package/core/zsh-buddy/README.md +51 -0
  212. package/core/zsh-buddy/package.json +29 -0
  213. package/ide/dictionary.txt +12 -0
  214. package/ide/jetbrains/.idea/stacks.iml +0 -1
  215. package/ide/vscode/.vscode/settings.json +7 -2
  216. package/ide/vscode/package.json +2 -4
  217. package/package.json +12 -7
  218. package/core/cloud/src/server/.dockerignore +0 -15
  219. package/core/cloud/src/server/Dockerfile +0 -21
  220. package/core/cloud/src/server/index.ts +0 -3
  221. package/core/cloud/src/server/package.json +0 -12
  222. package/core/cloud/src/server/runtime.ts +0 -828
  223. package/core/scripts/build +0 -58
  224. package/core/scripts/ensure +0 -33
  225. package/core/scripts/fresh +0 -14
  226. package/core/scripts/link +0 -14
  227. package/core/scripts/move-built-src-files.ts +0 -28
  228. package/core/scripts/move-dts-files.ts +0 -35
  229. package/core/scripts/publish +0 -43
  230. package/core/scripts/setup +0 -176
  231. package/core/tables/vite.config.ts +0 -84
  232. package/core/vite/src/plugin/index.ts +0 -21
  233. /package/core/vite/src/{stacks.ts → plugins.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/docs",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "description": "The Stacks way to document.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -51,7 +51,7 @@
51
51
  "@stacksjs/path": "workspace:*",
52
52
  "@stacksjs/server": "workspace:*",
53
53
  "@stacksjs/vite": "workspace:*",
54
- "vitepress": "1.0.0-rc.36"
54
+ "vitepress": "1.0.0-rc.40"
55
55
  },
56
56
  "dependencies": {
57
57
  "@stacksjs/alias": "workspace:*",
@@ -59,10 +59,11 @@
59
59
  "@stacksjs/path": "workspace:*",
60
60
  "@stacksjs/server": "workspace:*",
61
61
  "@stacksjs/vite": "workspace:*",
62
- "vitepress": "1.0.0-rc.36",
63
- "vitepress-plugin-twoslash": "^0.9.19"
62
+ "vitepress": "1.0.0-rc.40",
63
+ "vitepress-plugin-twoslash": "^0.10.2"
64
64
  },
65
65
  "devDependencies": {
66
- "@stacksjs/development": "workspace:*"
66
+ "@stacksjs/development": "workspace:*",
67
+ "@vite-pwa/vitepress": "^0.3.1"
67
68
  }
68
69
  }
@@ -5,7 +5,9 @@ import { path as p } from '@stacksjs/path'
5
5
  import { docs } from '@stacksjs/config'
6
6
  import { server } from '@stacksjs/server'
7
7
  import { kolorist as c } from '@stacksjs/cli'
8
+ import { withPwa } from '@vite-pwa/vitepress'
8
9
  import { version } from '../../../../../package.json'
10
+ import { pwaDocs as pwa } from './scripts/pwa'
9
11
 
10
12
  export const frameworkDefaults = {
11
13
  base: '/docs/',
@@ -49,6 +51,8 @@ export const frameworkDefaults = {
49
51
  },
50
52
  ],
51
53
  },
54
+
55
+ pwa,
52
56
  } satisfies UserConfig
53
57
 
54
58
  const config: UserConfig = {
@@ -56,6 +60,8 @@ const config: UserConfig = {
56
60
  ...docs,
57
61
  }
58
62
 
59
- export default defineConfig(config)
63
+ export default withPwa(defineConfig(config))
60
64
 
61
65
  export * from './plugins'
66
+ export * from './scripts/pwa'
67
+ export * from './meta'
@@ -0,0 +1,32 @@
1
+ // noinspection ES6PreferShortImport: IntelliJ IDE hint to avoid warning to use `~/contributors`, will fail on build if changed
2
+
3
+ /* Texts */
4
+ // export const stacksName = 'Stacks'
5
+ // export const stacksShortName = 'Stacks'
6
+ // export const stacksDescription = 'Rapid application, cloud & library development framework'
7
+
8
+ /* CDN fonts and styles */
9
+ export const googleapis = 'https://fonts.googleapis.com'
10
+ export const gstatic = 'https://fonts.gstatic.com'
11
+ export const font = `${googleapis}/css2?family=Readex+Pro:wght@200;400;600&display=swap`
12
+
13
+ /* vitepress head */
14
+ export const ogUrl = 'https://stacksjs.org/'
15
+ export const ogImage = `${ogUrl}og.png`
16
+
17
+ /* GitHub and social links */
18
+ export const github = 'https://github.com/stacksjs/stacks'
19
+ export const releases = 'https://github.com/stacksjs/stacks/releases'
20
+ export const contributing = 'https://github.com/stacksjs/stacks/blob/main/CONTRIBUTING.md'
21
+ export const discord = 'https://chat.stacksjs.org'
22
+ export const twitter = 'https://twitter.com/stacksjs'
23
+
24
+ /* Avatar/Image/Sponsors servers */
25
+ export const preconnectLinks = [googleapis, gstatic]
26
+ export const preconnectHomeLinks = [googleapis, gstatic]
27
+
28
+ /* PWA runtime caching urlPattern regular expressions */
29
+ export const pwaFontsRegex = new RegExp(`^${googleapis}/.*`, 'i')
30
+ export const pwaFontStylesRegex = new RegExp(`^${gstatic}/.*`, 'i')
31
+ // eslint-disable-next-line prefer-regex-literals
32
+ export const githubusercontentRegex = new RegExp('^https://((i.ibb.co)|((raw|user-images).githubusercontent.com))/.*', 'i')
@@ -0,0 +1,116 @@
1
+ import { frameworkPath } from '@stacksjs/path'
2
+ import type { PwaOptions } from '@vite-pwa/vitepress'
3
+ import { docs } from '@stacksjs/config'
4
+ import { githubusercontentRegex, pwaFontStylesRegex, pwaFontsRegex } from '../meta'
5
+
6
+ export const pwaDocs: PwaOptions = {
7
+ outDir: frameworkPath('docs/dist'),
8
+ registerType: 'autoUpdate',
9
+ // include all static assets under public/
10
+ manifest: {
11
+ id: '/',
12
+ name: docs.title,
13
+ short_name: docs.title,
14
+ description: docs.description,
15
+ theme_color: '#ffffff',
16
+ start_url: '/',
17
+ lang: 'en-US',
18
+ dir: 'ltr',
19
+ orientation: 'natural',
20
+ display: 'standalone',
21
+ display_override: ['window-controls-overlay'],
22
+ categories: ['development', 'developer tools'],
23
+ icons: [
24
+ {
25
+ src: 'pwa-64x64.png',
26
+ sizes: '64x64',
27
+ type: 'image/png',
28
+ },
29
+ {
30
+ src: 'pwa-192x192.png',
31
+ sizes: '192x192',
32
+ type: 'image/png',
33
+ },
34
+ {
35
+ src: 'pwa-512x512.png',
36
+ sizes: '512x512',
37
+ type: 'image/png',
38
+ purpose: 'any',
39
+ },
40
+ {
41
+ src: 'maskable-icon.png',
42
+ sizes: '512x512',
43
+ type: 'image/png',
44
+ purpose: 'maskable',
45
+ },
46
+ ],
47
+ screenshots: [{
48
+ src: 'og.png',
49
+ sizes: '2258x1185',
50
+ type: 'image/png',
51
+ label: `Screenshot of ${docs.title}`,
52
+ }],
53
+ handle_links: 'preferred',
54
+ launch_handler: {
55
+ client_mode: ['navigate-existing', 'auto'],
56
+ },
57
+ edge_side_panel: {
58
+ preferred_width: 480,
59
+ },
60
+ },
61
+ workbox: {
62
+ navigateFallbackDenylist: [/^\/new$/],
63
+ // warning: sponsors/antfu.svg is 2.51 MB, and won't be precached
64
+ maximumFileSizeToCacheInBytes: 3 * 1024 * 1024, // <== 3MB
65
+ globPatterns: ['**/*.{css,js,html,png,svg,ico,txt,woff2,json}'],
66
+ // Rollup 4 change the layout: don't calculate revision (hash)
67
+ dontCacheBustURLsMatching: /^assets\//,
68
+ runtimeCaching: [
69
+ {
70
+ urlPattern: pwaFontsRegex,
71
+ handler: 'CacheFirst',
72
+ options: {
73
+ cacheName: 'google-fonts-cache',
74
+ expiration: {
75
+ maxEntries: 10,
76
+ maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days
77
+ },
78
+ cacheableResponse: {
79
+ statuses: [0, 200],
80
+ },
81
+ },
82
+ },
83
+ {
84
+ urlPattern: pwaFontStylesRegex,
85
+ handler: 'CacheFirst',
86
+ options: {
87
+ cacheName: 'gstatic-fonts-cache',
88
+ expiration: {
89
+ maxEntries: 10,
90
+ maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days
91
+ },
92
+ cacheableResponse: {
93
+ statuses: [0, 200],
94
+ },
95
+ },
96
+ },
97
+ {
98
+ urlPattern: githubusercontentRegex,
99
+ handler: 'CacheFirst',
100
+ options: {
101
+ cacheName: 'githubusercontent-images-cache',
102
+ expiration: {
103
+ maxEntries: 10,
104
+ maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days
105
+ },
106
+ cacheableResponse: {
107
+ statuses: [0, 200],
108
+ },
109
+ },
110
+ },
111
+ ],
112
+ },
113
+ experimental: {
114
+ includeAllowlist: true,
115
+ },
116
+ }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable eslint-comments/no-unlimited-disable */
1
2
  /* eslint-disable */
2
3
  'use strict'
3
4
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/email",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "description": "The Stacks Email integration. Painlessly create & manage your inboxes, templates, and send emails.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -56,14 +56,14 @@
56
56
  "prepublishOnly": "bun --bun run build"
57
57
  },
58
58
  "peerDependencies": {
59
- "@maizzle/framework": "^4.7.0",
59
+ "@maizzle/framework": "^4.7.4",
60
60
  "@stacksjs/cli": "workspace:*",
61
61
  "@stacksjs/config": "workspace:*",
62
62
  "@stacksjs/error-handling": "workspace:*",
63
63
  "@stacksjs/types": "workspace:*"
64
64
  },
65
65
  "dependencies": {
66
- "@maizzle/framework": "^4.7.0",
66
+ "@maizzle/framework": "^4.7.4",
67
67
  "@novu/stateless": "^0.22.0",
68
68
  "@stacksjs/cli": "workspace:*",
69
69
  "@stacksjs/config": "workspace:*",
@@ -1,3 +1,4 @@
1
+ /* eslint-disable eslint-comments/no-unlimited-disable */
1
2
  /* eslint-disable */
2
3
 
3
4
  const AWS = require('aws-sdk')
@@ -1,3 +1,4 @@
1
+ /* eslint-disable eslint-comments/no-unlimited-disable */
1
2
  /* eslint-disable */
2
3
  import type Stream from 'node:stream'
3
4
  import * as AWS from 'aws-sdk'
@@ -1,4 +1,6 @@
1
+ /* eslint-disable eslint-comments/no-unlimited-disable */
1
2
  /* eslint-disable */
3
+
2
4
  const AWS = require('aws-sdk')
3
5
  const moment = require('moment')
4
6
  const uuidv1 = require('uuid/v1')
@@ -85,12 +87,12 @@ function extract_data(container) {
85
87
  console.info('extract_data')
86
88
 
87
89
  // 1. Extract all the information
88
- const tmp_to = container.email.json
90
+ const tmp_to = container.email.json
89
91
  .to
90
92
  .match(/[a-z0-9-+]{1,30}@[a-z0-9-]{1,65}.[a-z]{1,}/gm)[0]
91
93
  .split('@')
92
94
 
93
- const tmp_from = container.email.json
95
+ const tmp_from = container.email.json
94
96
  .from
95
97
  .match(/[a-z0-9-+]{1,30}@[a-z0-9-]{1,65}.[a-z]{1,}/gm)[0]
96
98
  .split('@')
@@ -118,7 +120,7 @@ function extract_data(container) {
118
120
 
119
121
  // 7. Create the path where the email needs to be moved
120
122
  // so it is properly organized.
121
- const path = `sent/${
123
+ const path = `sent/${
122
124
  to_domain
123
125
  }/${
124
126
  to_account
@@ -131,7 +133,7 @@ function extract_data(container) {
131
133
  } - ${
132
134
  container.email.json.subject
133
135
  }/`
134
- + 'email'
136
+ + 'email'
135
137
 
136
138
  // 8. Save the path for the next promise.
137
139
  container.path = path
@@ -41,7 +41,7 @@ var NpmScript;
41
41
  NpmScript2["TypesGenerate"] = "types:generate";
42
42
  NpmScript2["Preinstall"] = "preinstall";
43
43
  NpmScript2["Prepublish"] = "prepublish";
44
- NpmScript2["UpgradeBun"] = "./storage/framework/core/scripts/setup.sh +bun.sh";
44
+ NpmScript2["UpgradeBun"] = "./storage/framework/scripts/setup.sh +bun.sh";
45
45
  NpmScript2["UpgradeDependencies"] = "pnpm up";
46
46
  })(NpmScript || (NpmScript = {}));
47
47
  var Action;
@@ -54,11 +54,13 @@ var Action;
54
54
  Action2["BuildCli"] = "build-cli";
55
55
  Action2["BuildCore"] = "build/core";
56
56
  Action2["BuildDesktop"] = "build/desktop";
57
- Action2["BuildDocs"] = "build-docs";
57
+ Action2["BuildDocs"] = "build/docs";
58
58
  Action2["BuildFunctionLib"] = "build-function-lib";
59
59
  Action2["Changelog"] = "changelog";
60
60
  Action2["Clean"] = "clean";
61
61
  Action2["DevComponents"] = "dev/components";
62
+ Action2["DevDashboard"] = "dev/dashboard";
63
+ Action2["DevSystemTray"] = "dev/system-tray";
62
64
  Action2["Dev"] = "dev/views";
63
65
  Action2["DevApi"] = "dev/api";
64
66
  Action2["DevDesktop"] = "dev/desktop";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/enums",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "private": true,
6
6
  "description": "Stacks enums.",
7
7
  "author": "Chris Breuer",
@@ -42,7 +42,7 @@ export enum NpmScript {
42
42
  TypesGenerate = 'types:generate',
43
43
  Preinstall = 'preinstall',
44
44
  Prepublish = 'prepublish',
45
- UpgradeBun = './storage/framework/core/scripts/setup.sh +bun.sh',
45
+ UpgradeBun = './storage/framework/scripts/setup.sh +bun.sh',
46
46
  UpgradeDependencies = 'pnpm up',
47
47
  }
48
48
 
@@ -55,11 +55,13 @@ export enum Action {
55
55
  BuildCli = 'build-cli',
56
56
  BuildCore = 'build/core',
57
57
  BuildDesktop = 'build/desktop',
58
- BuildDocs = 'build-docs',
58
+ BuildDocs = 'build/docs',
59
59
  BuildFunctionLib = 'build-function-lib',
60
60
  Changelog = 'changelog',
61
61
  Clean = 'clean',
62
62
  DevComponents = 'dev/components',
63
+ DevDashboard = 'dev/dashboard',
64
+ DevSystemTray = 'dev/system-tray',
63
65
  Dev = 'dev/views',
64
66
  DevApi = 'dev/api',
65
67
  DevDesktop = 'dev/desktop',
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/env",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "private": true,
6
6
  "description": "Stacks env helper methods.",
7
7
  "author": "Chris Breuer",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/error-handling",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "description": "Type safe error handling.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/eslint-config",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "description": "The Stacks.js ESLint config preset, heavily inspired by Anthony's ESLint config.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)",
7
7
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "typecheck": "bunx tsc --noEmit"
32
32
  },
33
33
  "peerDependencies": {
34
- "@unocss/eslint-plugin": ">=0.58.3",
34
+ "@unocss/eslint-plugin": ">=0.58.4",
35
35
  "eslint": "npm:eslint-ts-patch@^8.55.0-1",
36
36
  "eslint-plugin-format": "^0.1.0",
37
37
  "eslint-plugin-react": "^7.33.2",
@@ -66,49 +66,49 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@antfu/eslint-define-config": "^1.23.0-2",
69
- "@eslint-types/jsdoc": "48.0.2",
70
- "@eslint-types/typescript-eslint": "^6.18.1",
69
+ "@eslint-types/jsdoc": "48.0.4",
70
+ "@eslint-types/typescript-eslint": "^6.19.1",
71
71
  "@eslint-types/unicorn": "^50.0.1",
72
72
  "@stacksjs/cli": "workspace:*",
73
- "@stylistic/eslint-plugin": "^1.5.3",
74
- "@typescript-eslint/eslint-plugin": "^6.18.1",
75
- "@typescript-eslint/parser": "^6.18.1",
73
+ "@stylistic/eslint-plugin": "^1.5.4",
74
+ "@typescript-eslint/eslint-plugin": "^6.19.1",
75
+ "@typescript-eslint/parser": "^6.19.1",
76
76
  "eslint-config-flat-gitignore": "^0.1.2",
77
77
  "eslint-merge-processors": "^0.1.0",
78
78
  "eslint-parser-plain": "^0.1.0",
79
- "eslint-plugin-antfu": "^2.1.1",
79
+ "eslint-plugin-antfu": "^2.1.2",
80
80
  "eslint-plugin-eslint-comments": "^3.2.0",
81
81
  "eslint-plugin-i": "^2.29.1",
82
- "eslint-plugin-jsdoc": "^48.0.2",
83
- "eslint-plugin-jsonc": "^2.11.2",
82
+ "eslint-plugin-jsdoc": "^48.0.4",
83
+ "eslint-plugin-jsonc": "^2.13.0",
84
84
  "eslint-plugin-markdown": "^3.0.1",
85
85
  "eslint-plugin-n": "^16.6.2",
86
86
  "eslint-plugin-no-only-tests": "^3.1.0",
87
87
  "eslint-plugin-perfectionist": "^2.5.0",
88
- "eslint-plugin-toml": "^0.8.0",
88
+ "eslint-plugin-toml": "^0.9.2",
89
89
  "eslint-plugin-unicorn": "^50.0.1",
90
90
  "eslint-plugin-unused-imports": "^3.0.0",
91
91
  "eslint-plugin-vitest": "^0.3.20",
92
92
  "eslint-plugin-vue": "^9.20.1",
93
- "eslint-plugin-yml": "^1.11.0",
93
+ "eslint-plugin-yml": "^1.12.2",
94
94
  "eslint-processor-vue-blocks": "^0.1.1",
95
95
  "globals": "^13.24.0",
96
96
  "jsonc-eslint-parser": "^2.4.0",
97
97
  "local-pkg": "^0.5.0",
98
98
  "parse-gitignore": "^2.0.0",
99
99
  "toml-eslint-parser": "^0.9.3",
100
- "vue-eslint-parser": "^9.4.0",
100
+ "vue-eslint-parser": "^9.4.2",
101
101
  "yaml-eslint-parser": "^1.2.2"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@stacksjs/eslint-config": "workspace:*",
105
105
  "@stacksjs/utils": "workspace:*",
106
- "@stylistic/eslint-plugin-migrate": "^1.5.3",
106
+ "@stylistic/eslint-plugin-migrate": "^1.5.4",
107
107
  "@types/eslint": "^8.56.2",
108
- "@types/node": "^20.11.0",
109
- "@unocss/eslint-plugin": "^0.58.3",
110
- "eslint": "npm:eslint-ts-patch@^8.55.0-1",
111
- "eslint-flat-config-viewer": "^0.1.8",
108
+ "@types/node": "^20.11.9",
109
+ "@unocss/eslint-plugin": "^0.58.4",
110
+ "eslint": "^8.56.0",
111
+ "eslint-flat-config-viewer": "^0.1.11",
112
112
  "eslint-plugin-format": "^0.1.0",
113
113
  "eslint-ts-patch": "^8.55.0-1",
114
114
  "lint-staged": "^15.2.0",
@@ -11,7 +11,7 @@ export async function comments(): Promise<FlatConfigItem[]> {
11
11
  rules: {
12
12
  'eslint-comments/no-aggregating-enable': 'error',
13
13
  'eslint-comments/no-duplicate-disable': 'error',
14
- // 'eslint-comments/no-unlimited-disable': 'error',
14
+ 'eslint-comments/no-unlimited-disable': 'error',
15
15
  'eslint-comments/no-unused-enable': 'error',
16
16
  },
17
17
  },
@@ -1,5 +1,6 @@
1
1
  import type { FlatConfigItem, OptionsStylistic } from '../types'
2
2
  import { pluginAntfu, pluginImport } from '../plugins'
3
+ import { GLOB_SRC_EXT } from '../globs'
3
4
 
4
5
  export async function imports(options: OptionsStylistic = {}): Promise<FlatConfigItem[]> {
5
6
  const {
@@ -33,5 +34,13 @@ export async function imports(options: OptionsStylistic = {}): Promise<FlatConfi
33
34
  : {},
34
35
  },
35
36
  },
37
+ {
38
+ files: ['**/bin/**/*', `**/bin.${GLOB_SRC_EXT}`],
39
+ name: 'antfu:imports:bin',
40
+ rules: {
41
+ 'antfu/no-import-dist': 'off',
42
+ 'antfu/no-import-node-modules-by-path': 'off',
43
+ },
44
+ },
36
45
  ]
37
46
  }
@@ -47,6 +47,7 @@ export async function svelte(
47
47
  },
48
48
  },
49
49
  name: 'antfu:svelte:rules',
50
+ processor: pluginSvelte.processors['.svelte'],
50
51
  rules: {
51
52
  'import/no-mutable-exports': 'off',
52
53
  'no-undef': 'off', // incompatible with most recent (attribute-form) generic types RFC
@@ -26,7 +26,7 @@ export async function unicorn(): Promise<FlatConfigItem[]> {
26
26
  // includes over indexOf when checking for existence
27
27
  'unicorn/prefer-includes': 'error',
28
28
  // Prefer using the node: protocol
29
- // 'unicorn/prefer-node-protocol': 'error',
29
+ 'unicorn/prefer-node-protocol': 'error',
30
30
  // Prefer using number properties like `Number.isNaN` rather than `isNaN`
31
31
  'unicorn/prefer-number-properties': 'error',
32
32
  // String methods startsWith/endsWith instead of more complicated stuff
@@ -102,7 +102,6 @@ export async function vue(
102
102
  'vue/multi-word-component-names': 'off',
103
103
  'vue/no-dupe-keys': 'off',
104
104
  'vue/no-empty-pattern': 'error',
105
- 'vue/no-extra-parens': ['error', 'functions'],
106
105
  'vue/no-irregular-whitespace': 'error',
107
106
  'vue/no-loss-of-precision': 'error',
108
107
  'vue/no-restricted-syntax': [
@@ -117,6 +117,7 @@ export async function antfu(
117
117
  configs.push(typescript({
118
118
  ...resolveSubOptions(options, 'typescript'),
119
119
  componentExts,
120
+ overrides: getOverrides(options, 'typescript'),
120
121
  }))
121
122
  }
122
123
 
@@ -137,19 +138,12 @@ export async function antfu(
137
138
  if (enableVue) {
138
139
  configs.push(vue({
139
140
  ...resolveSubOptions(options, 'vue'),
141
+ overrides: getOverrides(options, 'vue'),
140
142
  stylistic: stylisticOptions,
141
143
  typescript: !!enableTypeScript,
142
144
  }))
143
145
  }
144
146
 
145
- // if (enableStacks) {
146
- // configs.push(stacks({
147
- // ...resolveSubOptions(options, 'stacks'),
148
- // stylistic: stylisticOptions,
149
- // typescript: !!enableTypeScript,
150
- // }))
151
- // }
152
-
153
147
  if (enableReact) {
154
148
  configs.push(react({
155
149
  overrides: getOverrides(options, 'react'),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/events",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "description": "Functional event emitting.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/faker",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "description": "Faker functions.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -51,7 +51,7 @@
51
51
  "@stacksjs/config": "workspace:*"
52
52
  },
53
53
  "dependencies": {
54
- "@faker-js/faker": "^8.3.1",
54
+ "@faker-js/faker": "^8.4.0",
55
55
  "@stacksjs/cli": "workspace:*",
56
56
  "@stacksjs/config": "workspace:*"
57
57
  },
@@ -1,6 +1,46 @@
1
1
  // @bun
2
2
  // src/index.ts
3
3
  import * as changelog from "changelogen";
4
+ function useGitHub() {
5
+ function getTimeDifference(givenDateString) {
6
+ const givenDate = new Date(givenDateString);
7
+ const currentDate = new Date;
8
+ const timeDifference = currentDate.getTime() - givenDate.getTime();
9
+ const secondsDifference = Math.floor(timeDifference / 1000);
10
+ const minutesDifference = Math.floor(secondsDifference / 60);
11
+ const hoursDifference = Math.floor(minutesDifference / 60);
12
+ const daysDifference = Math.floor(hoursDifference / 24);
13
+ const weeksDifference = Math.floor(daysDifference / 7);
14
+ if (secondsDifference < 60) {
15
+ return `${secondsDifference}s`;
16
+ } else if (minutesDifference < 60) {
17
+ const remainingSeconds = secondsDifference % 60;
18
+ return `${minutesDifference}m ${remainingSeconds}s`;
19
+ } else if (hoursDifference < 24) {
20
+ const remainingMinutes = minutesDifference % 60;
21
+ return `${hoursDifference}h ${remainingMinutes}m`;
22
+ } else if (weeksDifference < 7) {
23
+ const remainingHours = hoursDifference % 24;
24
+ return `${daysDifference}d ${remainingHours}h`;
25
+ }
26
+ return `${weeksDifference}w`;
27
+ }
28
+ function formatDuration(durationInSeconds) {
29
+ const minutes = Math.floor(durationInSeconds / 60);
30
+ const seconds = durationInSeconds % 60;
31
+ if (minutes > 1)
32
+ return `${minutes}m ${seconds}s`;
33
+ return `${seconds}s`;
34
+ }
35
+ function getActionRunDuration(startTime, endTime) {
36
+ const start = new Date(startTime);
37
+ const end = new Date(endTime);
38
+ const durationInSeconds = Math.floor((end.getTime() - start.getTime()) / 1000);
39
+ return formatDuration(durationInSeconds);
40
+ }
41
+ return { getTimeDifference, formatDuration, getActionRunDuration };
42
+ }
4
43
  export {
44
+ useGitHub,
5
45
  changelog
6
46
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/git",
3
3
  "type": "module",
4
- "version": "0.58.28",
4
+ "version": "0.58.30",
5
5
  "description": "The Stacks git utilities & conventions.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -47,7 +47,7 @@
47
47
  "prepublishOnly": "bun --bun run build"
48
48
  },
49
49
  "peerDependencies": {
50
- "bumpp": "^9.2.1",
50
+ "bumpp": "^9.3.0",
51
51
  "changelogen": "^0.5.5",
52
52
  "commitizen": "^4.3.0",
53
53
  "cz-git": "^1.8.0",
@@ -55,7 +55,7 @@
55
55
  "simple-git-hooks": "^2.9.0"
56
56
  },
57
57
  "dependencies": {
58
- "bumpp": "^9.2.1",
58
+ "bumpp": "^9.3.0",
59
59
  "changelogen": "^0.5.5",
60
60
  "commitizen": "^4.3.0",
61
61
  "cz-git": "^1.8.0",