@stacksjs/types 0.58.48 → 0.58.49

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 (60) hide show
  1. package/package.json +3 -2
  2. package/src/ai.ts +25 -0
  3. package/src/analytics.ts +21 -0
  4. package/src/api.ts +63 -0
  5. package/src/app.ts +172 -0
  6. package/src/auto-imports.ts +1 -0
  7. package/src/binary.ts +12 -0
  8. package/src/build.ts +2 -0
  9. package/src/cache.ts +98 -0
  10. package/src/cdn.ts +17 -0
  11. package/src/chat.ts +5 -0
  12. package/src/cli.ts +305 -0
  13. package/src/cloud.ts +85 -0
  14. package/src/components.ts +64 -0
  15. package/src/configure.ts +6 -0
  16. package/src/cron-jobs.ts +44 -0
  17. package/src/database.ts +45 -0
  18. package/src/dependencies.ts +69 -0
  19. package/src/deploy.ts +13 -0
  20. package/src/dns.ts +186 -0
  21. package/src/docs.ts +22 -0
  22. package/src/email.ts +16 -0
  23. package/src/env.ts +1 -0
  24. package/src/errors.ts +11 -0
  25. package/src/events.ts +30 -0
  26. package/src/exit-code.ts +10 -0
  27. package/src/file-systems.ts +70 -0
  28. package/src/git.ts +133 -0
  29. package/src/hashing.ts +131 -0
  30. package/src/helpers.ts +11 -0
  31. package/src/i18n.ts +19 -0
  32. package/src/index.ts +58 -0
  33. package/src/inspect.ts +10 -0
  34. package/src/layout.ts +8 -0
  35. package/src/library.ts +156 -0
  36. package/src/manifest.ts +9 -0
  37. package/src/model.ts +72 -0
  38. package/src/money.ts +3 -0
  39. package/src/native.ts +0 -0
  40. package/src/notifications.ts +147 -0
  41. package/src/pages.ts +10 -0
  42. package/src/payments.ts +65 -0
  43. package/src/promise.ts +1 -0
  44. package/src/push.ts +36 -0
  45. package/src/pwa.ts +8 -0
  46. package/src/queue.ts +36 -0
  47. package/src/reactivity.ts +1 -0
  48. package/src/router.ts +70 -0
  49. package/src/scheduler.ts +1 -0
  50. package/src/search-engine.ts +136 -0
  51. package/src/security.ts +23 -0
  52. package/src/services.ts +44 -0
  53. package/src/sms.ts +5 -0
  54. package/src/ssg.ts +3 -0
  55. package/src/stacks.ts +226 -0
  56. package/src/storage.ts +13 -0
  57. package/src/tables.ts +57 -0
  58. package/src/team.ts +8 -0
  59. package/src/ui.ts +197 -0
  60. package/src/utils.ts +47 -0
package/src/cli.ts ADDED
@@ -0,0 +1,305 @@
1
+ import type { BunFile } from 'bun'
2
+
3
+ type ArrayBufferView = TypedArray | DataView
4
+
5
+ export type { Subprocess, SyncSubprocess } from 'bun'
6
+ export type Readable =
7
+ | 'pipe'
8
+ | 'inherit'
9
+ | 'ignore'
10
+ | null // equivalent to 'ignore'
11
+ | undefined // to use default
12
+ | BunFile
13
+ | ArrayBufferView
14
+ | number
15
+
16
+ export type Writable =
17
+ | 'pipe'
18
+ | 'inherit'
19
+ | 'ignore'
20
+ | null // equivalent to 'ignore'
21
+ | undefined // to use default
22
+ | BunFile
23
+ | ArrayBufferView
24
+ | number
25
+ | ReadableStream
26
+ | Blob
27
+ | Response
28
+ | Request
29
+
30
+ export type In = Readable
31
+ export type Out = Writable
32
+ export type Err = Writable
33
+
34
+ /**
35
+ * The file descriptor for the standard input. It may be:
36
+ *
37
+ * - `"ignore"`, `null`, `undefined`: The process will have no standard input
38
+ * - `"pipe"`: The process will have a new {@link FileSink} for standard input
39
+ * - `"inherit"`: The process will inherit the standard input of the current process
40
+ * - `ArrayBufferView`, `Blob`: The process will read from the buffer
41
+ * - `number`: The process will read from the file descriptor
42
+ *
43
+ * @default "ignore"
44
+ */
45
+ export type stdin = 'ignore' | 'inherit' | 'pipe' | ArrayBufferView | number | null | undefined
46
+
47
+ /**
48
+ * The file descriptor for the standard output. It may be:
49
+ *
50
+ * - `"pipe"`, `undefined`: The process will have a {@link ReadableStream} for standard output/error
51
+ * - `"ignore"`, `null`: The process will have no standard output/error
52
+ * - `"inherit"`: The process will inherit the standard output/error of the current process
53
+ * - `ArrayBufferView`: The process write to the preallocated buffer. Not implemented.
54
+ * - `number`: The process will write to the file descriptor
55
+ *
56
+ * @default "pipe"
57
+ */
58
+ export type stdout = 'ignore' | 'inherit' | 'pipe' | ArrayBufferView | number
59
+
60
+ /**
61
+ * The file descriptor for the standard error. It may be:
62
+ *
63
+ * - `"pipe"`, `undefined`: The process will have a {@link ReadableStream} for standard output/error
64
+ * - `"ignore"`, `null`: The process will have no standard output/error
65
+ * - `"inherit"`: The process will inherit the standard output/error of the current process
66
+ * - `ArrayBufferView`: The process write to the preallocated buffer. Not implemented.
67
+ * - `number`: The process will write to the file descriptor
68
+ *
69
+ * @default "inherit" for `spawn`
70
+ * "pipe" for `spawnSync`
71
+ */
72
+ export type stderr = 'ignore' | 'inherit' | 'pipe' | ArrayBufferView | number
73
+
74
+ export interface OutroOptions extends CliOptions {
75
+ type?: 'success' | 'error' | 'warning' | 'info'
76
+ startTime?: number
77
+ useSeconds?: boolean
78
+ quiet?: boolean
79
+ message?: string
80
+ }
81
+
82
+ export interface IntroOptions {
83
+ /**
84
+ * @default true
85
+ */
86
+ showPerformance?: boolean
87
+
88
+ /**
89
+ * @default false
90
+ */
91
+ quiet: boolean
92
+ }
93
+
94
+ // type SpinnerOptions = Ora
95
+
96
+ export type CliOptionsKeys = keyof CliOptions
97
+
98
+ /**
99
+ * The options to pass to the CLI.
100
+ */
101
+ export interface CliOptions {
102
+ /**
103
+ * **Verbose Output**
104
+ *
105
+ * When your application is in "verbose"-mode, a different level of,
106
+ * information like useful outputs for debugging reasons, will be
107
+ * shown. When disabled, it defaults to the "normal experience."
108
+ *
109
+ * @default false
110
+ */
111
+ verbose?: boolean
112
+
113
+ /**
114
+ * **Silent Mode**
115
+ *
116
+ * When you are using "silent"-mode, the CLI will not output anything
117
+ * to the console. This is useful when you want to run the CLI in
118
+ * the background.
119
+ *
120
+ * @default false
121
+ */
122
+ silent?: boolean
123
+
124
+ /**
125
+ * **Current Work Directory**
126
+ *
127
+ * Based on the `cwd` value, that's where the command...
128
+ *
129
+ * @default projectPath()
130
+ */
131
+ cwd?: string
132
+
133
+ /**
134
+ * @default 'pipe'
135
+ */
136
+ stdin?: stdin
137
+
138
+ /**
139
+ * @default 'pipe'
140
+ */
141
+ stdout?: stdout
142
+
143
+ /**
144
+ * @default 'inherit'
145
+ */
146
+ stderr?: stderr
147
+
148
+ env?: Record<string, string | undefined>
149
+
150
+ /**
151
+ * Runs the action in interactive/detached mode.
152
+ * @default false
153
+ */
154
+ background?: boolean
155
+
156
+ startTime?: number
157
+
158
+ /**
159
+ * Include the localhost URL in the output.
160
+ * @default false
161
+ */
162
+ withLocalhost?: boolean
163
+ }
164
+
165
+ export type CliConfig = CliOptions
166
+
167
+ // export type { Ora as SpinnerOptions } from 'ora'
168
+
169
+ // the `domains` option is only available for the `deploy` command
170
+ // the `count` option is only available for the `seed` command
171
+ export type ActionOption = 'types' | 'domains' | 'count'
172
+
173
+ /**
174
+ * The options to pass to the Action.
175
+ */
176
+ export type ActionOptions = {
177
+ 'types'?: boolean
178
+ 'domains'?: boolean
179
+ 'count'?: number
180
+ } & CliOptions & DomainsOptions
181
+
182
+ export type BuildOption = 'components' | 'vueComponents' | 'webComponents' | 'elements' | 'functions' | 'docs' | 'views' | 'stacks' | 'all' | 'buddy'
183
+ export type BuildOptions = {
184
+ [key in BuildOption]: boolean;
185
+ } & CliOptions
186
+
187
+ export type AddOption = 'table' | 'calendar' | 'all'
188
+ export type AddOptions = {
189
+ [key in AddOption]?: boolean;
190
+ } & CliOptions
191
+
192
+ export type CreateStringOption = 'name'
193
+ export type CreateBooleanOption = 'ui' | 'components' | 'web-components' | 'vue' | 'views' | 'functions' | 'api' | 'database'
194
+ export type CreateOptions = {
195
+ [key in CreateBooleanOption]: boolean
196
+ } & {
197
+ [key in CreateStringOption]: string
198
+ } & CliOptions
199
+
200
+ export type DevOption = 'components' | 'docs' | 'frontend' | 'api' | 'desktop' | 'all' | 'email' | 'system-tray' | 'interactive' | 'verbose'
201
+ export type DevOptions = {
202
+ [key in DevOption]: boolean;
203
+ } & CliOptions
204
+
205
+ export type GeneratorOption = 'types' | 'entries' | 'webTypes' | 'customData' | 'ideHelpers' | 'componentMeta'
206
+ export type GeneratorOptions = {
207
+ [key in GeneratorOption]?: boolean;
208
+ } & CliOptions
209
+
210
+ export type LintOption = 'fix'
211
+ export type LintOptions = {
212
+ [key in LintOption]: boolean;
213
+ } & CliOptions
214
+
215
+ export type MakeStringOption = 'name' | 'chat' | 'sms' | 'env'
216
+ export type MakeBooleanOption = 'component' | 'page' | 'function' | 'language' | 'database' | 'migration' | 'model' | 'notification' | 'stack'
217
+ export type MakeOptions = {
218
+ [key in MakeBooleanOption]: boolean
219
+ } & {
220
+ [key in MakeStringOption]: string
221
+ } & CliOptions
222
+
223
+ export type UpgradeBoolean = 'framework' | 'dependencies' | 'packageManager' | 'node' | 'all' | 'force'
224
+ export type UpgradeString = 'version'
225
+
226
+ export type UpgradeOptions = {
227
+ [key in UpgradeBoolean]: boolean;
228
+ } & {
229
+ [key in UpgradeString]: string;
230
+ } & CliOptions
231
+
232
+ export type ExamplesString = 'version'
233
+ export type ExamplesBoolean = 'components' | 'vue' | 'webComponents' | 'elements' | 'all' | 'force'
234
+ export type ExamplesOption = ExamplesString & ExamplesBoolean | void
235
+ export type ExamplesOptions = {
236
+ [key in ExamplesString]: string;
237
+ } & {
238
+ [key in ExamplesBoolean]: boolean;
239
+ } & CliOptions
240
+ export type TestOptions = CliOptions & {
241
+ showReport?: boolean
242
+ }
243
+ export type DomainsOptions = CliOptions & {
244
+ domain?: string
245
+ yes?: boolean
246
+ years?: number
247
+ privacy?: boolean
248
+ autoRenew?: boolean
249
+ registrantFirstName?: string
250
+ registrantLastName?: string
251
+ registrantOrganization?: string
252
+ registrantAddress?: string
253
+ registrantCity?: string
254
+ registrantState?: string
255
+ registrantCountry?: string
256
+ registrantZip?: string
257
+ registrantPhone?: string
258
+ registrantEmail?: string
259
+ adminFirstName?: string
260
+ adminLastName?: string
261
+ adminOrganization?: string
262
+ adminAddress?: string
263
+ adminCity?: string
264
+ adminState?: string
265
+ adminCountry?: string
266
+ adminZip?: string
267
+ adminPhone?: string
268
+ adminEmail?: string
269
+ techFirstName?: string
270
+ techLastName?: string
271
+ techOrganization?: string
272
+ techAddress?: string
273
+ techCity?: string
274
+ techState?: string
275
+ techCountry?: string
276
+ techZip?: string
277
+ techPhone?: string
278
+ techEmail?: string
279
+ privacyAdmin?: boolean
280
+ privacyTech?: boolean
281
+ privacyRegistrant?: boolean
282
+ contactType?: string
283
+ }
284
+
285
+ export interface CleanOptions extends CliOptions { }
286
+ export interface CloudCliOptions extends CliOptions {
287
+ ssh?: boolean
288
+ connect?: boolean
289
+ jumpBox?: boolean
290
+ }
291
+ export interface CommitOptions extends CliOptions { }
292
+ export interface KeyOptions extends CliOptions { }
293
+ export interface FreshOptions extends CliOptions { }
294
+ export interface MigrateOptions extends CliOptions { }
295
+ export interface InspireOptions extends CliOptions { }
296
+ export interface InstallOptions extends CliOptions { }
297
+ export interface ReleaseOptions extends CliOptions { }
298
+ export interface PreinstallOptions extends CliOptions { }
299
+ export interface PrepublishOptions extends CliOptions { }
300
+ export interface TinkerOptions extends CliOptions { }
301
+ export interface TypesOptions extends CliOptions { }
302
+
303
+ export type LibEntryType = 'vue-components' | 'web-components' | 'functions' | 'all'
304
+
305
+ export type { CAC as CLI } from 'cac'
package/src/cloud.ts ADDED
@@ -0,0 +1,85 @@
1
+ import type { ApiOptions } from './api'
2
+ import type { FirewallConfig } from './security'
3
+
4
+ export type CountryCode =
5
+ | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ'
6
+ | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ'
7
+ | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ'
8
+ | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ'
9
+ | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET'
10
+ | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR'
11
+ | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY'
12
+ | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU'
13
+ | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT'
14
+ | 'JE' | 'JM' | 'JO' | 'JP'
15
+ | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ'
16
+ | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY'
17
+ | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ'
18
+ | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ'
19
+ | 'OM'
20
+ | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY'
21
+ | 'QA'
22
+ | 'RE' | 'RO' | 'RS' | 'RU' | 'RW'
23
+ | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ'
24
+ | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ'
25
+ | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ'
26
+ | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU'
27
+ | 'WF' | 'WS'
28
+ | 'YE' | 'YT'
29
+ | 'ZA' | 'ZM' | 'ZW'
30
+
31
+ export interface CloudOptions {
32
+ driver: 'aws'
33
+
34
+ // eslint-disable-next-line ts/ban-types
35
+ storage: {}
36
+
37
+ /**
38
+ * **Firewall Settings**
39
+ *
40
+ * These settings are used to configure the firewall.
41
+ *
42
+ * @see https://stacksjs.org/docs/cloud#firewall
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * firewall: {
47
+ * enabled: true, // default: true
48
+ * countryCodes: ['RU', 'IN'], // default: []
49
+ * ipAddresses: ['56.123.456.789'], // default: []
50
+ * queryString: ['foo', 'bar'], // default: []
51
+ * httpHeaders: ['x-foo', 'x-bar'], // default: []
52
+ * rateLimitPerMinute: 1000, // default: 1000
53
+ * useIpReputationLists: true, // default: true
54
+ * useKnownBadInputsRuleSet: true // default: true
55
+ * },
56
+ * ```
57
+ */
58
+ firewall: FirewallConfig
59
+
60
+ cdn: {
61
+ allowedMethods: 'GET_HEAD' | 'GET_HEAD_OPTIONS' | 'ALL'
62
+ cachedMethods: 'GET_HEAD' | 'GET_HEAD_OPTIONS'
63
+ minTtl: number
64
+ defaultTtl: number
65
+ maxTtl: number
66
+ compress: boolean
67
+ priceClass: 'PriceClass_100' | 'PriceClass_200' | 'PriceClass_All'
68
+ originShieldRegion: string
69
+ cookieBehavior: 'none' | 'allowList' | 'all'
70
+ allowList: {
71
+ cookies: string[]
72
+ headers: string[]
73
+ queryStrings: string[]
74
+ }
75
+ }
76
+
77
+ api: ApiOptions
78
+
79
+ ai: boolean
80
+ cli: boolean
81
+ docs: boolean
82
+ fileSystem: boolean
83
+ }
84
+
85
+ export type CloudConfig = Partial<CloudOptions>
@@ -0,0 +1,64 @@
1
+ export type { Options as ComponentOptions } from 'unplugin-vue-components'
2
+
3
+ export interface TagOption {
4
+ /**
5
+ * **Tag Name**
6
+ *
7
+ * This is the name of the component to be included in your library build.
8
+ * When defining a tag, ensure that the name corresponds to a file within
9
+ * root component directory.
10
+ *
11
+ * @example
12
+ * {
13
+ * tags: [{
14
+ * name: 'HelloWorld' // results in `<HelloWorld />`
15
+ * }]
16
+ * }
17
+ *
18
+ * @example
19
+ * {
20
+ * tags: [{
21
+ * name: ['HelloWorld', 'AppHelloWorld'] // results in `<AppHelloWorld />`
22
+ * }]
23
+ * }
24
+ * @see https://stacksjs.org/docs/components
25
+ */
26
+ name: string | string[]
27
+
28
+ /**
29
+ * **Tag Description**
30
+ *
31
+ * This is the description of your component. This value is
32
+ * used when to provide additional information to IDEs.
33
+ *
34
+ * @example
35
+ * {
36
+ * name: 'HelloWorld' // results in `<HelloWorld />`
37
+ * }
38
+ * @see https://stacksjs.org/docs/components
39
+ */
40
+ description?: string
41
+
42
+ /**
43
+ * **Tag Attributes**
44
+ *
45
+ * These are your component's attributes. While it's an optional field, you should aim
46
+ * to define all of your component attributes here, to provide as much context
47
+ * to your IDEs as possible, when actually using the library as an end-user.
48
+ *
49
+ * @example
50
+ * {
51
+ * attributes: {
52
+ * name: 'greeting',
53
+ * description: 'The way to greet the user.',
54
+ * }
55
+ * }
56
+ * @see https://stacksjs.org/docs/components
57
+ */
58
+ attributes?: {
59
+ name: string
60
+ description: string
61
+ }[]
62
+ }
63
+
64
+ export type TagsOptions = TagOption[]
@@ -0,0 +1,6 @@
1
+ export interface ConfigureOptions {
2
+ aws: boolean
3
+ verbose: boolean
4
+ }
5
+
6
+ export type ConfigureConfig = Partial<ConfigureOptions>
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Cron Job Options.
3
+ */
4
+ export interface JobOptions {
5
+ /**
6
+ * The name of the job.
7
+ */
8
+ name?: string
9
+
10
+ handle: string | Function
11
+ action?: string
12
+ description?: string
13
+ timezone?: string
14
+ tries?: number
15
+ backoff?: number | number[]
16
+ enabled?: boolean
17
+ }
18
+
19
+ export type JobConfig = JobOptions
20
+ export type Job = JobOptions
21
+ export type Jobs = Job[]
22
+ export type CronJob = Job
23
+ export type CronJobs = Jobs
24
+
25
+ // export type Job = JobOptions
26
+ // export type Jobs = Job[]
27
+ // export type CronJob = Job
28
+ // export type CronJobs = Jobs
29
+
30
+ export enum Every {
31
+ Second = '* * * * * *',
32
+ FiveSeconds = '*/5 * * * * *',
33
+ TenSeconds = '*/10 * * * * *',
34
+ ThirtySeconds = '*/30 * * * * *',
35
+ Minute = '* * * * *',
36
+ Hour = '0 * * * *',
37
+ HalfHour = '0,30 * * * *',
38
+ Day = '0 0 * * *',
39
+ Month = '0 0 1 * *',
40
+ Week = '0 0 * * 0',
41
+ Year = '0 0 1 1 *',
42
+ FifthMinute = '*/5 * * * *',
43
+ TenthMinute = '*/10 * * * *',
44
+ }
@@ -0,0 +1,45 @@
1
+ export interface DatabaseOptions {
2
+ default: string
3
+
4
+ /**
5
+ * The name of the database to use.
6
+ * @default stacks
7
+ */
8
+ name: string
9
+
10
+ connections: {
11
+ mysql?: {
12
+ url?: string
13
+ host?: string
14
+ port?: number
15
+ name?: string
16
+ username?: string
17
+ password?: string
18
+ prefix?: string
19
+ }
20
+
21
+ sqlite: {
22
+ url?: string
23
+ database?: string
24
+ prefix?: string
25
+ }
26
+
27
+ planetscale?: object
28
+ postgres?: object
29
+ }
30
+
31
+ migrations: string
32
+ }
33
+
34
+ export type DatabaseConfig = Partial<DatabaseOptions>
35
+
36
+ export interface FactoryOptions {
37
+ name: string
38
+ count?: number
39
+ items: object
40
+ columns: object
41
+ }
42
+
43
+ export interface SchemaOptions {
44
+ database: string
45
+ }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * **Dependencies Manager**
3
+ *
4
+ * This configuration defines all of your dependencies options. Because Stacks is fully-typed,
5
+ * you may hover any of the options below and the definitions will be provided. In case
6
+ * you have any questions, feel free to reach out via Discord or GitHub Discussions.
7
+ */
8
+ export interface DependenciesOptions {
9
+ /**
10
+ * **Bun**
11
+ *
12
+ * @default '0.7.1'
13
+ * @link https://bun.sh
14
+ */
15
+ 'bun.sh': string | '0.7.1'
16
+
17
+ /**
18
+ * **SQLite**
19
+ *
20
+ * @default '^3.42.0'
21
+ * @link https://sqlite.org
22
+ */
23
+ 'sqlite.org'?: string | '^3.42.0'
24
+
25
+ /**
26
+ * **MySQL**
27
+ *
28
+ * @default '^8.0.33'
29
+ * @link https://mysql.org
30
+ */
31
+ 'mysql.com'?: string | '^8.0.33'
32
+
33
+ /**
34
+ * **MariaDB**
35
+ *
36
+ * @default '^10.6.5'
37
+ * @link https://mariadb.org
38
+ */
39
+ 'mariadb.org'?: string | '^10.6.5'
40
+
41
+ /**
42
+ * **PostgreSQL**
43
+ *
44
+ * @default '^14.1'
45
+ * @link https://postgresql.org
46
+ */
47
+ 'postgresql.org'?: string | '^14.1'
48
+
49
+ /**
50
+ * **Redis**
51
+ *
52
+ * @default '^7.0.11'
53
+ * @link https://redis.io
54
+ */
55
+ 'redis.io'?: string | '^7.0.11'
56
+
57
+ /**
58
+ * **AWS CLI**
59
+ *
60
+ * This dependency is only required if you are making use of the AWS driver
61
+ * (i.e. the Stacks generated cloud may make use of it).
62
+ *
63
+ * @default '^2.12.7'
64
+ * @link https://aws.amazon.com/cli
65
+ */
66
+ 'aws.amazon.com/cli'?: string | '^2.12.7'
67
+ }
68
+
69
+ export type DependenciesConfig = DependenciesOptions
package/src/deploy.ts ADDED
@@ -0,0 +1,13 @@
1
+ import type { CliOptions } from './cli'
2
+
3
+ /**
4
+ * **Deploy Options**
5
+ *
6
+ * This configuration defines all of your deployment options. Because Stacks is fully-typed,
7
+ * you may hover any of the options below and the definitions will be provided. In case
8
+ * you have any questions, feel free to reach out via Discord or GitHub Discussions.
9
+ */
10
+ export interface DeployOptions extends CliOptions {
11
+ domain?: string
12
+ deploy?: boolean
13
+ }