JavaScript code standard in Traveloka is enforced using tool called marlint
which is a CLI based linter by extending ESLint to support React, Typescript, Flowtype, and ES2015+ natively. Because this standard doesn't enforce code style, you can use marlint
and prettier
directly without having to configure anything.
Another main features is marlint
support yarn workspace or lerna monorepo, so you can use different configuration for each packages. To improve performance, marlint
lint your files in parallel using jest-worker
so you'll get noticeable performance gain in larger codebase.
-
Main package, provides CLI and programmatic API.
-
Base config for all eslint rules.
-
Additional custom rules for marlint
To setup this repo locally, run following commands
# Clone repo
$ git clone [email protected]:traveloka/javascript
$ cd javascript
# Install dependencies
# This will automatically run `lerna bootstrap` which will install all package
# dependencies and link all packages together
$ yarn
To run test use yarn test
in root directory, or if you want to run test manually
for single package just change directory to that package and run yarn test
inside
each package directory.
For other editor, you can install marlint
globally, then use eslint config from marlint
using standard eslint editor plugin.
MIT © Traveloka