eslint-config-mixmax

Mixmax's WIP style guide for JavaScript.

MIT 59 个版本
安装
npm install eslint-config-mixmax
yarn add eslint-config-mixmax
pnpm add eslint-config-mixmax
bun add eslint-config-mixmax
README

eslint-config-mixmax

This project defines a linter configuration that enforces healthy JS syntax. Later it should probably enforce our code styles (sorry for the private link, non-Mixmaxers) or those of a more established guide—see Roadmap).

Installing

npm install -D eslint-config-mixmax

Install this config's peer dependencies if you haven't already:

npm install -D "eslint@>=8.57.0"

Using browser config

If you'll be using the browser configs, make sure to install the following dependencies:

  • eslint-plugin-react
  • eslint-plugin-react-hooks
  • @babel/eslint-parser
npm install -D "eslint-plugin-react@^7.23.1" "@babel/eslint-parser@^10.0.2" "eslint-plugin-react-hooks@^4.2.0"

Using Flow config

If you'll be using the flow configs, make sure to install the optional eslint-plugin-flowtype and @babel/eslint-parser dependencies.

npm install -D "eslint-plugin-flowtype@^3.11.1" "@babel/eslint-parser@^10.0.2"

Using Vitest support

If you'll be using the typescript, node/withVitest, or node/vitest configs, install the optional @vitest/eslint-plugin dependency.

npm install -D "@vitest/eslint-plugin@^1.6.14"

Usage

Create .eslintrc.json files like

{
  "extends": "<name of config below>"
}

in the appropriate directories: extend…

  • "mixmax/node", in directories containing Node.js code.
  • "mixmax/node/spec", in directories containing Node specs (assumed to be using Jasmine).
  • "mixmax/node/ava", in directories containing ava tests.
  • "mixmax/node/withVitest", in Node.js projects using Vitest. Scopes Vitest globals and rules to test files only (recommended for repos where test files live alongside source files).
  • "mixmax/node/vitest", in Node.js test-only directories (e.g. a test/ subdirectory's own .eslintrc.json). Applies Vitest globals and rules unconditionally.
  • "mixmax/node/next", in projects using node 8 syntax (should also extend mixmax/node).
  • "mixmax/flow", in projects using flow for type checking (should also extend mixmax/node or mixmax/browser).
  • "mixmax/browser", in directories containing browser code. eslint-plugin-react is enabled in this configuration to allow for React-specific linting. Additionally, Backbone and $ are globalized so that their import statements are not required by the linter (though they should be - see TODOs in this configuration file).
  • "mixmax/browser/spec", in directories containing browser specs (assumed to be using Jasmine).

If you want you can extend the base configuration directly ("extends": "mixmax") but you shouldn't need to since the Node and browser configurations already extend that.

Publishing a new version

GH_TOKEN=xxx npx semantic-release --no-ci
版本列表
6.0.1 2026-04-08
6.0.0 2026-04-07
5.2.6 2025-02-10
5.2.2 2024-02-27
5.1.0-alpha.1 2021-10-27
5.1.0 2023-02-16
5.0.1 2021-11-08
5.0.0 2021-09-28
4.18.0 2021-09-10
4.17.0 2021-07-22
4.16.0 2021-07-21
4.15.0 2021-06-25
4.14.0 2021-06-16
4.13.0 2021-05-21
4.12.1 2021-05-05
4.12.0 2021-03-30
4.11.4 2021-01-29
4.11.3 2021-01-28
4.11.2 2020-12-22
4.11.1 2020-05-19
4.11.0 2020-05-19
4.10.0 2020-04-09
4.9.0 2020-02-18
4.8.0 2020-01-31
4.7.0 2020-01-25
4.6.0 2020-01-23
4.5.0 2020-01-23
4.4.0 2020-01-18
4.3.0 2019-12-11
4.2.0 2019-12-09
4.1.0 2019-11-19
4.0.0 2019-11-19
3.4.0 2019-08-01
3.3.0 2019-07-18
3.2.0 2019-07-02
3.1.0 2019-06-25
3.0.0 2019-06-25
2.1.0 2019-04-05
2.0.0 2018-10-09
1.3.0 2018-08-28
1.2.0 2018-08-22
1.1.0 2018-07-12
1.0.0 2018-01-25
0.12.0 2018-01-09
0.11.0 2018-01-06
0.10.0 2017-11-07
0.9.0 2017-10-13
0.8.1 2017-10-04
0.8.0 2017-10-03
0.7.0 2017-09-21
0.6.0 2017-07-28
0.5.0 2017-07-26
0.4.2 2017-07-21
0.4.1 2017-07-14
0.4.0 2017-07-14
0.3.0 2017-06-20
0.2.0 2017-03-20
0.1.1 2017-03-20
0.1.0 2017-03-20