@devvit/shared-types 0.12.1-next-2025-08-14-20-10-44-8b182fd0d.0 → 0.12.1-next-2025-08-14-22-00-58-0f16e3242.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-22-00-58-0f16e3242.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-22-00-58-0f16e3242.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-22-00-58-0f16e3242.0",
|
|
42
|
+
"@devvit/tsconfig": "0.12.1-next-2025-08-14-22-00-58-0f16e3242.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": "15ea20c00d980b3981e237dd5c1860c360c4ecaf"
|
|
55
55
|
}
|
|
@@ -178,6 +178,15 @@ export type AppMultiSelectSettingConfig = AppBaseSettingConfig & {
|
|
|
178
178
|
}>;
|
|
179
179
|
defaultValue?: string[];
|
|
180
180
|
};
|
|
181
|
+
export type AppBlocksConfigJson = {
|
|
182
|
+
entry?: string;
|
|
183
|
+
menu?: {
|
|
184
|
+
enable?: boolean;
|
|
185
|
+
};
|
|
186
|
+
settings?: {
|
|
187
|
+
enable?: boolean;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
181
190
|
/**
|
|
182
191
|
* https://transform.tools/json-schema-to-typescript
|
|
183
192
|
* @internal
|
|
@@ -188,53 +197,15 @@ export type AppConfigJson = {
|
|
|
188
197
|
media?: {
|
|
189
198
|
dir?: string;
|
|
190
199
|
};
|
|
191
|
-
permissions?:
|
|
192
|
-
|
|
193
|
-
enable?: boolean;
|
|
194
|
-
domains?: string[];
|
|
195
|
-
};
|
|
196
|
-
media?: boolean;
|
|
197
|
-
payments?: boolean;
|
|
198
|
-
realtime?: boolean;
|
|
199
|
-
redis?: boolean;
|
|
200
|
-
reddit?: {
|
|
201
|
-
enable?: boolean;
|
|
202
|
-
scope?: AppScopeConfig;
|
|
203
|
-
asUser?: string[];
|
|
204
|
-
};
|
|
205
|
-
};
|
|
206
|
-
post?: {
|
|
207
|
-
dir?: string;
|
|
208
|
-
entrypoints?: {
|
|
209
|
-
[name: string]: AppPostEntrypointConfigJson;
|
|
210
|
-
} & {
|
|
211
|
-
default: Partial<AppPostEntrypointConfigJson>;
|
|
212
|
-
};
|
|
213
|
-
};
|
|
200
|
+
permissions?: AppPermissionConfigJson;
|
|
201
|
+
post?: AppPostConfigJson;
|
|
214
202
|
server?: {
|
|
215
203
|
dir?: string;
|
|
216
204
|
entry?: string;
|
|
217
205
|
};
|
|
218
206
|
triggers?: AppTriggersConfig;
|
|
219
|
-
blocks?:
|
|
220
|
-
|
|
221
|
-
menu?: {
|
|
222
|
-
enable?: boolean;
|
|
223
|
-
};
|
|
224
|
-
settings?: {
|
|
225
|
-
enable?: boolean;
|
|
226
|
-
};
|
|
227
|
-
};
|
|
228
|
-
menu?: {
|
|
229
|
-
items?: {
|
|
230
|
-
label: string;
|
|
231
|
-
description?: string;
|
|
232
|
-
forUserType: AppMenuUserTypeConfig;
|
|
233
|
-
location: AppMenuLocationConfig | AppMenuLocationConfig[];
|
|
234
|
-
endpoint: string;
|
|
235
|
-
postFilter: AppMenuPostFilterConfig;
|
|
236
|
-
}[];
|
|
237
|
-
};
|
|
207
|
+
blocks?: AppBlocksConfigJson;
|
|
208
|
+
menu?: AppMenuConfigJson;
|
|
238
209
|
forms?: {
|
|
239
210
|
[formName: string]: string;
|
|
240
211
|
};
|
|
@@ -242,20 +213,46 @@ export type AppConfigJson = {
|
|
|
242
213
|
subreddit?: string;
|
|
243
214
|
};
|
|
244
215
|
scheduler?: AppSchedulerConfigJson;
|
|
245
|
-
settings?:
|
|
246
|
-
global?: {
|
|
247
|
-
[name: string]: AppSettingConfigJson;
|
|
248
|
-
};
|
|
249
|
-
subreddit?: {
|
|
250
|
-
[name: string]: AppSettingConfigJson;
|
|
251
|
-
};
|
|
252
|
-
};
|
|
216
|
+
settings?: AppSettingsConfigJson;
|
|
253
217
|
marketingAssets?: {
|
|
254
218
|
icon?: string;
|
|
255
219
|
};
|
|
256
220
|
/** User data. */
|
|
257
221
|
[key: string]: JsonValue;
|
|
258
222
|
};
|
|
223
|
+
export type AppMenuConfigJson = {
|
|
224
|
+
items?: {
|
|
225
|
+
label: string;
|
|
226
|
+
description?: string;
|
|
227
|
+
forUserType: AppMenuUserTypeConfig;
|
|
228
|
+
location: AppMenuLocationConfig | AppMenuLocationConfig[];
|
|
229
|
+
endpoint: string;
|
|
230
|
+
postFilter: AppMenuPostFilterConfig;
|
|
231
|
+
}[];
|
|
232
|
+
};
|
|
233
|
+
export type AppPermissionConfigJson = {
|
|
234
|
+
http?: {
|
|
235
|
+
enable?: boolean;
|
|
236
|
+
domains?: string[];
|
|
237
|
+
};
|
|
238
|
+
media?: boolean;
|
|
239
|
+
payments?: boolean;
|
|
240
|
+
realtime?: boolean;
|
|
241
|
+
redis?: boolean;
|
|
242
|
+
reddit?: {
|
|
243
|
+
enable?: boolean;
|
|
244
|
+
scope?: AppScopeConfig;
|
|
245
|
+
asUser?: string[];
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
export type AppPostConfigJson = {
|
|
249
|
+
dir?: string;
|
|
250
|
+
entrypoints?: {
|
|
251
|
+
[name: string]: AppPostEntrypointConfigJson;
|
|
252
|
+
} & {
|
|
253
|
+
default: Partial<AppPostEntrypointConfigJson>;
|
|
254
|
+
};
|
|
255
|
+
};
|
|
259
256
|
export type AppPostEntrypointConfigJson = {
|
|
260
257
|
entry: string;
|
|
261
258
|
height?: AppPostHeightConfig;
|
|
@@ -267,6 +264,14 @@ export type AppSchedulerConfigJson = {
|
|
|
267
264
|
};
|
|
268
265
|
};
|
|
269
266
|
export type AppSettingConfigJson = Omit<AppStringSettingConfig, 'name'> | Omit<AppParagraphSettingConfig, 'name'> | Omit<AppNumberSettingConfig, 'name'> | Omit<AppBooleanSettingConfig, 'name'> | Omit<AppSelectSettingConfig, 'name'> | Omit<AppMultiSelectSettingConfig, 'name'>;
|
|
267
|
+
export type AppSettingsConfigJson = {
|
|
268
|
+
global?: {
|
|
269
|
+
[name: string]: AppSettingConfigJson;
|
|
270
|
+
};
|
|
271
|
+
subreddit?: {
|
|
272
|
+
[name: string]: AppSettingConfigJson;
|
|
273
|
+
};
|
|
274
|
+
};
|
|
270
275
|
export declare function parseAppConfig(str: string, allowUninitializedConfig: boolean): AppConfig;
|
|
271
276
|
export declare function parseAppConfigJson(json: JsonValue, allowUninitializedConfig: boolean): AppConfig;
|
|
272
277
|
/** @internal */
|
|
@@ -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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"}
|
|
@@ -66,22 +66,22 @@ function AppConfig(json) {
|
|
|
66
66
|
dir: json.media.dir ?? schema.properties.media.properties.dir.default,
|
|
67
67
|
};
|
|
68
68
|
if (json.post)
|
|
69
|
-
partial.post = AppPostConfig(json);
|
|
69
|
+
partial.post = AppPostConfig(json.post);
|
|
70
70
|
if (json.server)
|
|
71
71
|
partial.server = {
|
|
72
72
|
dir: json.server.dir ?? schema.properties.server.properties.dir.default,
|
|
73
73
|
entry: json.server.entry ?? schema.properties.server.properties.entry.default,
|
|
74
74
|
};
|
|
75
75
|
if (json.triggers && Object.keys(json.triggers).length)
|
|
76
|
-
partial.triggers = json.triggers;
|
|
76
|
+
partial.triggers = AppTriggersConfig(json.triggers);
|
|
77
77
|
if (json.blocks)
|
|
78
|
-
partial.blocks = AppBlocksConfig(json);
|
|
78
|
+
partial.blocks = AppBlocksConfig(json.blocks);
|
|
79
79
|
if (json.menu)
|
|
80
|
-
partial.menu = AppMenuConfig(json);
|
|
80
|
+
partial.menu = AppMenuConfig(json.menu);
|
|
81
81
|
if (json.scheduler)
|
|
82
|
-
partial.scheduler = AppSchedulerConfig(json);
|
|
82
|
+
partial.scheduler = AppSchedulerConfig(json.scheduler);
|
|
83
83
|
if (json.settings)
|
|
84
|
-
partial.settings = AppSettingsConfig(json);
|
|
84
|
+
partial.settings = AppSettingsConfig(json.settings);
|
|
85
85
|
if (json.forms)
|
|
86
86
|
partial.forms = json.forms;
|
|
87
87
|
if (json.marketingAssets)
|
|
@@ -96,28 +96,24 @@ function AppConfig(json) {
|
|
|
96
96
|
// Deep copy so schema is not mutated.
|
|
97
97
|
return structuredClone(config);
|
|
98
98
|
}
|
|
99
|
-
function AppSchedulerConfig(
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
? { cron: taskSpec.cron, ...(taskSpec.data ? { data: taskSpec.data } : {}) }
|
|
115
|
-
: {}),
|
|
116
|
-
};
|
|
117
|
-
}
|
|
99
|
+
function AppSchedulerConfig(scheduler) {
|
|
100
|
+
const config = { tasks: {} };
|
|
101
|
+
for (const [name, taskSpec] of Object.entries(scheduler.tasks)) {
|
|
102
|
+
if (typeof taskSpec === 'string') {
|
|
103
|
+
// If the task is a string, it is an endpoint.
|
|
104
|
+
config.tasks[name] = { endpoint: taskSpec };
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// Otherwise, it is an object with an endpoint and optionally a cron.
|
|
108
|
+
config.tasks[name] = {
|
|
109
|
+
endpoint: taskSpec.endpoint,
|
|
110
|
+
...(taskSpec.cron
|
|
111
|
+
? { cron: taskSpec.cron, ...(taskSpec.data ? { data: taskSpec.data } : {}) }
|
|
112
|
+
: {}),
|
|
113
|
+
};
|
|
118
114
|
}
|
|
119
115
|
}
|
|
120
|
-
return
|
|
116
|
+
return config;
|
|
121
117
|
}
|
|
122
118
|
function AppPermissionConfig(json, partial) {
|
|
123
119
|
return {
|
|
@@ -162,19 +158,19 @@ function AppPermissionConfig(json, partial) {
|
|
|
162
158
|
triggers: !!partial.triggers,
|
|
163
159
|
};
|
|
164
160
|
}
|
|
165
|
-
function AppPostConfig(
|
|
166
|
-
const dir =
|
|
161
|
+
function AppPostConfig(post) {
|
|
162
|
+
const dir = post.dir ?? schema.properties.post.properties.dir.default;
|
|
167
163
|
const defaultHeight = schema.$defs.Entrypoint.properties.height.default;
|
|
168
164
|
const entrypoints = {
|
|
169
165
|
[defaultPostEntry]: {
|
|
170
166
|
name: defaultPostEntry,
|
|
171
|
-
entry:
|
|
167
|
+
entry: post.entrypoints?.default.entry ??
|
|
172
168
|
schema.properties.post.properties.entrypoints.properties.default.properties.entry.default,
|
|
173
|
-
height:
|
|
174
|
-
inline:
|
|
169
|
+
height: post.entrypoints?.default.height ?? defaultHeight,
|
|
170
|
+
inline: post.entrypoints?.default.inline ?? false,
|
|
175
171
|
},
|
|
176
172
|
};
|
|
177
|
-
for (const [name, pt] of Object.entries(
|
|
173
|
+
for (const [name, pt] of Object.entries(post.entrypoints ?? {})) {
|
|
178
174
|
if (name !== defaultPostEntry)
|
|
179
175
|
entrypoints[name] = {
|
|
180
176
|
name,
|
|
@@ -183,19 +179,16 @@ function AppPostConfig(json) {
|
|
|
183
179
|
inline: pt.inline ?? false,
|
|
184
180
|
};
|
|
185
181
|
}
|
|
186
|
-
return {
|
|
187
|
-
dir,
|
|
188
|
-
entrypoints,
|
|
189
|
-
};
|
|
182
|
+
return { dir, entrypoints };
|
|
190
183
|
}
|
|
191
|
-
function AppBlocksConfig(
|
|
184
|
+
function AppBlocksConfig(blocks) {
|
|
192
185
|
return {
|
|
193
|
-
entry:
|
|
186
|
+
entry: blocks.entry ?? schema.properties.blocks.properties.entry.default,
|
|
194
187
|
};
|
|
195
188
|
}
|
|
196
|
-
function AppMenuConfig(
|
|
189
|
+
function AppMenuConfig(menu) {
|
|
197
190
|
const items = [];
|
|
198
|
-
for (const item of
|
|
191
|
+
for (const item of menu?.items ?? []) {
|
|
199
192
|
items.push({
|
|
200
193
|
label: item.label,
|
|
201
194
|
description: item.description ?? '',
|
|
@@ -207,27 +200,24 @@ function AppMenuConfig(json) {
|
|
|
207
200
|
}
|
|
208
201
|
return { items };
|
|
209
202
|
}
|
|
210
|
-
function AppSettingsConfig(
|
|
211
|
-
const
|
|
212
|
-
if (
|
|
213
|
-
|
|
214
|
-
for (const [name, setting] of Object.entries(
|
|
215
|
-
|
|
216
|
-
...setting,
|
|
217
|
-
name: name,
|
|
218
|
-
};
|
|
203
|
+
function AppSettingsConfig(settings) {
|
|
204
|
+
const config = {};
|
|
205
|
+
if (settings?.global) {
|
|
206
|
+
config.global = {};
|
|
207
|
+
for (const [name, setting] of Object.entries(settings.global)) {
|
|
208
|
+
config.global[name] = { ...setting, name: name };
|
|
219
209
|
}
|
|
220
210
|
}
|
|
221
|
-
if (
|
|
222
|
-
|
|
223
|
-
for (const [name, setting] of Object.entries(
|
|
224
|
-
|
|
225
|
-
...setting,
|
|
226
|
-
name: name,
|
|
227
|
-
};
|
|
211
|
+
if (settings?.subreddit) {
|
|
212
|
+
config.subreddit = {};
|
|
213
|
+
for (const [name, setting] of Object.entries(settings.subreddit)) {
|
|
214
|
+
config.subreddit[name] = { ...setting, name: name };
|
|
228
215
|
}
|
|
229
216
|
}
|
|
230
|
-
return
|
|
217
|
+
return config;
|
|
218
|
+
}
|
|
219
|
+
function AppTriggersConfig(triggers) {
|
|
220
|
+
return { ...triggers };
|
|
231
221
|
}
|
|
232
222
|
/** @internal */
|
|
233
223
|
export function validate(config) {
|