stacks 0.58.58 → 0.58.60

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 (197) hide show
  1. package/core/actions/dist/src/build.js +18 -26
  2. package/core/actions/dist/src/bump.js +9 -3
  3. package/core/actions/dist/src/changelog.js +11 -3
  4. package/core/actions/dist/src/clean.js +2 -2
  5. package/core/actions/dist/src/dev/index.js +18 -26
  6. package/core/actions/dist/src/generate/index.js +18 -26
  7. package/core/actions/dist/src/helpers/index.js +18 -26
  8. package/core/actions/dist/src/helpers/utils.js +18 -26
  9. package/core/actions/dist/src/index.js +26 -34
  10. package/core/actions/dist/src/lint/fix.js +6 -2
  11. package/core/actions/dist/src/release.js +30 -35
  12. package/core/actions/dist/src/upgrade/index.js +18 -26
  13. package/core/actions/dist/src/upgrade.js +10 -7
  14. package/core/actions/package.json +1 -1
  15. package/core/actions/src/action.ts +18 -8
  16. package/core/actions/src/bump.ts +13 -6
  17. package/core/actions/src/changelog.ts +14 -4
  18. package/core/actions/src/clean.ts +2 -2
  19. package/core/actions/src/dev/api.ts +1 -2
  20. package/core/actions/src/domains/add.ts +12 -27
  21. package/core/actions/src/helpers/utils.ts +24 -36
  22. package/core/actions/src/lint/fix.ts +8 -2
  23. package/core/actions/src/migrate/dns.ts +1 -1
  24. package/core/actions/src/release.ts +4 -1
  25. package/core/actions/src/upgrade.ts +5 -2
  26. package/core/ai/dist/index.js +31 -29
  27. package/core/ai/package.json +3 -3
  28. package/core/alias/package.json +1 -1
  29. package/core/analytics/package.json +1 -1
  30. package/core/api/dist/index.js +6 -3
  31. package/core/api/package.json +1 -1
  32. package/core/arrays/package.json +1 -1
  33. package/core/auth/package.json +1 -1
  34. package/core/buddy/dist/chunk-59a9de11428ba763.js +993 -0
  35. package/core/buddy/dist/{chunk-e9c0ec1a3b7be088.js → chunk-6658b07ce4c24cac.js} +604 -512
  36. package/core/buddy/dist/cli.js +3916 -19
  37. package/core/buddy/dist/index.js +2 -5
  38. package/core/buddy/package.json +1 -1
  39. package/core/buddy/src/cli.ts +91 -17
  40. package/core/buddy/src/commands/add.ts +3 -0
  41. package/core/buddy/src/commands/build.ts +18 -3
  42. package/core/buddy/src/commands/changelog.ts +13 -6
  43. package/core/buddy/src/commands/clean.ts +3 -1
  44. package/core/buddy/src/commands/cloud.ts +14 -2
  45. package/core/buddy/src/commands/commit.ts +2 -0
  46. package/core/buddy/src/commands/configure.ts +6 -3
  47. package/core/buddy/src/commands/create.ts +3 -1
  48. package/core/buddy/src/commands/deploy.ts +4 -2
  49. package/core/buddy/src/commands/dev.ts +17 -4
  50. package/core/buddy/src/commands/dns.ts +7 -1
  51. package/core/buddy/src/commands/domains.ts +7 -1
  52. package/core/buddy/src/commands/fresh.ts +4 -2
  53. package/core/buddy/src/commands/generate.ts +36 -26
  54. package/core/buddy/src/commands/http.ts +6 -4
  55. package/core/buddy/src/commands/index.ts +0 -2
  56. package/core/buddy/src/commands/install.ts +3 -1
  57. package/core/buddy/src/commands/key.ts +2 -0
  58. package/core/buddy/src/commands/lint.ts +4 -0
  59. package/core/buddy/src/commands/list.ts +6 -2
  60. package/core/buddy/src/commands/make.ts +52 -30
  61. package/core/buddy/src/commands/migrate.ts +6 -2
  62. package/core/buddy/src/commands/prepublish.ts +3 -0
  63. package/core/buddy/src/commands/release.ts +12 -2
  64. package/core/buddy/src/commands/seed.ts +3 -1
  65. package/core/buddy/src/commands/setup.ts +16 -8
  66. package/core/buddy/src/commands/tinker.ts +3 -1
  67. package/core/buddy/src/commands/types.ts +4 -2
  68. package/core/buddy/src/commands/upgrade.ts +14 -3
  69. package/core/buddy/src/commands/version.ts +7 -0
  70. package/core/build/package.json +1 -1
  71. package/core/bun-create/bud/package.json +1 -1
  72. package/core/bun-create/buddy/package.json +1 -1
  73. package/core/bun-create/stack/package.json +1 -1
  74. package/core/bun-create/stacks/package.json +1 -1
  75. package/core/bun-create/stx/package.json +1 -1
  76. package/core/bun-plugin-yaml/package.json +1 -1
  77. package/core/cache/package.json +2 -2
  78. package/core/chat/package.json +1 -1
  79. package/core/cli/dist/index.js +463 -81
  80. package/core/cli/package.json +1 -1
  81. package/core/cli/src/cli.ts +9 -31
  82. package/core/cli/src/console.ts +19 -19
  83. package/core/cli/src/exec.ts +25 -8
  84. package/core/cli/src/helpers.ts +3 -3
  85. package/core/cli/src/index.ts +1 -1
  86. package/core/cli/src/parse.ts +95 -17
  87. package/core/cli/src/run.ts +7 -7
  88. package/core/cli/src/utils.ts +62 -0
  89. package/core/cloud/dist/index.js +29 -30
  90. package/core/cloud/package.json +32 -32
  91. package/core/cloud/src/cloud/aws-sdk-layer/nodejs/package-lock.json +6 -6
  92. package/core/cloud/src/cloud/aws-sdk-layer/nodejs/package.json +2 -2
  93. package/core/cloud/src/cloud/dashboard.ts +86 -85
  94. package/core/cloud/src/cloud/docs.ts +1 -1
  95. package/core/cloud/src/cloud/queue.ts +35 -34
  96. package/core/cloud/src/cloud/router-layer/nodejs/package.json +2 -2
  97. package/core/collections/package.json +1 -1
  98. package/core/config/dist/index.js +52 -30
  99. package/core/config/package.json +1 -1
  100. package/core/config/src/config.ts +1 -1
  101. package/core/config/src/defaults.ts +32 -16
  102. package/core/config/src/overrides.ts +2 -0
  103. package/core/database/package.json +1 -1
  104. package/core/database/src/kysely-bun-worker/worker.ts +0 -1
  105. package/core/datetime/package.json +1 -1
  106. package/core/desktop/package.json +3 -3
  107. package/core/development/package.json +1 -1
  108. package/core/dns/package.json +7 -7
  109. package/core/docs/package.json +1 -1
  110. package/core/email/package.json +4 -3
  111. package/core/email/src/server/converter.ts +19 -19
  112. package/core/email/src/server/inbound.ts +24 -8
  113. package/core/email/src/server/outbound.ts +17 -17
  114. package/core/enums/dist/index.js +2 -2
  115. package/core/enums/package.json +1 -1
  116. package/core/enums/src/index.ts +2 -2
  117. package/core/env/dist/index.js +1 -1
  118. package/core/env/package.json +3 -2
  119. package/core/env/src/utils.ts +1 -0
  120. package/core/error-handling/package.json +1 -1
  121. package/core/eslint-config/build.ts +1 -1
  122. package/core/eslint-config/package.json +12 -10
  123. package/core/eslint-config/test/cli.spec.ts +2 -1
  124. package/core/eslint-config/tsconfig.json +2 -2
  125. package/core/events/package.json +1 -1
  126. package/core/faker/package.json +2 -2
  127. package/core/git/package.json +1 -1
  128. package/core/health/package.json +1 -1
  129. package/core/http/package.json +1 -1
  130. package/core/lint/package.json +1 -1
  131. package/core/logging/build.ts +1 -1
  132. package/core/logging/dist/index.js +44 -1915
  133. package/core/logging/package.json +1 -1
  134. package/core/logging/src/index.ts +79 -13
  135. package/core/notifications/package.json +2 -2
  136. package/core/objects/package.json +1 -1
  137. package/core/orm/package.json +1 -1
  138. package/core/path/dist/index.js +10 -0
  139. package/core/path/package.json +1 -1
  140. package/core/path/src/index.ts +10 -0
  141. package/core/payments/dist/index.js +34 -10
  142. package/core/payments/package.json +2 -2
  143. package/core/push/package.json +1 -1
  144. package/core/query-builder/package.json +1 -1
  145. package/core/queue/package.json +1 -1
  146. package/core/raycast/package.json +1 -1
  147. package/core/realtime/package.json +1 -1
  148. package/core/repl/package.json +1 -1
  149. package/core/router/dist/index.js +517 -14
  150. package/core/router/package.json +1 -1
  151. package/core/router/src/router.ts +10 -3
  152. package/core/scheduler/package.json +2 -1
  153. package/core/scheduler/tests/cron.test.ts +11 -9
  154. package/core/search-engine/package.json +1 -1
  155. package/core/security/package.json +1 -1
  156. package/core/server/package.json +2 -2
  157. package/core/signals/package.json +1 -1
  158. package/core/slug/package.json +1 -1
  159. package/core/sms/package.json +1 -1
  160. package/core/storage/package.json +1 -1
  161. package/core/strings/package.json +1 -1
  162. package/core/tables/package.json +2 -2
  163. package/core/testing/package.json +5 -3
  164. package/core/tinker/package.json +1 -1
  165. package/core/tunnel/package.json +1 -1
  166. package/core/types/dist/index.js +1787 -6
  167. package/core/types/package.json +6 -6
  168. package/core/types/src/ai.ts +1 -0
  169. package/core/types/src/app.ts +1 -1
  170. package/core/types/src/binary.ts +1 -0
  171. package/core/types/src/cli.ts +13 -3
  172. package/core/types/src/docs.ts +6 -2
  173. package/core/types/src/index.ts +1 -0
  174. package/core/types/src/logger.ts +54 -0
  175. package/core/types/src/router.ts +2 -1
  176. package/core/types/src/stacks.ts +10 -0
  177. package/core/ui/package.json +4 -4
  178. package/core/utils/dist/index.js +13 -5
  179. package/core/utils/package.json +2 -2
  180. package/core/utils/src/hash.ts +10 -1
  181. package/core/validation/package.json +1 -1
  182. package/core/vite/dist/index.js +1 -1
  183. package/core/vite/package.json +4 -4
  184. package/core/vite/src/example-wc.ts +1 -4
  185. package/core/vite/src/plugin/auto-imports.ts +1 -2
  186. package/core/vite/src/plugin/components.ts +1 -2
  187. package/core/vite/src/plugin/docs.ts +1 -1
  188. package/core/whois/package.json +3 -3
  189. package/core/x-ray/package.json +1 -1
  190. package/core/zsh-buddy/buddy.plugin.zsh +4 -0
  191. package/core/zsh-buddy/package.json +3 -3
  192. package/ide/dictionary.txt +1 -0
  193. package/ide/vscode/package.json +3 -4
  194. package/package.json +1 -1
  195. package/core/buddy/src/commands/example.ts +0 -66
  196. package/core/buddy/src/commands/inspire.ts +0 -24
  197. package/core/cli/src/utilities.ts +0 -2
@@ -55,7 +55,7 @@ interface S3Event {
55
55
  }
56
56
 
57
57
  // This Lambda will filter all the incoming emails based on their From and To field
58
- export function handler(event: S3Event): Promise<boolean> {
58
+ export function handler(event: S3Event): Promise<any> {
59
59
  // if (!event.Records.length)
60
60
  // throw new Error('No records in the event')
61
61
 
@@ -96,6 +96,8 @@ export function handler(event: S3Event): Promise<boolean> {
96
96
 
97
97
  return false
98
98
  })
99
+
100
+ return Promise.resolve()
99
101
  }
100
102
 
101
103
  // List all the emails added to SES, so we can use them to decided where to
@@ -202,7 +204,8 @@ function parse_the_email(container: Container): Promise<Container> {
202
204
  // Save the parsed email for the next promise.
203
205
  container.date = data.date
204
206
  container.from = data.from?.value[0]?.address
205
- container.to = data.to?.value[0]?.address
207
+ // container.to = data.to?.value[0]?.address
208
+ container.to = data.from?.value[0]?.address
206
209
  container.subject = data.subject || 'No Subject'
207
210
  container.message_id = data.messageId
208
211
 
@@ -236,13 +239,26 @@ function extract_data(container: Container): Promise<Container> {
236
239
  // Since the email string can come in a form of:
237
240
  // Name Last <name@example.com>
238
241
  // We have to extract just the email address, and discard the rest
239
- const tmp_to = container.to
240
- .match(/(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21-\x5A\x53-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])+)\])/gm)[0]
241
- .split('@')
242
+ let tmp_to
243
+ if (container?.to) {
244
+ const matchResult = container.to.match(/(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21-\x5A\x53-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])+)\])/gm);
245
+ if (matchResult) {
246
+ tmp_to = matchResult[0].split('@');
247
+ // Continue with your logic using tmp_to
248
+ }
249
+ }
250
+
251
+ let tmp_from
252
+ if (container?.from) {
253
+ const matchResult = container.from.match(/(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21-\x5A\x53-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])+)\])/gm)
254
+ if (matchResult) {
255
+ tmp_from = matchResult[0].split('@');
256
+ // Continue with your logic using tmp_to
257
+ }
258
+ }
242
259
 
243
- const tmp_from = container.from
244
- .match(/(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21-\x5A\x53-\x7F]|\\[\x01-\x09\x0B\x0C\x0E-\x7F])+)\])/gm)[0]
245
- .split('@')
260
+ if (!tmp_to || !tmp_from)
261
+ return reject(Error('No To or From field in the email'))
246
262
 
247
263
  // Get the domain name of the receiving end, so we can group
248
264
  // emails by all the domain that were added to SES.
@@ -18,7 +18,7 @@ const ses = new AWS.SES({
18
18
 
19
19
  // This lambda will read outgoing emails formatted in JSON, convert them
20
20
  // in to a raw email, send them using SES, and store them in S3.
21
- exports.handler = (event) => {
21
+ exports.handler = (event: any) => {
22
22
  // This JS object will contain all the data within the chain
23
23
  const container = {
24
24
  bucket: event.Records[0].s3.bucket.name,
@@ -56,7 +56,7 @@ exports.handler = (event) => {
56
56
  }
57
57
 
58
58
  // Load the JSON email that triggered this Lambda.
59
- function load_the_email(container) {
59
+ function load_the_email(container: any) {
60
60
  return new Promise((resolve, reject) => {
61
61
  console.info('load_the_email')
62
62
 
@@ -67,7 +67,7 @@ function load_the_email(container) {
67
67
  }
68
68
 
69
69
  // -> Execute the query.
70
- s3.getObject(params, (error, data) => {
70
+ s3.getObject(params, (error: any, data: any) => {
71
71
  // 1. Check for internal errors.
72
72
  if (error)
73
73
  return reject(error)
@@ -82,7 +82,7 @@ function load_the_email(container) {
82
82
  }
83
83
 
84
84
  // Extract all the data necessary to organize the incoming emails.
85
- function extract_data(container) {
85
+ function extract_data(container: any) {
86
86
  return new Promise((resolve, reject) => {
87
87
  console.info('extract_data')
88
88
 
@@ -116,7 +116,7 @@ function extract_data(container) {
116
116
 
117
117
  // 6. Create a human readable time stamp that matches the format
118
118
  // S3 Provides in its Event.
119
- date = moment().format('ddd, DD MMM YYYY HH:MM:SS ZZ')
119
+ const date = moment().format('ddd, DD MMM YYYY HH:MM:SS ZZ')
120
120
 
121
121
  // 7. Create the path where the email needs to be moved
122
122
  // so it is properly organized.
@@ -145,7 +145,7 @@ function extract_data(container) {
145
145
 
146
146
  // From the JSON file that we loaded in to memory we generate a RAW version that
147
147
  // can be used by SES, and later on stored and converted in multiple formats
148
- function generate_the_raw_email(container, callback) {
148
+ function generate_the_raw_email(container: any) {
149
149
  return new Promise((resolve, reject) => {
150
150
  console.info('generate_the_raw_email')
151
151
 
@@ -154,7 +154,7 @@ function generate_the_raw_email(container, callback) {
154
154
  const mail = new MailComposer(container.email.json)
155
155
 
156
156
  // 2. Take the email and compile it down to its text form for storage.
157
- mail.compile().build((error, raw_message) => {
157
+ mail.compile().build((error: any, raw_message: any) => {
158
158
  // 1. Check if there was an error
159
159
  if (error)
160
160
  return reject(error)
@@ -169,7 +169,7 @@ function generate_the_raw_email(container, callback) {
169
169
  }
170
170
 
171
171
  // Use the newly generated RAW email and send it using SES.
172
- function send_email(container) {
172
+ function send_email(container: any) {
173
173
  return new Promise((resolve, reject) => {
174
174
  console.info('send_email')
175
175
 
@@ -181,7 +181,7 @@ function send_email(container) {
181
181
  }
182
182
 
183
183
  // -> Send the email out
184
- ses.sendRawEmail(params, (error, data) => {
184
+ ses.sendRawEmail(params, (error: any, data: any) => {
185
185
  // 1. Check if there was an error
186
186
  if (error)
187
187
  return reject(error)
@@ -202,7 +202,7 @@ function send_email(container) {
202
202
  // and then we copy the object to the final destination, which triggers
203
203
  // the Convert action, and once the convert action makes a PUT nothing else
204
204
  // happens.
205
- function save_raw_email(container) {
205
+ function save_raw_email(container: any) {
206
206
  return new Promise((resolve, reject) => {
207
207
  console.info('save_raw_email')
208
208
 
@@ -214,7 +214,7 @@ function save_raw_email(container) {
214
214
  }
215
215
 
216
216
  // -> Execute the query.
217
- s3.putObject(params, (error, data) => {
217
+ s3.putObject(params, (error: any, data: any) => {
218
218
  // 1. Check for internal errors.
219
219
  if (error)
220
220
  return reject(error)
@@ -226,7 +226,7 @@ function save_raw_email(container) {
226
226
  }
227
227
 
228
228
  // Now that we have our RAW email saved we do a copy event so it will trigger the Conversion Lambda
229
- function copy_raw_email(container) {
229
+ function copy_raw_email(container: any) {
230
230
  return new Promise((resolve, reject) => {
231
231
  console.info('copy_raw_email')
232
232
 
@@ -238,7 +238,7 @@ function copy_raw_email(container) {
238
238
  }
239
239
 
240
240
  // -> Execute the query.
241
- s3.copyObject(params, (error, data) => {
241
+ s3.copyObject(params, (error: any, data: any) => {
242
242
  // 1. Check for internal errors.
243
243
  if (error)
244
244
  return reject(error)
@@ -250,7 +250,7 @@ function copy_raw_email(container) {
250
250
  }
251
251
 
252
252
  // And before we finish we clean up the environment by deleting the JSON email,
253
- function delete_json_email(container) {
253
+ function delete_json_email(container: any) {
254
254
  return new Promise((resolve, reject) => {
255
255
  console.info('delete_json_email')
256
256
 
@@ -261,7 +261,7 @@ function delete_json_email(container) {
261
261
  }
262
262
 
263
263
  // -> Execute the query.
264
- s3.deleteObject(params, (error, data) => {
264
+ s3.deleteObject(params, (error: any, data: any) => {
265
265
  // 1. Check for internal errors.
266
266
  if (error)
267
267
  return reject(error)
@@ -273,7 +273,7 @@ function delete_json_email(container) {
273
273
  }
274
274
 
275
275
  // And the temporary RAW email.
276
- function delete_raw_email(container) {
276
+ function delete_raw_email(container: any) {
277
277
  return new Promise((resolve, reject) => {
278
278
  console.info('delete_raw_email')
279
279
 
@@ -284,7 +284,7 @@ function delete_raw_email(container) {
284
284
  }
285
285
 
286
286
  // -> Execute the query.
287
- s3.deleteObject(params, (error, data) => {
287
+ s3.deleteObject(params, (error: any, data: any) => {
288
288
  // 1. Check for internal errors.
289
289
  if (error)
290
290
  return reject(error)
@@ -14,8 +14,8 @@ var NpmScript;
14
14
  NpmScript2["DevDesktop"] = "dev:desktop";
15
15
  NpmScript2["DevFunctions"] = "dev:functions";
16
16
  NpmScript2["Fresh"] = "fresh";
17
- NpmScript2["Lint"] = "eslint .";
18
- NpmScript2["LintFix"] = "eslint . --fix";
17
+ NpmScript2["Lint"] = "bunx eslint .";
18
+ NpmScript2["LintFix"] = "bunx eslint . --fix";
19
19
  NpmScript2["LintPackageJson"] = "publint";
20
20
  NpmScript2["MakeStack"] = "make:stack";
21
21
  NpmScript2["Test"] = "bun test";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/enums",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "Stacks enums.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -15,8 +15,8 @@ export enum NpmScript {
15
15
  DevDesktop = 'dev:desktop',
16
16
  DevFunctions = 'dev:functions',
17
17
  Fresh = 'fresh',
18
- Lint = 'eslint .',
19
- LintFix = 'eslint . --fix',
18
+ Lint = 'bunx eslint .',
19
+ LintFix = 'bunx eslint . --fix',
20
20
  LintPackageJson = 'publint',
21
21
  MakeStack = 'make:stack',
22
22
  Test = 'bun test',
@@ -135,7 +135,7 @@ import {validator} from "@stacksjs/validation";
135
135
  import {validate} from "@stacksjs/validation";
136
136
  var env_default = {
137
137
  APP_NAME: validate.string(),
138
- APP_ENV: validate.enum(["development", "staging", "production"]),
138
+ APP_ENV: validate.enum(["local", "dev", "stage", "prod"]),
139
139
  APP_KEY: validate.string(),
140
140
  APP_URL: validate.string(),
141
141
  APP_PORT: validate.number(),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/env",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "Stacks env helper methods.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -45,7 +45,8 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@stacksjs/validation": "workspace:*",
48
- "fs-extra": "^11.2.0"
48
+ "fs-extra": "^11.2.0",
49
+ "std-env": "^3.7.0"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@stacksjs/development": "workspace:*",
@@ -0,0 +1 @@
1
+ export { platform, isCI, hasTTY, hasWindow, isDebug, isMinimal, isWindows, isLinux, isMacOS, isColorSupported, providerInfo, provider, isBun, isNode, runtimeInfo, runtime } from 'std-env'
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/error-handling",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "Type safe error handling.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,4 +1,4 @@
1
- import { log, runCommand } from '@stacksjs/cli'
1
+ import { log, runCommand } from '../cli/src'
2
2
 
3
3
  const result = await runCommand('bun build ./src/index.ts --outdir dist --format esm --target node', {
4
4
  cwd: import.meta.dir,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/eslint-config",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "The Stacks.js ESLint config preset, heavily inspired by Anthony's ESLint config.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)",
7
7
  "license": "MIT",
@@ -67,14 +67,14 @@
67
67
  },
68
68
  "dependencies": {
69
69
  "@antfu/eslint-define-config": "^1.23.0-2",
70
- "@eslint-types/jsdoc": "48.0.4",
71
- "@eslint-types/typescript-eslint": "^6.19.1",
72
- "@eslint-types/unicorn": "^50.0.1",
70
+ "@eslint-types/jsdoc": "48.0.6",
71
+ "@eslint-types/typescript-eslint": "^6.21.0",
72
+ "@eslint-types/unicorn": "^51.0.1",
73
73
  "@stacksjs/cli": "workspace:*",
74
- "@stylistic/eslint-plugin": "^1.6.0",
74
+ "@stylistic/eslint-plugin": "^1.6.1",
75
75
  "@typescript-eslint/eslint-plugin": "^6.21.0",
76
76
  "@typescript-eslint/parser": "^6.21.0",
77
- "eslint-config-flat-gitignore": "^0.1.2",
77
+ "eslint-config-flat-gitignore": "^0.1.3",
78
78
  "eslint-merge-processors": "^0.1.0",
79
79
  "eslint-parser-plain": "^0.1.0",
80
80
  "eslint-plugin-antfu": "^2.1.2",
@@ -93,7 +93,7 @@
93
93
  "eslint-plugin-vue": "^9.21.1",
94
94
  "eslint-plugin-yml": "^1.12.2",
95
95
  "eslint-processor-vue-blocks": "^0.1.1",
96
- "globals": "^13.24.0",
96
+ "globals": "^14.0.0",
97
97
  "jsonc-eslint-parser": "^2.4.0",
98
98
  "local-pkg": "^0.5.0",
99
99
  "parse-gitignore": "^2.0.0",
@@ -102,11 +102,13 @@
102
102
  "yaml-eslint-parser": "^1.2.2"
103
103
  },
104
104
  "devDependencies": {
105
+ "@stacksjs/cli": "workspace:*",
106
+ "@stacksjs/development": "workspace:*",
105
107
  "@stacksjs/eslint-config": "workspace:*",
106
108
  "@stacksjs/utils": "workspace:*",
107
- "@stylistic/eslint-plugin-migrate": "^1.6.0",
109
+ "@stylistic/eslint-plugin-migrate": "^1.6.1",
108
110
  "@types/eslint": "^8.56.2",
109
- "@types/node": "^20.11.16",
111
+ "@types/node": "^20.11.17",
110
112
  "@unocss/eslint-plugin": "^0.58.5",
111
113
  "eslint": "^8.56.0",
112
114
  "eslint-flat-config-viewer": "^0.1.11",
@@ -114,7 +116,7 @@
114
116
  "eslint-ts-patch": "^8.55.0-1",
115
117
  "lint-staged": "^15.2.2",
116
118
  "rimraf": "^5.0.5",
117
- "tsup": "^8.0.1",
119
+ "tsup": "^8.0.2",
118
120
  "typescript": "^5.3.3"
119
121
  }
120
122
  }
@@ -48,7 +48,8 @@ it('package.json updated', async () => {
48
48
 
49
49
  it('esm eslint.config.js', async () => {
50
50
  const pkgContent = await fs.readFile('package.json', 'utf-8')
51
- await fs.writeFile(join(genPath, 'package.json'), JSON.stringify({ ...JSON.parse(pkgContent), type: 'module' }, null, 2))
51
+ const options = JSON.parse(pkgContent)
52
+ await fs.writeFile(join(genPath, 'package.json'), JSON.stringify({ ...options, type: 'module' }, null, 2))
52
53
 
53
54
  const { stdout } = await run()
54
55
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "es2020",
3
+ "target": "es2022",
4
4
  "baseUrl": ".",
5
- "module": "es2020",
5
+ "module": "es2022",
6
6
  "moduleResolution": "Bundler",
7
7
  "strict": true,
8
8
  "esModuleInterop": true,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/events",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "Functional event emitting.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/faker",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "Faker functions.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -52,7 +52,7 @@
52
52
  "@stacksjs/config": "workspace:*"
53
53
  },
54
54
  "dependencies": {
55
- "@faker-js/faker": "^8.4.0",
55
+ "@faker-js/faker": "^8.4.1",
56
56
  "@stacksjs/cli": "workspace:*",
57
57
  "@stacksjs/config": "workspace:*"
58
58
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/git",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "The Stacks git utilities & conventions.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/health",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "The Stacks Health services.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/http",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "Stacks HTTP methods.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/lint",
3
3
  "type": "module",
4
- "version": "0.58.58",
4
+ "version": "0.58.60",
5
5
  "description": "The Stacks way to lint.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  import { log, runCommand } from '../cli/src'
2
2
 
3
- const result = await runCommand('bun build ./src/index.ts --outdir dist --format esm --external @stacksjs/types --target bun', {
3
+ const result = await runCommand('bun build ./src/index.ts --outdir dist --format esm --external @stacksjs/types --external @stacksjs/cli --external @stacksjs/path --external consola --external @stacksjs/error-handling --external @stacksjs/types --external @stacksjs/config --target bun', {
4
4
  cwd: import.meta.dir,
5
5
  })
6
6