ci: run workspace scripts (#1015)

* ci: run workspace scripts

* ci: remove run option

* ci: remvoe default working directory

* test(firebase-auth): start emulator in vitest
pull/1017/head
Jonathan Haines 2025-03-18 01:38:56 +11:00 committed by Tim Barley
parent 5ffb59fb53
commit 990c8a5047
44 changed files with 228 additions and 708 deletions

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/ajv-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/ajv-validator
- run: yarn workspace @hono/ajv-validator build
- run: yarn test --project @hono/ajv-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/arktype-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/arktype-validator
- run: yarn workspace @hono/arktype-validator build
- run: yarn test --project @hono/arktype-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/auth-js
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/auth-js
- run: yarn workspace @hono/auth-js build
- run: yarn test --project @hono/auth-js

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/bun-transpiler
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
with:
bun-version: 1.1.32
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/bun-transpiler
- run: yarn workspace @hono/bun-transpiler build
- run: yarn workspace @hono/bun-transpiler test

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/cabin
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/ci-cabin
- run: yarn workspace @hono/ci-cabin build
- run: yarn test --project @hono/ci-cabin

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/class-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/class-validator
- run: yarn workspace @hono/class-validator build
- run: yarn test --project @hono/class-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/clerk-auth
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/clerk-auth
- run: yarn workspace @hono/clerk-auth build
- run: yarn test --project @hono/clerk-auth

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/cloudflare-access
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/cloudflare-access
- run: yarn workspace @hono/cloudflare-access build
- run: yarn test --project @hono/cloudflare-access

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/conform-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/conform-validator
- run: yarn workspace @hono/conform-validator build
- run: yarn test --project @hono/conform-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/effect-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/effect-validator
- run: yarn workspace @hono/effect-validator build
- run: yarn test --project @hono/effect-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/esbuild-transpiler
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/esbuild-transpiler
- run: yarn workspace @hono/esbuild-transpiler build
- run: yarn test --project @hono/esbuild-transpiler

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/event-emitter
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/event-emitter
- run: yarn workspace @hono/event-emitter build
- run: yarn test --project @hono/event-emitter

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/firebase-auth
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test-with-emulator
- run: yarn workspaces focus hono-middleware @hono/firebase-auth
- run: yarn workspace @hono/firebase-auth build
- run: yarn test --project @hono/firebase-auth

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/graphql-server
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/graphql-server
- run: yarn workspace @hono/graphql-server build
- run: yarn test --project @hono/graphql-server

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/hello
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/hello
- run: yarn workspace @hono/hello build
- run: yarn test --project @hono/hello

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/medley-router
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/medley-router
- run: yarn workspace @hono/medley-router build
- run: yarn test --project @hono/medley-router

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/node-ws
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/node-ws
- run: yarn workspace @hono/node-ws build
- run: yarn test --project @hono/node-ws

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/oauth-providers
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/oauth-providers
- run: yarn workspace @hono/oauth-providers build
- run: yarn test --project @hono/oauth-providers

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/oidc-auth
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/oidc-auth
- run: yarn workspace @hono/oidc-auth build
- run: yarn test --project @hono/oidc-auth

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/otel
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/otel
- run: yarn workspace @hono/otel build
- run: yarn test --project @hono/otel

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/prometheus
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/prometheus
- run: yarn workspace @hono/prometheus build
- run: yarn test --project @hono/prometheus

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/react-renderer
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/react-renderer
- run: yarn workspace @hono/react-renderer build
- run: yarn test --project @hono/react-renderer

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/sentry
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/sentry
- run: yarn workspace @hono/sentry build
- run: yarn test --project @hono/sentry

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/standard-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/standard-validator
- run: yarn workspace @hono/standard-validator build
- run: yarn test --project @hono/standard-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/swagger-editor
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/swagger-editor
- run: yarn workspace @hono/swagger-editor build
- run: yarn test --project @hono/swagger-editor

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/swagger-ui
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/swagger-ui
- run: yarn workspace @hono/swagger-ui build
- run: yarn test --project @hono/swagger-ui

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/trpc-server
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/trpc-server
- run: yarn workspace @hono/trpc-server build
- run: yarn test --project @hono/trpc-server

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/tsyringe
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/tsyringe
- run: yarn workspace @hono/tsyringe build
- run: yarn test --project @hono/tsyringe

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/typebox-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/typebox-validator
- run: yarn workspace @hono/typebox-validator build
- run: yarn test --project @hono/typebox-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/typia-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/typia-validator
- run: yarn workspace @hono/typia-validator build
- run: yarn test --project @hono/typia-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/valibot-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/valibot-validator
- run: yarn workspace @hono/valibot-validator build
- run: yarn test --project @hono/valibot-validator

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/zod-openapi
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/zod-openapi
- run: yarn workspace @hono/zod-openapi build
- run: yarn test --project @hono/zod-openapi

View File

@ -12,14 +12,11 @@ on:
jobs:
ci:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/zod-validator
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: yarn workspaces focus hono-middleware @hono/zod-validator
- run: yarn workspace @hono/zod-validator build
- run: yarn test --project @hono/zod-validator

View File

@ -43,7 +43,8 @@
"build:cloudflare-access": "yarn workspace @hono/cloudflare-access build",
"build:standard-validator": "yarn workspace @hono/standard-validator build",
"build:otel": "yarn workspace @hono/otel build",
"build": "run-p 'build:*'",
"build": "yarn workspaces foreach -Aptv run build",
"test": "vitest",
"lint": "eslint 'packages/**/*.{ts,tsx}'",
"lint:fix": "eslint --fix 'packages/**/*.{ts,tsx}'",
"format": "prettier --check 'packages/**/*.{ts,tsx}'",
@ -58,7 +59,9 @@
"devDependencies": {
"@changesets/changelog-github": "^0.4.8",
"@changesets/cli": "^2.26.0",
"@cloudflare/vitest-pool-workers": "^0.7.8",
"@cloudflare/workers-types": "^4.20230307.0",
"@ryoppippi/unplugin-typia": "^1.2.0",
"@types/node": "^20.14.8",
"@typescript-eslint/eslint-plugin": "^8.7.0",
"@typescript-eslint/parser": "^8.7.0",

View File

@ -44,6 +44,7 @@
"ajv": ">=8.12.0",
"hono": "^4.4.12",
"tsup": "^8.1.0",
"typescript": "^5.8.2",
"vitest": "^3.0.8"
}
}
}

View File

@ -48,6 +48,7 @@
"node-fetch-native": "^1.4.0",
"react": "^18.2.0",
"tsup": "^8.0.1",
"typescript": "^5.8.2",
"vitest": "^3.0.8"
},
"engines": {

View File

@ -0,0 +1,22 @@
declare module 'firebase-tools' {
const client: {
emulators: {
start(options: {
cwd: string
nonInteractive: boolean
project: string
projectDir: string
}): Promise<void>
}
}
export = client
}
declare module 'firebase-tools/lib/emulator/controller' {
const controller: {
cleanShutdown(): Promise<void>
}
export = controller
}

View File

@ -1,7 +1,29 @@
import type { Plugin } from 'vitest/config'
import { defineProject } from 'vitest/config'
const firebasePlugin = {
name: 'firebase',
async configureServer(server) {
const { default: client } = await import('firebase-tools')
void client.emulators.start({
cwd: server.config.root,
nonInteractive: true,
project: 'example-project12345',
projectDir: server.config.root,
})
},
async buildEnd() {
const { default: controller } = await import('firebase-tools/lib/emulator/controller')
await controller.cleanShutdown()
},
} satisfies Plugin
export default defineProject({
test: {
globals: true,
},
plugins: [firebasePlugin],
})

View File

@ -48,6 +48,6 @@
"@opentelemetry/sdk-trace-node": "^1.30.0",
"hono": "^4.4.12",
"tsup": "^8.1.0",
"vitest": "^1.6.0"
"vitest": "^3.0.8"
}
}

View File

@ -1,7 +1,6 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config'
import { defineProject } from 'vitest/config'
export default defineConfig({
export default defineProject({
test: {
globals: true,
},

View File

@ -35,7 +35,6 @@
"hono": "*"
},
"devDependencies": {
"@cloudflare/vitest-pool-workers": "^0.7.6",
"@types/react": "^18",
"@types/react-dom": "^18.2.17",
"esbuild": "^0.20.2",
@ -43,6 +42,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tsup": "^8.0.1",
"typescript": "^5.8.2",
"vitest": "^3.0.8"
},
"engines": {

View File

@ -45,7 +45,6 @@
"hono": "^3.11.7",
"publint": "^0.2.2",
"tsup": "^7.2.0",
"vite": "^4.4.9",
"vitest": "^3.0.8"
}
}

View File

@ -46,7 +46,6 @@
"typia": "^7.0.0"
},
"devDependencies": {
"@ryoppippi/unplugin-typia": "^1.2.0",
"hono": "^3.11.7",
"rimraf": "^5.0.5",
"typescript": "^5.4.0",

575
yarn.lock

File diff suppressed because it is too large Load Diff