From d7d9b1c25ecbfde969c66592810478d5a4591643 Mon Sep 17 00:00:00 2001 From: Thibault Pouch Date: Fri, 1 May 2026 11:12:09 +0200 Subject: [PATCH] feat: Add ESLint and Prettier configuration files with necessary scripts in package.json --- .prettierrc | 7 +++++++ eslint.config.mjs | 16 ++++++++++++++++ package.json | 8 ++++++++ 3 files changed, 31 insertions(+) create mode 100644 .prettierrc create mode 100644 eslint.config.mjs diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..4cbc711 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "semi": true, + "singleQuote": true, + "trailingComma": "all", + "printWidth": 100, + "tabWidth": 2 +} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..cf5d004 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,16 @@ +import eslint from '@eslint/js'; +import tseslint from 'typescript-eslint'; +import prettierConfig from 'eslint-config-prettier'; + +export default tseslint.config( + { ignores: ['dist/**', 'node_modules/**'] }, + eslint.configs.recommended, + ...tseslint.configs.recommended, + prettierConfig, + { + rules: { + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], + }, + }, +); diff --git a/package.json b/package.json index 01168bc..56b837c 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,9 @@ "start": "node dist/main", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", + "lint": "eslint \"{src,test}/**/*.ts\"", + "lint:fix": "eslint \"{src,test}/**/*.ts\" --fix", + "format": "prettier --write \"src/**/*.ts\"", "test": "vitest run", "test:watch": "vitest", "test:cov": "vitest run --coverage" @@ -29,6 +32,7 @@ "rxjs": "^7.8.1" }, "devDependencies": { + "@eslint/js": "^9.0.0", "@nestjs/cli": "^11.0.0", "@nestjs/testing": "^11.0.0", "@swc/core": "^1.10.0", @@ -37,10 +41,14 @@ "@types/node": "^22.0.0", "@types/passport-jwt": "^4.0.1", "@vitest/coverage-v8": "^3.0.0", + "eslint": "^9.0.0", + "eslint-config-prettier": "^10.0.0", + "prettier": "^3.0.0", "prisma": "^6.0.0", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "^5.7.0", + "typescript-eslint": "^8.0.0", "unplugin-swc": "^1.5.0", "vitest": "^3.0.0" }