ESLint shareable config developed and maintained by nimble
The configurations are separated into dedicated packages:
- eslint-config-nimble-core: ESLint core base rules
- eslint-config-nimble-react: ESLint rules for React
- eslint-config-nimble-testing: ESLint rules for testing
- eslint-config-nimble-typescript: ESLint rules for Typescript
Usage information is in the packages' documentation.
-
This project uses Lerna to manage packages. Install Lerna for accessing to the lerna CLI.
-
To contribute to the existing packages, simply navigate to the
/packages
folder and create a pull request to change them.
-
Use
lerna create
command to add a new package. -
The package name should have the following format:
@nimblehq/{package-name}
. This project is shareable configurations for ESLint, the{package-name}
should beeslint-config-nimble-*
:
lerna create @nimblehq/eslint-config-nimble-react
-
Packages will be published to npmjs automatically after publishing a new release.
-
Need to set the version in
/packages/**/package.json
before creating the release. -
More details in publish workflow. This workflow uses
lerna publish
command to publish packages.
This project also uses workspaces feature.
To run a command:
- Add the command to
scripts
part inpackage.json
files. - Run the command with
--workspaces/--workspace
parameters:
# Run `lint` on all workspaces:
npm run lint --workspaces
# Run `lint` on `@nimblehq/eslint-config-nimble` workspace:
npm run lint --workspace=@nimblehq/eslint-config-nimble
This project is Copyright (c) 2014 and onwards Nimble. It is free software and may be redistributed under the terms specified in the LICENSE file.
This project is maintained and funded by Nimble.
We love open source and do our part in sharing our work with the community! See our other projects or hire our team to help build your product.