Skip to content

Common ESLint configuration used in Hamster

License

Notifications You must be signed in to change notification settings

AwesomeHamster/eslint-config

Repository files navigation

@hamster-bot/eslint-config

Common ESLint configuration used in Hamster

Install

npm i --save-dev eslint @hamster-bot/eslint-config
# Or use yarn
yarn add --dev eslint @hamster-bot/eslint-config

Usage

This package provides flat config introduced in ESLint v9.

Create an eslint configuration file like eslint.config.mjs and append the following:

import * as hamster from '@hamster-bot/eslint-config'

export default [
  ...hamster.configs.base,
  // Add more configurations here
]

For example, for ESLint Mocha plugin:

import * as hamster from '@hamster-bot/eslint-config'
import mochaPlugin from 'eslint-plugin-mocha'

export default [
  ...hamster.configs.base,
  mochaPlugin.configs.flat.recommended,
]

You can also use require() and module.export if you are using CommonJS. In that case, you should use .cjs extension or just .js for the configuration file.


TypeScript user should use hamster.configs.typescript:

import * as hamster from '@hamster-bot/eslint-config'

export default [
  ...hamster.configs.typescript,
  // Add more configurations here
]

We also provide a configuration for Node scripts:

import * as hamster from '@hamster-bot/eslint-config'

export default [
  ...hamster.configs.node,
  // Add more configurations here
]

Note

If you are using Yarn PnP, since the import-x plugin that we are using is not actually support PnP, it is supported by the eslint's FlatCompat plugin right now. So it require you to manually declare this plugin as the dependencies in your package.json.

License

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.