From 70c580474c02ba7b124acc82e5bfed3b69da983e Mon Sep 17 00:00:00 2001 From: dec0dOS Date: Wed, 4 Oct 2023 19:30:01 +0100 Subject: [PATCH] chore: add Typescript linting --- frontend/jsconfig.json | 10 ---------- frontend/package.json | 2 ++ frontend/src/types.d.ts | 1 + frontend/tsconfig.json | 19 +++++++++++++++++++ frontend/vite.config.js | 16 ---------------- 5 files changed, 22 insertions(+), 26 deletions(-) delete mode 100644 frontend/jsconfig.json create mode 100644 frontend/src/types.d.ts create mode 100644 frontend/tsconfig.json diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json deleted file mode 100644 index bb7938f..0000000 --- a/frontend/jsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "src" - }, - "include": ["src"], - "exclude": ["node_modules", "**/node_modules/*"], - "typeAcquisition": { - "exclude": ["dotenv", "harmony-reflect"] - } -} diff --git a/frontend/package.json b/frontend/package.json index 83189fd..00ef6a0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -31,6 +31,7 @@ "eslint-plugin-react-refresh": "^0.4.3", "rimraf": "^5.0.5", "source-map-explorer": "^2.5.3", + "typescript": "^5.2.2", "vite": "^4.4.10" }, "scripts": { @@ -39,6 +40,7 @@ "serve": "vite preview", "clean": "rimraf build", "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "typecheck": "tsc --pretty --noEmit -p tsconfig.json", "analyze": "source-map-explorer 'build/static/js/*.js'" }, "homepage": "/app", diff --git a/frontend/src/types.d.ts b/frontend/src/types.d.ts new file mode 100644 index 0000000..4997750 --- /dev/null +++ b/frontend/src/types.d.ts @@ -0,0 +1 @@ +declare module "*.png"; diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..a122191 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "rootDir": ".", + "baseUrl": "src", + "allowJs": true, + "checkJs": true, + "noEmit": true, + "skipLibCheck": true, + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ESNext", + "lib": ["ESNext", "dom"], + "strict": true, + "noImplicitAny": false, + "allowSyntheticDefaultImports": true, + "jsx": "preserve" + }, + "include": ["src"] +} diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 771f8cb..c2098ee 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -1,22 +1,6 @@ import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; -// import { join, parse, resolve } from "path"; -// import * as url from "url"; -// const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); - -// function entryPoints(...paths) { -// const entries = paths.map(parse).map((entry) => { -// const { dir, base, name } = entry; -// const key = join(dir, name); -// const path = resolve(__dirname, dir, base); -// return [key, path]; -// }); - -// const config = Object.fromEntries(entries); -// return config; -// } - export default defineConfig({ base: "/app", server: {