@osedea/eslint-config

7.1.0 • Public • Published

eslint config osedea

Peer dependencies

eslint >= 7.30 is a requirement. See external dependencies list below.

Configuring rules for project

@osedea/eslint-config comes with the following environments, some of which are already pre-configured, however you can mix-and-match the environments if you want.

Config name Extends External Dependencies (besides eslint)
cypress cypress
es5
esnext es5
flow flow-bin
jest jest, jest-dom, testing-library
mocha mocha
node esnext, mocha
prettier prettier
react esnext
react-native react
typescript esnext typescript

Create a file called .eslintrc.yml in the root of your project. Here, you will specify your rules, and extend one (or more) of the above rulesets.

Some example .eslintrc.yml configs:

extends:
  - '@osedea/eslint-config/react' # extends other configs, see above
  - '@osedea/eslint-config/typescript'
  - '@osedea/eslint-config/prettier' # always needs to be last
extends:
  - '@osedea/eslint-config/react-native' # extends other configs, see above
  - '@osedea/eslint-config/flow'
  - '@osedea/eslint-config/prettier' # always needs to be last
extends:
  - '@osedea/eslint-config/node' # extends other configs, see above
extends:
  - '@osedea/eslint-config/es5'
  - '@osedea/eslint-config/angular'

# You can override rules from the linter here. Use at your own risk.
# rules:
#   comma-dangle: off # For example, if you do not want the linter to check for dangling commas ever

Global settings

Depending on your config, you may need to add a settings block to your .eslintrc.yml.

osedea/typescript

Add this block to your eslintrc:

parserOptions:
  project: './tsconfig.json'

If using VSCode & eslint errors aren't displaying, add this to your settings.json:

    "eslint.validate": [
        "javascript",
        "javascriptreact",
        "typescript",
        "typescriptreact"
    ],

osedea/react-native

For react-native config, in order to resolve imports (import x from CoolProject/.../...), the project name must be defined. The plugin will use the name param of the package.json in order to solve this.

{
  "name": "CoolProject",
  ...
}

osedea/node

For node config, it uses the engines section of package.json:

{
  ...
  engines: {
    "node": ">= 6.0.0"
  },
  ...
}

osedea/prettier

Needs to be added last so it is able to override other configs.

osedea/import

If you're using webpack to alias your directories, you can fix this by installing eslint-import-resolver-webpack and adding to your project's eslintrc:

settings:
  import/resolver: webpack

osedea/flow

Use a flow plugin for your editor (for example, flow language support for VSCode). Otherwise using eslint-plugin-flowtype-errors is an option.

Package Sidebar

Install

npm i @osedea/eslint-config

Weekly Downloads

101

Version

7.1.0

License

none

Unpacked Size

136 kB

Total Files

46

Last publish

Collaborators

  • evan.glicakis
  • robinwkurtz