@devvit/shared-types 0.12.1-next-2025-08-14-22-00-58-0f16e3242.0 → 0.12.1-next-2025-08-14-23-15-57-1e08dab01.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.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devvit/shared-types",
|
|
3
|
-
"version": "0.12.1-next-2025-08-14-
|
|
3
|
+
"version": "0.12.1-next-2025-08-14-23-15-57-1e08dab01.0",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
},
|
|
34
34
|
"types": "./dist/index.d.ts",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@devvit/protos": "0.12.1-next-2025-08-14-
|
|
36
|
+
"@devvit/protos": "0.12.1-next-2025-08-14-23-15-57-1e08dab01.0",
|
|
37
37
|
"jsonschema": "1.4.1",
|
|
38
38
|
"uuid": "9.0.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@devvit/repo-tools": "0.12.1-next-2025-08-14-
|
|
42
|
-
"@devvit/tsconfig": "0.12.1-next-2025-08-14-
|
|
41
|
+
"@devvit/repo-tools": "0.12.1-next-2025-08-14-23-15-57-1e08dab01.0",
|
|
42
|
+
"@devvit/tsconfig": "0.12.1-next-2025-08-14-23-15-57-1e08dab01.0",
|
|
43
43
|
"@types/redis-mock": "0.17.1",
|
|
44
44
|
"@types/uuid": "9.0.0",
|
|
45
45
|
"chokidar-cli": "3.0.0",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"vitest": "1.6.1"
|
|
52
52
|
},
|
|
53
53
|
"source": "./src/index.ts",
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "e86c954e16e43e10b9a42d29edad07f4415fce38"
|
|
55
55
|
}
|
|
@@ -72,7 +72,7 @@ export type AppServerConfig = {
|
|
|
72
72
|
};
|
|
73
73
|
/**
|
|
74
74
|
* Keys are assumed to have the format of `on${keyof TriggerEventType}` in
|
|
75
|
-
* blocks.template.tsx.
|
|
75
|
+
* blocks.template.tsx. Values are empty when callback is provided by Blocks.
|
|
76
76
|
*/
|
|
77
77
|
export type AppTriggersConfig = {
|
|
78
78
|
onAppInstall?: string;
|
|
@@ -180,12 +180,16 @@ export type AppMultiSelectSettingConfig = AppBaseSettingConfig & {
|
|
|
180
180
|
};
|
|
181
181
|
export type AppBlocksConfigJson = {
|
|
182
182
|
entry?: string;
|
|
183
|
+
forms?: {
|
|
184
|
+
enable?: boolean;
|
|
185
|
+
};
|
|
183
186
|
menu?: {
|
|
184
187
|
enable?: boolean;
|
|
185
188
|
};
|
|
186
189
|
settings?: {
|
|
187
190
|
enable?: boolean;
|
|
188
191
|
};
|
|
192
|
+
triggers?: (keyof AppTriggersConfig)[];
|
|
189
193
|
};
|
|
190
194
|
/**
|
|
191
195
|
* https://transform.tools/json-schema-to-typescript
|
|
@@ -206,9 +210,7 @@ export type AppConfigJson = {
|
|
|
206
210
|
triggers?: AppTriggersConfig;
|
|
207
211
|
blocks?: AppBlocksConfigJson;
|
|
208
212
|
menu?: AppMenuConfigJson;
|
|
209
|
-
forms?:
|
|
210
|
-
[formName: string]: string;
|
|
211
|
-
};
|
|
213
|
+
forms?: AppFormsConfigJson;
|
|
212
214
|
dev?: {
|
|
213
215
|
subreddit?: string;
|
|
214
216
|
};
|
|
@@ -220,6 +222,9 @@ export type AppConfigJson = {
|
|
|
220
222
|
/** User data. */
|
|
221
223
|
[key: string]: JsonValue;
|
|
222
224
|
};
|
|
225
|
+
export type AppFormsConfigJson = {
|
|
226
|
+
[formName: string]: string;
|
|
227
|
+
};
|
|
223
228
|
export type AppMenuConfigJson = {
|
|
224
229
|
items?: {
|
|
225
230
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.v1.d.ts","sourceRoot":"","sources":["../../src/schemas/config-file.v1.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config-file.v1.d.ts","sourceRoot":"","sources":["../../src/schemas/config-file.v1.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,14 @@ export function parseAppConfigJson(json, allowUninitializedConfig) {
|
|
|
55
55
|
// still missing (https://github.com/ajv-validator/ajv/issues/1158). Even if the
|
|
56
56
|
// feature is added, we need the defaults in the properties for documentation
|
|
57
57
|
// and the same dynamic default adjustments as above are required.
|
|
58
|
+
//
|
|
59
|
+
// If there's an explicit permission, use it. If the permission is inferred, add
|
|
60
|
+
// a Blocks permission config that defaults to true to avoid having to evaluate
|
|
61
|
+
// user Blocks code. Model hydration should consider Blocks permissions.
|
|
62
|
+
//
|
|
63
|
+
// The current pattern is to avoid being smart about item / entry lengths. If a
|
|
64
|
+
// user defines a config, hydrate it regardless of whether any members are
|
|
65
|
+
// provided. This is so that Blocks apps can use the same hydrated models.
|
|
58
66
|
function AppConfig(json) {
|
|
59
67
|
const partial = {
|
|
60
68
|
schema: 'v1', // Always assume v1 since that's all that's supported.
|
|
@@ -72,18 +80,33 @@ function AppConfig(json) {
|
|
|
72
80
|
dir: json.server.dir ?? schema.properties.server.properties.dir.default,
|
|
73
81
|
entry: json.server.entry ?? schema.properties.server.properties.entry.default,
|
|
74
82
|
};
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
const blocksTriggers = json.blocks
|
|
84
|
+
? (json.blocks.triggers ?? schema.properties.blocks.properties.triggers.default)
|
|
85
|
+
: undefined;
|
|
86
|
+
if (json.triggers || blocksTriggers)
|
|
87
|
+
partial.triggers = AppTriggersConfig(blocksTriggers, json.triggers);
|
|
77
88
|
if (json.blocks)
|
|
78
89
|
partial.blocks = AppBlocksConfig(json.blocks);
|
|
79
|
-
|
|
90
|
+
const blocksMenu = json.blocks
|
|
91
|
+
? (json.blocks.menu?.enable ??
|
|
92
|
+
schema.properties.blocks.properties.menu.properties.enable.default)
|
|
93
|
+
: false;
|
|
94
|
+
if (json.menu || blocksMenu)
|
|
80
95
|
partial.menu = AppMenuConfig(json.menu);
|
|
81
96
|
if (json.scheduler)
|
|
82
97
|
partial.scheduler = AppSchedulerConfig(json.scheduler);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
98
|
+
const blocksSettings = json.blocks
|
|
99
|
+
? (json.blocks.settings?.enable ??
|
|
100
|
+
schema.properties.blocks.properties.settings.properties.enable.default)
|
|
101
|
+
: false;
|
|
102
|
+
if (json.settings || blocksSettings)
|
|
103
|
+
partial.settings = AppSettingsConfig(blocksSettings, json.settings);
|
|
104
|
+
const blocksForms = json.blocks
|
|
105
|
+
? (json.blocks.forms?.enable ??
|
|
106
|
+
schema.properties.blocks.properties.forms.properties.enable.default)
|
|
107
|
+
: false;
|
|
108
|
+
if (json.forms || blocksForms)
|
|
109
|
+
partial.forms = json.forms ?? {};
|
|
87
110
|
if (json.marketingAssets)
|
|
88
111
|
partial.marketingAssets = json.marketingAssets;
|
|
89
112
|
if (json.dev) {
|
|
@@ -91,7 +114,7 @@ function AppConfig(json) {
|
|
|
91
114
|
if (json.dev.subreddit)
|
|
92
115
|
partial.dev.subreddit = json.dev.subreddit;
|
|
93
116
|
}
|
|
94
|
-
const config = { ...partial, permissions: AppPermissionConfig(json, partial) };
|
|
117
|
+
const config = { ...partial, permissions: AppPermissionConfig(json.permissions, partial) };
|
|
95
118
|
validate(config);
|
|
96
119
|
// Deep copy so schema is not mutated.
|
|
97
120
|
return structuredClone(config);
|
|
@@ -115,46 +138,41 @@ function AppSchedulerConfig(scheduler) {
|
|
|
115
138
|
}
|
|
116
139
|
return config;
|
|
117
140
|
}
|
|
118
|
-
function AppPermissionConfig(
|
|
141
|
+
function AppPermissionConfig(permissions, partial) {
|
|
119
142
|
return {
|
|
120
143
|
http: {
|
|
121
|
-
enable:
|
|
122
|
-
(
|
|
144
|
+
enable: permissions?.http?.enable ??
|
|
145
|
+
(permissions?.http
|
|
123
146
|
? schema.properties.permissions.properties.http.properties.enable.default
|
|
124
147
|
: false),
|
|
125
|
-
domains:
|
|
148
|
+
domains: permissions?.http?.domains ??
|
|
126
149
|
schema.properties.permissions.properties.http.properties.domains.default,
|
|
127
150
|
},
|
|
128
|
-
media:
|
|
129
|
-
menu: !!partial.menu
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
realtime: json.permissions?.realtime ?? schema.properties.permissions.properties.realtime.default,
|
|
134
|
-
redis: json.permissions?.redis ??
|
|
151
|
+
media: permissions?.media ?? schema.properties.permissions.properties.media.default,
|
|
152
|
+
menu: !!partial.menu,
|
|
153
|
+
payments: permissions?.payments ?? schema.properties.permissions.properties.payments.default,
|
|
154
|
+
realtime: permissions?.realtime ?? schema.properties.permissions.properties.realtime.default,
|
|
155
|
+
redis: permissions?.redis ??
|
|
135
156
|
// Menu items call addCSRFTokenToContext() which uses Redis.
|
|
136
|
-
(partial.menu
|
|
157
|
+
(partial.menu
|
|
137
158
|
? true
|
|
138
159
|
: partial.post
|
|
139
160
|
? true
|
|
140
161
|
: schema.properties.permissions.properties.redis.default),
|
|
141
162
|
reddit: {
|
|
142
|
-
enable:
|
|
163
|
+
enable: permissions?.reddit?.enable ??
|
|
143
164
|
(partial.post
|
|
144
165
|
? true
|
|
145
|
-
:
|
|
166
|
+
: permissions?.reddit
|
|
146
167
|
? schema.properties.permissions.properties.reddit.properties.enable.default
|
|
147
168
|
: false),
|
|
148
|
-
scope:
|
|
169
|
+
scope: permissions?.reddit?.scope ??
|
|
149
170
|
schema.properties.permissions.properties.reddit.properties.scope
|
|
150
171
|
.default,
|
|
151
|
-
asUser:
|
|
172
|
+
asUser: permissions?.reddit?.asUser?.map((x) => scopeFromJSON(x)) ??
|
|
152
173
|
schema.properties.permissions.properties.reddit.properties.asUser.default,
|
|
153
174
|
},
|
|
154
|
-
settings:
|
|
155
|
-
(json.blocks
|
|
156
|
-
? schema.properties.blocks.properties.settings.properties.enable.default
|
|
157
|
-
: false),
|
|
175
|
+
settings: !!partial.settings,
|
|
158
176
|
triggers: !!partial.triggers,
|
|
159
177
|
};
|
|
160
178
|
}
|
|
@@ -200,24 +218,27 @@ function AppMenuConfig(menu) {
|
|
|
200
218
|
}
|
|
201
219
|
return { items };
|
|
202
220
|
}
|
|
203
|
-
function AppSettingsConfig(settings) {
|
|
221
|
+
function AppSettingsConfig(blocksSettings, settings) {
|
|
204
222
|
const config = {};
|
|
205
|
-
if (settings?.global) {
|
|
223
|
+
if (settings?.global || blocksSettings) {
|
|
206
224
|
config.global = {};
|
|
207
|
-
for (const [name, setting] of Object.entries(settings
|
|
225
|
+
for (const [name, setting] of Object.entries(settings?.global ?? {})) {
|
|
208
226
|
config.global[name] = { ...setting, name: name };
|
|
209
227
|
}
|
|
210
228
|
}
|
|
211
|
-
if (settings?.subreddit) {
|
|
229
|
+
if (settings?.subreddit || blocksSettings) {
|
|
212
230
|
config.subreddit = {};
|
|
213
|
-
for (const [name, setting] of Object.entries(settings
|
|
231
|
+
for (const [name, setting] of Object.entries(settings?.subreddit ?? {})) {
|
|
214
232
|
config.subreddit[name] = { ...setting, name: name };
|
|
215
233
|
}
|
|
216
234
|
}
|
|
217
235
|
return config;
|
|
218
236
|
}
|
|
219
|
-
function AppTriggersConfig(triggers) {
|
|
220
|
-
|
|
237
|
+
function AppTriggersConfig(blocksTriggers, triggers) {
|
|
238
|
+
const config = {};
|
|
239
|
+
for (const trigger of blocksTriggers ?? [])
|
|
240
|
+
config[trigger] = '';
|
|
241
|
+
return { ...config, ...triggers };
|
|
221
242
|
}
|
|
222
243
|
/** @internal */
|
|
223
244
|
export function validate(config) {
|
|
@@ -488,6 +488,18 @@
|
|
|
488
488
|
"description": "TypeScript or JavaScript Blocks client entrypoint relative project root. Use for migration.",
|
|
489
489
|
"default": "src/main.tsx"
|
|
490
490
|
},
|
|
491
|
+
"forms": {
|
|
492
|
+
"type": "object",
|
|
493
|
+
"description": "Blocks forms config.",
|
|
494
|
+
"additionalProperties": false,
|
|
495
|
+
"properties": {
|
|
496
|
+
"enable": {
|
|
497
|
+
"type": "boolean",
|
|
498
|
+
"description": "Whether forms are added through Blocks.",
|
|
499
|
+
"default": true
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
},
|
|
491
503
|
"menu": {
|
|
492
504
|
"type": "object",
|
|
493
505
|
"description": "Blocks menu config.",
|
|
@@ -511,6 +523,35 @@
|
|
|
511
523
|
"default": true
|
|
512
524
|
}
|
|
513
525
|
}
|
|
526
|
+
},
|
|
527
|
+
"triggers": {
|
|
528
|
+
"type": "array",
|
|
529
|
+
"description": "Event triggers that are added through Blocks.",
|
|
530
|
+
"items": {
|
|
531
|
+
"enum": [
|
|
532
|
+
"onAppInstall",
|
|
533
|
+
"onAppUpgrade",
|
|
534
|
+
"onAutomoderatorFilterComment",
|
|
535
|
+
"onAutomoderatorFilterPost",
|
|
536
|
+
"onCommentCreate",
|
|
537
|
+
"onCommentDelete",
|
|
538
|
+
"onCommentReport",
|
|
539
|
+
"onCommentSubmit",
|
|
540
|
+
"onCommentUpdate",
|
|
541
|
+
"onModAction",
|
|
542
|
+
"onModMail",
|
|
543
|
+
"onPostCreate",
|
|
544
|
+
"onPostDelete",
|
|
545
|
+
"onPostFlairUpdate",
|
|
546
|
+
"onPostNsfwUpdate",
|
|
547
|
+
"onPostReport",
|
|
548
|
+
"onPostSpoilerUpdate",
|
|
549
|
+
"onPostSubmit",
|
|
550
|
+
"onPostUpdate"
|
|
551
|
+
]
|
|
552
|
+
},
|
|
553
|
+
"uniqueItems": true,
|
|
554
|
+
"default": []
|
|
514
555
|
}
|
|
515
556
|
}
|
|
516
557
|
},
|