diff --git a/.editorconfig b/.editorconfig index 259533a5b..7c130f447 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,9 @@ root = true +# NOTE: Keep only EditorConfig properties that Prettier actually respects. +# Style choices (quotes, bracket spacing, print width, etc.) live in `.prettierrc.js`. +# Removing pseudo/unsupported keys (quote_type, bracketSpacing, max_line_length) that +# previously caused editor vs CLI confusion. [*] charset = utf-8 indent_style = space @@ -7,14 +11,11 @@ indent_size = 2 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = false -quote_type = single -max_line_length = 100 -bracketSpacing = false [*.md] trim_trailing_whitespace = false -[*.yml] +[*\.yml] indent_size = 2 [*.json] diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..edb3b6410 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,11 @@ +# Folders & files to skip during formatting +node_modules +build +dist +dev-dist +coverage +logs +*.log +# Generated / compiled assets +client/dev-dist +client/dist diff --git a/.vscode/settings.json b/.vscode/settings.json index b8f4d4e1c..d2cec7904 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -39,5 +39,13 @@ "timetickets", "touchtime" ], - "eslint.workingDirectories": ["./", "./client"] + "eslint.workingDirectories": ["./", "./client"], + // Formatting alignment: ensure VS Code uses project Prettier config + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + // Disable eslint's fixAll on save if it causes style churn; turn back on once stylistic rules removed or using eslint-config-prettier + "prettier.useEditorConfig": true } diff --git a/package.json b/package.json index 332914d40..13a51b817 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "setup": "rm -rf node_modules && npm i && cd client && rm -rf node_modules && npm i", "setup:win": "rimraf node_modules && npm i && cd client && rimraf node_modules && npm i", "start": "node server.js", - "makeitpretty": "prettier --write \"**/*.{css,js,json,jsx,scss}\"", + "makeitpretty": "npm run format", + "format": "prettier --config .prettierrc.js --ignore-path .prettierignore --write .", "lint": "eslint .", "lint:fix": "eslint . --fix", "test:unit": "vitest run",