@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-20-10-44-8b182fd0d.0",
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-20-10-44-8b182fd0d.0",
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-20-10-44-8b182fd0d.0",
42
- "@devvit/tsconfig": "0.12.1-next-2025-08-14-20-10-44-8b182fd0d.0",
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": "7e9269bc23945c891669aa32fef0807c69d48454"
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
- http?: {
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
- entry?: string;
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(json) {
100
- const appSchedulerConfig = { tasks: {} };
101
- if (json.scheduler?.tasks) {
102
- for (const [name, taskSpec] of Object.entries(json.scheduler.tasks)) {
103
- if (typeof taskSpec === 'string') {
104
- // If the task is a string, it is an endpoint.
105
- appSchedulerConfig.tasks[name] = {
106
- endpoint: taskSpec,
107
- };
108
- }
109
- else {
110
- // Otherwise, it is an object with an endpoint and optionally a cron.
111
- appSchedulerConfig.tasks[name] = {
112
- endpoint: taskSpec.endpoint,
113
- ...(taskSpec.cron
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 appSchedulerConfig;
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(json) {
166
- const dir = json.post?.dir ?? schema.properties.post.properties.dir.default;
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: json.post?.entrypoints?.default.entry ??
167
+ entry: post.entrypoints?.default.entry ??
172
168
  schema.properties.post.properties.entrypoints.properties.default.properties.entry.default,
173
- height: json.post?.entrypoints?.default.height ?? defaultHeight,
174
- inline: json.post?.entrypoints?.default.inline ?? false,
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(json.post?.entrypoints ?? {})) {
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(json) {
184
+ function AppBlocksConfig(blocks) {
192
185
  return {
193
- entry: json.blocks?.entry ?? schema.properties.blocks.properties.entry.default,
186
+ entry: blocks.entry ?? schema.properties.blocks.properties.entry.default,
194
187
  };
195
188
  }
196
- function AppMenuConfig(json) {
189
+ function AppMenuConfig(menu) {
197
190
  const items = [];
198
- for (const item of json.menu?.items ?? []) {
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(json) {
211
- const appSettingsConfig = {};
212
- if (json.settings?.global) {
213
- appSettingsConfig.global = {};
214
- for (const [name, setting] of Object.entries(json.settings.global)) {
215
- appSettingsConfig.global[name] = {
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 (json.settings?.subreddit) {
222
- appSettingsConfig.subreddit = {};
223
- for (const [name, setting] of Object.entries(json.settings.subreddit)) {
224
- appSettingsConfig.subreddit[name] = {
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 appSettingsConfig;
217
+ return config;
218
+ }
219
+ function AppTriggersConfig(triggers) {
220
+ return { ...triggers };
231
221
  }
232
222
  /** @internal */
233
223
  export function validate(config) {