@devvit/public-api 0.12.2-next-2025-10-15-23-34-15-434bad048.0 → 0.12.2-next-2025-10-16-22-18-10-63705be33.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/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { useForm } from './devvit/internals/blocks/handler/useForm.js';
9
9
  export { useInterval } from './devvit/internals/blocks/handler/useInterval.js';
10
10
  export { useState } from './devvit/internals/blocks/handler/useState.js';
11
11
  export { useWebView } from './devvit/internals/blocks/handler/useWebView.js';
12
+ export { fetchDevvitWeb } from './migration/index.js';
12
13
  export * from './types/index.js';
13
14
  export * from './types/json.js';
14
15
  export { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC"}
package/index.js CHANGED
@@ -8,6 +8,7 @@ export { useForm } from './devvit/internals/blocks/handler/useForm.js';
8
8
  export { useInterval } from './devvit/internals/blocks/handler/useInterval.js';
9
9
  export { useState } from './devvit/internals/blocks/handler/useState.js';
10
10
  export { useWebView } from './devvit/internals/blocks/handler/useWebView.js';
11
+ export { fetchDevvitWeb } from './migration/index.js';
11
12
  export * from './types/index.js';
12
13
  export * from './types/json.js';
13
14
  export { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
package/meta.min.json CHANGED
@@ -2608,13 +2608,18 @@
2608
2608
  ],
2609
2609
  "format": "esm"
2610
2610
  },
2611
+ "src/migration/index.ts": {
2612
+ "bytes": 1399,
2613
+ "imports": [],
2614
+ "format": "esm"
2615
+ },
2611
2616
  "src/types/json.ts": {
2612
2617
  "bytes": 1761,
2613
2618
  "imports": [],
2614
2619
  "format": "esm"
2615
2620
  },
2616
2621
  "src/index.ts": {
2617
- "bytes": 854,
2622
+ "bytes": 909,
2618
2623
  "imports": [
2619
2624
  {
2620
2625
  "path": "src/apis/reddit/common.ts",
@@ -2666,6 +2671,11 @@
2666
2671
  "kind": "import-statement",
2667
2672
  "original": "./devvit/internals/blocks/handler/useWebView.js"
2668
2673
  },
2674
+ {
2675
+ "path": "src/migration/index.ts",
2676
+ "kind": "import-statement",
2677
+ "original": "./migration/index.js"
2678
+ },
2669
2679
  {
2670
2680
  "path": "src/types/index.ts",
2671
2681
  "kind": "import-statement",
@@ -2690,7 +2700,7 @@
2690
2700
  "imports": [],
2691
2701
  "exports": [],
2692
2702
  "inputs": {},
2693
- "bytes": 1091945
2703
+ "bytes": 1094049
2694
2704
  },
2695
2705
  "dist/public-api.min.js": {
2696
2706
  "imports": [
@@ -2943,6 +2953,7 @@
2943
2953
  "WikiPageRevision",
2944
2954
  "WikiPageSettings",
2945
2955
  "convertUserFlairProtoToAPI",
2956
+ "fetchDevvitWeb",
2946
2957
  "getCurrentUsernameFromMetadata",
2947
2958
  "getModerationLog",
2948
2959
  "getSubredditInfoById",
@@ -3291,9 +3302,12 @@
3291
3302
  },
3292
3303
  "src/devvit/internals/helpers/devvitInternalMessage.ts": {
3293
3304
  "bytesInOutput": 107
3305
+ },
3306
+ "src/migration/index.ts": {
3307
+ "bytesInOutput": 357
3294
3308
  }
3295
3309
  },
3296
- "bytes": 225139
3310
+ "bytes": 225517
3297
3311
  }
3298
3312
  }
3299
3313
  }
@@ -0,0 +1,12 @@
1
+ import type { BaseContext } from '../types/context.js';
2
+ /**
3
+ * Makes a fetch request to the devvit web backend server from your block app
4
+ * This is a migration tool to help you migrate your block app to the new Devvit Web architecture.
5
+ *
6
+ * @param ctx - the devvit context
7
+ * @param endpoint - the endpoint to make the request to
8
+ * @param init - the request init options
9
+ * @returns a promise that resolves to the fetch response
10
+ */
11
+ export declare function fetchDevvitWeb(ctx: BaseContext, endpoint: string, init?: RequestInit): Promise<Response>;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,QAAQ,CAAC,CAwBnB"}
@@ -0,0 +1,32 @@
1
+ const WEBBIT_LOCAL_HOST = 'webbit.local';
2
+ const WEBBIT_LOCAL_PORT = 3000;
3
+ const allowedPathPrefixes = ['/api', '/internal'];
4
+ /**
5
+ * Makes a fetch request to the devvit web backend server from your block app
6
+ * This is a migration tool to help you migrate your block app to the new Devvit Web architecture.
7
+ *
8
+ * @param ctx - the devvit context
9
+ * @param endpoint - the endpoint to make the request to
10
+ * @param init - the request init options
11
+ * @returns a promise that resolves to the fetch response
12
+ */
13
+ export async function fetchDevvitWeb(ctx, endpoint, init) {
14
+ if (!allowedPathPrefixes.some((prefix) => endpoint.startsWith(prefix))) {
15
+ throw new Error(`url must start with prefixes: /api or /internal. Got: ${endpoint}`);
16
+ }
17
+ // convert context metadata into headers
18
+ const metadata = Object.entries(ctx.metadata ?? {}).reduce((out, [k, v]) => {
19
+ out[k] = v.values[0];
20
+ return out;
21
+ }, {});
22
+ const url = new URL(endpoint, `http://${WEBBIT_LOCAL_HOST}:${WEBBIT_LOCAL_PORT}/`);
23
+ return await fetch(url, {
24
+ ...init,
25
+ headers: {
26
+ // apply any headers passed in from the app
27
+ ...init?.headers,
28
+ // apply devvit system headers, ovewritting anything from the app
29
+ ...metadata,
30
+ },
31
+ });
32
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/migration/index.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devvit/public-api",
3
- "version": "0.12.2-next-2025-10-15-23-34-15-434bad048.0",
3
+ "version": "0.12.2-next-2025-10-16-22-18-10-63705be33.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,18 +36,18 @@
36
36
  },
37
37
  "types": "./dist/index.d.ts",
38
38
  "dependencies": {
39
- "@devvit/metrics": "0.12.2-next-2025-10-15-23-34-15-434bad048.0",
40
- "@devvit/protos": "0.12.2-next-2025-10-15-23-34-15-434bad048.0",
41
- "@devvit/shared": "0.12.2-next-2025-10-15-23-34-15-434bad048.0",
42
- "@devvit/shared-types": "0.12.2-next-2025-10-15-23-34-15-434bad048.0",
39
+ "@devvit/metrics": "0.12.2-next-2025-10-16-22-18-10-63705be33.0",
40
+ "@devvit/protos": "0.12.2-next-2025-10-16-22-18-10-63705be33.0",
41
+ "@devvit/shared": "0.12.2-next-2025-10-16-22-18-10-63705be33.0",
42
+ "@devvit/shared-types": "0.12.2-next-2025-10-16-22-18-10-63705be33.0",
43
43
  "base64-js": "1.5.1",
44
44
  "clone-deep": "4.0.1",
45
45
  "moderndash": "4.0.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@ampproject/filesize": "4.3.0",
49
- "@devvit/repo-tools": "0.12.2-next-2025-10-15-23-34-15-434bad048.0",
50
- "@devvit/tsconfig": "0.12.2-next-2025-10-15-23-34-15-434bad048.0",
49
+ "@devvit/repo-tools": "0.12.2-next-2025-10-16-22-18-10-63705be33.0",
50
+ "@devvit/tsconfig": "0.12.2-next-2025-10-16-22-18-10-63705be33.0",
51
51
  "@reddit/faceplate-ui": "18.0.5",
52
52
  "@types/clone-deep": "4.0.1",
53
53
  "chokidar-cli": "3.0.0",
@@ -59,9 +59,9 @@
59
59
  "filesize": {
60
60
  "dist/public-api.min.js": {
61
61
  "gzip": "63 KB",
62
- "none": "220 KB"
62
+ "none": "221 KB"
63
63
  }
64
64
  },
65
65
  "source": "./src/index.ts",
66
- "gitHead": "b5e5f958bb02a48561a327735921f4971beedd67"
66
+ "gitHead": "b10832dd23c6927c749ac348beea50a3743f0f88"
67
67
  }