diff --git a/.github/workflows/_frontend_code.yml b/.github/workflows/_frontend_code.yml index 462b702..2ec6806 100644 --- a/.github/workflows/_frontend_code.yml +++ b/.github/workflows/_frontend_code.yml @@ -9,7 +9,7 @@ on: - main jobs: - lint: + code_checks: runs-on: ubuntu-latest steps: - name: Checkout repository code @@ -27,3 +27,7 @@ jobs: - name: Check Formatting of TypeScript Code working-directory: frontend run: npm run format:check + + - name: Check Linting Rules for TypeScript Code + working-directory: frontend + run: npm run lint diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js index 91fbe02..800ffec 100644 --- a/frontend/eslint.config.js +++ b/frontend/eslint.config.js @@ -4,8 +4,6 @@ import reactHooks from "eslint-plugin-react-hooks"; import reactRefresh from "eslint-plugin-react-refresh"; import tseslint from "typescript-eslint"; import react from "eslint-plugin-react"; -import prettier from "eslint-plugin-prettier"; -import prettierConfig from "eslint-config-prettier"; export default tseslint.config( { ignores: ["dist"] }, @@ -25,7 +23,6 @@ export default tseslint.config( "react-hooks": reactHooks, "react-refresh": reactRefresh, react, - prettier, }, rules: { ...reactHooks.configs.recommended.rules, @@ -33,12 +30,9 @@ export default tseslint.config( "warn", { allowConstantExport: true }, ], - "react/react-in-jsx-scope": "off", - "react/jsx-uses-react": "off", - "prettier/prettier": "error", "@typescript-eslint/no-unused-vars": [ "error", - { argsIgnorePattern: "^_" }, + { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }, ], }, settings: { @@ -46,6 +40,5 @@ export default tseslint.config( version: "detect", }, }, - }, - prettierConfig + } ); diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 1035e0b..69d8aee 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -47,14 +47,13 @@ "@types/relay-runtime": "^19.0.2", "@vitejs/plugin-react": "^4.3.3", "eslint": "^9.13.0", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.14", "globals": "^15.11.0", "husky": "^9.1.7", "lint-staged": "^16.1.5", + "prettier": "^3.6.2", "relay-compiler": "^20.0.0", "typescript": "~5.6.2", "typescript-eslint": "^8.11.0", @@ -1780,19 +1779,6 @@ "node": ">= 8" } }, - "node_modules/@pkgr/core": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", - "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/pkgr" - } - }, "node_modules/@popperjs/core": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", @@ -3874,53 +3860,6 @@ } } }, - "node_modules/eslint-config-prettier": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", - "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "funding": { - "url": "https://opencollective.com/eslint-config-prettier" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", - "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.11.7" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, "node_modules/eslint-plugin-react": { "version": "7.37.5", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", @@ -4126,13 +4065,6 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", @@ -5944,7 +5876,6 @@ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -5955,19 +5886,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -6853,22 +6771,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/synckit": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", - "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.2.9" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/synckit" - } - }, "node_modules/three": { "version": "0.173.0", "resolved": "https://registry.npmjs.org/three/-/three-0.173.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index ddef848..5195300 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -55,14 +55,13 @@ "@types/relay-runtime": "^19.0.2", "@vitejs/plugin-react": "^4.3.3", "eslint": "^9.13.0", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.14", "globals": "^15.11.0", "husky": "^9.1.7", "lint-staged": "^16.1.5", + "prettier": "^3.6.2", "relay-compiler": "^20.0.0", "typescript": "~5.6.2", "typescript-eslint": "^8.11.0",