All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Upgrade all dependencies
- Remove React rule customisations - healthier now uses
standard-react
rule configuration. Most notably - this enables thereact-hooks/exhaustive-deps
warnings. Note:react/prop-types
is still turned off.
Dependency maintenance:
- Upgrade all dependencies, fix npm audit
Dependency maintenance:
- Upgrade all dependencies, fix npm audit
Dependency maintenance:
- Upgrade all dependencies, fix npm audit
- Install a missing
resolve
dependency - Remove
np
andhealthier
dev dependencies
- Remove the no longer needed
eslint-plugin-standard
dep
- Update README and cli help text to reference the new @babel/eslint-parser
- Remove the unused
babel-eslint
dep
- Upgrade all dependencies
- Fix an issue with
eslint-plugin-node
being replaced witheslint-plugin-n
in standard
- Fix an issue with
eslint-config-prettier
usage
- Upgrade all dependencies
- Log the "healthier: Friendly linter" message to stdout, instead of stderr
- Upgrade all dependencies, upgrade to standard-engine 15 (pre release) and the latest eslint API
- Upgrade all dependencies
- Upgrade all dependencies
- Auto detect if React is used and turn on
eslint-config-standard-react
andeslint-plugin-react-hooks
rules, but turn offreact/prop-types
as that's really up to the project.
- Re-add
--fix
flag since some rules in standard (e.g.lines-between-class-members
) are fixable, but not enforced byprettier
. Such is the price for trying to bridge the two tools. - Upgrade to eslint 6.3.0 and latest standard, the one that fixes
no-unused-vars
false positives - Upgrade all other dependencies
- Revert eslint from
6.2.0 -> 6.1.0
until eslint/eslint#12117 is fixed
- Upgrade to
standard@14
(previouslystandard@12
) - Upgrade all other dependencies
Huge thanks to @sheerun for all the feedback on V1. This version comes with many improvements.
tl;dr
- Remove
--fix
- Remove
--init
- Remove
--verbose
- Remove dependency on
prettier
makinghealthier
formatter agnostic - Use eslint output and add
--format
- Allow extending with .eslintrc
- Support more environments, typescript, flow, react, vue
- Merge
.prettierignore
into default ignores
Long form:
- The
--fix
flag has been removed to make Healthier more focused on code quality linting and be unopinionated about your choice of formatter. This avoids installing 2 extra dependencies – prettier and eslint-plugin-prettier, which means installation is faster, but also the checks run faster since we avoid double parsing each file with eslint and then prettier. This makes Healthier a more friendlier and less confusing tool when using it with prettierx, prettier-standard or any other formatter. This will also avoid any version conflicts between the Prettier used in your project and the Prettier that was used in Healthier to lint the style. Inline with this, the--init
flag has been removed too, because it really is not in scope for Healthier to dictate stype preference when Healthier is a pure style agnostic linter. - The output is now formatted using eslint's formatters and accepts any eslint
--format
option. This means a nicer looking default output, but also better integration with existing tooling since eslint format is more widely used. Incidentally, this helps to improve SublimeLinter-contrib-healthier plugin greatly. It's now a little bit faster and more comprehensive, it displays syntax errors and internal eslint errors, such as information about missing plugins. - It's possible to extend eslint rules used by creating
.eslintrc
(or any other form that eslint supports). Previously, it was already possible to pass--global
,--env
and--plugin
via command line argument orpackage.json
field inhealthier
key. But now it's also possible to use.eslintrc
which allows granular rule overrides or using plugin rules such asreact-native
orreact-a11y
without having to eject from the tool. - All of the
eslint-config-prettier
rules are being imported to ensure that styling related rules are turned off even when you're using typescript, vue, and other supported environments. .prettierignore
is now taken into account as part of the ignores, if you're not formatting that code, you probably also don't want to be linting it.--verbose
flag was removed since the output now includes the rule names depending on the--format
used
- Fix dependencies, explicitly depend on minimist and get-stdin
- No changes to code, only updated README.
- Feature Add
--init
flag that creates an opinionated,standard
inspired.prettierrc
file.
Combine the best parts of eslint, prettier and standard into a single package that can format and lint your code.