diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs index 7f7533c5..f62b7b3f 100644 --- a/frontend/.eslintrc.cjs +++ b/frontend/.eslintrc.cjs @@ -10,6 +10,7 @@ module.exports = { '@vue/eslint-config-typescript', 'plugin:vue/vue3-recommended', './.eslintrc-auto-import.json', + "prettier" ], plugins: [ 'vue', diff --git a/frontend/.prettierignore b/frontend/.prettierignore new file mode 100644 index 00000000..b45ef414 --- /dev/null +++ b/frontend/.prettierignore @@ -0,0 +1,2 @@ +dist +dev-dist \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 1699b144..44114ed6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -33,6 +33,7 @@ "@vue/tsconfig": "^0.5.1", "cypress": "^13.7.1", "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", "eslint-config-standard-with-typescript": "^43.0.1", "eslint-plugin-cypress": "^2.15.1", @@ -40,6 +41,7 @@ "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-vue": "^9.21.1", + "prettier": "3.3.1", "start-server-and-test": "^2.0.3", "stylelint": "^16.2.1", "stylelint-config-standard": "^36.0.0", @@ -3289,12 +3291,6 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "node_modules/@types/luxon": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", - "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", - "dev": true - }, "node_modules/@types/node": { "version": "20.11.16", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", @@ -6341,6 +6337,18 @@ "eslint": ">=6.0.0" } }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, "node_modules/eslint-config-standard": { "version": "17.1.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", @@ -9308,6 +9316,21 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", + "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -14555,12 +14578,6 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "@types/luxon": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", - "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", - "dev": true - }, "@types/node": { "version": "20.11.16", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", @@ -16774,6 +16791,13 @@ "dev": true, "requires": {} }, + "eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "requires": {} + }, "eslint-config-standard": { "version": "17.1.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", @@ -18878,6 +18902,12 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", + "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", + "dev": true + }, "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index d5d21c61..a8fd48fb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,13 +6,10 @@ "scripts": { "preview": "vite preview", "build": "vite build", - "compose:up": "docker compose -f ../docker-compose.yml --profile backend-only up -d", "dev": "vite", "start": "API_HOST=http://localhost:5000 vite", "lint": "eslint . --ignore-path ../.gitignore", - "format": "eslint . --fix --ignore-path ../.gitignore", - "format:css": "stylelint --fix src/**/*.{css,vue}", - "pretest:unit": "npm run lint", + "format": "prettier . --write", "test:e2e-ci": "FRONTEND_HOST=localhost FRONTEND_PORT=3000 cypress run --e2e --browser firefox", "test:e2e-open": "FRONTEND_HOST=localhost FRONTEND_PORT=5173 cypress open --e2e --browser firefox" }, @@ -42,6 +39,7 @@ "@vue/tsconfig": "^0.5.1", "cypress": "^13.7.1", "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", "eslint-config-standard-with-typescript": "^43.0.1", "eslint-plugin-cypress": "^2.15.1", @@ -49,6 +47,7 @@ "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-vue": "^9.21.1", + "prettier": "3.3.1", "start-server-and-test": "^2.0.3", "stylelint": "^16.2.1", "stylelint-config-standard": "^36.0.0", diff --git a/frontend/src/utils/firearms-utils/revolver.ts b/frontend/src/utils/firearms-utils/revolver.ts index b3bb5bfd..888f3777 100644 --- a/frontend/src/utils/firearms-utils/revolver.ts +++ b/frontend/src/utils/firearms-utils/revolver.ts @@ -35,7 +35,11 @@ Revolvers */ export const revolver = { displayLabel: 'Revolver', - getCategory: () => isAlarmGun() || store.selectedOptions[0] === 'revolver_black_powder' ? 'D' : 'B ou D', + getCategory: () => { + if (isAlarmGun() || store.selectedOptions[0] === 'revolver_black_powder') return 'D' + else if (store.selectedOptions[0] === undefined || ['revolver_ancien_brisure', 'revolver_1873_us', 'revolver_enfield'].includes(store.selectedOptions[1])) return 'B ou D' + else return 'B' + }, securingSteps: [ { text: 'En maintenant l’arme dans une direction sécurisée , sélectionnez ce que vous voyez.',