From 4a82103632e3406534d3e83ee20dd872578d32cf Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Tue, 16 Jan 2024 17:05:42 +0100 Subject: [PATCH] build(vite): up tsconfig and copy over configs from a create-vite app --- tsconfig.json | 24 +++++++++++++++++++++--- tsconfig.node.json | 10 ++++++++++ vite.config.ts | 7 +++++++ 3 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/tsconfig.json b/tsconfig.json index cb0cb7e8261..b66c2bef9e0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,29 @@ { "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + // "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": "public/", "outDir": "public/dist", "rootDirs": ["public/"], "allowJs": true, - "strict": true, - "resolveJsonModule": true, "useUnknownInCatchVariables": true, "incremental": true, "isolatedModules": true, @@ -32,5 +49,6 @@ "packages/grafana-data/typings", "packages/grafana-ui/src/types" ], - "exclude": ["public/app/**/webpack.config.ts"] + "exclude": ["public/app/**/webpack.config.ts"], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 00000000000..42872c59f5b --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000000..e1b1b763843 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,7 @@ +import react from '@vitejs/plugin-react-swc'; +import { defineConfig } from 'vite'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +});