From fe4b2c42969a845f07bde269a6e621a907dcceda Mon Sep 17 00:00:00 2001 From: sushi-chaaaan Date: Tue, 23 Apr 2024 16:33:23 +0900 Subject: [PATCH 1/3] feat: add cloudflare workers preset --- packages/tsconfig/README.md | 31 ++++++++++++++++++----- packages/tsconfig/cloudflare-workers.json | 12 +++++++++ packages/tsconfig/package.json | 8 ++++++ 3 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 packages/tsconfig/cloudflare-workers.json diff --git a/packages/tsconfig/README.md b/packages/tsconfig/README.md index c5732709..dc2e1c4f 100644 --- a/packages/tsconfig/README.md +++ b/packages/tsconfig/README.md @@ -9,7 +9,8 @@ TypeScript configuration for Virtual Live Lab. - `astro`: Configuration for Astro. - `base`: Basic configuration. -- `hono`: Configuration for Hono. +- `cloudflare-workers`: Configuration for Cloudflare Workers. +- `hono`: Configuration for Hono. Automatically extends `cloudflare-workers`. - `library`: Configuration for library. - `nextjs`: Configuration for Next.js. - `react`: Configuration for React. @@ -22,10 +23,10 @@ TypeScript configuration for Virtual Live Lab. ## Installation ```bash -npm install @virtual-live-lab/tsconfig --save-dev +npm install typescript @virtual-live-lab/tsconfig --save-dev ``` -### Use presets except Astro +### Use Normal presets ```json // tsconfig.json @@ -38,11 +39,11 @@ npm install @virtual-live-lab/tsconfig --save-dev ### Use Astro preset +> [!TIP] +> TypeScript Plugin is required to worker properly outside of VSCode. + ```bash -npm install prettier \ - @virtual-live-lab/tsconfig \ - typescript \ - @astrojs/ts-plugin \ +npm install @astrojs/ts-plugin \ --save-dev ``` @@ -55,6 +56,22 @@ npm install prettier \ } ``` +### Use Cloudflare Workers preset + +```bash +npm install @cloudflare/workers-types \ + --save-dev +``` + +```json +// tsconfig.json +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@virtual-live-lab/tsconfig/cloudflare-workers", + // your configuration +} +``` + ## License [MIT](https://choosealicense.com/licenses/mit/) diff --git a/packages/tsconfig/cloudflare-workers.json b/packages/tsconfig/cloudflare-workers.json new file mode 100644 index 00000000..3646c280 --- /dev/null +++ b/packages/tsconfig/cloudflare-workers.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Cloudflare Workers", + "extends": "./base.json", + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "lib": ["ESNext"], + "types": ["@cloudflare/workers-types"] + } +} diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index f24e076c..cc55e4c9 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -5,6 +5,14 @@ "files": [ "*.json" ], + "peerDependencies": { + "@cloudflare/workers-types": "^4.20240419.0" + }, + "peerDependenciesMeta": { + "@cloudflare/workers-types": { + "optional": true + } + }, "devDependencies": { "@cloudflare/workers-types": "^4.20240419.0" }, From 5f16294b5e3a09fc89ea45f39982b19879ab79f6 Mon Sep 17 00:00:00 2001 From: sushi-chaaaan Date: Tue, 23 Apr 2024 16:33:44 +0900 Subject: [PATCH 2/3] refactor: extend `cloudflare-workers` preset in hono --- packages/tsconfig/hono.json | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/tsconfig/hono.json b/packages/tsconfig/hono.json index 130a8d51..1c5b779d 100644 --- a/packages/tsconfig/hono.json +++ b/packages/tsconfig/hono.json @@ -1,14 +1,9 @@ { "$schema": "https://json.schemastore.org/tsconfig", "display": "Hono", - "extends": "./base.json", + "extends": "./cloudflare-workers.json", "compilerOptions": { - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "Bundler", "jsx": "react-jsx", - "jsxImportSource": "hono/jsx", - "lib": ["ESNext"], - "types": ["@cloudflare/workers-types"] + "jsxImportSource": "hono/jsx" } } From 9110bdf01eda70937c73271517b02c9c78c6a9fc Mon Sep 17 00:00:00 2001 From: sushi-chaaaan Date: Tue, 23 Apr 2024 16:34:12 +0900 Subject: [PATCH 3/3] chore: changeset --- .changeset/metal-berries-boil.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/metal-berries-boil.md diff --git a/.changeset/metal-berries-boil.md b/.changeset/metal-berries-boil.md new file mode 100644 index 00000000..e7486971 --- /dev/null +++ b/.changeset/metal-berries-boil.md @@ -0,0 +1,5 @@ +--- +"@virtual-live-lab/tsconfig": patch +--- + +Add Cloudflare Workers preset