@cherryblossom/eslint-config

@cherryblossom000's ESLint configuration.

Usage no npm install needed!

<script type="module">
  import cherryblossomEslintConfig from 'https://cdn.skypack.dev/@cherryblossom/eslint-config';
</script>

README

@cherryblossom/eslint-config

CI semantic-release

@cherryblossom000’s ESLint configuration.

⚠️ Warning

This isn't intended for anyone else except for me. Things may will break frequently.

Additionally, the node, js/node, and ts/node configs might not work correctly if you run eslint in a working directory with a package.json different to the package.json of the files being linted. To fix this, explicitly extend either the commonjs or esm variant.

Versioning

This does not follow semantic versioning strictly.

  • A new major version will generally only be released when a peer dependency needs to be upgraded.
  • New rules can be enabled in minor releases.
  • The severity and options of rules can change in patch releases.
  • Because reportUnusedDisableDirectives is enabled, any change that disables rules or make them report less can cause linting to fail.

Configs

config name (requires plugin/peer dependency 1, plugin 2)

  • All of these require the following ESLint plugins:
    • eslint-comments
    • jsdoc
    • unicorn
    • prettier
      • the prettier package
    • promise
  • For browser, js/browser, and ts/browser, you can optionally install eslint-plugin-html to lint JS in HTML.
  • index (@typescript-eslint)
  • browser (import, compat, @typescript-eslint)
  • react (import, compat, react-hooks, @typescript-eslint)
  • node: all of the following require import, node, and @typescript-eslint
    • index
    • commonjs
    • esm
  • jest (jest, @typescript-eslint)
  • markdown (markdown)
  • js
    • index
    • browser (import, compat)
    • node: all of the following require import and node
      • index
      • commonjs
      • esm
    • jest (jest)
    • react (import, compat, react-hooks)
  • ts: all of the following require @typescript-eslint
    • index
    • browser (import, compat)
    • react (import, compat, react-hooks)
    • node: all of the following require import and node
      • index
      • commonjs
      • esm
    • jest (jest)

There are some additional configs that are meant to be used in conjunction with another one:

  • node/12: Node.js 12
  • node/14: Node.js 14
  • node/16: Node.js 16

License

MIT © 2020–2021 cherryblossom000