@devvit/public-api 0.11.14-next-2025-04-28-2d05f2817.0 → 0.11.14-next-2025-04-28-b657b88d8.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.
@@ -129,19 +129,29 @@ export declare class Devvit extends Actor {
129
129
  */
130
130
  static addSchedulerJob<T extends JSONObject | undefined>(job: ScheduledJobType<T>): void;
131
131
  /**
132
- * Add settings that can be configured to customize the behavior of your app. There are two levels of settings: App settings (scope: 'app') and
133
- * install settings (scope: 'installation' or unspecified scope). Install settings are meant to be configured by the user that installs your app.
132
+ * Add settings that can be configured to customize the behavior of your app.
133
+ *
134
+ * There are two levels of settings:
135
+ * - App settings (scope: 'app')
136
+ * - Installation settings (scope: 'installation' or unspecified scope).
137
+ *
138
+ * Installation settings are meant to be configured by the user that installs your app.
134
139
  * This is a good place to add anything that a user might want to change to personalize the app (e.g. the default city to show the weather for or a
135
140
  * specific sport team that a subreddit follows). Note that these are good for subreddit level customization but not necessarily good for things
136
141
  * that might be different for two users in a subreddit (e.g. setting the default city to show the weather for is only useful at a sub level if
137
- * the sub is for a specific city or region). Install settings can be viewed and configured here: https://developers.reddit.com/r/subreddit-name/apps/app-name.
142
+ * the sub is for a specific city or region).
143
+ * Installation settings can be viewed and configured here: https://developers.reddit.com/r/subreddit-name/apps/app-name.
144
+ *
138
145
  * App settings can be accessed and consumed by all installations of the app. This is mainly useful for developer secrets/API keys that your
139
146
  * app needs to function. They can only be changed/viewed by you via the CLI (devvit settings set and devvit settings list). This ensures secrets
140
- * are persisted in an encrypted store and don't get committed in the source code. You should never paste your actual key into any fields passed into
141
- * Devvit.addSettings - this is merely where you state what your API key's name and description are. You will be able to set the actual value of the key via CLI.
147
+ * are persisted in an encrypted store and don't get committed in the source code.
148
+ *
149
+ * Warning: You should never paste your actual key into any fields passed into Devvit.addSettings - this is merely where you state what your API key's name and description are. You will be able to set the actual value of the key via CLI.
150
+ *
142
151
  * Note: setting names must be unique across all settings.
152
+ *
143
153
  * @param fields - Fields for the app and installation settings.
144
- * @example
154
+ * @example Add multiple fields
145
155
  * ```ts
146
156
  * Devvit.addSettings([
147
157
  * {
@@ -175,8 +185,19 @@ export declare class Devvit extends Actor {
175
185
  * },
176
186
  * ]);
177
187
  * ```
188
+ *
189
+ * @example Add a single field
190
+ * ```ts
191
+ * Devvit.addSettings({
192
+ * type: 'string',
193
+ * name: 'weather-api-key',
194
+ * label: 'My weather.com API key',
195
+ * scope: SettingScope.App,
196
+ * isSecret: true
197
+ * });
198
+ * ```
178
199
  */
179
- static addSettings(fields: SettingsFormField[]): void;
200
+ static addSettings(fields: SettingsFormField[] | SettingsFormField): void;
180
201
  /**
181
202
  * Add a trigger handler that will be invoked when the given event
182
203
  * occurs in a subreddit where the app is installed.
@@ -1 +1 @@
1
- {"version":3,"file":"Devvit.d.ts","sourceRoot":"","sources":["../../src/devvit/Devvit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Devvit.d.ts","sourceRoot":"","sources":["../../src/devvit/Devvit.ts"],"names":[],"mappings":"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"}
package/devvit/Devvit.js CHANGED
@@ -186,19 +186,29 @@ export class Devvit extends Actor {
186
186
  __classPrivateFieldGet(this, _a, "f", _Devvit_scheduledJobHandlers).set(job.name, job.onRun);
187
187
  }
188
188
  /**
189
- * Add settings that can be configured to customize the behavior of your app. There are two levels of settings: App settings (scope: 'app') and
190
- * install settings (scope: 'installation' or unspecified scope). Install settings are meant to be configured by the user that installs your app.
189
+ * Add settings that can be configured to customize the behavior of your app.
190
+ *
191
+ * There are two levels of settings:
192
+ * - App settings (scope: 'app')
193
+ * - Installation settings (scope: 'installation' or unspecified scope).
194
+ *
195
+ * Installation settings are meant to be configured by the user that installs your app.
191
196
  * This is a good place to add anything that a user might want to change to personalize the app (e.g. the default city to show the weather for or a
192
197
  * specific sport team that a subreddit follows). Note that these are good for subreddit level customization but not necessarily good for things
193
198
  * that might be different for two users in a subreddit (e.g. setting the default city to show the weather for is only useful at a sub level if
194
- * the sub is for a specific city or region). Install settings can be viewed and configured here: https://developers.reddit.com/r/subreddit-name/apps/app-name.
199
+ * the sub is for a specific city or region).
200
+ * Installation settings can be viewed and configured here: https://developers.reddit.com/r/subreddit-name/apps/app-name.
201
+ *
195
202
  * App settings can be accessed and consumed by all installations of the app. This is mainly useful for developer secrets/API keys that your
196
203
  * app needs to function. They can only be changed/viewed by you via the CLI (devvit settings set and devvit settings list). This ensures secrets
197
- * are persisted in an encrypted store and don't get committed in the source code. You should never paste your actual key into any fields passed into
198
- * Devvit.addSettings - this is merely where you state what your API key's name and description are. You will be able to set the actual value of the key via CLI.
204
+ * are persisted in an encrypted store and don't get committed in the source code.
205
+ *
206
+ * Warning: You should never paste your actual key into any fields passed into Devvit.addSettings - this is merely where you state what your API key's name and description are. You will be able to set the actual value of the key via CLI.
207
+ *
199
208
  * Note: setting names must be unique across all settings.
209
+ *
200
210
  * @param fields - Fields for the app and installation settings.
201
- * @example
211
+ * @example Add multiple fields
202
212
  * ```ts
203
213
  * Devvit.addSettings([
204
214
  * {
@@ -232,17 +242,34 @@ export class Devvit extends Actor {
232
242
  * },
233
243
  * ]);
234
244
  * ```
245
+ *
246
+ * @example Add a single field
247
+ * ```ts
248
+ * Devvit.addSettings({
249
+ * type: 'string',
250
+ * name: 'weather-api-key',
251
+ * label: 'My weather.com API key',
252
+ * scope: SettingScope.App,
253
+ * isSecret: true
254
+ * });
255
+ * ```
235
256
  */
236
257
  static addSettings(fields) {
237
- assertValidFormFields(fields);
238
- const installSettings = fields.filter((field) => field.type === 'group' || !field.scope || field.scope === SettingScope.Installation);
239
- const appSettings = fields.filter((field) => field.type !== 'group' && field.scope === SettingScope.App);
258
+ // if the fields is a single field, convert it to an array
259
+ const fieldsArray = Array.isArray(fields) ? fields : [fields];
260
+ const installSettings = fieldsArray.filter((field) => field.type === 'group' || !field.scope || field.scope === SettingScope.Installation);
261
+ const appSettings = fieldsArray.filter((field) => field.type !== 'group' && field.scope === SettingScope.App);
240
262
  if (installSettings.length > 0) {
241
- __classPrivateFieldSet(this, _a, installSettings, "f", _Devvit_installationSettings);
263
+ // initialize the installation settings with empty array if it is not initialized
264
+ __classPrivateFieldSet(this, _a, __classPrivateFieldGet(this, _a, "f", _Devvit_installationSettings) ?? [], "f", _Devvit_installationSettings);
265
+ __classPrivateFieldGet(this, _a, "f", _Devvit_installationSettings).push(...installSettings);
242
266
  }
243
267
  if (appSettings.length > 0) {
244
- __classPrivateFieldSet(this, _a, appSettings, "f", _Devvit_appSettings);
268
+ // initialize the app settings with empty array if it is not initialized
269
+ __classPrivateFieldSet(this, _a, __classPrivateFieldGet(this, _a, "f", _Devvit_appSettings) ?? [], "f", _Devvit_appSettings);
270
+ __classPrivateFieldGet(this, _a, "f", _Devvit_appSettings).push(...appSettings);
245
271
  }
272
+ assertValidFormFields([...(__classPrivateFieldGet(this, _a, "f", _Devvit_installationSettings) ?? []), ...(__classPrivateFieldGet(this, _a, "f", _Devvit_appSettings) ?? [])]);
246
273
  if (!__classPrivateFieldGet(this, _a, "f", _Devvit_pluginClients)[protos.SettingsDefinition.fullName]) {
247
274
  this.use(protos.SettingsDefinition);
248
275
  }
package/meta.json CHANGED
@@ -8798,7 +8798,7 @@
8798
8798
  "format": "esm"
8799
8799
  },
8800
8800
  "src/devvit/Devvit.ts": {
8801
- "bytes": 34281,
8801
+ "bytes": 35096,
8802
8802
  "imports": [
8803
8803
  {
8804
8804
  "path": "../protos/dist/index.js",
@@ -10308,7 +10308,7 @@
10308
10308
  "bytesInOutput": 1424
10309
10309
  },
10310
10310
  "src/devvit/Devvit.ts": {
10311
- "bytesInOutput": 18957
10311
+ "bytesInOutput": 19701
10312
10312
  },
10313
10313
  "src/apis/reddit/helpers/makeGettersEnumerable.ts": {
10314
10314
  "bytesInOutput": 344
@@ -10392,7 +10392,7 @@
10392
10392
  "bytesInOutput": 4013
10393
10393
  }
10394
10394
  },
10395
- "bytes": 12535743
10395
+ "bytes": 12538035
10396
10396
  }
10397
10397
  }
10398
10398
  }
package/meta.min.json CHANGED
@@ -1607,7 +1607,7 @@
1607
1607
  "format": "esm"
1608
1608
  },
1609
1609
  "src/devvit/Devvit.ts": {
1610
- "bytes": 34281,
1610
+ "bytes": 35096,
1611
1611
  "imports": [
1612
1612
  {
1613
1613
  "path": "@devvit/protos",
@@ -2536,7 +2536,7 @@
2536
2536
  "imports": [],
2537
2537
  "exports": [],
2538
2538
  "inputs": {},
2539
- "bytes": 1071424
2539
+ "bytes": 1072531
2540
2540
  },
2541
2541
  "dist/public-api.min.js": {
2542
2542
  "imports": [
@@ -2811,7 +2811,7 @@
2811
2811
  "bytesInOutput": 1363
2812
2812
  },
2813
2813
  "src/devvit/Devvit.ts": {
2814
- "bytesInOutput": 5793
2814
+ "bytesInOutput": 5928
2815
2815
  },
2816
2816
  "../shared-types/dist/Actor.js": {
2817
2817
  "bytesInOutput": 31
@@ -3093,7 +3093,7 @@
3093
3093
  "bytesInOutput": 107
3094
3094
  }
3095
3095
  },
3096
- "bytes": 220936
3096
+ "bytes": 221071
3097
3097
  }
3098
3098
  }
3099
3099
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devvit/public-api",
3
- "version": "0.11.14-next-2025-04-28-2d05f2817.0",
3
+ "version": "0.11.14-next-2025-04-28-b657b88d8.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,17 +30,17 @@
30
30
  },
31
31
  "types": "./index.d.ts",
32
32
  "dependencies": {
33
- "@devvit/metrics": "0.11.14-next-2025-04-28-2d05f2817.0",
34
- "@devvit/protos": "0.11.14-next-2025-04-28-2d05f2817.0",
35
- "@devvit/shared-types": "0.11.14-next-2025-04-28-2d05f2817.0",
33
+ "@devvit/metrics": "0.11.14-next-2025-04-28-b657b88d8.0",
34
+ "@devvit/protos": "0.11.14-next-2025-04-28-b657b88d8.0",
35
+ "@devvit/shared-types": "0.11.14-next-2025-04-28-b657b88d8.0",
36
36
  "base64-js": "1.5.1",
37
37
  "clone-deep": "4.0.1",
38
38
  "moderndash": "4.0.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@ampproject/filesize": "4.3.0",
42
- "@devvit/repo-tools": "0.11.14-next-2025-04-28-2d05f2817.0",
43
- "@devvit/tsconfig": "0.11.14-next-2025-04-28-2d05f2817.0",
42
+ "@devvit/repo-tools": "0.11.14-next-2025-04-28-b657b88d8.0",
43
+ "@devvit/tsconfig": "0.11.14-next-2025-04-28-b657b88d8.0",
44
44
  "@microsoft/api-extractor": "7.41.0",
45
45
  "@reddit/faceplate-ui": "18.0.1",
46
46
  "@types/clone-deep": "4.0.1",
@@ -61,5 +61,5 @@
61
61
  }
62
62
  },
63
63
  "source": "./src/index.ts",
64
- "gitHead": "6dc32b48fb6514acc776146fe41dca09a4a34d2f"
64
+ "gitHead": "542b3edbda4dd8999613844ddf62275b6b62f583"
65
65
  }
package/public-api.d.ts CHANGED
@@ -7642,19 +7642,29 @@ export declare class Devvit extends Actor {
7642
7642
  */
7643
7643
  static addSchedulerJob<T extends JSONObject | undefined>(job: ScheduledJobType<T>): void;
7644
7644
  /**
7645
- * Add settings that can be configured to customize the behavior of your app. There are two levels of settings: App settings (scope: 'app') and
7646
- * install settings (scope: 'installation' or unspecified scope). Install settings are meant to be configured by the user that installs your app.
7645
+ * Add settings that can be configured to customize the behavior of your app.
7646
+ *
7647
+ * There are two levels of settings:
7648
+ * - App settings (scope: 'app')
7649
+ * - Installation settings (scope: 'installation' or unspecified scope).
7650
+ *
7651
+ * Installation settings are meant to be configured by the user that installs your app.
7647
7652
  * This is a good place to add anything that a user might want to change to personalize the app (e.g. the default city to show the weather for or a
7648
7653
  * specific sport team that a subreddit follows). Note that these are good for subreddit level customization but not necessarily good for things
7649
7654
  * that might be different for two users in a subreddit (e.g. setting the default city to show the weather for is only useful at a sub level if
7650
- * the sub is for a specific city or region). Install settings can be viewed and configured here: https://developers.reddit.com/r/subreddit-name/apps/app-name.
7655
+ * the sub is for a specific city or region).
7656
+ * Installation settings can be viewed and configured here: https://developers.reddit.com/r/subreddit-name/apps/app-name.
7657
+ *
7651
7658
  * App settings can be accessed and consumed by all installations of the app. This is mainly useful for developer secrets/API keys that your
7652
7659
  * app needs to function. They can only be changed/viewed by you via the CLI (devvit settings set and devvit settings list). This ensures secrets
7653
- * are persisted in an encrypted store and don't get committed in the source code. You should never paste your actual key into any fields passed into
7654
- * Devvit.addSettings - this is merely where you state what your API key's name and description are. You will be able to set the actual value of the key via CLI.
7660
+ * are persisted in an encrypted store and don't get committed in the source code.
7661
+ *
7662
+ * Warning: You should never paste your actual key into any fields passed into Devvit.addSettings - this is merely where you state what your API key's name and description are. You will be able to set the actual value of the key via CLI.
7663
+ *
7655
7664
  * Note: setting names must be unique across all settings.
7665
+ *
7656
7666
  * @param fields - Fields for the app and installation settings.
7657
- * @example
7667
+ * @example Add multiple fields
7658
7668
  * ```ts
7659
7669
  * Devvit.addSettings([
7660
7670
  * {
@@ -7688,8 +7698,19 @@ export declare class Devvit extends Actor {
7688
7698
  * },
7689
7699
  * ]);
7690
7700
  * ```
7701
+ *
7702
+ * @example Add a single field
7703
+ * ```ts
7704
+ * Devvit.addSettings({
7705
+ * type: 'string',
7706
+ * name: 'weather-api-key',
7707
+ * label: 'My weather.com API key',
7708
+ * scope: SettingScope.App,
7709
+ * isSecret: true
7710
+ * });
7711
+ * ```
7691
7712
  */
7692
- static addSettings(fields: SettingsFormField[]): void;
7713
+ static addSettings(fields: SettingsFormField[] | SettingsFormField): void;
7693
7714
  /**
7694
7715
  * Add a trigger handler that will be invoked when the given event
7695
7716
  * occurs in a subreddit where the app is installed.