@stacksjs/types 0.58.48 → 0.58.50
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.
- package/package.json +6 -5
- package/src/ai.ts +25 -0
- package/src/analytics.ts +21 -0
- package/src/api.ts +65 -0
- package/src/app.ts +172 -0
- package/src/auto-imports.ts +1 -0
- package/src/binary.ts +12 -0
- package/src/build.ts +2 -0
- package/src/cache.ts +98 -0
- package/src/cdn.ts +17 -0
- package/src/chat.ts +5 -0
- package/src/cli.ts +305 -0
- package/src/cloud.ts +85 -0
- package/src/components.ts +64 -0
- package/src/configure.ts +6 -0
- package/src/cron-jobs.ts +45 -0
- package/src/database.ts +45 -0
- package/src/dependencies.ts +69 -0
- package/src/deploy.ts +13 -0
- package/src/dns.ts +186 -0
- package/src/docs.ts +22 -0
- package/src/email.ts +16 -0
- package/src/env.ts +1 -0
- package/src/errors.ts +11 -0
- package/src/events.ts +30 -0
- package/src/exit-code.ts +10 -0
- package/src/file-systems.ts +70 -0
- package/src/git.ts +133 -0
- package/src/hashing.ts +131 -0
- package/src/helpers.ts +11 -0
- package/src/i18n.ts +19 -0
- package/src/index.ts +58 -0
- package/src/inspect.ts +10 -0
- package/src/layout.ts +8 -0
- package/src/library.ts +156 -0
- package/src/manifest.ts +9 -0
- package/src/model.ts +72 -0
- package/src/money.ts +3 -0
- package/src/native.ts +0 -0
- package/src/notifications.ts +147 -0
- package/src/pages.ts +10 -0
- package/src/payments.ts +65 -0
- package/src/promise.ts +1 -0
- package/src/push.ts +36 -0
- package/src/pwa.ts +8 -0
- package/src/queue.ts +36 -0
- package/src/reactivity.ts +1 -0
- package/src/router.ts +70 -0
- package/src/scheduler.ts +1 -0
- package/src/search-engine.ts +136 -0
- package/src/security.ts +23 -0
- package/src/services.ts +44 -0
- package/src/sms.ts +5 -0
- package/src/ssg.ts +3 -0
- package/src/stacks.ts +226 -0
- package/src/storage.ts +13 -0
- package/src/tables.ts +57 -0
- package/src/team.ts +8 -0
- package/src/ui.ts +197 -0
- 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[]
|
package/src/configure.ts
ADDED
package/src/cron-jobs.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
schedule?: string | Every
|
|
17
|
+
enabled?: boolean
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type JobConfig = JobOptions
|
|
21
|
+
export type Job = JobOptions
|
|
22
|
+
export type Jobs = Job[]
|
|
23
|
+
export type CronJob = Job
|
|
24
|
+
export type CronJobs = Jobs
|
|
25
|
+
|
|
26
|
+
// export type Job = JobOptions
|
|
27
|
+
// export type Jobs = Job[]
|
|
28
|
+
// export type CronJob = Job
|
|
29
|
+
// export type CronJobs = Jobs
|
|
30
|
+
|
|
31
|
+
export enum Every {
|
|
32
|
+
Second = '* * * * * *',
|
|
33
|
+
FiveSeconds = '*/5 * * * * *',
|
|
34
|
+
TenSeconds = '*/10 * * * * *',
|
|
35
|
+
ThirtySeconds = '*/30 * * * * *',
|
|
36
|
+
Minute = '* * * * *',
|
|
37
|
+
Hour = '0 * * * *',
|
|
38
|
+
HalfHour = '0,30 * * * *',
|
|
39
|
+
Day = '0 0 * * *',
|
|
40
|
+
Month = '0 0 1 * *',
|
|
41
|
+
Week = '0 0 * * 0',
|
|
42
|
+
Year = '0 0 1 1 *',
|
|
43
|
+
FifthMinute = '*/5 * * * *',
|
|
44
|
+
TenthMinute = '*/10 * * * *',
|
|
45
|
+
}
|
package/src/database.ts
ADDED
|
@@ -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
|
+
}
|