@moneydevkit/replit 0.0.1

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.
@@ -0,0 +1,4 @@
1
+ import type { RequestHandler, Router } from 'express';
2
+ export declare const mdkExpressHandler: RequestHandler;
3
+ export declare function createMdkExpressRouter(): Router;
4
+ export default createMdkExpressRouter;
@@ -0,0 +1,56 @@
1
+ import express from 'express';
2
+ import { createUnifiedHandler } from '@moneydevkit/core/route';
3
+ const unifiedHandler = createUnifiedHandler();
4
+ function toFetchRequest(req) {
5
+ const protocol = req.protocol || 'http';
6
+ const host = req.get('host') || 'localhost';
7
+ const url = `${protocol}://${host}${req.originalUrl || req.url || ''}`;
8
+ const headers = new Headers();
9
+ for (const [key, value] of Object.entries(req.headers)) {
10
+ if (typeof value === 'string') {
11
+ headers.set(key, value);
12
+ }
13
+ else if (Array.isArray(value)) {
14
+ for (const v of value) {
15
+ headers.append(key, v);
16
+ }
17
+ }
18
+ }
19
+ if (!headers.has('content-type') && req.is('application/json')) {
20
+ headers.set('content-type', 'application/json');
21
+ }
22
+ const body = req.method !== 'GET' && req.method !== 'HEAD' && req.body
23
+ ? JSON.stringify(req.body)
24
+ : undefined;
25
+ return new Request(url, {
26
+ method: req.method,
27
+ headers,
28
+ body,
29
+ });
30
+ }
31
+ async function sendFetchResponse(res, response) {
32
+ response.headers.forEach((value, key) => {
33
+ res.setHeader(key, value);
34
+ });
35
+ const buffer = Buffer.from(await response.arrayBuffer());
36
+ res.status(response.status).send(buffer);
37
+ }
38
+ export const mdkExpressHandler = async (req, res) => {
39
+ try {
40
+ const request = toFetchRequest(req);
41
+ const response = await unifiedHandler(request);
42
+ await sendFetchResponse(res, response);
43
+ }
44
+ catch (error) {
45
+ console.error('MDK Express handler error', error);
46
+ res.status(500).send('Internal Server Error');
47
+ }
48
+ };
49
+ export function createMdkExpressRouter() {
50
+ const router = express.Router();
51
+ router.use(express.json());
52
+ router.post('/', mdkExpressHandler);
53
+ return router;
54
+ }
55
+ export default createMdkExpressRouter;
56
+ //# sourceMappingURL=express.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/server/express.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@moneydevkit/replit",
3
+ "version": "0.0.1",
4
+ "description": "Money Dev Kit checkout package for Replit (Vite + Express).",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "./mdk-styles.css": "./dist/mdk-styles.css",
15
+ "./server/express": {
16
+ "types": "./dist/server/express.d.ts",
17
+ "import": "./dist/server/express.js",
18
+ "default": "./dist/server/express.js"
19
+ },
20
+ "./package.json": "./package.json"
21
+ },
22
+ "files": [
23
+ "dist"
24
+ ],
25
+ "scripts": {
26
+ "prebuild": "npm --prefix ../core run build",
27
+ "build": "rm -rf dist && tsc -p tsconfig.json && npm run copy-css",
28
+ "copy-css": "node ../core/scripts/copy-styles.mjs dist/mdk-styles.css",
29
+ "clean": "rm -rf dist",
30
+ "typecheck": "tsc --noEmit"
31
+ },
32
+ "peerDependencies": {
33
+ "express": "^4.19.2",
34
+ "react": "^18 || ^19",
35
+ "react-dom": "^18 || ^19"
36
+ },
37
+ "dependencies": {
38
+ "@moneydevkit/core": "0.0.3"
39
+ },
40
+ "devDependencies": {
41
+ "@types/express": "^4.17.21",
42
+ "@types/node": "^20.10.5",
43
+ "@types/react": "^19.0.1",
44
+ "@types/react-dom": "^19.0.2",
45
+ "typescript": "^5.6.3"
46
+ },
47
+ "module": "./dist/index.js"
48
+ }