From c82c8b1fe8c073d8afc280ff294cedbf35fb3192 Mon Sep 17 00:00:00 2001 From: Jacob Marshall Date: Fri, 21 Feb 2025 17:34:22 +0000 Subject: [PATCH 1/5] bring code from #581 --- examples/tuono-app/.gitignore | 3 +++ examples/tuono-tutorial/.gitignore | 3 +++ examples/with-mdx/.gitignore | 3 +++ examples/with-tailwind/.gitignore | 3 +++ packages/tuono/src/build/constants.ts | 1 + packages/tuono/src/build/index.ts | 2 ++ 6 files changed, 15 insertions(+) diff --git a/examples/tuono-app/.gitignore b/examples/tuono-app/.gitignore index 071acad0..d3d4458f 100644 --- a/examples/tuono-app/.gitignore +++ b/examples/tuono-app/.gitignore @@ -11,3 +11,6 @@ node_modules .tuono out target + +# Ignore local env files +*.local diff --git a/examples/tuono-tutorial/.gitignore b/examples/tuono-tutorial/.gitignore index 071acad0..d3d4458f 100644 --- a/examples/tuono-tutorial/.gitignore +++ b/examples/tuono-tutorial/.gitignore @@ -11,3 +11,6 @@ node_modules .tuono out target + +# Ignore local env files +*.local diff --git a/examples/with-mdx/.gitignore b/examples/with-mdx/.gitignore index 071acad0..d3d4458f 100644 --- a/examples/with-mdx/.gitignore +++ b/examples/with-mdx/.gitignore @@ -11,3 +11,6 @@ node_modules .tuono out target + +# Ignore local env files +*.local diff --git a/examples/with-tailwind/.gitignore b/examples/with-tailwind/.gitignore index 071acad0..d3d4458f 100644 --- a/examples/with-tailwind/.gitignore +++ b/examples/with-tailwind/.gitignore @@ -11,3 +11,6 @@ node_modules .tuono out target + +# Ignore local env files +*.local diff --git a/packages/tuono/src/build/constants.ts b/packages/tuono/src/build/constants.ts index c298bebd..da24c614 100644 --- a/packages/tuono/src/build/constants.ts +++ b/packages/tuono/src/build/constants.ts @@ -2,3 +2,4 @@ export const DOT_TUONO_FOLDER_NAME = '.tuono' export const CONFIG_FOLDER_NAME = 'config' export const CONFIG_FILE_NAME = 'config.mjs' export const SERVER_CONFIG_NAME = 'config.json' +export const ENV_PREFIX = 'TUONO_PUBLIC_' diff --git a/packages/tuono/src/build/index.ts b/packages/tuono/src/build/index.ts index 44188174..25b0db7e 100644 --- a/packages/tuono/src/build/index.ts +++ b/packages/tuono/src/build/index.ts @@ -8,6 +8,7 @@ import type { TuonoConfig } from '../config' import { blockingAsync } from './utils' import { createJsonConfig, loadConfig } from './config' +import { ENV_PREFIX } from './constants' const VITE_SSR_PLUGINS: Array = [ { @@ -45,6 +46,7 @@ function createBaseViteConfigFromTuonoConfig( publicDir: '../public', cacheDir: 'cache', envDir: '../', + envPrefix: ENV_PREFIX, resolve: { alias: tuonoConfig.vite?.alias ?? {}, From 0556a542365f0e462675532cdc867654d64633b1 Mon Sep 17 00:00:00 2001 From: Jacob Marshall Date: Fri, 21 Feb 2025 23:34:07 +0000 Subject: [PATCH 2/5] fix typing for vite --- examples/tuono-app/tsconfig.json | 5 ++++- examples/tuono-tutorial/tsconfig.json | 5 ++++- examples/with-mdx/tsconfig.json | 5 ++++- examples/with-tailwind/tsconfig.json | 5 ++++- packages/tuono/client.d.ts | 1 + packages/tuono/package.json | 3 +++ 6 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 packages/tuono/client.d.ts diff --git a/examples/tuono-app/tsconfig.json b/examples/tuono-app/tsconfig.json index 39d76807..453bc2f3 100644 --- a/examples/tuono-app/tsconfig.json +++ b/examples/tuono-app/tsconfig.json @@ -18,7 +18,10 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + + /* Include tuono types */ + "types": ["tuono/client"] }, "include": ["src", "tuono.config.ts"] } diff --git a/examples/tuono-tutorial/tsconfig.json b/examples/tuono-tutorial/tsconfig.json index 476f2fde..3ff4a194 100644 --- a/examples/tuono-tutorial/tsconfig.json +++ b/examples/tuono-tutorial/tsconfig.json @@ -24,7 +24,10 @@ "noFallthroughCasesInSwitch": true, // Completeness - "skipLibCheck": true + "skipLibCheck": true, + + /* Include tuono types */ + "types": ["tuono/client"] }, "include": ["src", "tuono.config.ts"] } diff --git a/examples/with-mdx/tsconfig.json b/examples/with-mdx/tsconfig.json index 39d76807..453bc2f3 100644 --- a/examples/with-mdx/tsconfig.json +++ b/examples/with-mdx/tsconfig.json @@ -18,7 +18,10 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + + /* Include tuono types */ + "types": ["tuono/client"] }, "include": ["src", "tuono.config.ts"] } diff --git a/examples/with-tailwind/tsconfig.json b/examples/with-tailwind/tsconfig.json index 39d76807..453bc2f3 100644 --- a/examples/with-tailwind/tsconfig.json +++ b/examples/with-tailwind/tsconfig.json @@ -18,7 +18,10 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + + /* Include tuono types */ + "types": ["tuono/client"] }, "include": ["src", "tuono.config.ts"] } diff --git a/packages/tuono/client.d.ts b/packages/tuono/client.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/packages/tuono/client.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/tuono/package.json b/packages/tuono/package.json index 7a0197c2..5245f3a0 100644 --- a/packages/tuono/package.json +++ b/packages/tuono/package.json @@ -27,6 +27,9 @@ "types": "./dist/esm/build/index.d.ts", "default": "./dist/esm/build/index.js" }, + "./client": { + "types": "./client.d.ts" + }, "./config": { "types": "./dist/esm/config/index.d.ts", "default": "./dist/esm/config/index.js" From 2032b85468b531d24c0db9ade6739b114d02cf14 Mon Sep 17 00:00:00 2001 From: Jacob Marshall Date: Sat, 22 Feb 2025 18:09:28 +0000 Subject: [PATCH 3/5] suggestions --- examples/tuono-app/tsconfig.json | 6 ++---- examples/tuono-tutorial/src/css-modules.d.ts | 4 ---- examples/tuono-tutorial/tsconfig.json | 6 ++---- examples/with-mdx/tsconfig.json | 6 ++---- examples/with-tailwind/tsconfig.json | 6 ++---- 5 files changed, 8 insertions(+), 20 deletions(-) delete mode 100644 examples/tuono-tutorial/src/css-modules.d.ts diff --git a/examples/tuono-app/tsconfig.json b/examples/tuono-app/tsconfig.json index 453bc2f3..1b40c358 100644 --- a/examples/tuono-app/tsconfig.json +++ b/examples/tuono-app/tsconfig.json @@ -5,6 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, + "types": ["tuono/client"], /* Bundler mode */ "moduleResolution": "bundler", @@ -18,10 +19,7 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - - /* Include tuono types */ - "types": ["tuono/client"] + "noFallthroughCasesInSwitch": true }, "include": ["src", "tuono.config.ts"] } diff --git a/examples/tuono-tutorial/src/css-modules.d.ts b/examples/tuono-tutorial/src/css-modules.d.ts deleted file mode 100644 index 8811db12..00000000 --- a/examples/tuono-tutorial/src/css-modules.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module '*.module.css' { - const classes: Record - export default classes -} diff --git a/examples/tuono-tutorial/tsconfig.json b/examples/tuono-tutorial/tsconfig.json index 3ff4a194..a27ce4d9 100644 --- a/examples/tuono-tutorial/tsconfig.json +++ b/examples/tuono-tutorial/tsconfig.json @@ -5,6 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "jsx": "react-jsx", "useDefineForClassFields": true, + "types": ["tuono/client"], // Modules "module": "ESNext", @@ -24,10 +25,7 @@ "noFallthroughCasesInSwitch": true, // Completeness - "skipLibCheck": true, - - /* Include tuono types */ - "types": ["tuono/client"] + "skipLibCheck": true }, "include": ["src", "tuono.config.ts"] } diff --git a/examples/with-mdx/tsconfig.json b/examples/with-mdx/tsconfig.json index 453bc2f3..1b40c358 100644 --- a/examples/with-mdx/tsconfig.json +++ b/examples/with-mdx/tsconfig.json @@ -5,6 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, + "types": ["tuono/client"], /* Bundler mode */ "moduleResolution": "bundler", @@ -18,10 +19,7 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - - /* Include tuono types */ - "types": ["tuono/client"] + "noFallthroughCasesInSwitch": true }, "include": ["src", "tuono.config.ts"] } diff --git a/examples/with-tailwind/tsconfig.json b/examples/with-tailwind/tsconfig.json index 453bc2f3..1b40c358 100644 --- a/examples/with-tailwind/tsconfig.json +++ b/examples/with-tailwind/tsconfig.json @@ -5,6 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, + "types": ["tuono/client"], /* Bundler mode */ "moduleResolution": "bundler", @@ -18,10 +19,7 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - - /* Include tuono types */ - "types": ["tuono/client"] + "noFallthroughCasesInSwitch": true }, "include": ["src", "tuono.config.ts"] } From 0bf7621bf0333a075bf7cd458e1544ea189c476e Mon Sep 17 00:00:00 2001 From: Jacob Marshall Date: Sat, 22 Feb 2025 18:49:47 +0000 Subject: [PATCH 4/5] add typing to build step --- packages/tuono/client.d.ts | 1 - packages/tuono/package.json | 2 +- packages/tuono/src/client-types/index.ts | 1 + packages/tuono/vite.config.ts | 1 + 4 files changed, 3 insertions(+), 2 deletions(-) delete mode 100644 packages/tuono/client.d.ts create mode 100644 packages/tuono/src/client-types/index.ts diff --git a/packages/tuono/client.d.ts b/packages/tuono/client.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/packages/tuono/client.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/tuono/package.json b/packages/tuono/package.json index 5245f3a0..ae7b37a8 100644 --- a/packages/tuono/package.json +++ b/packages/tuono/package.json @@ -28,7 +28,7 @@ "default": "./dist/esm/build/index.js" }, "./client": { - "types": "./client.d.ts" + "types": "./dist/esm/client-types/index.d.ts" }, "./config": { "types": "./dist/esm/config/index.d.ts", diff --git a/packages/tuono/src/client-types/index.ts b/packages/tuono/src/client-types/index.ts new file mode 100644 index 00000000..5597b4fb --- /dev/null +++ b/packages/tuono/src/client-types/index.ts @@ -0,0 +1 @@ +import 'vite/client' diff --git a/packages/tuono/vite.config.ts b/packages/tuono/vite.config.ts index d131d7ee..aceb0229 100644 --- a/packages/tuono/vite.config.ts +++ b/packages/tuono/vite.config.ts @@ -13,6 +13,7 @@ export default mergeConfig( './src/index.ts', './src/build/index.ts', './src/config/index.ts', + './src/client-types/index.ts', './src/ssr/index.ts', './src/hydration/index.tsx', ], From 55f7dbdd4e3538e689b356dcd30ee5aa2b31fd72 Mon Sep 17 00:00:00 2001 From: Jacob Marshall Date: Sun, 23 Feb 2025 11:17:45 +0000 Subject: [PATCH 5/5] rename to build-client --- examples/tuono-app/tsconfig.json | 2 +- examples/tuono-tutorial/tsconfig.json | 2 +- examples/with-mdx/tsconfig.json | 2 +- examples/with-tailwind/tsconfig.json | 2 +- packages/tuono/package.json | 4 ++-- packages/tuono/src/{client-types => build-client}/index.ts | 0 packages/tuono/vite.config.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) rename packages/tuono/src/{client-types => build-client}/index.ts (100%) diff --git a/examples/tuono-app/tsconfig.json b/examples/tuono-app/tsconfig.json index 1b40c358..e1bbce25 100644 --- a/examples/tuono-app/tsconfig.json +++ b/examples/tuono-app/tsconfig.json @@ -5,7 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, - "types": ["tuono/client"], + "types": ["tuono/build-client"], /* Bundler mode */ "moduleResolution": "bundler", diff --git a/examples/tuono-tutorial/tsconfig.json b/examples/tuono-tutorial/tsconfig.json index a27ce4d9..0a483ca5 100644 --- a/examples/tuono-tutorial/tsconfig.json +++ b/examples/tuono-tutorial/tsconfig.json @@ -5,7 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "jsx": "react-jsx", "useDefineForClassFields": true, - "types": ["tuono/client"], + "types": ["tuono/build-client"], // Modules "module": "ESNext", diff --git a/examples/with-mdx/tsconfig.json b/examples/with-mdx/tsconfig.json index 1b40c358..e1bbce25 100644 --- a/examples/with-mdx/tsconfig.json +++ b/examples/with-mdx/tsconfig.json @@ -5,7 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, - "types": ["tuono/client"], + "types": ["tuono/build-client"], /* Bundler mode */ "moduleResolution": "bundler", diff --git a/examples/with-tailwind/tsconfig.json b/examples/with-tailwind/tsconfig.json index 1b40c358..e1bbce25 100644 --- a/examples/with-tailwind/tsconfig.json +++ b/examples/with-tailwind/tsconfig.json @@ -5,7 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, - "types": ["tuono/client"], + "types": ["tuono/build-client"], /* Bundler mode */ "moduleResolution": "bundler", diff --git a/packages/tuono/package.json b/packages/tuono/package.json index 8dbfc5fd..6a128bea 100644 --- a/packages/tuono/package.json +++ b/packages/tuono/package.json @@ -27,8 +27,8 @@ "types": "./dist/esm/build/index.d.ts", "default": "./dist/esm/build/index.js" }, - "./client": { - "types": "./dist/esm/client-types/index.d.ts" + "./build-client": { + "types": "./dist/esm/build-client/index.d.ts" }, "./config": { "types": "./dist/esm/config/index.d.ts", diff --git a/packages/tuono/src/client-types/index.ts b/packages/tuono/src/build-client/index.ts similarity index 100% rename from packages/tuono/src/client-types/index.ts rename to packages/tuono/src/build-client/index.ts diff --git a/packages/tuono/vite.config.ts b/packages/tuono/vite.config.ts index aceb0229..f1bca04d 100644 --- a/packages/tuono/vite.config.ts +++ b/packages/tuono/vite.config.ts @@ -13,7 +13,7 @@ export default mergeConfig( './src/index.ts', './src/build/index.ts', './src/config/index.ts', - './src/client-types/index.ts', + './src/build-client/index.ts', './src/ssr/index.ts', './src/hydration/index.tsx', ],