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
$ yarnTo 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