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
@@ -1,15 +1,118 @@
1
- // wip - router that generates files for nitro engine
2
- // via a Laravel like syntax on the Stacks interface
3
- // check: Nitro's routing system to see the goal we want
4
- // -> to generate our Laravel source into their API
5
- // -> todo: alias `useHead` to `metaTags` or something more readable
1
+ import type { HttpMethod, Middleware, Route, RouteCallback, RouteGroupOptions } from '@stacksjs/types'
6
2
 
7
- // import type { NitroEventHandler } from '@stacksjs/types'
3
+ export class Router {
4
+ private routes: Route[] = []
8
5
 
9
- export function router() {
10
- // export function router(options: NitroEventHandler) {
6
+ addRoute(method: HttpMethod, url: string, callback: RouteCallback): void {
7
+ const paramNames: string[] = []
8
+ const pattern = new RegExp(`^${url.replace(/:[a-zA-Z]+/g, (match) => {
9
+ paramNames.push(match.slice(1))
10
+ return '([a-zA-Z0-9-]+)'
11
+ })}$`)
12
+ this.routes.push({ method, pattern, callback, paramNames })
13
+ }
11
14
 
12
- }
15
+ group(options: RouteGroupOptions, callback: () => void): void {
16
+ const { prefix = '', middleware = [] } = options
17
+ const routes = this.routes.slice()
18
+ this.routes = []
19
+
20
+ middleware.forEach((m) => {
21
+ if (m.before)
22
+ this.before(m.before)
23
+
24
+ if (m.after)
25
+ this.after(m.after)
26
+ })
27
+
28
+ callback()
29
+
30
+ this.routes = this.routes.map((r) => {
31
+ return {
32
+ ...r,
33
+ pattern: new RegExp(`^${prefix}${r.pattern.source}$`),
34
+ }
35
+ }).concat(routes)
36
+ }
37
+
38
+ before(callback: RouteCallback): void {
39
+ this.routes.unshift({ method: 'before', pattern: /^$/, callback, paramNames: [] })
40
+ }
41
+
42
+ after(callback: RouteCallback): void {
43
+ this.routes.push({ method: 'after', pattern: /^$/, callback, paramNames: [] })
44
+ }
45
+
46
+ async handleRequest(method: HttpMethod, url: string): Promise<any> {
47
+ const route = this.matchRoute(method, url)
48
+ if (!route)
49
+ throw new Error('Route not found')
50
+
51
+ const params = this.extractParams(route, url)
52
+ const middleware = this.getMiddleware(route)
53
+
54
+ if (middleware.before)
55
+ await middleware.before(params)
56
+
57
+ const result = await route.callback(params)
58
+
59
+ if (middleware.after)
60
+ await middleware.after(params)
13
61
 
14
- // those would be the serve commands because
15
- // "you serve functions (apis), you develop components (and pages), you build libraries and/or apps & apis
62
+ return result
63
+ }
64
+
65
+ async get(url: string, callback: RouteCallback): Promise<void> {
66
+ this.addRoute('get', url, callback)
67
+ }
68
+
69
+ async post(url: string, callback: RouteCallback): Promise<void> {
70
+ this.addRoute('post', url, callback)
71
+ }
72
+
73
+ async put(url: string, callback: RouteCallback): Promise<void> {
74
+ this.addRoute('put', url, callback)
75
+ }
76
+
77
+ async patch(url: string, callback: RouteCallback): Promise<void> {
78
+ this.addRoute('patch', url, callback)
79
+ }
80
+
81
+ async delete(url: string, callback: RouteCallback): Promise<void> {
82
+ this.addRoute('delete', url, callback)
83
+ }
84
+
85
+ private matchRoute(method: HttpMethod, url: string): Route | null {
86
+ const route = this.routes.find(r => r.method === method && r.pattern.test(url))
87
+ return route || null
88
+ }
89
+
90
+ private extractParams(route: Route, url: string): Record<string, any> {
91
+ const matches = url.match(route.pattern)
92
+ const params: Record<string, any> = {}
93
+ if (matches) {
94
+ route.paramNames.forEach((name, i) => {
95
+ params[name] = matches[i + 1]
96
+ })
97
+ }
98
+ return params
99
+ }
100
+
101
+ private getMiddleware(route: Route): Middleware {
102
+ const before = this.routes.filter(r => r.method === 'before')
103
+ const after = this.routes.filter(r => r.method === 'after')
104
+ const middleware: Middleware = {}
105
+
106
+ before.forEach((b) => {
107
+ if (b.pattern.test(route.pattern.source))
108
+ middleware.before = b.callback
109
+ })
110
+
111
+ after.forEach((a) => {
112
+ if (a.pattern.test(route.pattern.source))
113
+ middleware.after = a.callback
114
+ })
115
+
116
+ return middleware
117
+ }
118
+ }
@@ -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/scheduler",
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 scheduler.",
7
7
  "author": "Chris Breuer",
@@ -6,6 +6,7 @@ export default defineBuildConfig({
6
6
  builder: 'mkdist',
7
7
  input: './src/',
8
8
  outDir: './dist/',
9
+ format: 'esm',
9
10
  },
10
11
  ],
11
12
  declaration: true,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/search-engine",
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 search engine integrations.",
7
7
  "author": "Chris Breuer",
@@ -64,25 +64,4 @@ export function calculatePagination() {
64
64
  }
65
65
 
66
66
  // it needs these exports
67
- // currentPage, filterName, filters, goToNextPage, goToPage, goToPrevPage, hits, index, lastPageNumber, perPage, query, results, search, searchFilters, searchParams, setTotalHits, sort, sorts, totalPages
68
-
69
- export default {
70
- useSearchEngine,
71
- client,
72
- search,
73
- calculatePagination,
74
- currentPage,
75
- totalPages,
76
- filterName,
77
- filters,
78
- goToNextPage,
79
- goToPage,
80
- goToPrevPage,
81
- hits,
82
- index,
83
- searchFilters,
84
- searchParams,
85
- setTotalHits,
86
- sort,
87
- sorts,
88
- }
67
+ // currentPage, filterName, filters, goToNextPage, goToPage, goToPrevPage, hits, index, lastPageNumber, perPage, query, results, search, searchFilters, searchParams, setTotalHits, sort, sorts, totalPages
@@ -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/security",
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 security.",
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
  })
@@ -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/nitropack@2.4.0/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/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/nitropack@2.4.0/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/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/nitropack@2.4.1/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/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/nitropack@2.4.0/node_modules/nitropack/dist/cli.mjs" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/dist/cli.mjs" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/nitropack@2.4.0/node_modules/nitropack/dist/cli.mjs" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/dist/cli.mjs" "$@"
17
17
  fi
@@ -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/nitropack@2.4.0/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/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/nitropack@2.4.0/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.0/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/nitropack@2.4.1/node_modules/nitropack/dist/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/nitropack@2.4.1/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/nitropack@2.4.0/node_modules/nitropack/dist/cli.mjs" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/dist/cli.mjs" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/nitropack@2.4.0/node_modules/nitropack/dist/cli.mjs" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/nitropack@2.4.1/node_modules/nitropack/dist/cli.mjs" "$@"
17
17
  fi
@@ -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/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@types+node@18.16.10/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@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/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@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/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@types+node@18.16.10/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@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/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@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/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/vite.js" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/vite.js" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/vite.js" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/vite.js" "$@"
17
17
  fi
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/server",
3
3
  "type": "module",
4
- "version": "0.52.0",
4
+ "version": "0.52.1",
5
5
  "packageManager": "pnpm@8.5.1",
6
6
  "description": "Local development and production-ready.",
7
7
  "author": "Chris Breuer",
@@ -50,8 +50,8 @@
50
50
  "peerDependencies": {
51
51
  "@stacksjs/config": "workspace:*",
52
52
  "@stacksjs/path": "workspace:*",
53
- "nitropack": "^2.4.0",
54
- "vite": "^4.3.7"
53
+ "nitropack": "^2.4.1",
54
+ "vite": "^4.3.8"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@stacksjs/development": "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/signals",
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 signals integration, based on Maverick.",
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/slug",
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 slug functionality.",
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/sms",
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 SMS integration. Painlessly create & manage your inboxes, templates, and send sms.",
7
7
  "author": "Chris Breuer",
@@ -50,16 +50,16 @@
50
50
  "typecheck": "tsc --noEmit"
51
51
  },
52
52
  "peerDependencies": {
53
- "@novu/gupshup": "^0.14.0",
54
- "@novu/nexmo": "^0.14.0",
55
- "@novu/node": "^0.14.0",
56
- "@novu/plivo": "^0.14.0",
57
- "@novu/sms77": "^0.14.0",
58
- "@novu/sns": "^0.14.0",
59
- "@novu/stateless": "^0.14.0",
60
- "@novu/telnyx": "^0.14.0",
61
- "@novu/termii": "^0.14.0",
62
- "@novu/twilio": "^0.14.0",
53
+ "@novu/gupshup": "^0.15.0",
54
+ "@novu/nexmo": "^0.15.0",
55
+ "@novu/node": "^0.15.0",
56
+ "@novu/plivo": "^0.15.0",
57
+ "@novu/sms77": "^0.15.0",
58
+ "@novu/sns": "^0.15.0",
59
+ "@novu/stateless": "^0.15.0",
60
+ "@novu/telnyx": "^0.15.0",
61
+ "@novu/termii": "^0.15.0",
62
+ "@novu/twilio": "^0.15.0",
63
63
  "@stacksjs/cli": "workspace:*",
64
64
  "@stacksjs/config": "workspace:*",
65
65
  "@stacksjs/error-handling": "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/storage",
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 file system.",
7
7
  "author": "Chris Breuer",
@@ -1,7 +1,7 @@
1
1
  import { fileURLToPath } from 'node:url'
2
2
  import fs from 'fs-extra'
3
3
  import { detectIndent, detectNewline } from '@stacksjs/utils'
4
- import type { JsonFile, TextFile } from '@stacksjs/types'
4
+ import type { JsonFile, TextFile, PackageJson } from '@stacksjs/types'
5
5
  import { componentsPath, dirname, functionsPath, join, projectPath } from '@stacksjs/path'
6
6
  import { contains } from '@stacksjs/arrays'
7
7
 
@@ -21,6 +21,16 @@ export async function readJsonFile(name: string, cwd?: string): Promise<JsonFile
21
21
  return { ...file, data, indent, newline }
22
22
  }
23
23
 
24
+ /**
25
+ * Reads a package.json file and returns the parsed data.
26
+ */
27
+ export async function readPackageJson(name: string, cwd?: string) {
28
+ const file = await readJsonFile(name, cwd)
29
+ const data = file.data as PackageJson
30
+
31
+ return data
32
+ }
33
+
24
34
  /**
25
35
  * Writes the given data to the specified JSON file.
26
36
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/strings",
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 string utilities.",
7
7
  "author": "Chris Breuer",
@@ -1,4 +1,3 @@
1
1
  export * from './case'
2
2
  export * from './utils'
3
3
  export * from './pluralize'
4
- export * from './validation'
@@ -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
  })
@@ -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/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.1_@vitest+ui@0.31.1/node_modules/vitest/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.1_@vitest+ui@0.31.1/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/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/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/vitest@0.31.1_@vitest+ui@0.31.1/node_modules/vitest/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vitest@0.31.1_@vitest+ui@0.31.1/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/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/vitest.mjs" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vitest@0.31.1_@vitest+ui@0.31.1/node_modules/vitest/vitest.mjs" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/vitest@0.31.0_@vitest+ui@0.31.0/node_modules/vitest/vitest.mjs" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/vitest@0.31.1_@vitest+ui@0.31.1/node_modules/vitest/vitest.mjs" "$@"
17
17
  fi
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/testing",
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 testing.",
7
7
  "author": "Chris Breuer",
@@ -51,9 +51,9 @@
51
51
  },
52
52
  "peerDependencies": {
53
53
  "@playwright/test": "^1.33.0",
54
- "@vitest/coverage-istanbul": "^0.31.0",
55
- "@vitest/ui": "^0.31.0",
56
- "vitest": "^0.31.0"
54
+ "@vitest/coverage-istanbul": "^0.31.1",
55
+ "@vitest/ui": "^0.31.1",
56
+ "vitest": "^0.31.1"
57
57
  },
58
58
  "devDependencies": {
59
59
  "typescript": "^5.0.4",
@@ -1,2 +1,3 @@
1
+ // export { assert, describe, test } from 'vitest'
1
2
  export * as unit from 'vitest'
2
3
  export * as feature from '@playwright/test'
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/tinker",
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 tinker.",
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
  })
@@ -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/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@types+node@18.16.10/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@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/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@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/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@types+node@18.16.10/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.7_@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/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite@4.3.8_@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/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/vite.js" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/vite.js" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/vite@4.3.7_@types+node@18.16.10/node_modules/vite/bin/vite.js" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/vite@4.3.8_@types+node@18.16.13/node_modules/vite/bin/vite.js" "$@"
17
17
  fi
@@ -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/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_vue@3.3.2/node_modules/vite-ssg/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_vue@3.3.2/node_modules/vite-ssg/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_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/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_vue@3.3.4/node_modules/vite-ssg/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_vue@3.3.4/node_modules/vite-ssg/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_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/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_vue@3.3.2/node_modules/vite-ssg/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_vue@3.3.2/node_modules/vite-ssg/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_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/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_vue@3.3.4/node_modules/vite-ssg/bin/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_vue@3.3.4/node_modules/vite-ssg/node_modules:/home/runner/work/stacks/stacks/node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_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/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_vue@3.3.2/node_modules/vite-ssg/bin/vite-ssg.js" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_vue@3.3.4/node_modules/vite-ssg/bin/vite-ssg.js" "$@"
15
15
  else
16
- exec node "$basedir/../../../../../node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.7_vue-router@4.2.0_vue@3.3.2/node_modules/vite-ssg/bin/vite-ssg.js" "$@"
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/vite-ssg@0.22.2_@vueuse+head@1.1.26_vite@4.3.8_vue-router@4.2.1_vue@3.3.4/node_modules/vite-ssg/bin/vite-ssg.js" "$@"
17
17
  fi
@@ -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