Lint JavaScript on the fly, using Flow
This package provides the following services:
linter-flow
Lightweight alternative to Facebook's Flow plugin for facebook/flow.
Installation
- Install flow
flow init
apm install linter-flow
Settings
You can configure linter-flow by editing ~/.atom/config.cson (choose Open Your Config in Atom menu) or in Preferences:
'linter-flow':
'executablePath': 'flow'
'enableAll': false
executablePath
: Absolute path to the Flow executable on your system.enableAll
: Typecheck all files, not just file containing@flow
.
Why not X?
linter-flow is made to be a lightweight package that does one thing well.
- A similarly named package: linter-flow-plus is now a mirror. The development happens for both packages in parallel.
- IDE-flow works relatively well, but it doesn't lint on-the-fly and doesn't integrate with the linter package.
- Nuclide has too many problems for now to be reliable. It also involves installing a large number of other packages.
Please Note: IDE-flow and Nuclide provide other features such as autocomplete, type definitions on hover etc. Please continue to use those services for those features. (possibly in addition to linter-flow)
Limitations
This linter currently does not support Hack. Though the linter just uses the flow-cli and hack support should be trivial to add, I'm not a Hack/PHP developer and I can't test that it actually works. I would welcome if someone was to add support for Hack to this package and test it.
Contributing
If you would like to contribute enhancements or fixes, please do the following:
- Fork the plugin repository
- Hack on a separate topic branch created from the latest
master
- Commit and push the topic branch
- Make a pull request
- Welcome to the club!
Please note that modifications should follow these coding guidelines:
- Indent is 2 spaces with
.editorconfig
- Code should pass
eslint
linter with the provided.eslintrc
- Vertical whitespace helps readability, don’t be afraid to use it
Thank you for helping out!