@stacksjs/buddy 0.64.6 → 0.66.0

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 (149) hide show
  1. package/dist/chunk-3cfvbq6w.js +5 -0
  2. package/dist/{chunk-kkckr1p6.js.map → chunk-3cfvbq6w.js.map} +13 -13
  3. package/dist/chunk-3v3h2zkp.js +5 -0
  4. package/dist/{chunk-1f6t66bt.js.map → chunk-3v3h2zkp.js.map} +4 -4
  5. package/dist/chunk-3zx3yk1m.js +4 -0
  6. package/dist/chunk-3zx3yk1m.js.map +15 -0
  7. package/dist/chunk-8a487snn.js +5 -0
  8. package/dist/{chunk-wmfxrbxe.js.map → chunk-8a487snn.js.map} +1 -1
  9. package/dist/chunk-9kkf5maz.js +5 -0
  10. package/dist/{chunk-ygxh9jsp.js.map → chunk-9kkf5maz.js.map} +5 -5
  11. package/dist/chunk-9qba8jdt.js +12 -0
  12. package/dist/{chunk-v7d1bf8z.js.map → chunk-9qba8jdt.js.map} +5 -5
  13. package/dist/chunk-cvpb67bs.js +5 -0
  14. package/dist/chunk-cvpb67bs.js.map +10 -0
  15. package/dist/chunk-eqwfdbyk.js +5 -0
  16. package/dist/chunk-eqwfdbyk.js.map +17 -0
  17. package/dist/chunk-f41k7dpa.js +5 -0
  18. package/dist/{chunk-44mrj8pm.js.map → chunk-f41k7dpa.js.map} +3 -3
  19. package/dist/chunk-fx1zxxxa.js +9 -0
  20. package/dist/{chunk-gsnfg0v2.js.map → chunk-fx1zxxxa.js.map} +3 -3
  21. package/dist/chunk-get5gzkc.js +11 -0
  22. package/dist/chunk-get5gzkc.js.map +10 -0
  23. package/dist/chunk-m43npkjw.js +5 -0
  24. package/dist/{chunk-b685jsh2.js.map → chunk-m43npkjw.js.map} +3 -3
  25. package/dist/chunk-mrrgcavv.js +831 -0
  26. package/dist/chunk-mrrgcavv.js.map +240 -0
  27. package/dist/chunk-n5y0mrsg.js +15 -0
  28. package/dist/chunk-n5y0mrsg.js.map +173 -0
  29. package/dist/chunk-qebxvzqz.js +5 -0
  30. package/dist/{chunk-ebp27f3t.js.map → chunk-qebxvzqz.js.map} +9 -9
  31. package/dist/chunk-qj2v5psd.js +5 -0
  32. package/dist/{chunk-een41wce.js.map → chunk-qj2v5psd.js.map} +7 -7
  33. package/dist/chunk-rh4brnzh.js +5 -0
  34. package/dist/{chunk-been0qrs.js.map → chunk-rh4brnzh.js.map} +5 -5
  35. package/dist/chunk-w2vwjv6k.js +6 -0
  36. package/dist/chunk-w2vwjv6k.js.map +57 -0
  37. package/dist/chunk-w81rbh65.js +5 -0
  38. package/dist/{chunk-e9xdp71t.js.map → chunk-w81rbh65.js.map} +2 -2
  39. package/dist/chunk-wayp5kn2.js +5 -0
  40. package/dist/{chunk-qrw0tzf0.js.map → chunk-wayp5kn2.js.map} +6 -6
  41. package/dist/chunk-x5c5ngpb.js +4 -0
  42. package/dist/{chunk-34xxhapv.js.map → chunk-x5c5ngpb.js.map} +2 -2
  43. package/dist/cli.d.ts +1 -0
  44. package/dist/cli.js +2 -2
  45. package/dist/cli.js.map +3 -3
  46. package/dist/commands/add.d.ts +2 -0
  47. package/dist/commands/build.d.ts +2 -0
  48. package/dist/commands/changelog.d.ts +2 -0
  49. package/dist/commands/clean.d.ts +2 -0
  50. package/dist/commands/cloud.d.ts +2 -0
  51. package/dist/commands/commit.d.ts +2 -0
  52. package/dist/commands/configure.d.ts +2 -0
  53. package/dist/commands/create.d.ts +2 -0
  54. package/dist/commands/deploy.d.ts +2 -0
  55. package/dist/commands/dev.d.ts +3 -0
  56. package/dist/commands/dns.d.ts +2 -0
  57. package/dist/commands/domains.d.ts +2 -0
  58. package/dist/commands/fresh.d.ts +2 -0
  59. package/dist/commands/generate.d.ts +2 -0
  60. package/dist/commands/http.d.ts +2 -0
  61. package/dist/commands/index.d.ts +33 -0
  62. package/dist/commands/install.d.ts +2 -0
  63. package/dist/commands/key.d.ts +2 -0
  64. package/dist/commands/lint.d.ts +2 -0
  65. package/dist/commands/list.d.ts +2 -0
  66. package/dist/commands/make.d.ts +2 -0
  67. package/dist/commands/migrate.d.ts +2 -0
  68. package/dist/commands/outdated.d.ts +2 -0
  69. package/dist/commands/ports.d.ts +2 -0
  70. package/dist/commands/prepublish.d.ts +2 -0
  71. package/dist/commands/projects.d.ts +2 -0
  72. package/dist/commands/release.d.ts +2 -0
  73. package/dist/commands/route.d.ts +2 -0
  74. package/dist/commands/seed.d.ts +2 -0
  75. package/dist/commands/setup.d.ts +4 -0
  76. package/dist/commands/test.d.ts +2 -0
  77. package/dist/commands/tinker.d.ts +2 -0
  78. package/dist/commands/types.d.ts +2 -0
  79. package/dist/commands/upgrade.d.ts +2 -0
  80. package/dist/commands/version.d.ts +2 -0
  81. package/dist/custom-cli.d.ts +1 -0
  82. package/dist/index.d.ts +1 -0
  83. package/dist/index.js +2 -2
  84. package/dist/index.js.map +1 -1
  85. package/dist/stacks +0 -0
  86. package/package.json +50 -56
  87. package/src/cli.ts +10 -7
  88. package/src/commands/add.ts +2 -2
  89. package/src/commands/build.ts +50 -32
  90. package/src/commands/changelog.ts +2 -2
  91. package/src/commands/clean.ts +2 -2
  92. package/src/commands/cloud.ts +31 -12
  93. package/src/commands/commit.ts +2 -2
  94. package/src/commands/configure.ts +4 -3
  95. package/src/commands/create.ts +3 -3
  96. package/src/commands/deploy.ts +22 -11
  97. package/src/commands/dev.ts +38 -25
  98. package/src/commands/dns.ts +2 -2
  99. package/src/commands/domains.ts +2 -2
  100. package/src/commands/fresh.ts +2 -2
  101. package/src/commands/generate.ts +27 -3
  102. package/src/commands/http.ts +2 -2
  103. package/src/commands/index.ts +3 -3
  104. package/src/commands/install.ts +2 -2
  105. package/src/commands/key.ts +2 -2
  106. package/src/commands/lint.ts +7 -10
  107. package/src/commands/list.ts +3 -3
  108. package/src/commands/make.ts +12 -12
  109. package/src/commands/migrate.ts +2 -2
  110. package/src/commands/outdated.ts +4 -4
  111. package/src/commands/ports.ts +27 -17
  112. package/src/commands/prepublish.ts +2 -2
  113. package/src/commands/projects.ts +6 -4
  114. package/src/commands/release.ts +5 -7
  115. package/src/commands/route.ts +2 -2
  116. package/src/commands/seed.ts +2 -2
  117. package/src/commands/setup.ts +11 -7
  118. package/src/commands/test.ts +77 -54
  119. package/src/commands/tinker.ts +2 -2
  120. package/src/commands/types.ts +2 -2
  121. package/src/commands/upgrade.ts +20 -13
  122. package/src/commands/version.ts +2 -2
  123. package/src/custom-cli.ts +3 -2
  124. package/dist/chunk-1f6t66bt.js +0 -5
  125. package/dist/chunk-1nyept5d.js +0 -5
  126. package/dist/chunk-1nyept5d.js.map +0 -10
  127. package/dist/chunk-3472npd1.js +0 -19
  128. package/dist/chunk-3472npd1.js.map +0 -156
  129. package/dist/chunk-34xxhapv.js +0 -4
  130. package/dist/chunk-3y8aq9qa.js +0 -8
  131. package/dist/chunk-3y8aq9qa.js.map +0 -65
  132. package/dist/chunk-44mrj8pm.js +0 -5
  133. package/dist/chunk-8adez9b9.js +0 -5
  134. package/dist/chunk-8adez9b9.js.map +0 -10
  135. package/dist/chunk-b685jsh2.js +0 -5
  136. package/dist/chunk-been0qrs.js +0 -5
  137. package/dist/chunk-dnr3cyf7.js +0 -7
  138. package/dist/chunk-dnr3cyf7.js.map +0 -60
  139. package/dist/chunk-e9xdp71t.js +0 -5
  140. package/dist/chunk-ebp27f3t.js +0 -5
  141. package/dist/chunk-een41wce.js +0 -5
  142. package/dist/chunk-gsnfg0v2.js +0 -9
  143. package/dist/chunk-kkckr1p6.js +0 -5
  144. package/dist/chunk-pq8pr524.js +0 -5
  145. package/dist/chunk-pq8pr524.js.map +0 -17
  146. package/dist/chunk-qrw0tzf0.js +0 -5
  147. package/dist/chunk-v7d1bf8z.js +0 -12
  148. package/dist/chunk-wmfxrbxe.js +0 -5
  149. package/dist/chunk-ygxh9jsp.js +0 -5
@@ -1,10 +1,10 @@
1
+ import type { CLI, ProjectsOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { intro, log } from '@stacksjs/cli'
3
4
  import { ExitCode } from '@stacksjs/types'
4
- import type { CLI, ProjectsOptions } from '@stacksjs/types'
5
5
  import { findStacksProjects } from '@stacksjs/utils'
6
6
 
7
- export function projects(buddy: CLI) {
7
+ export function projects(buddy: CLI): void {
8
8
  const descriptions = {
9
9
  projects: 'Find all Stacks projects on your system',
10
10
  verbose: 'Enable verbose output',
@@ -18,7 +18,8 @@ export function projects(buddy: CLI) {
18
18
  .action(async (options: ProjectsOptions) => {
19
19
  log.debug('Running `buddy projects` ...', options)
20
20
 
21
- if (!options.quiet) await intro('buddy projects')
21
+ if (!options.quiet)
22
+ await intro('buddy projects')
22
23
 
23
24
  const projects = await findStacksProjects(undefined, options)
24
25
 
@@ -35,7 +36,8 @@ export function projects(buddy: CLI) {
35
36
  .action(async (options: ProjectsOptions) => {
36
37
  log.debug('Running `buddy projects` ...', options)
37
38
 
38
- if (!options.quiet) await intro('buddy projects:list')
39
+ if (!options.quiet)
40
+ await intro('buddy projects:list')
39
41
 
40
42
  // uses os.homedir() as the default path
41
43
  const projects = await findStacksProjects(undefined, options)
@@ -1,9 +1,9 @@
1
+ import type { CLI, ReleaseOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { runAction } from '@stacksjs/actions'
3
4
  import { intro, italic, log, outro } from '@stacksjs/cli'
4
5
  import { Action } from '@stacksjs/enums'
5
6
  import { ExitCode } from '@stacksjs/types'
6
- import type { CLI, ReleaseOptions } from '@stacksjs/types'
7
7
 
8
8
  const descriptions = {
9
9
  release: 'Release a new version of your libraries/packages',
@@ -12,7 +12,7 @@ const descriptions = {
12
12
  verbose: 'Enable verbose output',
13
13
  }
14
14
 
15
- export function release(buddy: CLI) {
15
+ export function release(buddy: CLI): void {
16
16
  buddy
17
17
  .command('release', descriptions.release)
18
18
  .option('--dry-run', descriptions.dryRun, { default: false })
@@ -21,13 +21,11 @@ export function release(buddy: CLI) {
21
21
  .action(async (options: ReleaseOptions) => {
22
22
  log.debug('Running `buddy release` ...', options)
23
23
 
24
- if (options.dryRun) log.warn('Dry run enabled. No changes will be made or committed.')
24
+ if (options.dryRun)
25
+ log.warn('Dry run enabled. No changes will be made or committed.')
25
26
 
26
27
  const startTime = await intro('buddy release')
27
- const result = await runAction(Action.Release, {
28
- stdin: 'inherit',
29
- ...options,
30
- })
28
+ const result = await runAction(Action.Release, options)
31
29
 
32
30
  if (result.isErr()) {
33
31
  log.error('Failed to release', result.error)
@@ -1,11 +1,11 @@
1
+ import type { CLI, MigrateOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { runAction } from '@stacksjs/actions'
3
4
  import { intro, outro } from '@stacksjs/cli'
4
5
  import { Action } from '@stacksjs/enums'
5
6
  import { ExitCode } from '@stacksjs/types'
6
- import type { CLI, MigrateOptions } from '@stacksjs/types'
7
7
 
8
- export function route(buddy: CLI) {
8
+ export function route(buddy: CLI): void {
9
9
  const descriptions = {
10
10
  route: 'Lists your routes',
11
11
  verbose: 'Enable verbose output',
@@ -1,11 +1,11 @@
1
+ import type { CLI, SeedOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { runAction } from '@stacksjs/actions'
3
4
  import { intro, log, outro } from '@stacksjs/cli'
4
5
  import { Action } from '@stacksjs/enums'
5
6
  import { ExitCode } from '@stacksjs/types'
6
- import type { CLI, SeedOptions } from '@stacksjs/types'
7
7
 
8
- export function seed(buddy: CLI) {
8
+ export function seed(buddy: CLI): void {
9
9
  const descriptions = {
10
10
  seed: 'Seed your database',
11
11
  project: 'Target a specific project',
@@ -1,3 +1,4 @@
1
+ import type { CLI, CliOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { runAction } from '@stacksjs/actions'
3
4
  import { log, runCommand } from '@stacksjs/cli'
@@ -6,9 +7,8 @@ import { handleError } from '@stacksjs/error-handling'
6
7
  import { path as p } from '@stacksjs/path'
7
8
  import { storage } from '@stacksjs/storage'
8
9
  import { ExitCode } from '@stacksjs/types'
9
- import type { CLI, CliOptions } from '@stacksjs/types'
10
10
 
11
- export function setup(buddy: CLI) {
11
+ export function setup(buddy: CLI): void {
12
12
  const descriptions = {
13
13
  setup: 'This command ensures your project is setup correctly',
14
14
  ohMyZsh: 'Enable Oh My Zsh',
@@ -25,7 +25,8 @@ export function setup(buddy: CLI) {
25
25
  .action(async (options: CliOptions) => {
26
26
  log.debug('Running `buddy setup` ...', options)
27
27
 
28
- if (!(await isPkgxInstalled())) await installPkgx()
28
+ if (!(await isPkgxInstalled()))
29
+ await installPkgx()
29
30
 
30
31
  // ensure the minimal amount of deps are written to ./pkgx.yaml
31
32
  await optimizePkgxDeps()
@@ -59,7 +60,8 @@ export function setup(buddy: CLI) {
59
60
  async function isPkgxInstalled(): Promise<boolean> {
60
61
  const result = await runCommand('pkgx --version', { silent: true })
61
62
 
62
- if (result.isOk()) return true
63
+ if (result.isOk())
64
+ return true
63
65
 
64
66
  return false
65
67
  }
@@ -67,7 +69,8 @@ async function isPkgxInstalled(): Promise<boolean> {
67
69
  async function installPkgx(): Promise<void> {
68
70
  const result = await runCommand(p.frameworkPath('scripts/pkgx-install'))
69
71
 
70
- if (result.isOk()) return
72
+ if (result.isOk())
73
+ return
71
74
 
72
75
  handleError(result.error)
73
76
  process.exit(ExitCode.FatalError)
@@ -118,7 +121,7 @@ async function initializeProject(options: CliOptions): Promise<void> {
118
121
  }
119
122
 
120
123
  export async function optimizePkgxDeps(): Promise<void> {
121
- return new Promise((resolve) => setTimeout(resolve, 300))
124
+ return new Promise(resolve => setTimeout(resolve, 300))
122
125
  }
123
126
 
124
127
  export async function ensureEnvIsSet(options: CliOptions): Promise<void> {
@@ -135,7 +138,8 @@ export async function ensureEnvIsSet(options: CliOptions): Promise<void> {
135
138
  }
136
139
 
137
140
  log.success('.env created')
138
- } else {
141
+ }
142
+ else {
139
143
  log.success('.env existed')
140
144
  }
141
145
  }
@@ -1,11 +1,11 @@
1
+ import type { CLI, TestOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { runAction } from '@stacksjs/actions'
3
- import { intro, outro } from '@stacksjs/cli'
4
+ import { intro, log, outro } from '@stacksjs/cli'
4
5
  import { Action } from '@stacksjs/enums'
5
6
  import { projectPath } from '@stacksjs/path'
6
- import type { CLI, TestOptions } from '@stacksjs/types'
7
7
 
8
- export function test(buddy: CLI) {
8
+ export function test(buddy: CLI): void {
9
9
  const descriptions = {
10
10
  command: 'Runs your test suite',
11
11
  types: 'Typechecks your codebase',
@@ -20,23 +20,80 @@ export function test(buddy: CLI) {
20
20
 
21
21
  buddy
22
22
  .command('test', descriptions.command)
23
- .option('--ui', descriptions.ui, { default: false })
23
+ .option('-f, --feature', descriptions.feature, { default: false })
24
+ .option('-u, --unit', descriptions.unit, { default: false })
25
+ // .option('--ui', descriptions.ui, { default: false })
24
26
  .option('-p, --project [project]', descriptions.project, { default: false })
25
27
  .option('--verbose', descriptions.verbose, { default: true })
26
28
  .action(async (options: TestOptions) => {
27
29
  const perf = await intro('buddy test')
28
- const result = await runAction(Action.Test, {
29
- ...options,
30
- cwd: projectPath(),
31
- })
32
30
 
33
- if (result.isErr()) {
34
- await outro(
35
- 'While running `buddy test`, there was an issue',
36
- { startTime: perf, useSeconds: true },
37
- result.error,
38
- )
39
- process.exit()
31
+ if (options.feature && options.unit) {
32
+ const result = await runAction(Action.Test, {
33
+ ...options,
34
+ cwd: projectPath(),
35
+ })
36
+
37
+ if (result.isErr()) {
38
+ await outro(
39
+ 'While running `buddy test`, there was an issue',
40
+ { startTime: perf, useSeconds: true },
41
+ result.error,
42
+ )
43
+ process.exit()
44
+ }
45
+ }
46
+
47
+ if (options.feature && !options.unit) {
48
+ log.info('Running Feature tests...')
49
+
50
+ const result = await runAction(Action.TestFeature, {
51
+ ...options,
52
+ cwd: projectPath(),
53
+ })
54
+
55
+ if (result.isErr()) {
56
+ await outro(
57
+ 'While running `buddy test`, there was an issue',
58
+ { startTime: perf, useSeconds: true },
59
+ result.error,
60
+ )
61
+ process.exit()
62
+ }
63
+ }
64
+
65
+ if (!options.feature && options.unit) {
66
+ log.info('Running Unit tests...')
67
+
68
+ const result = await runAction(Action.TestUnit, {
69
+ ...options,
70
+ cwd: projectPath(),
71
+ })
72
+
73
+ if (result.isErr()) {
74
+ await outro(
75
+ 'While running `buddy test`, there was an issue',
76
+ { startTime: perf, useSeconds: true },
77
+ result.error,
78
+ )
79
+ process.exit()
80
+ }
81
+ }
82
+
83
+ if (!options.feature && !options.unit) {
84
+ const result = await runAction(Action.Test, {
85
+ ...options,
86
+ cwd: projectPath(),
87
+ })
88
+
89
+ if (result.isErr()) {
90
+ await outro(
91
+ 'While running `buddy test`, there was an issue',
92
+ { startTime: perf, useSeconds: true },
93
+ result.error,
94
+ )
95
+ process.exit()
96
+ }
40
97
  }
41
98
 
42
99
  await outro('Finished running tests', {
@@ -73,24 +130,14 @@ export function test(buddy: CLI) {
73
130
 
74
131
  buddy
75
132
  .command('test:feature', descriptions.feature)
76
- .option('--show-report', descriptions.showReport, { default: false })
77
133
  .option('--verbose', descriptions.verbose, { default: false })
78
134
  .action(async (options: TestOptions) => {
79
135
  const perf = await intro('buddy test:feature')
80
- let result
81
-
82
- if (options.showReport)
83
- result = await runAction(Action.ShowFeatureTestReport, {
84
- ...options,
85
- verbose: true,
86
- cwd: projectPath(),
87
- })
88
- else
89
- result = await runAction(Action.TestFeature, {
90
- ...options,
91
- verbose: true,
92
- cwd: projectPath(),
93
- })
136
+ const result = await runAction(Action.TestFeature, {
137
+ ...options,
138
+ verbose: true,
139
+ cwd: projectPath(),
140
+ })
94
141
 
95
142
  if (result.isErr()) {
96
143
  await outro(
@@ -160,30 +207,6 @@ export function test(buddy: CLI) {
160
207
  })
161
208
  })
162
209
 
163
- buddy.command('test:coverage', descriptions.coverage).action(async (options: TestOptions) => {
164
- const perf = await intro('buddy test:coverage')
165
- const result = await runAction(Action.TestCoverage, {
166
- ...options,
167
- cwd: projectPath(),
168
- verbose: true,
169
- })
170
-
171
- if (result.isErr()) {
172
- await outro(
173
- 'While running `buddy test:coverage`, there was an issue',
174
- { startTime: perf, useSeconds: true },
175
- result.error,
176
- )
177
- process.exit()
178
- }
179
-
180
- await outro('Generated the test coverage report', {
181
- startTime: perf,
182
- useSeconds: true,
183
- })
184
- process.exit()
185
- })
186
-
187
210
  buddy.on('test:*', () => {
188
211
  console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
189
212
  process.exit(1)
@@ -1,9 +1,9 @@
1
+ import type { CLI, TinkerOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { intro, log, outro, runCommand } from '@stacksjs/cli'
3
4
  import { ExitCode } from '@stacksjs/types'
4
- import type { CLI, TinkerOptions } from '@stacksjs/types'
5
5
 
6
- export function tinker(buddy: CLI) {
6
+ export function tinker(buddy: CLI): void {
7
7
  const descriptions = {
8
8
  tinker: 'Tinker with your code',
9
9
  project: 'Target a specific project',
@@ -1,9 +1,9 @@
1
+ import type { CLI, CliOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { generateTypes } from '@stacksjs/actions'
3
4
  import { log } from '@stacksjs/logging'
4
- import type { CLI, CliOptions } from '@stacksjs/types'
5
5
 
6
- export function types(buddy: CLI) {
6
+ export function types(buddy: CLI): void {
7
7
  const descriptions = {
8
8
  generate: 'Generate the types of & for your library/libraries',
9
9
  fix: 'wip',
@@ -1,12 +1,12 @@
1
+ import type { CLI, UpgradeOptions } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { runAction } from '@stacksjs/actions'
3
- import { intro, log, outro } from '@stacksjs/cli'
4
+ import { intro, log, outro, prompts } from '@stacksjs/cli'
4
5
  import { Action } from '@stacksjs/enums'
5
6
  import { ExitCode } from '@stacksjs/types'
6
- import type { CLI, UpgradeOptions } from '@stacksjs/types'
7
7
  import { isString } from '@stacksjs/validation'
8
8
 
9
- export function upgrade(buddy: CLI) {
9
+ export function upgrade(buddy: CLI): void {
10
10
  const descriptions = {
11
11
  command: 'Upgrade dependencies, framework, package manager, JS/TS runtime',
12
12
  framework: 'Upgrade the Stacks framework',
@@ -42,22 +42,29 @@ export function upgrade(buddy: CLI) {
42
42
  const perf = await intro('buddy upgrade')
43
43
 
44
44
  if (hasNoOptions(options)) {
45
- let answers = await log.prompt.require().multiselect(descriptions.select, {
46
- options: [
47
- { value: 'dependencies', label: 'Dependencies' },
48
- { value: 'framework', label: 'Framework' },
49
- { value: 'bun', label: 'Bun' },
50
- { value: 'shell', label: 'Shell' },
51
- { value: 'binary', label: 'Binary' },
45
+ const answers = await prompts({
46
+ type: 'multiselect',
47
+ name: 'value',
48
+ message: descriptions.select,
49
+ choices: [
50
+ { value: 'dependencies', title: 'Dependencies' },
51
+ { value: 'framework', title: 'Framework' },
52
+ { value: 'bun', title: 'Bun' },
53
+ { value: 'shell', title: 'Shell' },
54
+ { value: 'binary', title: 'Binary' },
52
55
  ],
53
56
  })
54
57
 
55
- if (answers !== null) process.exit(ExitCode.InvalidArgument)
58
+ let answersValue = answers.value
59
+
60
+ if (answersValue !== null)
61
+ process.exit(ExitCode.InvalidArgument)
56
62
 
57
- if (isString(answers)) answers = [answers]
63
+ if (isString(answersValue))
64
+ answersValue = [answersValue]
58
65
 
59
66
  // creates an object out of array and sets answers to true
60
- options = answers.reduce((a: any, v: any) => {
67
+ options = answersValue.reduce((a: any, v: any) => {
61
68
  a[v] = true
62
69
  return a
63
70
  }, {})
@@ -1,9 +1,9 @@
1
+ import type { CLI } from '@stacksjs/types'
1
2
  import process from 'node:process'
2
3
  import { bold, dim, green, intro, log } from '@stacksjs/cli'
3
4
  import { storage } from '@stacksjs/storage'
4
- import type { CLI } from '@stacksjs/types'
5
5
 
6
- export function version(buddy: CLI) {
6
+ export function version(buddy: CLI): void {
7
7
  const descriptions = {
8
8
  version: 'Retrieving Stacks build version',
9
9
  }
package/src/custom-cli.ts CHANGED
@@ -17,14 +17,15 @@ async function main() {
17
17
 
18
18
  // dynamically import and register commands from ./app/Commands/*
19
19
  const commandsDir = p.appPath('Commands')
20
- const commandFiles = fs.readdirSync(commandsDir).filter((file) => file.endsWith('.ts'))
20
+ const commandFiles = fs.readdirSync(commandsDir).filter((file: string) => file.endsWith('.ts'))
21
21
 
22
22
  for (const file of commandFiles) {
23
23
  const commandPath = `${commandsDir}/${file}`
24
24
  const dynamicImport = await import(commandPath)
25
25
 
26
26
  // Correctly use the default export function
27
- if (typeof dynamicImport.default === 'function') dynamicImport.default(buddy)
27
+ if (typeof dynamicImport.default === 'function')
28
+ dynamicImport.default(buddy)
28
29
  else console.error(`Expected a default export function in ${file}, but got:`, dynamicImport.default)
29
30
  }
30
31
 
@@ -1,5 +0,0 @@
1
- // @bun
2
- import{N as a6,O as P}from"./chunk-wmfxrbxe.js";var N=P((nO)=>{nO.fromCallback=function(q){return Object.defineProperty(function(...J){if(typeof J[J.length-1]==="function")q.apply(this,J);else return new Promise((O,z)=>{J.push((U,X)=>U!=null?z(U):O(X)),q.apply(this,J)})},"name",{value:q.name})};nO.fromPromise=function(q){return Object.defineProperty(function(...J){const O=J[J.length-1];if(typeof O!=="function")return q.apply(this,J);else J.pop(),q.apply(this,J).then((z)=>O(null,z),O)},"name",{value:q.name})}});var mq=P((Y4,bq)=>{function mO(q){if(d.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))J(q);if(!q.lutimes)O(q);if(q.chown=X(q.chown),q.fchown=X(q.fchown),q.lchown=X(q.lchown),q.chmod=z(q.chmod),q.fchmod=z(q.fchmod),q.lchmod=z(q.lchmod),q.chownSync=Y(q.chownSync),q.fchownSync=Y(q.fchownSync),q.lchownSync=Y(q.lchownSync),q.chmodSync=U(q.chmodSync),q.fchmodSync=U(q.fchmodSync),q.lchmodSync=U(q.lchmodSync),q.stat=K(q.stat),q.fstat=K(q.fstat),q.lstat=K(q.lstat),q.statSync=j(q.statSync),q.fstatSync=j(q.fstatSync),q.lstatSync=j(q.lstatSync),q.chmod&&!q.lchmod)q.lchmod=function(Z,V,E){if(E)process.nextTick(E)},q.lchmodSync=function(){};if(q.chown&&!q.lchown)q.lchown=function(Z,V,E,G){if(G)process.nextTick(G)},q.lchownSync=function(){};if(bO==="win32")q.rename=typeof q.rename!=="function"?q.rename:function(Z){function V(E,G,H){var C=Date.now(),w=0;Z(E,G,function R(h){if(h&&(h.code==="EACCES"||h.code==="EPERM"||h.code==="EBUSY")&&Date.now()-C<60000){if(setTimeout(function(){q.stat(G,function(v,zq){if(v&&v.code==="ENOENT")Z(E,G,R);else H(h)})},w),w<100)w+=10;return}if(H)H(h)})}if(Object.setPrototypeOf)Object.setPrototypeOf(V,Z);return V}(q.rename);q.read=typeof q.read!=="function"?q.read:function(Z){function V(E,G,H,C,w,R){var h;if(R&&typeof R==="function"){var v=0;h=function(zq,Sq,gq){if(zq&&zq.code==="EAGAIN"&&v<10)return v++,Z.call(q,E,G,H,C,w,h);R.apply(this,arguments)}}return Z.call(q,E,G,H,C,w,h)}if(Object.setPrototypeOf)Object.setPrototypeOf(V,Z);return V}(q.read),q.readSync=typeof q.readSync!=="function"?q.readSync:function(Z){return function(V,E,G,H,C){var w=0;while(!0)try{return Z.call(q,V,E,G,H,C)}catch(R){if(R.code==="EAGAIN"&&w<10){w++;continue}throw R}}}(q.readSync);function J(Z){Z.lchmod=function(V,E,G){Z.open(V,d.O_WRONLY|d.O_SYMLINK,E,function(H,C){if(H){if(G)G(H);return}Z.fchmod(C,E,function(w){Z.close(C,function(R){if(G)G(w||R)})})})},Z.lchmodSync=function(V,E){var G=Z.openSync(V,d.O_WRONLY|d.O_SYMLINK,E),H=!0,C;try{C=Z.fchmodSync(G,E),H=!1}finally{if(H)try{Z.closeSync(G)}catch(w){}else Z.closeSync(G)}return C}}function O(Z){if(d.hasOwnProperty("O_SYMLINK")&&Z.futimes)Z.lutimes=function(V,E,G,H){Z.open(V,d.O_SYMLINK,function(C,w){if(C){if(H)H(C);return}Z.futimes(w,E,G,function(R){Z.close(w,function(h){if(H)H(R||h)})})})},Z.lutimesSync=function(V,E,G){var H=Z.openSync(V,d.O_SYMLINK),C,w=!0;try{C=Z.futimesSync(H,E,G),w=!1}finally{if(w)try{Z.closeSync(H)}catch(R){}else Z.closeSync(H)}return C};else if(Z.futimes)Z.lutimes=function(V,E,G,H){if(H)process.nextTick(H)},Z.lutimesSync=function(){}}function z(Z){if(!Z)return Z;return function(V,E,G){return Z.call(q,V,E,function(H){if(n(H))H=null;if(G)G.apply(this,arguments)})}}function U(Z){if(!Z)return Z;return function(V,E){try{return Z.call(q,V,E)}catch(G){if(!n(G))throw G}}}function X(Z){if(!Z)return Z;return function(V,E,G,H){return Z.call(q,V,E,G,function(C){if(n(C))C=null;if(H)H.apply(this,arguments)})}}function Y(Z){if(!Z)return Z;return function(V,E,G){try{return Z.call(q,V,E,G)}catch(H){if(!n(H))throw H}}}function K(Z){if(!Z)return Z;return function(V,E,G){if(typeof E==="function")G=E,E=null;function H(C,w){if(w){if(w.uid<0)w.uid+=4294967296;if(w.gid<0)w.gid+=4294967296}if(G)G.apply(this,arguments)}return E?Z.call(q,V,E,H):Z.call(q,V,H)}}function j(Z){if(!Z)return Z;return function(V,E){var G=E?Z.call(q,V,E):Z.call(q,V);if(G){if(G.uid<0)G.uid+=4294967296;if(G.gid<0)G.gid+=4294967296}return G}}function n(Z){if(!Z)return!0;if(Z.code==="ENOSYS")return!0;var V=!process.getuid||process.getuid()!==0;if(V){if(Z.code==="EINVAL"||Z.code==="EPERM")return!0}return!1}}var d=import.meta.require("constants"),gO=process.cwd,Eq=null,bO=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!Eq)Eq=gO.call(process);return Eq};try{process.cwd()}catch(q){}if(typeof process.chdir==="function"){if(jq=process.chdir,process.chdir=function(q){Eq=null,jq.call(process,q)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,jq)}var jq;bq.exports=mO});var lq=P((Z4,iq)=>{function hO(q){return{ReadStream:J,WriteStream:O};function J(z,U){if(!(this instanceof J))return new J(z,U);hq.call(this);var X=this;this.path=z,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,U=U||{};var Y=Object.keys(U);for(var K=0,j=Y.length;K<j;K++){var n=Y[K];this[n]=U[n]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){X._read()});return}q.open(this.path,this.flags,this.mode,function(Z,V){if(Z){X.emit("error",Z),X.readable=!1;return}X.fd=V,X.emit("open",V),X._read()})}function O(z,U){if(!(this instanceof O))return new O(z,U);hq.call(this),this.path=z,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,U=U||{};var X=Object.keys(U);for(var Y=0,K=X.length;Y<K;Y++){var j=X[Y];this[j]=U[j]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=q.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}var hq=import.meta.require("stream").Stream;iq.exports=hO});var cq=P((G4,pq)=>{function lO(q){if(q===null||typeof q!=="object")return q;if(q instanceof Object)var J={__proto__:iO(q)};else var J=Object.create(null);return Object.getOwnPropertyNames(q).forEach(function(O){Object.defineProperty(J,O,Object.getOwnPropertyDescriptor(q,O))}),J}pq.exports=lO;var iO=Object.getPrototypeOf||function(q){return q.__proto__}});var s=P((K4,yq)=>{function fO(){}function oq(q,J){Object.defineProperty(q,k,{get:function(){return J}})}function Rq(q){pO(q),q.gracefulify=Rq,q.createReadStream=Sq,q.createWriteStream=gq;var J=q.readFile;q.readFile=O;function O(_,x,A){if(typeof x==="function")A=x,x=null;return T(_,x,A);function T(F,I,Q,W){return J(F,I,function(B){if(B&&(B.code==="EMFILE"||B.code==="ENFILE"))t([T,[F,I,Q],B,W||Date.now(),Date.now()]);else if(typeof Q==="function")Q.apply(this,arguments)})}}var z=q.writeFile;q.writeFile=U;function U(_,x,A,T){if(typeof A==="function")T=A,A=null;return F(_,x,A,T);function F(I,Q,W,B,$){return z(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}var X=q.appendFile;if(X)q.appendFile=Y;function Y(_,x,A,T){if(typeof A==="function")T=A,A=null;return F(_,x,A,T);function F(I,Q,W,B,$){return X(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}var K=q.copyFile;if(K)q.copyFile=j;function j(_,x,A,T){if(typeof A==="function")T=A,A=0;return F(_,x,A,T);function F(I,Q,W,B,$){return K(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}var n=q.readdir;q.readdir=V;var Z=/^v[0-5]\./;function V(_,x,A){if(typeof x==="function")A=x,x=null;var T=Z.test(process.version)?function I(Q,W,B,$){return n(Q,F(Q,W,B,$))}:function I(Q,W,B,$){return n(Q,W,F(Q,W,B,$))};return T(_,x,A);function F(I,Q,W,B){return function($,D){if($&&($.code==="EMFILE"||$.code==="ENFILE"))t([T,[I,Q,W],$,B||Date.now(),Date.now()]);else{if(D&&D.sort)D.sort();if(typeof W==="function")W.call(this,$,D)}}}}if(process.version.substr(0,4)==="v0.8"){var E=cO(q);R=E.ReadStream,v=E.WriteStream}var G=q.ReadStream;if(G)R.prototype=Object.create(G.prototype),R.prototype.open=h;var H=q.WriteStream;if(H)v.prototype=Object.create(H.prototype),v.prototype.open=zq;Object.defineProperty(q,"ReadStream",{get:function(){return R},set:function(_){R=_},enumerable:!0,configurable:!0}),Object.defineProperty(q,"WriteStream",{get:function(){return v},set:function(_){v=_},enumerable:!0,configurable:!0});var C=R;Object.defineProperty(q,"FileReadStream",{get:function(){return C},set:function(_){C=_},enumerable:!0,configurable:!0});var w=v;Object.defineProperty(q,"FileWriteStream",{get:function(){return w},set:function(_){w=_},enumerable:!0,configurable:!0});function R(_,x){if(this instanceof R)return G.apply(this,arguments),this;else return R.apply(Object.create(R.prototype),arguments)}function h(){var _=this;Dq(_.path,_.flags,_.mode,function(x,A){if(x){if(_.autoClose)_.destroy();_.emit("error",x)}else _.fd=A,_.emit("open",A),_.read()})}function v(_,x){if(this instanceof v)return H.apply(this,arguments),this;else return v.apply(Object.create(v.prototype),arguments)}function zq(){var _=this;Dq(_.path,_.flags,_.mode,function(x,A){if(x)_.destroy(),_.emit("error",x);else _.fd=A,_.emit("open",A)})}function Sq(_,x){return new q.ReadStream(_,x)}function gq(_,x){return new q.WriteStream(_,x)}var uO=q.open;q.open=Dq;function Dq(_,x,A,T){if(typeof A==="function")T=A,A=null;return F(_,x,A,T);function F(I,Q,W,B,$){return uO(I,Q,W,function(D,U4){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}return q}function t(q){a("ENQUEUE",q[0].name,q[1]),y[k].push(q),Qq()}function fq(){var q=Date.now();for(var J=0;J<y[k].length;++J)if(y[k][J].length>2)y[k][J][3]=q,y[k][J][4]=q;Qq()}function Qq(){if(clearTimeout(Lq),Lq=void 0,y[k].length===0)return;var q=y[k].shift(),J=q[0],O=q[1],z=q[2],U=q[3],X=q[4];if(U===void 0)a("RETRY",J.name,O),J.apply(null,O);else if(Date.now()-U>=60000){a("TIMEOUT",J.name,O);var Y=O.pop();if(typeof Y==="function")Y.call(null,z)}else{var K=Date.now()-X,j=Math.max(X-U,1),n=Math.min(j*1.2,100);if(K>=n)a("RETRY",J.name,O),J.apply(null,O.concat([U]));else y[k].push(q)}if(Lq===void 0)Lq=setTimeout(Qq,0)}var y=import.meta.require("fs"),pO=mq(),cO=lq(),dO=cq(),Hq=import.meta.require("util"),k,Vq;if(typeof Symbol==="function"&&typeof Symbol.for==="function")k=Symbol.for("graceful-fs.queue"),Vq=Symbol.for("graceful-fs.previous");else k="___graceful-fs.queue",Vq="___graceful-fs.previous";var a=fO;if(Hq.debuglog)a=Hq.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))a=function(){var q=Hq.format.apply(Hq,arguments);q="GFS4: "+q.split(/\n/).join("\nGFS4: "),console.error(q)};if(!y[k]){if(dq=global[k]||[],oq(y,dq),y.close=function(q){function J(O,z){return q.call(y,O,function(U){if(!U)fq();if(typeof z==="function")z.apply(this,arguments)})}return Object.defineProperty(J,Vq,{value:q}),J}(y.close),y.closeSync=function(q){function J(O){q.apply(y,arguments),fq()}return Object.defineProperty(J,Vq,{value:q}),J}(y.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){a(y[k]),import.meta.require("assert").equal(y[k].length,0)})}var dq;if(!global[k])oq(global,y[k]);yq.exports=Rq(dO(y));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!y.__patched)yq.exports=Rq(y),y.__patched=!0;var Lq});var g=P((Wq)=>{var rq=N().fromCallback,S=s(),oO=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((q)=>{return typeof S[q]==="function"});Object.assign(Wq,S);oO.forEach((q)=>{Wq[q]=rq(S[q])});Wq.exists=function(q,J){if(typeof J==="function")return S.exists(q,J);return new Promise((O)=>{return S.exists(q,O)})};Wq.read=function(q,J,O,z,U,X){if(typeof X==="function")return S.read(q,J,O,z,U,X);return new Promise((Y,K)=>{S.read(q,J,O,z,U,(j,n,Z)=>{if(j)return K(j);Y({bytesRead:n,buffer:Z})})})};Wq.write=function(q,J,...O){if(typeof O[O.length-1]==="function")return S.write(q,J,...O);return new Promise((z,U)=>{S.write(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesWritten:Y,buffer:K})})})};Wq.readv=function(q,J,...O){if(typeof O[O.length-1]==="function")return S.readv(q,J,...O);return new Promise((z,U)=>{S.readv(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesRead:Y,buffers:K})})})};Wq.writev=function(q,J,...O){if(typeof O[O.length-1]==="function")return S.writev(q,J,...O);return new Promise((z,U)=>{S.writev(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesWritten:Y,buffers:K})})})};if(typeof S.realpath.native==="function")Wq.realpath.native=rq(S.realpath.native);else process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var eq=P((J0,aq)=>{var q0=import.meta.require("path");J0.checkPath=function q(J){if(process.platform==="win32"){if(/[<>:"|?*]/.test(J.replace(q0.parse(J).root,""))){const z=new Error(`Path contains invalid characters: ${J}`);throw z.code="EINVAL",z}}}});var JJ=P((z0,Iq)=>{var tq=g(),{checkPath:sq}=eq(),qJ=(q)=>{const J={mode:511};if(typeof q==="number")return q;return{...J,...q}.mode};z0.makeDir=async(q,J)=>{return sq(q),tq.mkdir(q,{mode:qJ(J),recursive:!0})};z0.makeDirSync=(q,J)=>{return sq(q),tq.mkdirSync(q,{mode:qJ(J),recursive:!0})}});var i=P((H4,OJ)=>{var Y0=N().fromPromise,{makeDir:Z0,makeDirSync:Nq}=JJ(),Mq=Y0(Z0);OJ.exports={mkdirs:Mq,mkdirsSync:Nq,mkdirp:Mq,mkdirpSync:Nq,ensureDir:Mq,ensureDirSync:Nq}});var f=P((L4,UJ)=>{function K0(q){return zJ.access(q).then(()=>!0).catch(()=>!1)}var G0=N().fromPromise,zJ=g();UJ.exports={pathExists:G0(K0),pathExistsSync:zJ.existsSync}});var Tq=P((V4,XJ)=>{async function E0(q,J,O){const z=await qq.open(q,"r+");let U=null;try{await qq.futimes(z,J,O)}finally{try{await qq.close(z)}catch(X){U=X}}if(U)throw U}function H0(q,J,O){const z=qq.openSync(q,"r+");return qq.futimesSync(z,J,O),qq.closeSync(z)}var qq=g(),_0=N().fromPromise;XJ.exports={utimesMillis:_0(E0),utimesMillisSync:H0}});var e=P((P4,KJ)=>{function L0(q,J,O){const z=O.dereference?(U)=>Jq.stat(U,{bigint:!0}):(U)=>Jq.lstat(U,{bigint:!0});return Promise.all([z(q),z(J).catch((U)=>{if(U.code==="ENOENT")return null;throw U})]).then(([U,X])=>({srcStat:U,destStat:X}))}function V0(q,J,O){let z;const U=O.dereference?(Y)=>Jq.statSync(Y,{bigint:!0}):(Y)=>Jq.lstatSync(Y,{bigint:!0}),X=U(q);try{z=U(J)}catch(Y){if(Y.code==="ENOENT")return{srcStat:X,destStat:null};throw Y}return{srcStat:X,destStat:z}}async function P0(q,J,O,z){const{srcStat:U,destStat:X}=await L0(q,J,z);if(X){if(Uq(U,X)){const Y=M.basename(q),K=M.basename(J);if(O==="move"&&Y!==K&&Y.toLowerCase()===K.toLowerCase())return{srcStat:U,destStat:X,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(U.isDirectory()&&!X.isDirectory())throw new Error(`Cannot overwrite non-directory '${J}' with directory '${q}'.`);if(!U.isDirectory()&&X.isDirectory())throw new Error(`Cannot overwrite directory '${J}' with non-directory '${q}'.`)}if(U.isDirectory()&&Fq(q,J))throw new Error(Pq(q,J,O));return{srcStat:U,destStat:X}}function A0(q,J,O,z){const{srcStat:U,destStat:X}=V0(q,J,z);if(X){if(Uq(U,X)){const Y=M.basename(q),K=M.basename(J);if(O==="move"&&Y!==K&&Y.toLowerCase()===K.toLowerCase())return{srcStat:U,destStat:X,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(U.isDirectory()&&!X.isDirectory())throw new Error(`Cannot overwrite non-directory '${J}' with directory '${q}'.`);if(!U.isDirectory()&&X.isDirectory())throw new Error(`Cannot overwrite directory '${J}' with non-directory '${q}'.`)}if(U.isDirectory()&&Fq(q,J))throw new Error(Pq(q,J,O));return{srcStat:U,destStat:X}}async function ZJ(q,J,O,z){const U=M.resolve(M.dirname(q)),X=M.resolve(M.dirname(O));if(X===U||X===M.parse(X).root)return;let Y;try{Y=await Jq.stat(X,{bigint:!0})}catch(K){if(K.code==="ENOENT")return;throw K}if(Uq(J,Y))throw new Error(Pq(q,O,z));return ZJ(q,J,X,z)}function GJ(q,J,O,z){const U=M.resolve(M.dirname(q)),X=M.resolve(M.dirname(O));if(X===U||X===M.parse(X).root)return;let Y;try{Y=Jq.statSync(X,{bigint:!0})}catch(K){if(K.code==="ENOENT")return;throw K}if(Uq(J,Y))throw new Error(Pq(q,O,z));return GJ(q,J,X,z)}function Uq(q,J){return J.ino&&J.dev&&J.ino===q.ino&&J.dev===q.dev}function Fq(q,J){const O=M.resolve(q).split(M.sep).filter((U)=>U),z=M.resolve(J).split(M.sep).filter((U)=>U);return O.every((U,X)=>z[X]===U)}function Pq(q,J,O){return`Cannot ${O} '${q}' to a subdirectory of itself, '${J}'.`}var Jq=g(),M=import.meta.require("path"),YJ=N().fromPromise;KJ.exports={checkPaths:YJ(P0),checkPathsSync:A0,checkParentPaths:YJ(ZJ),checkParentPathsSync:GJ,isSrcSubdir:Fq,areIdentical:Uq}});var VJ=P((A4,LJ)=>{async function C0(q,J,O={}){if(typeof O==="function")O={filter:O};if(O.clobber="clobber"in O?!!O.clobber:!0,O.overwrite="overwrite"in O?!!O.overwrite:O.clobber,O.preserveTimestamps&&process.arch==="ia32")process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0001");const{srcStat:z,destStat:U}=await Yq.checkPaths(q,J,"copy",O);if(await Yq.checkParentPaths(q,z,J,"copy"),!await EJ(q,J,O))return;const Y=Xq.dirname(J);if(!await w0(Y))await x0(Y);await HJ(U,q,J,O)}async function EJ(q,J,O){if(!O.filter)return!0;return O.filter(q,J)}async function HJ(q,J,O,z){const X=await(z.dereference?u.stat:u.lstat)(J);if(X.isDirectory())return Q0(X,q,J,O,z);if(X.isFile()||X.isCharacterDevice()||X.isBlockDevice())return D0(X,q,J,O,z);if(X.isSymbolicLink())return y0(q,J,O,z);if(X.isSocket())throw new Error(`Cannot copy a socket file: ${J}`);if(X.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${J}`);throw new Error(`Unknown file: ${J}`)}async function D0(q,J,O,z,U){if(!J)return _J(q,O,z,U);if(U.overwrite)return await u.unlink(z),_J(q,O,z,U);if(U.errorOnExist)throw new Error(`'${z}' already exists`)}async function _J(q,J,O,z){if(await u.copyFile(J,O),z.preserveTimestamps){if(j0(q.mode))await R0(O,q.mode);const U=await u.stat(J);await B0(O,U.atime,U.mtime)}return u.chmod(O,q.mode)}function j0(q){return(q&128)===0}function R0(q,J){return u.chmod(q,J|128)}async function Q0(q,J,O,z,U){if(!J)await u.mkdir(z);const X=await u.readdir(O);if(await Promise.all(X.map(async(Y)=>{const K=Xq.join(O,Y),j=Xq.join(z,Y);if(!await EJ(K,j,U))return;const{destStat:Z}=await Yq.checkPaths(K,j,"copy",U);return HJ(Z,K,j,U)})),!J)await u.chmod(z,q.mode)}async function y0(q,J,O,z){let U=await u.readlink(J);if(z.dereference)U=Xq.resolve(process.cwd(),U);if(!q)return u.symlink(U,O);let X=null;try{X=await u.readlink(O)}catch(Y){if(Y.code==="EINVAL"||Y.code==="UNKNOWN")return u.symlink(U,O);throw Y}if(z.dereference)X=Xq.resolve(process.cwd(),X);if(Yq.isSrcSubdir(U,X))throw new Error(`Cannot copy '${U}' to a subdirectory of itself, '${X}'.`);if(Yq.isSrcSubdir(X,U))throw new Error(`Cannot overwrite '${X}' with '${U}'.`);return await u.unlink(O),u.symlink(U,O)}var u=g(),Xq=import.meta.require("path"),{mkdirs:x0}=i(),{pathExists:w0}=f(),{utimesMillis:B0}=Tq(),Yq=e();LJ.exports=C0});var BJ=P((x4,wJ)=>{function N0(q,J,O){if(typeof O==="function")O={filter:O};if(O=O||{},O.clobber="clobber"in O?!!O.clobber:!0,O.overwrite="overwrite"in O?!!O.overwrite:O.clobber,O.preserveTimestamps&&process.arch==="ia32")process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0002");const{srcStat:z,destStat:U}=Gq.checkPathsSync(q,J,"copy",O);if(Gq.checkParentPathsSync(q,z,J,"copy"),O.filter&&!O.filter(q,J))return;const X=Zq.dirname(J);if(!b.existsSync(X))W0(X);return PJ(U,q,J,O)}function PJ(q,J,O,z){const X=(z.dereference?b.statSync:b.lstatSync)(J);if(X.isDirectory())return n0(X,q,J,O,z);else if(X.isFile()||X.isCharacterDevice()||X.isBlockDevice())return M0(X,q,J,O,z);else if(X.isSymbolicLink())return g0(q,J,O,z);else if(X.isSocket())throw new Error(`Cannot copy a socket file: ${J}`);else if(X.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${J}`);throw new Error(`Unknown file: ${J}`)}function M0(q,J,O,z,U){if(!J)return AJ(q,O,z,U);return T0(q,O,z,U)}function T0(q,J,O,z){if(z.overwrite)return b.unlinkSync(O),AJ(q,J,O,z);else if(z.errorOnExist)throw new Error(`'${O}' already exists`)}function AJ(q,J,O,z){if(b.copyFileSync(J,O),z.preserveTimestamps)F0(q.mode,J,O);return $q(O,q.mode)}function F0(q,J,O){if($0(q))k0(O,q);return u0(J,O)}function $0(q){return(q&128)===0}function k0(q,J){return $q(q,J|128)}function $q(q,J){return b.chmodSync(q,J)}function u0(q,J){const O=b.statSync(q);return I0(J,O.atime,O.mtime)}function n0(q,J,O,z,U){if(!J)return v0(q.mode,O,z,U);return xJ(O,z,U)}function v0(q,J,O,z){return b.mkdirSync(O),xJ(J,O,z),$q(O,q)}function xJ(q,J,O){b.readdirSync(q).forEach((z)=>S0(z,q,J,O))}function S0(q,J,O,z){const U=Zq.join(J,q),X=Zq.join(O,q);if(z.filter&&!z.filter(U,X))return;const{destStat:Y}=Gq.checkPathsSync(U,X,"copy",z);return PJ(Y,U,X,z)}function g0(q,J,O,z){let U=b.readlinkSync(J);if(z.dereference)U=Zq.resolve(process.cwd(),U);if(!q)return b.symlinkSync(U,O);else{let X;try{X=b.readlinkSync(O)}catch(Y){if(Y.code==="EINVAL"||Y.code==="UNKNOWN")return b.symlinkSync(U,O);throw Y}if(z.dereference)X=Zq.resolve(process.cwd(),X);if(Gq.isSrcSubdir(U,X))throw new Error(`Cannot copy '${U}' to a subdirectory of itself, '${X}'.`);if(Gq.isSrcSubdir(X,U))throw new Error(`Cannot overwrite '${X}' with '${U}'.`);return b0(U,O)}}function b0(q,J){return b.unlinkSync(J),b.symlinkSync(q,J)}var b=s(),Zq=import.meta.require("path"),W0=i().mkdirsSync,I0=Tq().utimesMillisSync,Gq=e();wJ.exports=N0});var Aq=P((w4,CJ)=>{var m0=N().fromPromise;CJ.exports={copy:m0(VJ()),copySync:BJ()}});var Kq=P((B4,jJ)=>{function i0(q,J){DJ.rm(q,{recursive:!0,force:!0},J)}function l0(q){DJ.rmSync(q,{recursive:!0,force:!0})}var DJ=s(),h0=N().fromCallback;jJ.exports={remove:h0(i0),removeSync:l0}});var TJ=P((C4,MJ)=>{function QJ(q){let J;try{J=yJ.readdirSync(q)}catch{return IJ.mkdirsSync(q)}J.forEach((O)=>{O=WJ.join(q,O),NJ.removeSync(O)})}var p0=N().fromPromise,yJ=g(),WJ=import.meta.require("path"),IJ=i(),NJ=Kq(),RJ=p0(async function q(J){let O;try{O=await yJ.readdir(J)}catch{return IJ.mkdirs(J)}return Promise.all(O.map((z)=>NJ.remove(WJ.join(J,z))))});MJ.exports={emptyDirSync:QJ,emptydirSync:QJ,emptyDir:RJ,emptydir:RJ}});var uJ=P((D4,kJ)=>{async function d0(q){let J;try{J=await p.stat(q)}catch{}if(J&&J.isFile())return;const O=FJ.dirname(q);let z=null;try{z=await p.stat(O)}catch(U){if(U.code==="ENOENT"){await $J.mkdirs(O),await p.writeFile(q,"");return}else throw U}if(z.isDirectory())await p.writeFile(q,"");else await p.readdir(O)}function f0(q){let J;try{J=p.statSync(q)}catch{}if(J&&J.isFile())return;const O=FJ.dirname(q);try{if(!p.statSync(O).isDirectory())p.readdirSync(O)}catch(z){if(z&&z.code==="ENOENT")$J.mkdirsSync(O);else throw z}p.writeFileSync(q,"")}var c0=N().fromPromise,FJ=import.meta.require("path"),p=g(),$J=i();kJ.exports={createFile:c0(d0),createFileSync:f0}});var bJ=P((j4,gJ)=>{async function a0(q,J){let O;try{O=await o.lstat(J)}catch{}let z;try{z=await o.lstat(q)}catch(Y){throw Y.message=Y.message.replace("lstat","ensureLink"),Y}if(O&&SJ(z,O))return;const U=nJ.dirname(J);if(!await r0(U))await vJ.mkdirs(U);await o.link(q,J)}function e0(q,J){let O;try{O=o.lstatSync(J)}catch{}try{const X=o.lstatSync(q);if(O&&SJ(X,O))return}catch(X){throw X.message=X.message.replace("lstat","ensureLink"),X}const z=nJ.dirname(J);if(o.existsSync(z))return o.linkSync(q,J);return vJ.mkdirsSync(z),o.linkSync(q,J)}var o0=N().fromPromise,nJ=import.meta.require("path"),o=g(),vJ=i(),{pathExists:r0}=f(),{areIdentical:SJ}=e();gJ.exports={createLink:o0(a0),createLinkSync:e0}});var hJ=P((R4,mJ)=>{async function q6(q,J){if(r.isAbsolute(q)){try{await _q.lstat(q)}catch(X){throw X.message=X.message.replace("lstat","ensureSymlink"),X}return{toCwd:q,toDst:q}}const O=r.dirname(J),z=r.join(O,q);if(await t0(z))return{toCwd:z,toDst:q};try{await _q.lstat(q)}catch(X){throw X.message=X.message.replace("lstat","ensureSymlink"),X}return{toCwd:q,toDst:r.relative(O,q)}}function J6(q,J){if(r.isAbsolute(q)){if(!_q.existsSync(q))throw new Error("absolute srcpath does not exist");return{toCwd:q,toDst:q}}const O=r.dirname(J),z=r.join(O,q);if(_q.existsSync(z))return{toCwd:z,toDst:q};if(!_q.existsSync(q))throw new Error("relative srcpath does not exist");return{toCwd:q,toDst:r.relative(O,q)}}var r=import.meta.require("path"),_q=g(),{pathExists:t0}=f(),s0=N().fromPromise;mJ.exports={symlinkPaths:s0(q6),symlinkPathsSync:J6}});var pJ=P((Q4,lJ)=>{async function z6(q,J){if(J)return J;let O;try{O=await iJ.lstat(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}function U6(q,J){if(J)return J;let O;try{O=iJ.lstatSync(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}var iJ=g(),O6=N().fromPromise;lJ.exports={symlinkType:O6(z6),symlinkTypeSync:U6}});var oJ=P((y4,fJ)=>{async function L6(q,J,O){let z;try{z=await l.lstat(J)}catch{}if(z&&z.isSymbolicLink()){const[K,j]=await Promise.all([l.stat(q),l.stat(J)]);if(dJ(K,j))return}const U=await G6(q,J);q=U.toDst;const X=await _6(U.toCwd,O),Y=cJ.dirname(J);if(!await H6(Y))await Y6(Y);return l.symlink(q,J,X)}function V6(q,J,O){let z;try{z=l.lstatSync(J)}catch{}if(z&&z.isSymbolicLink()){const K=l.statSync(q),j=l.statSync(J);if(dJ(K,j))return}const U=K6(q,J);q=U.toDst,O=E6(U.toCwd,O);const X=cJ.dirname(J);if(l.existsSync(X))return l.symlinkSync(q,J,O);return Z6(X),l.symlinkSync(q,J,O)}var X6=N().fromPromise,cJ=import.meta.require("path"),l=g(),{mkdirs:Y6,mkdirsSync:Z6}=i(),{symlinkPaths:G6,symlinkPathsSync:K6}=hJ(),{symlinkType:_6,symlinkTypeSync:E6}=pJ(),{pathExists:H6}=f(),{areIdentical:dJ}=e();fJ.exports={createSymlink:X6(L6),createSymlinkSync:V6}});var OO=P((W4,JO)=>{var{createFile:rJ,createFileSync:aJ}=uJ(),{createLink:eJ,createLinkSync:tJ}=bJ(),{createSymlink:sJ,createSymlinkSync:qO}=oJ();JO.exports={createFile:rJ,createFileSync:aJ,ensureFile:rJ,ensureFileSync:aJ,createLink:eJ,createLinkSync:tJ,ensureLink:eJ,ensureLinkSync:tJ,createSymlink:sJ,createSymlinkSync:qO,ensureSymlink:sJ,ensureSymlinkSync:qO}});var xq=P((I4,zO)=>{function P6(q,{EOL:J="\n",finalEOL:O=!0,replacer:z=null,spaces:U}={}){const X=O?J:"";return JSON.stringify(q,z,U).replace(/\n/g,J)+X}function A6(q){if(Buffer.isBuffer(q))q=q.toString("utf8");return q.replace(/^\uFEFF/,"")}zO.exports={stringify:P6,stripBom:A6}});var ZO=P((N4,YO)=>{async function x6(q,J={}){if(typeof J==="string")J={encoding:J};const O=J.fs||Oq,z="throws"in J?J.throws:!0;let U=await wq.fromCallback(O.readFile)(q,J);U=XO(U);let X;try{X=JSON.parse(U,J?J.reviver:null)}catch(Y){if(z)throw Y.message=`${q}: ${Y.message}`,Y;else return null}return X}function B6(q,J={}){if(typeof J==="string")J={encoding:J};const O=J.fs||Oq,z="throws"in J?J.throws:!0;try{let U=O.readFileSync(q,J);return U=XO(U),JSON.parse(U,J.reviver)}catch(U){if(z)throw U.message=`${q}: ${U.message}`,U;else return null}}async function C6(q,J,O={}){const z=O.fs||Oq,U=UO(J,O);await wq.fromCallback(z.writeFile)(q,U,O)}function j6(q,J,O={}){const z=O.fs||Oq,U=UO(J,O);return z.writeFileSync(q,U,O)}var Oq;try{Oq=s()}catch(q){Oq=import.meta.require("fs")}var wq=N(),{stringify:UO,stripBom:XO}=xq(),w6=wq.fromPromise(x6),D6=wq.fromPromise(C6),R6={readFile:w6,readFileSync:B6,writeFile:D6,writeFileSync:j6};YO.exports=R6});var KO=P((M4,GO)=>{var Bq=ZO();GO.exports={readJson:Bq.readFile,readJsonSync:Bq.readFileSync,writeJson:Bq.writeFile,writeJsonSync:Bq.writeFileSync}});var Cq=P((T4,HO)=>{async function W6(q,J,O="utf-8"){const z=_O.dirname(q);if(!await y6(z))await EO.mkdirs(z);return kq.writeFile(q,J,O)}function I6(q,...J){const O=_O.dirname(q);if(!kq.existsSync(O))EO.mkdirsSync(O);kq.writeFileSync(q,...J)}var Q6=N().fromPromise,kq=g(),_O=import.meta.require("path"),EO=i(),y6=f().pathExists;HO.exports={outputFile:Q6(W6),outputFileSync:I6}});var VO=P((F4,LO)=>{async function T6(q,J,O={}){const z=N6(J,O);await M6(q,z,O)}var{stringify:N6}=xq(),{outputFile:M6}=Cq();LO.exports=T6});var AO=P(($4,PO)=>{function k6(q,J,O){const z=F6(J,O);$6(q,z,O)}var{stringify:F6}=xq(),{outputFileSync:$6}=Cq();PO.exports=k6});var wO=P((k4,xO)=>{var u6=N().fromPromise,m=KO();m.outputJson=u6(VO());m.outputJsonSync=AO();m.outputJSON=m.outputJson;m.outputJSONSync=m.outputJsonSync;m.writeJSON=m.writeJson;m.writeJSONSync=m.writeJsonSync;m.readJSON=m.readJson;m.readJSONSync=m.readJsonSync;xO.exports=m});var RO=P((u4,jO)=>{async function b6(q,J,O={}){const z=O.overwrite||O.clobber||!1,{srcStat:U,isChangingCase:X=!1}=await CO.checkPaths(q,J,"move",O);await CO.checkParentPaths(q,U,J,"move");const Y=BO.dirname(J);if(BO.parse(Y).root!==Y)await S6(Y);return m6(q,J,z,X)}async function m6(q,J,O,z){if(!z){if(O)await DO(J);else if(await g6(J))throw new Error("dest already exists.")}try{await n6.rename(q,J)}catch(U){if(U.code!=="EXDEV")throw U;await h6(q,J,O)}}async function h6(q,J,O){return await v6(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),DO(q)}var n6=g(),BO=import.meta.require("path"),{copy:v6}=Aq(),{remove:DO}=Kq(),{mkdirp:S6}=i(),{pathExists:g6}=f(),CO=e();jO.exports=b6});var NO=P((n4,IO)=>{function p6(q,J,O){O=O||{};const z=O.overwrite||O.clobber||!1,{srcStat:U,isChangingCase:X=!1}=QO.checkPathsSync(q,J,"move",O);if(QO.checkParentPathsSync(q,U,J,"move"),!c6(J))l6(nq.dirname(J));return d6(q,J,z,X)}function c6(q){const J=nq.dirname(q);return nq.parse(J).root===J}function d6(q,J,O,z){if(z)return uq(q,J,O);if(O)return WO(J),uq(q,J,O);if(yO.existsSync(J))throw new Error("dest already exists.");return uq(q,J,O)}function uq(q,J,O){try{yO.renameSync(q,J)}catch(z){if(z.code!=="EXDEV")throw z;return f6(q,J,O)}}function f6(q,J,O){return i6(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),WO(q)}var yO=s(),nq=import.meta.require("path"),i6=Aq().copySync,WO=Kq().removeSync,l6=i().mkdirpSync,QO=e();IO.exports=p6});var TO=P((v4,MO)=>{var o6=N().fromPromise;MO.exports={move:o6(RO()),moveSync:NO()}});var $O=P((S4,FO)=>{FO.exports={...g(),...Aq(),...TJ(),...OO(),...wO(),...i(),...TO(),...Cq(),...f(),...Kq()}});var vq=a6($O(),1);import e6 from"process";import{projectPath as t6}from"@stacksjs/path";import{ValidationBoolean as s6,ValidationEnum as q4,ValidationNumber as J4}from"@stacksjs/validation";function z4(){return typeof Bun!=="undefined"?Bun.env:e6.env}function r4(q,J,O){const z=O?.path||t6(".env"),X=vq.default.readFileSync(z,"utf-8").split("\n"),Y=X.findIndex((K)=>K.startsWith(`${q}=`));if(Y!==-1)X[Y]=`${q}=${J}`;else X.push(`${q}=${J}`);vq.default.writeFileSync(z,X.join("\n"))}import{schema as c}from"@stacksjs/validation";import{schema as L}from"@stacksjs/validation";var kO={APP_NAME:L.string(),APP_ENV:L.enum(["local","dev","stage","prod"]),APP_KEY:L.string(),APP_URL:L.string(),PORT:L.number(),PORT_BACKEND:L.number(),PORT_ADMIN:L.number(),PORT_LIBRARY:L.number(),PORT_DESKTOP:L.number(),PORT_EMAIL:L.number(),PORT_DOCS:L.number(),PORT_INSPECT:L.number(),PORT_API:L.number(),PORT_SYSTEM_TRAY:L.number(),APP_MAINTENANCE:L.boolean(),DEBUG:L.boolean(),API_PREFIX:L.string(),DOCS_PREFIX:L.string(),DB_CONNECTION:L.enum(["mysql","sqlite","postgres"]),DB_HOST:L.string(),DB_PORT:L.number(),DB_DATABASE:L.string(),DB_USERNAME:L.string(),DB_PASSWORD:L.string(),AWS_ACCOUNT_ID:L.string(),AWS_ACCESS_KEY_ID:L.string(),AWS_SECRET_ACCESS_KEY:L.string(),AWS_DEFAULT_REGION:L.string(),AWS_DEFAULT_PASSWORD:L.string(),MAIL_MAILER:L.enum(["ses","sendmail","log","smtp"]),MAIL_HOST:L.string(),MAIL_PORT:L.number(),MAIL_USERNAME:L.string(),MAIL_PASSWORD:L.string(),MAIL_ENCRYPTION:L.string(),MAIL_FROM_NAME:L.string(),MAIL_FROM_ADDRESS:L.string(),SEARCH_ENGINE_DRIVER:L.enum(["meilisearch","algolia","typesense"]),MEILISEARCH_HOST:L.string(),MEILISEARCH_KEY:L.string(),FRONTEND_APP_ENV:L.enum(["development","staging","production"]),FRONTEND_APP_URL:L.string()};var r6=Object.entries(kO).reduce((q,[J,O])=>{let z;switch(typeof O){case"string":z=c.string();break;case"number":z=c.number();break;case"boolean":z=c.boolean();break;default:if(Array.isArray(O)){z=c.enum(O);break}if(typeof O==="object"){const X=Symbol.for("schema_name"),Y=O[X];if(Y==="vine.string"){z=c.string();break}if(Y==="vine.number"){z=c.number();break}if(Y==="vine.boolean"){z=c.boolean();break}if(!Y){z=c.enum(O);break}console.error("Unknown env value type",typeof O)}throw new Error(`Invalid env value for ${J}`)}const U=J;return q[U]=z,q},{}),i4=c.object(r6);var f4={APP_ENV:["local","dev","development","staging","prod","production"],DB_CONNECTION:["mysql","sqlite","postgres","dynamodb"],MAIL_MAILER:["smtp","mailgun","ses","postmark","sendmail","log"],SEARCH_ENGINE_DRIVER:["opensearch"],FRONTEND_APP_ENV:["development","staging","production"]},O4={get:(q,J)=>{const O=q[J];if(typeof O==="string"&&/^\d+$/.test(O)&&J!=="AWS_ACCOUNT_ID")return Number(O);if(typeof O==="string"&&/^(true|false)$/.test(O))return O==="true";if(O instanceof q4)return q[J];if(O instanceof s6)return!!q[J];if(O instanceof J4)return Number(q[J]);return O}},o4=new Proxy(z4(),O4);export{r4 as writeEnv,z4 as process,i4 as envSchema,f4 as envEnum,o4 as env};
3
-
4
- //# debugId=C53D0B3ACE4D09DD64756E2164756E21
5
- //# sourceMappingURL=chunk-1f6t66bt.js.map
@@ -1,5 +0,0 @@
1
- // @bun
2
- import{N as _}from"./chunk-wmfxrbxe.js";import{lb as S}from"./chunk-8adez9b9.js";var E=_(S(),1),p="AWS_ACCESS_KEY_ID",A="AWS_SECRET_ACCESS_KEY",C="AWS_SESSION_TOKEN",N="AWS_CREDENTIAL_EXPIRATION",I="AWS_CREDENTIAL_SCOPE",a="AWS_ACCOUNT_ID",i=(e)=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");const o=process.env[p],r=process.env[A],n=process.env[C],s=process.env[N],t=process.env[I],c=process.env[a];if(o&&r)return{accessKeyId:o,secretAccessKey:r,...n&&{sessionToken:n},...s&&{expiration:new Date(s)},...t&&{credentialScope:t},...c&&{accountId:c}};throw new E.CredentialsProviderError("Unable to find environment variable credentials.",{logger:e?.logger})};export{i as fromEnv,C as ENV_SESSION,A as ENV_SECRET,p as ENV_KEY,N as ENV_EXPIRATION,I as ENV_CREDENTIAL_SCOPE,a as ENV_ACCOUNT_ID};export{p as a,A as b,i as c};
3
-
4
- //# debugId=82B8912B034299B664756E2164756E21
5
- //# sourceMappingURL=chunk-1nyept5d.js.map
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js"],
4
- "sourcesContent": [
5
- "import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nexport const ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nexport const ENV_SESSION = \"AWS_SESSION_TOKEN\";\nexport const ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nexport const ENV_CREDENTIAL_SCOPE = \"AWS_CREDENTIAL_SCOPE\";\nexport const ENV_ACCOUNT_ID = \"AWS_ACCOUNT_ID\";\nexport const fromEnv = (init) => async () => {\n init?.logger?.debug(\"@aws-sdk/credential-provider-env - fromEnv\");\n const accessKeyId = process.env[ENV_KEY];\n const secretAccessKey = process.env[ENV_SECRET];\n const sessionToken = process.env[ENV_SESSION];\n const expiry = process.env[ENV_EXPIRATION];\n const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];\n const accountId = process.env[ENV_ACCOUNT_ID];\n if (accessKeyId && secretAccessKey) {\n return {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n }\n throw new CredentialsProviderError(\"Unable to find environment variable credentials.\", { logger: init?.logger });\n};\n"
6
- ],
7
- "mappings": ";uFAAA,SACa,EAAU,oBACV,EAAa,wBACb,EAAc,oBACd,EAAiB,4BACjB,EAAuB,uBACvB,EAAiB,iBACjB,EAAU,CAAC,IAAS,SAAY,CACzC,GAAM,QAAQ,MAAM,4CAA4C,EAChE,MAAM,EAAc,QAAQ,IAAI,GAC1B,EAAkB,QAAQ,IAAI,GAC9B,EAAe,QAAQ,IAAI,GAC3B,EAAS,QAAQ,IAAI,GACrB,EAAkB,QAAQ,IAAI,GAC9B,EAAY,QAAQ,IAAI,GAC9B,GAAI,GAAe,EACf,MAAO,CACH,cACA,qBACI,GAAgB,CAAE,cAAa,KAC/B,GAAU,CAAE,WAAY,IAAI,KAAK,CAAM,CAAE,KACzC,GAAmB,CAAE,iBAAgB,KACrC,GAAa,CAAE,WAAU,CACjC,EAEJ,MAAM,IAAI,2BAAyB,mDAAoD,CAAE,OAAQ,GAAM,MAAO,CAAC",
8
- "debugId": "82B8912B034299B664756E2164756E21",
9
- "names": []
10
- }