Compare commits

..

No commits in common. "main" and "@hono/zod-openapi@0.19.7" have entirely different histories.

277 changed files with 4211 additions and 9573 deletions

View File

@ -0,0 +1,32 @@
name: ci-ajv-validator
on:
push:
branches: [main]
paths:
- 'packages/ajv-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/ajv-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/ajv-validator
- run: yarn workspace @hono/ajv-validator build
- run: yarn workspace @hono/ajv-validator publint
- run: yarn workspace @hono/ajv-validator typecheck
- run: yarn eslint packages/ajv-validator
- run: yarn test --coverage --project @hono/ajv-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: ajv-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-arktype-validator
on:
push:
branches: [main]
paths:
- 'packages/arktype-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/arktype-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/arktype-validator
- run: yarn workspace @hono/arktype-validator build
- run: yarn workspace @hono/arktype-validator publint
- run: yarn workspace @hono/arktype-validator typecheck
- run: yarn eslint packages/arktype-validator
- run: yarn test --coverage --project @hono/arktype-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: arktype-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-auth-js
on:
push:
branches: [main]
paths:
- 'packages/auth-js/**'
pull_request:
branches: ['*']
paths:
- 'packages/auth-js/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/auth-js
- run: yarn workspace @hono/auth-js build
- run: yarn workspace @hono/auth-js publint
- run: yarn workspace @hono/auth-js typecheck
- run: yarn eslint packages/auth-js
- run: yarn test --coverage --project @hono/auth-js
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: auth-js
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-bun-compress
on:
push:
branches: [main]
paths:
- 'packages/bun-compress/**'
pull_request:
branches: ['*']
paths:
- 'packages/bun-compress/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/bun-compress
- run: yarn workspace @hono/bun-compress build
- run: yarn workspace @hono/bun-compress publint
- run: yarn workspace @hono/bun-compress typecheck
- run: yarn eslint packages/bun-compress
- run: yarn test --coverage --project @hono/bun-compress
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: bun-compress
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -22,7 +22,6 @@ jobs:
- run: yarn workspace @hono/bun-transpiler publint
- run: yarn workspace @hono/bun-transpiler typecheck
- run: yarn eslint packages/bun-transpiler
- run: yarn prettier --check . !packages packages/bun-transpiler
- run: yarn workspace @hono/bun-transpiler test --coverage --coverage-reporter lcov
- uses: codecov/codecov-action@v5
with:

32
.github/workflows/ci-casbin.yml vendored 100644
View File

@ -0,0 +1,32 @@
name: ci-casbin
on:
push:
branches: [main]
paths:
- 'packages/casbin/**'
pull_request:
branches: ['*']
paths:
- 'packages/casbin/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/casbin
- run: yarn workspace @hono/casbin build
- run: yarn workspace @hono/casbin publint
- run: yarn workspace @hono/casbin typecheck
- run: yarn eslint packages/casbin
- run: yarn test --coverage --project @hono/casbin
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: casbin
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-class-validator
on:
push:
branches: [main]
paths:
- 'packages/class-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/class-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/class-validator
- run: yarn workspace @hono/class-validator build
- run: yarn workspace @hono/class-validator publint
- run: yarn workspace @hono/class-validator typecheck
- run: yarn eslint packages/class-validator
- run: yarn test --coverage --project @hono/class-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: class-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-clerk-auth
on:
push:
branches: [main]
paths:
- 'packages/clerk-auth/**'
pull_request:
branches: ['*']
paths:
- 'packages/clerk-auth/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/clerk-auth
- run: yarn workspace @hono/clerk-auth build
- run: yarn workspace @hono/clerk-auth publint
- run: yarn workspace @hono/clerk-auth typecheck
- run: yarn eslint packages/clerk-auth
- run: yarn test --coverage --project @hono/clerk-auth
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: clerk-auth
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-cloudflare-access
on:
push:
branches: [main]
paths:
- 'packages/cloudflare-access/**'
pull_request:
branches: ['*']
paths:
- 'packages/cloudflare-access/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/cloudflare-access
- run: yarn workspace @hono/cloudflare-access build
- run: yarn workspace @hono/cloudflare-access publint
- run: yarn workspace @hono/cloudflare-access typecheck
- run: yarn eslint packages/cloudflare-access
- run: yarn test --coverage --project @hono/cloudflare-access
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: cloudflare-access
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-conform-validator
on:
push:
branches: [main]
paths:
- 'packages/conform-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/conform-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/conform-validator
- run: yarn workspace @hono/conform-validator build
- run: yarn workspace @hono/conform-validator publint
- run: yarn workspace @hono/conform-validator typecheck
- run: yarn eslint packages/conform-validator
- run: yarn test --coverage --project @hono/conform-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: conform-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-effect-validator
on:
push:
branches: [main]
paths:
- 'packages/effect-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/effect-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/effect-validator
- run: yarn workspace @hono/effect-validator build
- run: yarn workspace @hono/effect-validator publint
- run: yarn workspace @hono/effect-validator typecheck
- run: yarn eslint packages/effect-validator
- run: yarn test --coverage --project @hono/effect-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: effect-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-esbuild-transpiler
on:
push:
branches: [main]
paths:
- 'packages/esbuild-transpiler/**'
pull_request:
branches: ['*']
paths:
- 'packages/esbuild-transpiler/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/esbuild-transpiler
- run: yarn workspace @hono/esbuild-transpiler build
- run: yarn workspace @hono/esbuild-transpiler publint
- run: yarn workspace @hono/esbuild-transpiler typecheck
- run: yarn eslint packages/esbuild-transpiler
- run: yarn test --coverage --project @hono/esbuild-transpiler
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: esbuild-transpiler
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-event-emitter
on:
push:
branches: [main]
paths:
- 'packages/event-emitter/**'
pull_request:
branches: ['*']
paths:
- 'packages/event-emitter/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/event-emitter
- run: yarn workspace @hono/event-emitter build
- run: yarn workspace @hono/event-emitter publint
- run: yarn workspace @hono/event-emitter typecheck
- run: yarn eslint packages/event-emitter
- run: yarn test --coverage --project @hono/event-emitter
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: event-emitter
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-firebase-auth
on:
push:
branches: [main]
paths:
- 'packages/firebase-auth/**'
pull_request:
branches: ['*']
paths:
- 'packages/firebase-auth/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/firebase-auth
- run: yarn workspace @hono/firebase-auth build
- run: yarn workspace @hono/firebase-auth publint
- run: yarn workspace @hono/firebase-auth typecheck
- run: yarn eslint packages/firebase-auth
- run: yarn test --coverage --project @hono/firebase-auth
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: firebase-auth
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-graphql-server
on:
push:
branches: [main]
paths:
- 'packages/graphql-server/**'
pull_request:
branches: ['*']
paths:
- 'packages/graphql-server/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/graphql-server
- run: yarn workspace @hono/graphql-server build
- run: yarn workspace @hono/graphql-server publint
- run: yarn workspace @hono/graphql-server typecheck
- run: yarn eslint packages/graphql-server
- run: yarn test --coverage --project @hono/graphql-server
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: graphql-server
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

32
.github/workflows/ci-hello.yml vendored 100644
View File

@ -0,0 +1,32 @@
name: ci-hello
on:
push:
branches: [main]
paths:
- 'packages/hello/**'
pull_request:
branches: ['*']
paths:
- 'packages/hello/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/hello
- run: yarn workspace @hono/hello build
- run: yarn workspace @hono/hello publint
- run: yarn workspace @hono/hello typecheck
- run: yarn eslint packages/hello
- run: yarn test --coverage --project @hono/hello
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: hello
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-medley-router
on:
push:
branches: [main]
paths:
- 'packages/medley-router/**'
pull_request:
branches: ['*']
paths:
- 'packages/medley-router/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/medley-router
- run: yarn workspace @hono/medley-router build
- run: yarn workspace @hono/medley-router publint
- run: yarn workspace @hono/medley-router typecheck
- run: yarn eslint packages/medley-router
- run: yarn test --coverage --project @hono/medley-router
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: medley-router
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-node-ws
on:
push:
branches: [main]
paths:
- 'packages/node-ws/**'
pull_request:
branches: ['*']
paths:
- 'packages/node-ws/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/node-ws
- run: yarn workspace @hono/node-ws build
- run: yarn workspace @hono/node-ws publint
- run: yarn workspace @hono/node-ws typecheck
- run: yarn eslint packages/node-ws
- run: yarn test --coverage --project @hono/node-ws
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: node-ws
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-oauth-providers
on:
push:
branches: [main]
paths:
- 'packages/oauth-providers/**'
pull_request:
branches: ['*']
paths:
- 'packages/oauth-providers/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/oauth-providers
- run: yarn workspace @hono/oauth-providers build
- run: yarn workspace @hono/oauth-providers publint
- run: yarn workspace @hono/oauth-providers typecheck
- run: yarn eslint packages/oauth-providers
- run: yarn test --coverage --project @hono/oauth-providers
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: oauth-providers
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-oidc-auth
on:
push:
branches: [main]
paths:
- 'packages/oidc-auth/**'
pull_request:
branches: ['*']
paths:
- 'packages/oidc-auth/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/oidc-auth
- run: yarn workspace @hono/oidc-auth build
- run: yarn workspace @hono/oidc-auth publint
- run: yarn workspace @hono/oidc-auth typecheck
- run: yarn eslint packages/oidc-auth
- run: yarn test --coverage --project @hono/oidc-auth
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: oidc-auth
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

32
.github/workflows/ci-otel.yml vendored 100644
View File

@ -0,0 +1,32 @@
name: ci-otel
on:
push:
branches: [main]
paths:
- 'packages/otel/**'
pull_request:
branches: ['*']
paths:
- 'packages/otel/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/otel
- run: yarn workspace @hono/otel build
- run: yarn workspace @hono/otel publint
- run: yarn workspace @hono/otel typecheck
- run: yarn eslint packages/otel
- run: yarn test --coverage --project @hono/otel
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: otel
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-prometheus
on:
push:
branches: [main]
paths:
- 'packages/prometheus/**'
pull_request:
branches: ['*']
paths:
- 'packages/prometheus/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/prometheus
- run: yarn workspace @hono/prometheus build
- run: yarn workspace @hono/prometheus publint
- run: yarn workspace @hono/prometheus typecheck
- run: yarn eslint packages/prometheus
- run: yarn test --coverage --project @hono/prometheus
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: prometheus
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-qwik-city
on:
push:
branches: [main]
paths:
- 'packages/qwik-city/**'
pull_request:
branches: ['*']
paths:
- 'packages/qwik-city/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/qwik-city
- run: yarn workspace @hono/qwik-city build
- run: yarn workspace @hono/qwik-city publint
- run: yarn workspace @hono/qwik-city typecheck
- run: yarn eslint packages/qwik-city
# - run: yarn test --coverage --project @hono/qwik-city
# - uses: codecov/codecov-action@v5
# with:
# fail_ci_if_error: true
# directory: ./coverage
# flags: qwik-city
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-react-compat
on:
push:
branches: [main]
paths:
- 'packages/react-compat/**'
pull_request:
branches: ['*']
paths:
- 'packages/react-compat/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/react-compat
- run: yarn workspace @hono/react-compat build
- run: yarn workspace @hono/react-compat publint
- run: yarn workspace @hono/react-compat typecheck
- run: yarn eslint packages/react-compat
# - run: yarn test --coverage --project @hono/react-compat
# - uses: codecov/codecov-action@v5
# with:
# fail_ci_if_error: true
# directory: ./coverage
# flags: react-compat
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-react-renderer
on:
push:
branches: [main]
paths:
- 'packages/react-renderer/**'
pull_request:
branches: ['*']
paths:
- 'packages/react-renderer/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/react-renderer
- run: yarn workspace @hono/react-renderer build
- run: yarn workspace @hono/react-renderer publint
- run: yarn workspace @hono/react-renderer typecheck
- run: yarn eslint packages/react-renderer
- run: yarn test --coverage --project @hono/react-renderer
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: react-renderer
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

32
.github/workflows/ci-sentry.yml vendored 100644
View File

@ -0,0 +1,32 @@
name: ci-sentry
on:
push:
branches: [main]
paths:
- 'packages/sentry/**'
pull_request:
branches: ['*']
paths:
- 'packages/sentry/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/sentry
- run: yarn workspace @hono/sentry build
- run: yarn workspace @hono/sentry publint
- run: yarn workspace @hono/sentry typecheck
- run: yarn eslint packages/sentry
- run: yarn test --coverage --project @hono/sentry
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: sentry
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-standard-validator
on:
push:
branches: [main]
paths:
- 'packages/standard-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/standard-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/standard-validator
- run: yarn workspace @hono/standard-validator build
- run: yarn workspace @hono/standard-validator publint
- run: yarn workspace @hono/standard-validator typecheck
- run: yarn eslint packages/standard-validator
- run: yarn test --coverage --project @hono/standard-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: standard-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-swagger-editor
on:
push:
branches: [main]
paths:
- 'packages/swagger-editor/**'
pull_request:
branches: ['*']
paths:
- 'packages/swagger-editor/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/swagger-editor
- run: yarn workspace @hono/swagger-editor build
- run: yarn workspace @hono/swagger-editor publint
- run: yarn workspace @hono/swagger-editor typecheck
- run: yarn eslint packages/swagger-editor
- run: yarn test --coverage --project @hono/swagger-editor
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: swagger-editor
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-swagger-ui
on:
push:
branches: [main]
paths:
- 'packages/swagger-ui/**'
pull_request:
branches: ['*']
paths:
- 'packages/swagger-ui/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/swagger-ui
- run: yarn workspace @hono/swagger-ui build
- run: yarn workspace @hono/swagger-ui publint
- run: yarn workspace @hono/swagger-ui typecheck
- run: yarn eslint packages/swagger-ui
- run: yarn test --coverage --project @hono/swagger-ui
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: swagger-ui
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-trpc-server
on:
push:
branches: [main]
paths:
- 'packages/trpc-server/**'
pull_request:
branches: ['*']
paths:
- 'packages/trpc-server/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/trpc-server
- run: yarn workspace @hono/trpc-server build
- run: yarn workspace @hono/trpc-server publint
- run: yarn workspace @hono/trpc-server typecheck
- run: yarn eslint packages/trpc-server
- run: yarn test --coverage --project @hono/trpc-server
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: trpc-server
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-tsyringe
on:
push:
branches: [main]
paths:
- 'packages/tsyringe/**'
pull_request:
branches: ['*']
paths:
- 'packages/tsyringe/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/tsyringe
- run: yarn workspace @hono/tsyringe build
- run: yarn workspace @hono/tsyringe publint
- run: yarn workspace @hono/tsyringe typecheck
- run: yarn eslint packages/tsyringe
- run: yarn test --coverage --project @hono/tsyringe
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: tsyringe
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-typebox-validator
on:
push:
branches: [main]
paths:
- 'packages/typebox-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/typebox-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/typebox-validator
- run: yarn workspace @hono/typebox-validator build
- run: yarn workspace @hono/typebox-validator publint
- run: yarn workspace @hono/typebox-validator typecheck
- run: yarn eslint packages/typebox-validator
- run: yarn test --coverage --project @hono/typebox-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: typebox-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-typia-validator
on:
push:
branches: [main]
paths:
- 'packages/typia-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/typia-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/typia-validator
- run: yarn workspace @hono/typia-validator build
- run: yarn workspace @hono/typia-validator publint
- run: yarn workspace @hono/typia-validator typecheck
- run: yarn eslint packages/typia-validator
- run: yarn test --coverage --project @hono/typia-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: typia-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -1,73 +0,0 @@
name: Sync robots.json
on:
schedule:
# Runs every day at midnight
- cron: '15 0 */3 * *'
workflow_dispatch:
jobs:
sync-and-pr:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js and Yarn
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'yarn'
- run: yarn workspaces focus hono-middleware @hono/ua-blocker
- name: Fetch latest robots.json
run: yarn workspace @hono/ua-blocker getrobotstxt
- name: Generate data
run: yarn workspace @hono/ua-blocker prebuild
- name: Check for changes
id: changes
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
else
echo "has_changes=false" >> $GITHUB_OUTPUT
fi
- name: Generate changeset
if: steps.changes.outputs.has_changes == 'true'
run: |
# Use a static changeset filename to avoid duplicates
CHANGESET_FILE=".changeset/auto-sync-robots.md"
# Create the changeset file
cat << EOF > "$CHANGESET_FILE"
---
'@hono/ua-blocker': patch
---
chore(ua-blocker): sync \`robots.json\` with upstream
EOF
- name: Format
run: yarn prettier --write . !packages packages/ua-blocker
- name: Create Pull Request if changes exist
if: steps.changes.outputs.has_changes == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'chore(ua-blocker): update robots.json from upstream'
title: 'chore(ua-blocker): update robots.json from upstream'
body: 'This PR was automatically created after detecting changes in the upstream `robots.json` file.'
branch: 'chore/sync-robots-json'
delete-branch: true
# Assignee and labels
assignees: finxol
reviewers: finxol
labels: robots.json

View File

@ -0,0 +1,32 @@
name: ci-valibot-validator
on:
push:
branches: [main]
paths:
- 'packages/valibot-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/valibot-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/valibot-validator
- run: yarn workspace @hono/valibot-validator build
- run: yarn workspace @hono/valibot-validator publint
- run: yarn workspace @hono/valibot-validator typecheck
- run: yarn eslint packages/valibot-validator
- run: yarn test --coverage --project @hono/valibot-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: valibot-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-zod-openapi
on:
push:
branches: [main]
paths:
- 'packages/zod-openapi/**'
pull_request:
branches: ['*']
paths:
- 'packages/zod-openapi/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/zod-openapi
- run: yarn workspaces foreach --topological --recursive --from @hono/zod-openapi run build
- run: yarn workspace @hono/zod-openapi publint
- run: yarn workspace @hono/zod-openapi typecheck
- run: yarn eslint packages/zod-openapi
- run: yarn test --coverage --project @hono/zod-openapi
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: zod-openapi
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -0,0 +1,32 @@
name: ci-zod-validator
on:
push:
branches: [main]
paths:
- 'packages/zod-validator/**'
pull_request:
branches: ['*']
paths:
- 'packages/zod-validator/**'
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/zod-validator
- run: yarn workspace @hono/zod-validator build
- run: yarn workspace @hono/zod-validator publint
- run: yarn workspace @hono/zod-validator typecheck
- run: yarn eslint packages/zod-validator
- run: yarn test --coverage --project @hono/zod-validator
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
directory: ./coverage
flags: zod-validator
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -1,74 +0,0 @@
name: ci
on:
push:
branches: [main]
pull_request:
branches: ['*']
jobs:
what-changed:
runs-on: ubuntu-latest
outputs:
packages: ${{ steps.set-packages.outputs.packages }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Get changed packages
id: set-packages
run: |
exclude=(
"hono-middleware"
"@hono/bun-transpiler"
);
changed=$(yarn workspaces list --json --since | jq -nc '[inputs.name | select(any(.; inside($ARGS.positional[])) | not) | sub("@hono/"; "")]' --args "${exclude[@]}")
echo "packages=${changed}" >> $GITHUB_OUTPUT
build:
runs-on: ubuntu-latest
needs: [what-changed]
if: ${{ needs.what-changed.outputs.packages != '[]' }}
strategy:
matrix:
package: ${{ fromJSON(needs.what-changed.outputs.packages) }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/${{ matrix.package }}
- run: yarn workspaces foreach --topological --recursive --from @hono/${{ matrix.package }} run publint
- run: yarn workspace @hono/${{ matrix.package }} typecheck
- run: yarn eslint packages/${{ matrix.package }}
- run: yarn prettier --check . !packages packages/${{ matrix.package }}
test:
runs-on: ubuntu-latest
needs: [what-changed]
if: ${{ needs.what-changed.outputs.packages != '[]' }}
strategy:
matrix:
package: ${{ fromJSON(needs.what-changed.outputs.packages) }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn workspaces focus hono-middleware @hono/${{ matrix.package }}
- run: yarn workspaces foreach --topological --recursive --from @hono/${{ matrix.package }} run build
- run: yarn test --coverage --project @hono/${{ matrix.package }}
id: test
if: ${{ matrix.package != 'qwik-city' && matrix.package != 'react-compat' }}
- uses: codecov/codecov-action@v5
if: ${{ matrix.package != 'qwik-city' && matrix.package != 'react-compat' }}
with:
fail_ci_if_error: true
directory: ./coverage
flags: ${{ matrix.package }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

18
.github/workflows/codestyle.yml vendored 100644
View File

@ -0,0 +1,18 @@
name: codestyle
on:
push:
branches: [main]
pull_request:
branches: ['*']
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn
- run: yarn format
- run: yarn lint

7
.gitignore vendored
View File

@ -16,10 +16,3 @@ yarn-error.log
# for debug or playing
sandbox
*.log
# Claude Code local files
CLAUDE.local.md
settings.local.json
# Code editor
.zed

View File

@ -1,9 +0,0 @@
.changeset
.vscode
.yarn
# Casbin
*.conf
*.csv
**/generated.ts

893
.yarn/releases/yarn-4.0.2.cjs vendored 100755

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
nmHoistingLimits: workspaces
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-4.9.2.cjs
yarnPath: .yarn/releases/yarn-4.0.2.cjs
nmHoistingLimits: 'workspaces'

View File

@ -8,8 +8,8 @@
]
},
"scripts": {
"build": "yarn workspaces foreach --all --topological --parallel --verbose run build",
"publint": "yarn workspaces foreach --all --topological --parallel --verbose run publint",
"build": "yarn workspaces foreach --all --topological --verbose run build",
"publint": "yarn workspaces foreach --all --topological --verbose run publint",
"publish": "yarn workspaces foreach --all --no-private --topological --verbose npm publish --tolerate-republish && changeset tag",
"typecheck": "yarn tsc --build",
"typecheck:clean": "yarn tsc --build --clean",
@ -17,8 +17,8 @@
"test": "vitest",
"lint": "eslint 'packages/**/*.{ts,tsx}'",
"lint:fix": "eslint --fix 'packages/**/*.{ts,tsx}'",
"format": "prettier --check .",
"format:fix": "prettier --write ."
"format": "prettier --check 'packages/**/*.{ts,tsx}'",
"format:fix": "prettier --write 'packages/**/*.{ts,tsx}'"
},
"license": "MIT",
"private": true,
@ -38,11 +38,11 @@
"@types/ws": "^8.18.0",
"@vitest/coverage-istanbul": "^3.0.8",
"eslint": "^9.23.0",
"hono": "^4.7.11",
"hono": "^4.7.5",
"prettier": "^3.5.3",
"tsup": "^8.4.0",
"typescript": "^5.8.2",
"vitest": "^3.0.8"
},
"packageManager": "yarn@4.9.2"
"packageManager": "yarn@4.0.2"
}

View File

@ -44,7 +44,7 @@
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.4",
"ajv": "^8.12.0",
"ajv": ">=8.12.0",
"publint": "^0.3.9",
"tsup": "^8.4.0",
"typescript": "^5.8.2",

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/ajv-validator",
"outDir": "../../dist/out-tsc/packages/ajv-validator",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/arktype-validator",
"outDir": "../../dist/out-tsc/packages/arktype-validator",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,11 +1,5 @@
# @hono/auth-js
## 1.0.17
### Patch Changes
- [#1210](https://github.com/honojs/middleware/pull/1210) [`0758fd0af1f213131d0894299e5bec716d284580`](https://github.com/honojs/middleware/commit/0758fd0af1f213131d0894299e5bec716d284580) Thanks [@BarryThePenguin](https://github.com/BarryThePenguin)! - Add explicit return types
## 1.0.16
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@hono/auth-js",
"version": "1.0.17",
"version": "1.0.16",
"description": "A third-party Auth js middleware for Hono",
"main": "dist/index.js",
"type": "module",

View File

@ -134,7 +134,7 @@ export async function fetchData<T = any>(
}
}
export function useOnline(): boolean {
export function useOnline() {
const [isOnline, setIsOnline] = useState(
typeof navigator !== 'undefined' ? navigator.onLine : false
)
@ -157,19 +157,11 @@ export function useOnline(): boolean {
return isOnline
}
export function now(): number {
export function now() {
return Math.floor(Date.now() / 1000)
}
interface ParsedUrl {
origin: string
host: string
path: string
base: string
toString: () => string
}
export function parseUrl(url?: string): ParsedUrl {
export function parseUrl(url?: string) {
const defaultUrl = 'http://localhost:3000/api/auth'
const parsedUrl = new URL(url ? (url.startsWith('http') ? url : `https://${url}`) : defaultUrl)
const path = parsedUrl.pathname === '/' ? '/api/auth' : parsedUrl.pathname.replace(/\/$/, '')

View File

@ -31,12 +31,12 @@ export interface AuthConfig extends Omit<AuthConfigCore, 'raw'> {}
export type ConfigHandler = (c: Context) => AuthConfig
export function setEnvDefaults(env: AuthEnv, config: AuthConfig): void {
export function setEnvDefaults(env: AuthEnv, config: AuthConfig) {
config.secret ??= env.AUTH_SECRET
coreSetEnvDefaults(env, config)
}
export function reqWithEnvUrl(req: Request, authUrl?: string): Request {
export function reqWithEnvUrl(req: Request, authUrl?: string) {
if (authUrl) {
const reqUrlObj = new URL(req.url)
const authUrlObj = new URL(authUrl)

View File

@ -65,11 +65,9 @@ class AuthConfigManager {
}
}
export const authConfigManager: AuthConfigManager = AuthConfigManager.getInstance()
export const authConfigManager = AuthConfigManager.getInstance()
export const SessionContext: React.Context<SessionContextValue | undefined> = React.createContext<
SessionContextValue | undefined
>(undefined)
export const SessionContext = React.createContext<SessionContextValue | undefined>(undefined)
function useInitializeSession(hasInitialSession: boolean, initialSession: Session | null) {
const authConfig = authConfigManager.getConfig()
@ -150,7 +148,7 @@ function useRefetchInterval(
}, [refetchInterval, shouldRefetch])
}
export async function getSession(params?: GetSessionParams): Promise<Session | null> {
export async function getSession(params?: GetSessionParams) {
const { baseUrl, basePath, credentials } = authConfigManager.getConfig()
const session = await fetchData<Session>(
'session',
@ -165,7 +163,7 @@ export async function getSession(params?: GetSessionParams): Promise<Session | n
return session
}
export async function getCsrfToken(): Promise<string> {
export async function getCsrfToken() {
const { baseUrl, basePath, credentials } = authConfigManager.getConfig()
const response = await fetchData<{ csrfToken: string }>(
'csrf',
@ -179,7 +177,7 @@ export async function getCsrfToken(): Promise<string> {
return response?.csrfToken ?? ''
}
export function SessionProvider(props: SessionProviderProps): React.JSX.Element {
export function SessionProvider(props: SessionProviderProps) {
if (!SessionContext) {
throw new Error('React Context is unavailable in Server Components')
}
@ -276,7 +274,7 @@ export function useSession<R extends boolean>(
type ProvidersType = Record<LiteralUnion<BuiltInProviderType>, ClientSafeProvider>
export async function getProviders(): Promise<ProvidersType | null> {
export async function getProviders() {
return fetchData<ProvidersType>('providers', authConfigManager.getConfig(), logger)
}
@ -397,14 +395,10 @@ interface PopupLoginOptions extends Partial<Omit<WindowProps, 'url'>> {
callbackUrl?: string
}
interface LoginState extends AuthState {
popUpSignin: () => Promise<void>
}
export const useOauthPopupLogin = (
provider: Parameters<typeof signIn>[0],
options: PopupLoginOptions = {}
): LoginState => {
) => {
const { width = 500, height = 500, title = 'Signin', onSuccess, callbackUrl = '/' } = options
const [externalWindow, setExternalWindow] = useState<Window | null>()

View File

@ -1,7 +1,9 @@
{
"extends": "../../tsconfig.build.json",
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist",
"jsx": "react"
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,14 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/auth-js",
"outDir": "../../dist/out-tsc/packages/auth-js",
"noEmit": true,
"jsx": "react"
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,7 +1,20 @@
{
"extends": "../../tsconfig.build.json",
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"types": ["node", "bun"]
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false,
"types": [
"node",
"bun"
],
},
"include": [
"src/**/*.ts"
],
"exclude": [
"**/*.test.ts"
],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/hello",
"outDir": "../../dist/out-tsc/packages/hello",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,11 +1,5 @@
# @hono/bun-transpiler
## 0.2.1
### Patch Changes
- [#1193](https://github.com/honojs/middleware/pull/1193) [`1adca4c91822af8f68f4a134344cca93e0796ad0`](https://github.com/honojs/middleware/commit/1adca4c91822af8f68f4a134344cca93e0796ad0) Thanks [@BarryThePenguin](https://github.com/BarryThePenguin)! - Add explicit `MiddlewareHandler` return type
## 0.2.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@hono/bun-transpiler",
"version": "0.2.1",
"version": "0.2.0",
"description": "Bun Transpiler Middleware for Hono",
"type": "module",
"main": "dist/index.js",

View File

@ -1,5 +1,4 @@
import Bun from 'bun'
import type { MiddlewareHandler } from 'hono'
import { createMiddleware } from 'hono/factory'
type BunTranspilerOptions = {
@ -17,7 +16,7 @@ export const defaultOptions: Required<BunTranspilerOptions> = {
},
}
export const bunTranspiler = (options?: BunTranspilerOptions): MiddlewareHandler => {
export const bunTranspiler = (options?: BunTranspilerOptions) => {
return createMiddleware(async (c, next) => {
await next()
const url = new URL(c.req.url)

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/bun-transpiler",
"outDir": "../../dist/out-tsc/packages/bun-transpiler",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,5 +1,11 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["./src/**/*.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,9 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/casbin",
"outDir": "../../dist/out-tsc/packages/casbin",
"types": ["vitest/globals"]
},
"include": ["src", "vitest.config.ts", "vitest.setup.ts"],
"references": []
"include": ["**/*.test.ts", "vitest.config.ts", "vitest.setup.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/class-validator",
"outDir": "../../dist/out-tsc/packages/class-validator",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,19 +1,5 @@
# @hono/clerk-auth
## 3.0.0
### Major Changes
- [#1190](https://github.com/honojs/middleware/pull/1190) [`6ca78a14dad67d7920a7c70bbfdb752eeaaff9ad`](https://github.com/honojs/middleware/commit/6ca78a14dad67d7920a7c70bbfdb752eeaaff9ad) Thanks [@wobsoriano](https://github.com/wobsoriano)! - Move `@clerk/backend` from peerDependencies to dependencies and bump to `2.x.x`.
This change ensures the package is directly available without requiring consumers to install it separately. The version bump includes the upcoming machine authentication feature while maintaining backward compatibility.
## 2.0.1
### Patch Changes
- [#1194](https://github.com/honojs/middleware/pull/1194) [`683455895d35de50bd5c4cc60c0d764b99a8c8ec`](https://github.com/honojs/middleware/commit/683455895d35de50bd5c4cc60c0d764b99a8c8ec) Thanks [@BarryThePenguin](https://github.com/BarryThePenguin)! - Add explicit `MiddlewareHandler` return type
## 2.0.0
### Major Changes

View File

@ -9,7 +9,7 @@ This middleware can be used to inject the active Clerk session into the request
## Installation
```plain
npm i hono @hono/clerk-auth
npm i hono @hono/clerk-auth @clerk/backend
```
## Configuration

View File

@ -1,6 +1,6 @@
{
"name": "@hono/clerk-auth",
"version": "3.0.0",
"version": "2.0.0",
"description": "A third-party Clerk auth middleware for Hono",
"type": "module",
"main": "dist/index.cjs",
@ -39,15 +39,13 @@
"directory": "packages/clerk-auth"
},
"homepage": "https://github.com/honojs/middleware",
"dependencies": {
"@clerk/backend": "^2.1.0",
"@clerk/types": "^4.60.1"
},
"peerDependencies": {
"@clerk/backend": "^1.0.0",
"hono": ">=3.*"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.4",
"@clerk/backend": "^1.0.0",
"@types/react": "^18",
"publint": "^0.3.9",
"react": "^18.2.0",

View File

@ -1,20 +1,19 @@
import { createClerkClient } from '@clerk/backend'
import type { ClerkClient, SessionAuthObject } from '@clerk/backend'
import type { AuthenticateRequestOptions } from '@clerk/backend/internal'
import { TokenType } from '@clerk/backend/internal'
import type { ClerkClient, ClerkOptions } from '@clerk/backend'
import type { Context, MiddlewareHandler } from 'hono'
import { env } from 'hono/adapter'
type ClerkAuth = ReturnType<Awaited<ReturnType<ClerkClient['authenticateRequest']>>['toAuth']>
declare module 'hono' {
interface ContextVariableMap {
clerk: ClerkClient
clerkAuth: () => SessionAuthObject | null
clerkAuth: ClerkAuth
}
}
export const getAuth = (c: Context): SessionAuthObject | null => {
const authFn = c.get('clerkAuth')
return authFn()
export const getAuth = (c: Context) => {
return c.get('clerkAuth')
}
type ClerkEnv = {
@ -24,9 +23,7 @@ type ClerkEnv = {
CLERK_API_VERSION: string
}
type ClerkMiddlewareOptions = Omit<AuthenticateRequestOptions, 'acceptsToken'>
export const clerkMiddleware = (options?: ClerkMiddlewareOptions): MiddlewareHandler => {
export const clerkMiddleware = (options?: ClerkOptions): MiddlewareHandler => {
return async (c, next) => {
const clerkEnv = env<ClerkEnv>(c)
const { secretKey, publishableKey, apiUrl, apiVersion, ...rest } = options || {
@ -55,7 +52,6 @@ export const clerkMiddleware = (options?: ClerkMiddlewareOptions): MiddlewareHan
...rest,
secretKey,
publishableKey,
acceptsToken: TokenType.SessionToken,
})
if (requestState.headers) {
@ -70,8 +66,7 @@ export const clerkMiddleware = (options?: ClerkMiddlewareOptions): MiddlewareHan
}
}
// Options will be added soon
c.set('clerkAuth', () => requestState.toAuth())
c.set('clerkAuth', requestState.toAuth())
c.set('clerk', clerkClient)
await next()

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/clerk-auth",
"outDir": "../../dist/out-tsc/packages/clerk-auth",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,11 +1,5 @@
# @hono/cloudflare-access
## 0.3.1
### Patch Changes
- [#1195](https://github.com/honojs/middleware/pull/1195) [`b6f3bc674ba8987e32c0207290fc1230ace4d82b`](https://github.com/honojs/middleware/commit/b6f3bc674ba8987e32c0207290fc1230ace4d82b) Thanks [@BarryThePenguin](https://github.com/BarryThePenguin)! - Add explicit `MiddlewareHandler` return type
## 0.3.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@hono/cloudflare-access",
"version": "0.3.1",
"version": "0.3.0",
"description": "A third-party Cloudflare Access auth middleware for Hono",
"type": "module",
"module": "dist/index.js",

View File

@ -1,4 +1,4 @@
import type { Context, MiddlewareHandler } from 'hono'
import type { Context } from 'hono'
import { getCookie } from 'hono/cookie'
import { createMiddleware } from 'hono/factory'
import { HTTPException } from 'hono/http-exception'
@ -33,7 +33,7 @@ declare module 'hono' {
}
}
export const cloudflareAccess = (accessTeamName: string): MiddlewareHandler => {
export const cloudflareAccess = (accessTeamName: string) => {
// This var will hold already imported jwt keys, this reduces the load of importing the key on every request
let cacheKeys: Record<string, CryptoKey> = {}
let cacheExpiration = 0

View File

@ -1,7 +1,13 @@
{
"extends": "../../tsconfig.build.json",
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false,
"types": ["@cloudflare/workers-types"]
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/cloudflare-access",
"types": ["@cloudflare/workers-types", "vitest/globals"]
"outDir": "../../dist/out-tsc/packages/cloudflare-access",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/conform-validator",
"outDir": "../../dist/out-tsc/packages/conform-validator",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

View File

@ -1,4 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"files": [],
"include": [],
"references": [

View File

@ -1,8 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/packages/effect-validator",
"outDir": "../../dist/out-tsc/packages/effect-validator",
"types": ["vitest/globals"]
},
"references": []
"include": ["**/*.test.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"
}
]
}

View File

@ -1,11 +1,5 @@
# @hono/esbuild-transpiler
## 0.1.4
### Patch Changes
- [#1196](https://github.com/honojs/middleware/pull/1196) [`3a9920a258dbe7ae5fa578f1d7ba8c2e252c60d8`](https://github.com/honojs/middleware/commit/3a9920a258dbe7ae5fa578f1d7ba8c2e252c60d8) Thanks [@BarryThePenguin](https://github.com/BarryThePenguin)! - Add explicit `MiddlewareHandler` return type
## 0.1.3
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@hono/esbuild-transpiler",
"version": "0.1.4",
"version": "0.1.3",
"description": "esbuild Transpiler Middleware for Hono",
"type": "module",
"module": "dist/index.js",

View File

@ -1,4 +1,3 @@
import type { MiddlewareHandler } from 'hono'
import { createMiddleware } from 'hono/factory'
import type { transform, initialize } from './types.esbuild'
@ -17,7 +16,7 @@ export type EsbuildTranspilerOptions = {
transformOptions?: TransformOptions
}
export const esbuildTranspiler = (options?: EsbuildTranspilerOptions): MiddlewareHandler => {
export const esbuildTranspiler = (options?: EsbuildTranspilerOptions) => {
const esbuild: EsbuildLike | undefined = options?.esbuild
return createMiddleware(async (c, next) => {

View File

@ -1,12 +1,9 @@
import * as esbuild from 'esbuild'
import type { MiddlewareHandler } from 'hono'
import { createMiddleware } from 'hono/factory'
import { esbuildTranspiler as baseTranspiler } from '../transpiler'
import type { EsbuildTranspilerOptions } from '../transpiler'
const transpiler = (
options?: Partial<Omit<EsbuildTranspilerOptions, 'esbuild'>>
): MiddlewareHandler => {
const transpiler = (options?: Partial<Omit<EsbuildTranspilerOptions, 'esbuild'>>) => {
return createMiddleware(async (c, next) => {
return await baseTranspiler({
esbuild,

View File

@ -1,5 +1,4 @@
import * as esbuild from 'esbuild-wasm'
import type { MiddlewareHandler } from 'hono'
import { createMiddleware } from 'hono/factory'
import { esbuildTranspiler as baseTranspiler } from '../transpiler'
import type { EsbuildTranspilerOptions } from '../transpiler'
@ -11,7 +10,7 @@ const transpiler = (
wasmModule?: WebAssembly.Module
wasmURL?: string | URL
}
): MiddlewareHandler => {
) => {
return createMiddleware(async (c, next) => {
if (!initialized) {
if (options.wasmModule) {

View File

@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.build.json",
"compilerOptions": {},
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false
},
"include": ["src/**/*.ts"],
"exclude": ["**/*.test.ts"],
"references": []
}

Some files were not shown because too many files have changed in this diff Show More