Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsChoose one semicolon policy, configure your formatter to apply it, and make the linter agree—or disable the linter’s conflicting style rule if the formatter owns formatting. With Prettier and ESLint, this usually means setting Prettier’s semi option and using eslint-config-prettier to turn off overlapping formatting rules. Keep JavaScript’s automatic semicolon insertion (ASI) in mind: a semicolon-less style can still require a leading semicolon in specific cases.
Find which tool is changing the semicolons
A semicolon conflict can come from project configuration, a lint rule, an editor’s default formatter, or multiple save-time actions. Check these settings before changing code style:
As an Amazon Associate I earn from qualifying purchases.
- The formatter configuration in the repository.
- The ESLint configuration and the rule that reports or fixes semicolons.
- The installed Prettier and ESLint versions, since available rules and their status can vary by version.
- Your editor’s default formatter and any actions configured to run on save.
The documentation for Prettier and ESLint explains how their tools work, but it cannot identify which editor settings or save actions are active in a particular project. If formatting and linting each pass when run separately but saving creates recurring diffs, inspect the editor’s save workflow for more than one formatter or fixer.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Choose one semicolon convention
Follow the existing repository and team convention where possible. The documentation does not designate semicolons or semicolon-free code as universally better; the important thing is that the formatter and linter do not enforce opposing choices.
#1 Best Overall
| Policy | Prettier setting | What it does |
|---|---|---|
| Use semicolons | semi: true |
Prints a semicolon at the end of every statement. |
| Omit semicolons where possible | semi: false |
Omits statement-ending semicolons, but retains leading semicolons where they may be needed to avoid an ASI hazard. |
Prettier documents these behaviors in its semicolons options. Put the choice in a project configuration file so it is repeatable for contributors and tools; see Prettier’s configuration-file guidance.
Make the formatter and linter agree
If Prettier owns formatting
Set Prettier’s semi option to the selected convention. Then use eslint-config-prettier to disable ESLint rules that conflict with, or are unnecessary alongside, Prettier. Keep linting focused on correctness and code-quality checks rather than asking both tools to make the same formatting decision. This division is the approach Prettier recommends in its guide to integrating with linters.
Check which ESLint semicolon rule is active
ESLint’s core semi rule supports always and never modes, but its documentation marks the rule deprecated since ESLint v8.53.0. Check the rule and plugin configuration used by your installed ESLint version rather than copying an old configuration example. The current documentation is at ESLint’s semi rule page.
Understand the semicolon-free edge case
JavaScript’s automatic semicolon insertion does not mean every line break ends a statement. A new line beginning with certain tokens can continue the preceding expression instead. ESLint’s no-unexpected-multiline documentation identifies continuation-sensitive tokens including [, (, +, *, /, -, and .. That is why Prettier’s semi: false mode can still add a semicolon at the beginning of a line when it may prevent an ASI problem.
Quick Recap
Best Value
Rank #4
Rank #3
Apply the fix and verify the workflow
- Inspect the repository: identify its formatter configuration, ESLint rules, package versions, and editor save actions.
- Choose the convention: retain the project’s established style unless the team intentionally agrees to change it.
- Configure Prettier: set
semi: trueorsemi: falsein the project configuration. - Remove the overlap: if Prettier owns formatting, use
eslint-config-prettierto turn off conflicting stylistic rules, while retaining lint rules for code quality. - Test a representative file: run the formatter and linter, then save the file in the editor. If each command passes alone but saving changes the same lines repeatedly, investigate the editor’s formatter and fix-on-save configuration.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




