0.0.13 • Published 1 year ago

@ctlyst-test/eslint-config v0.0.13

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

ctlyst-eslint-config

ESLint config used at ctlyst.id

This is the common ESLint config used by projects at ctlyst.id.

Installation

Install eslint and @ctlyst-test/eslint-config using your favourite package manager:

# yarn
yarn add --dev eslint @ctlyst-test/eslint-config
# npm
npm install --save-dev eslint @ctlyst-test/eslint-config

Then, in your .eslintrc file, extend @ctlyst-test/eslint-config.

{
  "extends": ["@ctlyst-test/eslint-config"]
}

If you're using this ESLint config for React-based projects, extend @ctlyst-test/eslint-config/react instead.

{
  "extends": ["@ctlyst-test/eslint-config/react"]
}

If you're using this ESLint config for next.js projects, extend @ctlyst-test/eslint-config/next instead.

{
  "extends": ["@ctlyst-test/eslint-config/next"]
}

For more setups, take a look at the templates directory

Versioning

Note that this package does not specifically follow Semantic Versioning, since all changes in this package are relative to the changes in our Development Standard. Major version bumps will occur when we transition into a new major version of ESLint.

To recap:

  • major: Will be bumped when we transition to a new major version of ESLint
  • minor: Potentially breaking changes that's still within the same major version of ESLint
  • patch: Minor patches/bugfixes

Using TypeScript

To use @ctlyst-test/eslint-config with TypeScript, you need to do a little additional setup to make eslint-plugin-import play well with TypeScript. First, install eslint-import-resolver-typescript.

# yarn
yarn add --dev eslint-import-resolver-typescript

Then, on .eslintrc:

module.exports = {
  // other configuration are omitted for brevity
  settings: {
    'import/resolver': {
      typescript: {}, // this loads <rootdir>/tsconfig.json to eslint
    },
  },
};

Using Prettier

Prettier is a tool to automatically format your code during save. It supports various editors, from VSCode, Atom, Sublime, and even Emacs.

To use this ESLint config in conjunction with Prettier, copy the .prettierrc file in this repository and paste it to your project.

Then install the Prettier eslint config and plugin:

$ yarn add --dev eslint-plugin-prettier eslint-config-prettier prettier

And finally, include them as follows. (IMPORTANT: eslint-config-prettier MUST be extended after @ctlyst-test/eslint-config!)

{
  "extends": ["@ctlyst-test/eslint-config", "prettier", "prettier/@typescript-eslint", "plugin:prettier/recommended"],
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error"
  }
}

Contributing

Issues and Pull Requests welcome! Please read the Contributing Guidelines beforehand.

License

MIT (c) ctlyst.id

Maintainers

  • Fahmi Idris – ctlyst.id