Skip to content

Commit ce53799

Browse files
committed
Add eslint for typescript with React
Eslint will be used with github actions to perform check on every push and pr.
1 parent 11839a8 commit ce53799

File tree

4 files changed

+2066
-52
lines changed

4 files changed

+2066
-52
lines changed

frontend/peerprep/app/routes/home.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import type { Route } from "./+types/home";
21
import { Welcome } from "../welcome/welcome";
32

4-
export function meta({}: Route.MetaArgs) {
3+
export function meta() {
54
return [
65
{ title: "New React Router App" },
76
{ name: "description", content: "Welcome to React Router!" },

frontend/peerprep/eslint.config.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Setup guide from : https://eslint-react.xyz/docs/getting-started/typescript
2+
3+
// @ts-check
4+
import eslintJs from "@eslint/js";
5+
import eslintReact from "@eslint-react/eslint-plugin";
6+
import tseslint from "typescript-eslint";
7+
export default tseslint.config({
8+
files: ["**/*.ts", "**/*.tsx"],
9+
// Extend recommended rule sets from:
10+
// 1. ESLint JS's recommended rules
11+
// 2. TypeScript ESLint recommended rules
12+
// 3. ESLint React's recommended-typescript rules
13+
extends: [
14+
eslintJs.configs.recommended,
15+
tseslint.configs.recommended,
16+
eslintReact.configs["recommended-typescript"],
17+
],
18+
// Configure language/parsing options
19+
languageOptions: {
20+
// Use TypeScript ESLint parser for TypeScript files
21+
parser: tseslint.parser,
22+
parserOptions: {
23+
// Enable project service for better TypeScript integration
24+
projectService: true,
25+
tsconfigRootDir: import.meta.dirname,
26+
},
27+
},
28+
// Custom rule overrides (modify rule levels or disable rules)
29+
rules: {
30+
"@eslint-react/no-missing-key": "warn",
31+
},
32+
});

0 commit comments

Comments
 (0)