Skip to content

Commit 7befad4

Browse files
authored
🎉 hoxy (#348)
1 parent 49dbde2 commit 7befad4

7 files changed

Lines changed: 135 additions & 0 deletions

File tree

services/hoxy/.gitignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# prod
2+
dist/
3+
4+
# dev
5+
.yarn/
6+
!.yarn/releases
7+
.vscode/*
8+
!.vscode/launch.json
9+
!.vscode/*.code-snippets
10+
.idea/workspace.xml
11+
.idea/usage.statistics.xml
12+
.idea/shelf
13+
14+
# deps
15+
node_modules/
16+
.wrangler
17+
18+
# env
19+
.env
20+
.env.production
21+
.dev.vars
22+
23+
# logs
24+
logs/
25+
*.log
26+
npm-debug.log*
27+
yarn-debug.log*
28+
yarn-error.log*
29+
pnpm-debug.log*
30+
lerna-debug.log*
31+
32+
# misc
33+
.DS_Store

services/hoxy/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
```
2+
npm install
3+
npm run dev
4+
```
5+
6+
```
7+
npm run deploy
8+
```

services/hoxy/package.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "hoxy",
3+
"scripts": {
4+
"dev": "wrangler dev",
5+
"deploy": "wrangler deploy --minify",
6+
"cf-typegen": "wrangler types --env-interface CloudflareBindings"
7+
},
8+
"dependencies": {
9+
"hono": "^4.7.4"
10+
},
11+
"devDependencies": {
12+
"@cloudflare/workers-types": "^4.20250312.0",
13+
"wrangler": "^3.114.1"
14+
}
15+
}

services/hoxy/src/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { Hono } from 'hono'
2+
// import { proxy } from 'hono/proxy'
3+
4+
const app = new Hono<{ Bindings: CloudflareBindings }>()
5+
6+
app.get('*', async (c) => {
7+
return await c.env.IMAGE.fetch(c.req.raw)
8+
})
9+
10+
export default app

services/hoxy/tsconfig.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"compilerOptions": {
3+
"target": "ESNext",
4+
"module": "ESNext",
5+
"moduleResolution": "Bundler",
6+
"strict": true,
7+
"skipLibCheck": true,
8+
"lib": [
9+
"ESNext"
10+
],
11+
"types": [
12+
"@cloudflare/workers-types/2023-07-01"
13+
],
14+
"jsx": "react-jsx",
15+
"jsxImportSource": "hono/jsx"
16+
},
17+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// Generated by Wrangler by running `wrangler types --env-interface CloudflareBindings`
2+
3+
interface CloudflareBindings {
4+
IMAGE: Fetcher;
5+
}

services/hoxy/wrangler.jsonc

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/**
2+
* For more details on how to configure Wrangler, refer to:
3+
* https://developers.cloudflare.com/workers/wrangler/configuration/
4+
*/
5+
{
6+
"$schema": "node_modules/wrangler/config-schema.json",
7+
"name": "hoxy",
8+
"main": "src/index.ts",
9+
"compatibility_date": "2025-03-12",
10+
"observability": {
11+
"enabled": true
12+
},
13+
/**
14+
* Smart Placement
15+
* Docs: https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement
16+
*/
17+
// "placement": { "mode": "smart" },
18+
19+
/**
20+
* Bindings
21+
* Bindings allow your Worker to interact with resources on the Cloudflare Developer Platform, including
22+
* databases, object storage, AI inference, real-time communication and more.
23+
* https://developers.cloudflare.com/workers/runtime-apis/bindings/
24+
*/
25+
26+
/**
27+
* Environment Variables
28+
* https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables
29+
*/
30+
// "vars": { "MY_VARIABLE": "production_value" },
31+
/**
32+
* Note: Use secrets to store sensitive data.
33+
* https://developers.cloudflare.com/workers/configuration/secrets/
34+
*/
35+
36+
/**
37+
* Static Assets
38+
* https://developers.cloudflare.com/workers/static-assets/binding/
39+
*/
40+
// "assets": { "directory": "./public/", "binding": "ASSETS" },
41+
42+
/**
43+
* Service Bindings (communicate between multiple Workers)
44+
* https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings
45+
*/
46+
"services": [{ "binding": "IMAGE", "service": "image", "environment": "production" }]
47+
}

0 commit comments

Comments
 (0)