refactor: composite build (#1230)

* refactor: composite build

* chore(ua-blocker): move demo.ts out of src
pull/1233/head
Jonathan Haines 2025-06-16 12:23:47 +10:00 committed by GitHub
parent 40f916f944
commit 9235709060
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
85 changed files with 91 additions and 94 deletions

View File

@ -41,8 +41,7 @@ jobs:
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 workspace @hono/${{ matrix.package }} publint
- 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 }}

View File

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

View File

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

View File

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

View File

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

View File

@ -1,10 +1,11 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"composite": true,
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false,
"emitDeclarationOnly": true,
"isolatedDeclarations": true,
"jsx": "react"
},

View File

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

View File

@ -2,7 +2,6 @@
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc/packages/auth-js",
"noEmit": true,
"jsx": "react"
},
"include": ["**/*.test.ts", "vitest.config.ts"],

View File

@ -1,10 +1,11 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"composite": true,
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false,
"emitDeclarationOnly": true,
"isolatedDeclarations": true,
"types": ["node", "bun"]
},

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,10 +1,11 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"composite": true,
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false,
"emitDeclarationOnly": true,
"isolatedDeclarations": true,
"types": ["@cloudflare/workers-types"]
},

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,9 +2,9 @@
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc/packages/firebase-auth",
"noEmit": true
"types": ["@cloudflare/workers-types"]
},
"include": ["**/*.test.ts", "vitest.config.ts"],
"include": ["**/*.test.ts", "firebase-tools.d.ts", "vitest.config.ts"],
"references": [
{
"path": "./tsconfig.build.json"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,10 +1,11 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"composite": true,
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.build.tsbuildinfo",
"emitDeclarationOnly": false,
"emitDeclarationOnly": true,
"isolatedDeclarations": true,
"types": ["node", "ws"]
},

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
import { uaBlocker } from '@hono/ua-blocker'
import { nonRespectingAiBots, useAiRobotsTxt } from '@hono/ua-blocker/ai-bots'
import { Hono } from 'hono'
import { uaBlocker } from '../src'
import { nonRespectingAiBots, useAiRobotsTxt } from '../src/ai-bots'
const app = new Hono()

View File

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

View File

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

View File

@ -1,7 +1,6 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.script.tsbuildinfo",
"allowImportingTsExtensions": true,
"noEmit": true,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,15 +2,14 @@
"compilerOptions": {
"target": "ES2022",
"module": "esnext",
"composite": true,
"declaration": true,
"declarationMap": true,
"moduleResolution": "bundler",
"esModuleInterop": true,
"emitDeclarationOnly": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"noEmitOnError": true,
"strict": true,
"skipLibCheck": true,
"noUnusedLocals": false,

View File

@ -1,5 +1,4 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"noEmit": true
},

View File

@ -1,7 +1,6 @@
{
"extends": "./tsconfig.json",
"extends": "./tsconfig.base.json",
"compilerOptions": {
"composite": false,
"jsx": "react",
"types": ["@cloudflare/workers-types", "node", "ws"]
}