@stacksjs/types 0.64.5 → 0.65.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 (87) hide show
  1. package/dist/ai.d.ts +15 -0
  2. package/dist/analytics.d.ts +15 -0
  3. package/dist/api.d.ts +67 -0
  4. package/dist/app.d.ts +135 -0
  5. package/dist/auto-imports.d.ts +1 -0
  6. package/dist/binary.d.ts +11 -0
  7. package/dist/build.d.ts +2 -0
  8. package/dist/cache.d.ts +62 -0
  9. package/dist/cdn.d.ts +16 -0
  10. package/dist/chat.d.ts +3 -0
  11. package/dist/cli.d.ts +246 -0
  12. package/dist/cloud.d.ts +69 -0
  13. package/dist/components.d.ts +60 -0
  14. package/dist/configure.d.ts +12 -0
  15. package/dist/cron-jobs.d.ts +43 -0
  16. package/dist/database.d.ts +47 -0
  17. package/dist/dependencies.d.ts +62 -0
  18. package/dist/deploy.d.ts +16 -0
  19. package/dist/dns.d.ts +175 -0
  20. package/dist/docs.d.ts +22 -0
  21. package/dist/email.d.ts +11 -0
  22. package/dist/env.d.ts +0 -0
  23. package/dist/errors.d.ts +70 -0
  24. package/dist/events.d.ts +30 -0
  25. package/dist/exit-code.d.ts +10 -0
  26. package/dist/file-systems.d.ts +60 -0
  27. package/dist/git.d.ts +128 -0
  28. package/dist/hashing.d.ts +100 -0
  29. package/dist/helpers.d.ts +1 -0
  30. package/dist/i18n.d.ts +19 -0
  31. package/dist/index.d.ts +61 -0
  32. package/dist/index.js +3 -2
  33. package/dist/index.js.map +11 -10
  34. package/dist/inspect.d.ts +9 -0
  35. package/dist/layout.d.ts +0 -0
  36. package/dist/library.d.ts +142 -0
  37. package/dist/logging.d.ts +28 -0
  38. package/dist/manifest.d.ts +9 -0
  39. package/dist/model-names.d.ts +1 -0
  40. package/dist/model.d.ts +144 -0
  41. package/dist/native.d.ts +0 -0
  42. package/dist/notifications.d.ts +106 -0
  43. package/dist/pages.d.ts +10 -0
  44. package/dist/payments.d.ts +60 -0
  45. package/dist/ports.d.ts +20 -0
  46. package/dist/promise.d.ts +1 -0
  47. package/dist/push.d.ts +31 -0
  48. package/dist/pwa.d.ts +7 -0
  49. package/dist/queue.d.ts +34 -0
  50. package/dist/reactivity.d.ts +1 -0
  51. package/dist/request.d.ts +30 -0
  52. package/dist/router.d.ts +55 -0
  53. package/dist/scheduler.d.ts +1 -0
  54. package/dist/search-engine.d.ts +114 -0
  55. package/dist/security.d.ts +18 -0
  56. package/dist/server.d.ts +6 -0
  57. package/dist/services.d.ts +29 -0
  58. package/dist/settings-config.d.ts +9 -0
  59. package/dist/sms.d.ts +0 -0
  60. package/dist/ssg.d.ts +2 -0
  61. package/dist/stacks.d.ts +204 -0
  62. package/dist/storage.d.ts +12 -0
  63. package/dist/tables.d.ts +52 -0
  64. package/dist/team.d.ts +8 -0
  65. package/dist/ui.d.ts +165 -0
  66. package/dist/utils.d.ts +30 -0
  67. package/package.json +19 -19
  68. package/src/api.ts +6 -6
  69. package/src/app.ts +1 -1
  70. package/src/chat.ts +1 -1
  71. package/src/cli.ts +7 -3
  72. package/src/cloud.ts +1 -1
  73. package/src/cron-jobs.ts +1 -0
  74. package/src/deploy.ts +1 -0
  75. package/src/errors.ts +50 -51
  76. package/src/git.ts +1 -1
  77. package/src/helpers.ts +3 -2
  78. package/src/index.ts +8 -7
  79. package/src/model-names.ts +1 -10
  80. package/src/model.ts +35 -19
  81. package/src/notifications.ts +1 -5
  82. package/src/request.ts +16 -15
  83. package/src/router.ts +1 -0
  84. package/src/search-engine.ts +3 -3
  85. package/src/server.ts +16 -0
  86. package/src/settings-config.ts +2 -2
  87. package/src/stacks.ts +0 -1
@@ -0,0 +1,60 @@
1
+ export type { Options as ComponentOptions } from "unplugin-vue-components";
2
+ export interface TagOption {
3
+ /**
4
+ * **Tag Name**
5
+ *
6
+ * This is the name of the component to be included in your library build.
7
+ * When defining a tag, ensure that the name corresponds to a file within
8
+ * root component directory.
9
+ *
10
+ * @example
11
+ * {
12
+ * tags: [{
13
+ * name: 'HelloWorld' // results in `<HelloWorld />`
14
+ * }]
15
+ * }
16
+ *
17
+ * @example
18
+ * {
19
+ * tags: [{
20
+ * name: ['HelloWorld', 'AppHelloWorld'] // results in `<AppHelloWorld />`
21
+ * }]
22
+ * }
23
+ * @see https://stacksjs.org/docs/components
24
+ */
25
+ name: string | string[];
26
+ /**
27
+ * **Tag Description**
28
+ *
29
+ * This is the description of your component. This value is
30
+ * used when to provide additional information to IDEs.
31
+ *
32
+ * @example
33
+ * {
34
+ * name: 'HelloWorld' // results in `<HelloWorld />`
35
+ * }
36
+ * @see https://stacksjs.org/docs/components
37
+ */
38
+ description?: string;
39
+ /**
40
+ * **Tag Attributes**
41
+ *
42
+ * These are your component's attributes. While it’s an optional field, you should aim
43
+ * to define all of your component attributes here, to provide as much context
44
+ * to your IDEs as possible, when actually using the library as an end-user.
45
+ *
46
+ * @example
47
+ * {
48
+ * attributes: {
49
+ * name: 'greeting',
50
+ * description: 'The way to greet the user.',
51
+ * }
52
+ * }
53
+ * @see https://stacksjs.org/docs/components
54
+ */
55
+ attributes?: {
56
+ name: string;
57
+ description: string;
58
+ }[];
59
+ }
60
+ export type TagsOptions = TagOption[];
@@ -0,0 +1,12 @@
1
+ export interface ConfigureOptions {
2
+ aws: boolean;
3
+ profile: string;
4
+ project: boolean;
5
+ verbose: boolean;
6
+ accessKeyId: string;
7
+ secretAccessKey: string;
8
+ region: string;
9
+ output: string;
10
+ quiet: boolean;
11
+ }
12
+ export type ConfigureConfig = Partial<ConfigureOptions>;
@@ -0,0 +1,43 @@
1
+ import type { IntRange } from "@stacksjs/scheduler";
2
+ /**
3
+ * Cron Job Options.
4
+ */
5
+ export interface JobOptions {
6
+ /**
7
+ * The name of the job.
8
+ */
9
+ name?: string;
10
+ handle?: string | Function;
11
+ action?: string;
12
+ description?: string;
13
+ queue?: string;
14
+ timezone?: string;
15
+ /**
16
+ * Number of tries. Must be between 0 and 185.
17
+ */
18
+ tries?: IntRange<0, 185>;
19
+ backoff?: number | number[];
20
+ rate?: string | Every;
21
+ enabled?: boolean;
22
+ }
23
+ export type JobConfig = JobOptions;
24
+ export type Job = JobOptions;
25
+ export type Jobs = Job[];
26
+ export type CronJob = Job;
27
+ export type CronJobs = Jobs;
28
+ export declare enum Every {
29
+ Minute = "* * * * *",
30
+ TwoMinutes = "*/2 * * * *",
31
+ FiveMinutes = "*/5 * * * *",
32
+ TenMinutes = "*/10 * * * *",
33
+ FifteenMinutes = "*/15 * * * *",
34
+ ThirtyMinutes = "*/30 * * * *",
35
+ Hour = "0 * * * *",
36
+ HalfHour = "0,30 * * * *",
37
+ Day = "0 0 * * *",
38
+ Week = "0 0 * * 0",
39
+ Weekday = "0 0 * * 1-5",
40
+ Weekend = "0 0 * * 0,6",
41
+ Month = "0 0 1 * *",
42
+ Year = "0 0 1 1 *",
43
+ }
@@ -0,0 +1,47 @@
1
+ export interface DatabaseOptions {
2
+ default: string;
3
+ connections: {
4
+ mysql?: {
5
+ url?: string;
6
+ host?: string;
7
+ port?: number;
8
+ name?: string;
9
+ username?: string;
10
+ password?: string;
11
+ prefix?: string;
12
+ };
13
+ sqlite: {
14
+ url?: string;
15
+ database?: string;
16
+ prefix?: string;
17
+ };
18
+ dynamodb?: {
19
+ key?: string;
20
+ secret?: string;
21
+ region?: string;
22
+ prefix?: string;
23
+ endpoint?: string;
24
+ };
25
+ postgres?: {
26
+ url?: string;
27
+ host?: string;
28
+ port?: number;
29
+ name?: string;
30
+ username?: string;
31
+ password?: string;
32
+ prefix?: string;
33
+ };
34
+ };
35
+ migrations: string;
36
+ migrationLocks: string;
37
+ }
38
+ export type DatabaseConfig = Partial<DatabaseOptions>;
39
+ export interface FactoryOptions {
40
+ name: string;
41
+ count?: number;
42
+ items: object;
43
+ columns: object;
44
+ }
45
+ export interface SchemaOptions {
46
+ database: string;
47
+ }
@@ -0,0 +1,62 @@
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
+ * **SQLite**
18
+ *
19
+ * @default '^3.42.0'
20
+ * @link https://sqlite.org
21
+ */
22
+ "sqlite.org"?: string | "^3.42.0";
23
+ /**
24
+ * **MySQL**
25
+ *
26
+ * @default '^8.0.33'
27
+ * @link https://mysql.org
28
+ */
29
+ "mysql.com"?: string | "^8.0.33";
30
+ /**
31
+ * **MariaDB**
32
+ *
33
+ * @default '^10.6.5'
34
+ * @link https://mariadb.org
35
+ */
36
+ "mariadb.org"?: string | "^10.6.5";
37
+ /**
38
+ * **PostgreSQL**
39
+ *
40
+ * @default '^14.1'
41
+ * @link https://postgresql.org
42
+ */
43
+ "postgresql.org"?: string | "^14.1";
44
+ /**
45
+ * **Redis**
46
+ *
47
+ * @default '^7.0.11'
48
+ * @link https://redis.io
49
+ */
50
+ "redis.io"?: string | "^7.0.11";
51
+ /**
52
+ * **AWS CLI**
53
+ *
54
+ * This dependency is only required if you are making use of the AWS driver
55
+ * (i.e. the Stacks generated cloud may make use of it).
56
+ *
57
+ * @default '^2.12.7'
58
+ * @link https://aws.amazon.com/cli
59
+ */
60
+ "aws.amazon.com/cli"?: string | "^2.12.7";
61
+ }
62
+ export type DependenciesConfig = DependenciesOptions;
@@ -0,0 +1,16 @@
1
+ import type { CliOptions } from "./cli";
2
+ /**
3
+ * **Deploy Options**
4
+ *
5
+ * This configuration defines all of your deployment options. Because Stacks is fully-typed,
6
+ * you may hover any of the options below and the definitions will be provided. In case
7
+ * you have any questions, feel free to reach out via Discord or GitHub Discussions.
8
+ */
9
+ export interface DeployOptions extends CliOptions {
10
+ domain?: string;
11
+ deploy?: boolean;
12
+ prod?: boolean;
13
+ dev?: boolean;
14
+ staging?: boolean;
15
+ yes?: boolean;
16
+ }
package/dist/dns.d.ts ADDED
@@ -0,0 +1,175 @@
1
+ export interface ARecord {
2
+ name: string | "@" | "*";
3
+ address: string;
4
+ ttl?: number | "auto";
5
+ }
6
+ export interface CNameRecord {
7
+ name: string;
8
+ target: string;
9
+ ttl: number | "auto";
10
+ }
11
+ export interface MXRecord {
12
+ name: string | "@";
13
+ mailServer: string;
14
+ ttl: number | "auto";
15
+ priority: number;
16
+ }
17
+ export interface TxtRecord {
18
+ name: string | "@";
19
+ ttl: number | "auto";
20
+ content: string;
21
+ }
22
+ export interface AAAARecord {
23
+ name: string | "@" | "*";
24
+ address: string;
25
+ ttl: number | "auto";
26
+ }
27
+ export type DnsRecord = ARecord | CNameRecord | MXRecord | TxtRecord | AAAARecord;
28
+ type CountryCode = "AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AN" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TP" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | string;
29
+ export interface ExtraParam {
30
+ /**
31
+ * The name of an additional parameter that is required by a top-level domain.
32
+ * Here are the top-level domains that require additional parameters and the names of the parameters that they require:
33
+ * .com.au and .net.au AU_ID_NUMBER AU_ID_TYPE
34
+ * Valid values include the following: ABN (Australian business number) ACN (Australian company number) TM (Trademark number) .ca BRAND_NUMBER CA_BUSINESS_ENTITY_TYPE
35
+ * Valid values include the following: BANK (Bank) COMMERCIAL_COMPANY (Commercial company) COMPANY (Company) COOPERATION (Cooperation) COOPERATIVE (Cooperative) COOPRIX (Cooprix) CORP (Corporation) CREDIT_UNION (Credit union) FOMIA (Federation of mutual insurance associations) INC (Incorporated) LTD (Limited) LTEE (Limitée) LLC (Limited liability corporation) LLP (Limited liability partnership) LTE (Lte.) MBA (Mutual benefit association) MIC (Mutual insurance company) NFP (Not-for-profit corporation) SA (S.A.) SAVINGS_COMPANY (Savings company) SAVINGS_UNION (Savings union) SARL (Société à responsabilité limitée) TRUST (Trust) ULC (Unlimited liability corporation) CA_LEGAL_TYPE
36
+ * When ContactType is PERSON, valid values include the following: ABO (Aboriginal Peoples indigenous to Canada) CCT (Canadian citizen) LGR (Legal Representative of a Canadian Citizen or Permanent Resident) RES (Permanent resident of Canada)
37
+ * When ContactType is a value other than PERSON, valid values include the following: ASS (Canadian unincorporated association) CCO (Canadian corporation) EDU (Canadian educational institution) GOV (Government or government entity in Canada) HOP (Canadian Hospital) INB (Indian Band recognized by the Indian Act of Canada) LAM (Canadian Library, Archive, or Museum) MAJ (Her/His Majesty the Queen/King) OMK (Official mark registered in Canada) PLT (Canadian Political Party) PRT (Partnership Registered in Canada) TDM (Trademark registered in Canada) TRD (Canadian Trade Union) TRS (Trust established in Canada) .es ES_IDENTIFICATION
38
+ * The value of ES_IDENTIFICATION depends on the following values: The value of ES_LEGAL_FORM The value of ES_IDENTIFICATION_TYPE
39
+ * If ES_LEGAL_FORM is any value other than INDIVIDUAL: Specify 1 letter + 8 numbers (CIF [Certificado de Identificación Fiscal]) Example: B12345678
40
+ * If ES_LEGAL_FORM is INDIVIDUAL, the value that you specify for ES_IDENTIFICATION depends on the value of ES_IDENTIFICATION_TYPE:
41
+ * If ES_IDENTIFICATION_TYPE is DNI_AND_NIF (for Spanish contacts): Specify 8 numbers + 1 letter (DNI [Documento Nacional de Identidad], NIF [Número de Identificación Fiscal]) Example: 12345678M
42
+ * If ES_IDENTIFICATION_TYPE is NIE (for foreigners with legal residence): Specify 1 letter + 7 numbers + 1 letter ( NIE [Número de Identidad de Extranjero]) Example: Y1234567X
43
+ * If ES_IDENTIFICATION_TYPE is OTHER (for contacts outside of Spain): Specify a passport number, drivers license number, or national identity card number ES_IDENTIFICATION_TYPE
44
+ * Valid values include the following: DNI_AND_NIF (For Spanish contacts) NIE (For foreigners with legal residence) OTHER (For contacts outside of Spain) ES_LEGAL_FORM
45
+ * Valid values include the following: ASSOCIATION CENTRAL_GOVERNMENT_BODY CIVIL_SOCIETY COMMUNITY_OF_OWNERS COMMUNITY_PROPERTY CONSULATE COOPERATIVE DESIGNATION_OF_ORIGIN_SUPERVISORY_COUNCIL ECONOMIC_INTEREST_GROUP EMBASSY ENTITY_MANAGING_NATURAL_AREAS FARM_PARTNERSHIP FOUNDATION GENERAL_AND_LIMITED_PARTNERSHIP GENERAL_PARTNERSHIP INDIVIDUAL LIMITED_COMPANY LOCAL_AUTHORITY LOCAL_PUBLIC_ENTITY MUTUAL_INSURANCE_COMPANY NATIONAL_PUBLIC_ENTITY ORDER_OR_RELIGIOUS_INSTITUTION
46
+ * OTHERS (Only for contacts outside of Spain) POLITICAL_PARTY PROFESSIONAL_ASSOCIATION PUBLIC_LAW_ASSOCIATION PUBLIC_LIMITED_COMPANY REGIONAL_GOVERNMENT_BODY REGIONAL_PUBLIC_ENTITY SAVINGS_BANK SPANISH_OFFICE SPORTS_ASSOCIATION SPORTS_FEDERATION SPORTS_LIMITED_COMPANY TEMPORARY_ALLIANCE_OF_ENTERPRISES TRADE_UNION WORKER_OWNED_COMPANY WORKER_OWNED_LIMITED_COMPANY .eu EU_COUNTRY_OF_CITIZENSHIP .fi BIRTH_DATE_IN_YYYY_MM_DD FI_BUSINESS_NUMBER FI_ID_NUMBER FI_NATIONALITY
47
+ * Valid values include the following: FINNISH NOT_FINNISH FI_ORGANIZATION_TYPE Valid values include the following: COMPANY CORPORATION GOVERNMENT INSTITUTION POLITICAL_PARTY PUBLIC_COMMUNITY TOWNSHIP .it IT_NATIONALITY IT_PIN IT_REGISTRANT_ENTITY_TYPE
48
+ * Valid values include the following: FOREIGNERS FREELANCE_WORKERS (Freelance workers and professionals) ITALIAN_COMPANIES (Italian companies and one-person companies) NON_PROFIT_ORGANIZATIONS OTHER_SUBJECTS PUBLIC_ORGANIZATIONS .ru BIRTH_DATE_IN_YYYY_MM_DD RU_PASSPORT_DATA .se BIRTH_COUNTRY SE_ID_NUMBER .sg SG_ID_NUMBER .uk, .co.uk, .me.uk, and .org.uk UK_CONTACT_TYPE
49
+ * Valid values include the following: CRC (UK Corporation by Royal Charter) FCORP (Non-UK Corporation) FIND (Non-UK Individual, representing self) FOTHER (Non-UK Entity that does not fit into any other category) GOV (UK Government Body) IND (UK Individual (representing self)) IP (UK Industrial/Provident Registered Company) LLP (UK Limited Liability Partnership) LTD (UK Limited Company) OTHER (UK Entity that does not fit into any other category) PLC (UK Public Limited Company) PTNR (UK Partnership) RCHAR (UK Registered Charity) SCH (UK School) STAT (UK Statutory Body) STRA (UK Sole Trader) UK_COMPANY_NUMBER
50
+ * In addition, many TLDs require a VAT_NUMBER.
51
+ */
52
+ Name: ExtraParamName;
53
+ /**
54
+ * The value that corresponds with the name of an extra parameter.
55
+ */
56
+ Value: ExtraParamValue;
57
+ }
58
+ export type ExtraParamList = ExtraParam[];
59
+ export type ExtraParamName = "DUNS_NUMBER" | "BRAND_NUMBER" | "BIRTH_DEPARTMENT" | "BIRTH_DATE_IN_YYYY_MM_DD" | "BIRTH_COUNTRY" | "BIRTH_CITY" | "DOCUMENT_NUMBER" | "AU_ID_NUMBER" | "AU_ID_TYPE" | "CA_LEGAL_TYPE" | "CA_BUSINESS_ENTITY_TYPE" | "CA_LEGAL_REPRESENTATIVE" | "CA_LEGAL_REPRESENTATIVE_CAPACITY" | "ES_IDENTIFICATION" | "ES_IDENTIFICATION_TYPE" | "ES_LEGAL_FORM" | "FI_BUSINESS_NUMBER" | "FI_ID_NUMBER" | "FI_NATIONALITY" | "FI_ORGANIZATION_TYPE" | "IT_NATIONALITY" | "IT_PIN" | "IT_REGISTRANT_ENTITY_TYPE" | "RU_PASSPORT_DATA" | "SE_ID_NUMBER" | "SG_ID_NUMBER" | "VAT_NUMBER" | "UK_CONTACT_TYPE" | "UK_COMPANY_NUMBER" | "EU_COUNTRY_OF_CITIZENSHIP" | "AU_PRIORITY_TOKEN" | string;
60
+ export type ExtraParamValue = string;
61
+ export interface ContactInfo extends ContactDetail {
62
+ admin?: ContactDetail;
63
+ tech?: ContactDetail;
64
+ }
65
+ /**
66
+ * **DNS Options**
67
+ *
68
+ * This configuration defines all of your DNS options. Because Stacks is fully-typed,
69
+ * you may hover any of the options below and the definitions will be provided. In case
70
+ * you have any questions, feel free to reach out via Discord or GitHub Discussions.
71
+ *
72
+ * @see https://stacksjs.org/docs/dns
73
+ */
74
+ export interface DnsOptions {
75
+ driver: "aws";
76
+ a: ARecord[];
77
+ aaaa: AAAARecord[];
78
+ cname: CNameRecord[];
79
+ mx: MXRecord[];
80
+ txt: TxtRecord[];
81
+ nameservers: string[];
82
+ contactInfo: Partial<ContactInfo>;
83
+ redirects: string[];
84
+ }
85
+ export type DnsConfig = Partial<DnsOptions>;
86
+ export interface ContactDetail {
87
+ /**
88
+ * First name of contact.
89
+ */
90
+ firstName: string;
91
+ /**
92
+ * Last name of contact.
93
+ */
94
+ lastName: string;
95
+ /**
96
+ * Indicates whether the contact is a person, company, association, or public organization.
97
+ *
98
+ * Note the following:
99
+ * If you specify a value other than PERSON, you must also specify a value for OrganizationName.
100
+ * For some TLDs, the privacy protection available depends on the value that you specify for Contact Type.
101
+ * For the privacy protection settings for your TLD, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide
102
+ * For .es domains, the value of ContactType must be PERSON for all three contacts.
103
+ *
104
+ * @default PERSON
105
+ */
106
+ contactType: "PERSON" | "COMPANY" | "ASSOCIATION" | "PUBLIC_BODY" | "RESELLER" | string;
107
+ /**
108
+ * Name of the organization for contact types other than PERSON.
109
+ */
110
+ organizationName: string;
111
+ /**
112
+ * First line of the contact's address.
113
+ */
114
+ addressLine1: string;
115
+ /**
116
+ * Second line of contact's address, if any.
117
+ */
118
+ addressLine2: string;
119
+ /**
120
+ * The city of the contact's address.
121
+ */
122
+ city: string;
123
+ /**
124
+ * The state or province of the contact's city.
125
+ */
126
+ state: string;
127
+ /**
128
+ * Code for the country of the contact's address.
129
+ */
130
+ countryCode: CountryCode;
131
+ /**
132
+ * The zip or postal code of the contact's address.
133
+ */
134
+ zip: string;
135
+ /**
136
+ * The phone number of the contact.
137
+ * Constraints: Phone number must be specified in the format "+[country dialing code].[number including any area code&gt;]".
138
+ * For example, a US phone number might appear as "+1.1234567890".
139
+ * @example +1.1234567890
140
+ */
141
+ phoneNumber: string;
142
+ /**
143
+ * Email address of the contact.
144
+ */
145
+ email: string;
146
+ /**
147
+ * Fax number of the contact. Constraints: Phone number must be specified in the format "+[country dialing code].[number including any area code]". For example, a US phone number might appear as "+1.1234567890".
148
+ */
149
+ fax: string;
150
+ /**
151
+ * A list of name-value pairs for parameters required by certain top-level domains.
152
+ */
153
+ extraParams: string;
154
+ /**
155
+ * Enable privacy protection for this domain.
156
+ * @default true
157
+ */
158
+ privacy: boolean;
159
+ /**
160
+ * Enable privacy protection for the admin contact.
161
+ * @default true
162
+ */
163
+ privacyAdmin: boolean;
164
+ /**
165
+ * Enable privacy protection for the tech contact.
166
+ * @default true
167
+ */
168
+ privacyTech: boolean;
169
+ /**
170
+ * Enable privacy protection for the registrant contact.
171
+ * @default true
172
+ */
173
+ privacyRegistrant: boolean;
174
+ }
175
+ export {};
package/dist/docs.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import type { UserConfig } from "vitepress";
2
+ export interface DocsUserConfig extends UserConfig {
3
+ deploy: boolean;
4
+ }
5
+ export type DocsConfig = DocsUserConfig;
6
+ export type DocsOptions = Partial<DocsConfig>;
7
+ export interface SocialLink {
8
+ icon: SocialLinkIcon;
9
+ link: string;
10
+ ariaLabel?: string;
11
+ }
12
+ export declare enum SocialLinkIcon {
13
+ Discord = "discord",
14
+ Facebook = "facebook",
15
+ GitHub = "github",
16
+ Instagram = "instagram",
17
+ LinkedIn = "linkedin",
18
+ Mastodon = "mastodon",
19
+ Slack = "slack",
20
+ Twitter = "twitter",
21
+ YouTube = "youtube",
22
+ }
@@ -0,0 +1,11 @@
1
+ export interface EmailOptions {
2
+ from: {
3
+ name: string;
4
+ address: string;
5
+ };
6
+ mailboxes: string[];
7
+ url: string;
8
+ charset: string;
9
+ server: { scan?: boolean };
10
+ }
11
+ export type EmailConfig = Partial<EmailOptions>;
package/dist/env.d.ts ADDED
File without changes
@@ -0,0 +1,70 @@
1
+ export type CommandError = Error;
2
+ export interface ErrorOptions {
3
+ messages: {
4
+ "string": string;
5
+ "email": string;
6
+ "regex": string;
7
+ "url": string;
8
+ "activeUrl": string;
9
+ "alpha": string;
10
+ "alphaNumeric": string;
11
+ "minLength": string;
12
+ "maxLength": string;
13
+ "fixedLength": string;
14
+ "confirmed": string;
15
+ "endsWith": string;
16
+ "startsWith": string;
17
+ "sameAs": string;
18
+ "notSameAs": string;
19
+ "in": string;
20
+ "notIn": string;
21
+ "ipAddress": string;
22
+ "uuid": string;
23
+ "ascii": string;
24
+ "creditCard": string;
25
+ "hexCode": string;
26
+ "iban": string;
27
+ "jwt": string;
28
+ "coordinates": string;
29
+ "mobile": string;
30
+ "passport": string;
31
+ "postalCode": string;
32
+ "boolean": string;
33
+ "number": string;
34
+ "min": string;
35
+ "max": string;
36
+ "range": string;
37
+ "positive": string;
38
+ "negative": string;
39
+ "decimal": string;
40
+ "withoutDecimals": string;
41
+ "date": string;
42
+ "date.equals": string;
43
+ "date.after": string;
44
+ "date.before": string;
45
+ "date.afterOrEqual": string;
46
+ "date.beforeOrEqual": string;
47
+ "date.sameAs": string;
48
+ "date.notSameAs": string;
49
+ "date.afterField": string;
50
+ "accepted": string;
51
+ "enum": string;
52
+ "literal": string;
53
+ "object": string;
54
+ "record": string;
55
+ "record.minLength": string;
56
+ "record.maxLength": string;
57
+ "record.fixedLength": string;
58
+ "array": string;
59
+ "array.minLength": string;
60
+ "array.maxLength": string;
61
+ "array.fixedLength": string;
62
+ "notEmpty": string;
63
+ "distinct": string;
64
+ "tuple": string;
65
+ "union": string;
66
+ "unionGroup": string;
67
+ "unionOfTypes": string;
68
+ };
69
+ }
70
+ export type ErrorConfig = Partial<ErrorOptions>;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * **Events**
3
+ *
4
+ * This configuration defines all of your events. Because Stacks is fully-typed, you may
5
+ * hover any of the options below and the definitions will be provided. In case you
6
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
7
+ *
8
+ * @example To fire an event, you may use any of the following approaches:
9
+ * ```ts
10
+ * dispatch('user:registered', { name: 'Chris', email: 'chris@stacksjs.org' })
11
+ *
12
+ * // alternatively, you may use the following:
13
+ * useEvent('user:registered', { name: 'Chris', email: 'chris@stacksjs.org' })
14
+ * events.emit('user:registered', { name: 'Chris', email: 'chris@stacksjs.org' })
15
+ * useEvents.emit('user:registered', { name: 'Chris', email: 'chris@stacksjs.org' })
16
+ * ```
17
+ *
18
+ * @example To capture an event, you may use any of the following approaches:
19
+ * ```ts
20
+ * listen('user:registered', (user) => sendWelcomeEmail(user))
21
+ *
22
+ * // alternatively, you may use the following:
23
+ * useListen('user:registered', (user) => sendWelcomeEmail(user))
24
+ * events.on('user:registered', (user) => sendWelcomeEmail(user))
25
+ * useEvents.on('user:registered', (user) => sendWelcomeEmail(user))
26
+ * ```
27
+ */
28
+ export interface Events {
29
+ [key: string]: string[];
30
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CLI exit codes.
3
+ *
4
+ * @see https://nodejs.org/api/process.html#process_exit_codes
5
+ */
6
+ export declare enum ExitCode {
7
+ Success = 0,
8
+ FatalError = 1,
9
+ InvalidArgument = 9,
10
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Describes a plain-text file.
3
+ */
4
+ export interface TextFile {
5
+ path: string;
6
+ data: string;
7
+ }
8
+ /**
9
+ * Describes a JSON file.
10
+ */
11
+ export interface JsonFile {
12
+ path: string;
13
+ data: unknown;
14
+ indent: string;
15
+ newline: string | undefined;
16
+ }
17
+ /**
18
+ * Describes a package.json file.
19
+ */
20
+ export interface PackageJson {
21
+ engines: {
22
+ node: string;
23
+ pnpm: string;
24
+ };
25
+ version: string;
26
+ packageManager: string;
27
+ }
28
+ export interface FileSystemOptions {
29
+ default: string;
30
+ disks: {
31
+ local: {
32
+ driver: "local";
33
+ root: string;
34
+ };
35
+ public: {
36
+ driver: "public";
37
+ root: string;
38
+ visibility?: "public";
39
+ };
40
+ private: {
41
+ driver: "private";
42
+ root: string;
43
+ visibility?: "private";
44
+ };
45
+ efs: {
46
+ driver: "local";
47
+ root: string;
48
+ };
49
+ s3: {
50
+ driver: "s3";
51
+ root: string;
52
+ };
53
+ [key: string]: {
54
+ driver: string;
55
+ root: string;
56
+ visibility?: "public" | "private";
57
+ };
58
+ };
59
+ }
60
+ export type FileSystemConfig = Partial<FileSystemOptions>;