diff --git a/api-prox/bun.ts b/api-prox/bun.ts new file mode 100644 index 0000000..d38e03e --- /dev/null +++ b/api-prox/bun.ts @@ -0,0 +1,8 @@ +import app from "./src/index.ts"; + +const ex = { + port: 7001, + fetch: app.fetch, +}; + +export default ex; diff --git a/api-prox/deno.json b/api-prox/deno.json index 6805515..ec4576c 100644 --- a/api-prox/deno.json +++ b/api-prox/deno.json @@ -3,8 +3,8 @@ "hono": "jsr:@hono/hono@^4.9.6" }, "tasks": { - "deno-start": "deno run --sloppy-imports --allow-net main.ts", - "deno-dev": "deno run --sloppy-imports --unstable-hmr --allow-net main.ts" + "deno-run": "deno run --sloppy-imports --allow-net deno.ts", + "deno-dev": "deno run --sloppy-imports --unstable-hmr --allow-net deno.ts" }, "compilerOptions": { "jsx": "precompile", diff --git a/api-prox/deno.lock b/api-prox/deno.lock index 0726da4..0c5d295 100644 --- a/api-prox/deno.lock +++ b/api-prox/deno.lock @@ -14,10 +14,12 @@ ], "packageJson": { "dependencies": [ + "npm:@hono/node-server@^1.19.0", "npm:@types/bun@latest", "npm:@types/deno@latest", "npm:@types/node@latest", "npm:hono@^4.9.6", + "npm:tsx@^4.20.3", "npm:typescript@^5.9.2", "npm:vercel@^47.0.5", "npm:wrangler@^4.4.0" diff --git a/api-prox/deno.ts b/api-prox/deno.ts new file mode 100644 index 0000000..5c8ad12 --- /dev/null +++ b/api-prox/deno.ts @@ -0,0 +1,3 @@ +import app from "./src/index.ts"; + +Deno.serve({ port: 7001 }, app.fetch); diff --git a/api-prox/main.ts b/api-prox/main.ts deleted file mode 100644 index f988467..0000000 --- a/api-prox/main.ts +++ /dev/null @@ -1,3 +0,0 @@ -import app from "./src/index.ts"; - -Deno.serve(app.fetch); \ No newline at end of file diff --git a/api-prox/node.ts b/api-prox/node.ts new file mode 100644 index 0000000..583b688 --- /dev/null +++ b/api-prox/node.ts @@ -0,0 +1,9 @@ +import { serve } from '@hono/node-server' +import app from "./src/index.ts" + +serve({ + fetch: app.fetch, + port: 7001 +}, (info) => { + console.log(`Server is running on http://localhost:${info.port}`) +}) diff --git a/api-prox/package-lock.json b/api-prox/package-lock.json index 2a7983e..dee87e2 100644 --- a/api-prox/package-lock.json +++ b/api-prox/package-lock.json @@ -6,9 +6,14 @@ "": { "name": "anixart-serverless-api-proxy", "dependencies": { - "hono": "^4.9.6" + "@hono/node-server": "^1.19.0", + "hono": "^4.9.6", + "tsx": "^4.20.3" }, "devDependencies": { + "@types/bun": "latest", + "@types/deno": "latest", + "@types/node": "latest", "typescript": "^5.9.2", "vercel": "^47.0.5", "wrangler": "^4.4.0" @@ -123,7 +128,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -143,6 +147,18 @@ "node": ">=14" } }, + "node_modules/@hono/node-server": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.1.tgz", + "integrity": "sha512-h44e5s+ByUriaRIbeS/C74O8v90m0A95luyYQGMF7KEn96KkYMXO7bZAwombzTpjQTU4e0TkU8U1WBIXlwuwtA==", + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, "node_modules/@img/sharp-libvips-linux-x64": { "version": "1.0.4", "cpu": [ @@ -550,6 +566,23 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/bun": { + "version": "1.2.21", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.2.21.tgz", + "integrity": "sha512-NiDnvEqmbfQ6dmZ3EeUO577s4P5bf4HCTXtI6trMc6f6RzirY5IrF3aIookuSpyslFzrnvv2lmEWv5HyC1X79A==", + "dev": true, + "license": "MIT", + "dependencies": { + "bun-types": "1.2.21" + } + }, + "node_modules/@types/deno": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@types/deno/-/deno-2.3.0.tgz", + "integrity": "sha512-/4SyefQpKjwNKGkq9qG3Ln7MazfbWKvydyVFBnXzP5OQA4u1paoFtaOe1iHKycIWHHkhYag0lPxyheThV1ijzw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -565,12 +598,24 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.13", + "version": "24.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz", + "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.10.0" + } + }, + "node_modules/@types/react": { + "version": "19.1.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.12.tgz", + "integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "undici-types": "~6.21.0" + "csstype": "^3.0.2" } }, "node_modules/@vercel/blob": { @@ -1215,6 +1260,19 @@ "node": "*" } }, + "node_modules/bun-types": { + "version": "1.2.21", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.2.21.tgz", + "integrity": "sha512-sa2Tj77Ijc/NTLS0/Odjq/qngmEPZfbfnOERi0KRUYhT9R8M4VBioWVmMWE5GrYbKMc+5lVybXygLdibHaqVqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + }, + "peerDependencies": { + "@types/react": "^19" + } + }, "node_modules/bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -1369,6 +1427,14 @@ "node": ">= 8" } }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -1502,7 +1568,6 @@ }, "node_modules/esbuild": { "version": "0.25.4", - "dev": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -2041,6 +2106,20 @@ "node": ">=8" } }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/generic-pool": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.4.2.tgz", @@ -2051,6 +2130,18 @@ "node": ">= 4" } }, + "node_modules/get-tsconfig": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -2841,6 +2932,15 @@ "node": ">=8" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -3322,6 +3422,25 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/tsx": { + "version": "4.20.5", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.5.tgz", + "integrity": "sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==", + "license": "MIT", + "dependencies": { + "esbuild": "~0.25.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, "node_modules/typescript": { "version": "5.9.2", "dev": true, @@ -3355,10 +3474,11 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/unenv": { "version": "2.0.0-rc.20", diff --git a/api-prox/package.json b/api-prox/package.json index ef81b6f..9be973d 100644 --- a/api-prox/package.json +++ b/api-prox/package.json @@ -2,14 +2,19 @@ "name": "anixart-serverless-api-proxy", "type": "module", "scripts": { - "bun-dev": "bun run --hot src/index.ts", + "node-dev": "tsx watch node.ts", + "node-run": "npx tsx node.ts", + "bun-dev": "bun run --hot bun.ts", + "bun-run": "bun run bun.ts", "vc-dev": "vercel dev", "vc-deploy": "vercel deploy", "cf-dev": "wrangler dev", "cf-deploy": "wrangler deploy --minify" }, "dependencies": { - "hono": "^4.9.6" + "@hono/node-server": "^1.19.0", + "hono": "^4.9.6", + "tsx": "^4.20.3" }, "devDependencies": { "@types/bun": "latest",