Skip to content

eslint-community/eslint-plugin-mysticatea

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

@eslint-community/eslint-plugin-mysticatea

npm version Downloads/month Build Status codecov Dependency Status

Additional ESLint rules and ESLint configurations for @mysticatea.

πŸ’Ώ Installation

npm install --save-dev eslint @eslint-community/eslint-plugin-mysticatea

Requirements

  • Node.js ^12.22.0 || ^14.17.0 || >=16.0.0 or newer versions.
  • ESLint ^6.6.0 || ^7.0.0 || ^8.0.0 or newer versions.

πŸ“– Usage

Write in your ESLint configurations: http://eslint.org/docs/user-guide/configuring#using-the-configuration-from-a-plugin

Configs

  • plugin:@eslint-community/mysticatea/es2022 ... Basic configuration for ES2022.
  • plugin:@eslint-community/mysticatea/es2021 ... Basic configuration for ES2021.
  • plugin:@eslint-community/mysticatea/es2020 ... Basic configuration for ES2020.
  • plugin:@eslint-community/mysticatea/es2019 ... Basic configuration for ES2019.
  • plugin:@eslint-community/mysticatea/es2018 ... Basic configuration for ES2018.
  • plugin:@eslint-community/mysticatea/es2017 ... Basic configuration for ES2017.
  • plugin:@eslint-community/mysticatea/es2016 ... Basic configuration for ES2016.
  • plugin:@eslint-community/mysticatea/es2015 ... Basic configuration for ES2015.
  • plugin:@eslint-community/mysticatea/es5 ... Basic configuration for ES5.
  • plugin:@eslint-community/mysticatea/+modules ... Additional configuration for ES modules.
  • plugin:@eslint-community/mysticatea/+browser ... Additional configuration for browser environment.
  • plugin:@eslint-community/mysticatea/+node ... Additional configuration for Node.js environment.
  • plugin:@eslint-community/mysticatea/+eslint-plugin ... Additional configuration for ESLint plugins. This includes plugin:@eslint-community/mysticatea/+node setting.

Details

The main configurations plugin:@eslint-community/mysticatea/es* does:

  • detect bug-like code by ESLint rules.
  • enforce whitespace style by Prettier.
  • handle the .ts files as TypeScript then check by typescript-eslint-parser and eslint-plugin-typescript.
  • handle the .vue files as Vue.js SFC then check by vue-eslint-parser and eslint-plugin-vue.
  • handle the files in test/tests directory as mocha's test code.
  • handle the files in scripts directory as Node.js environment.
  • handle the .eslintrc.js file as a Node.js script.
  • handle the webpack.config.js file as a Node.js script.
  • handle the rollup.config.js file as an ES module.

You can use combination of a main configuration and some additional configurations. For examples:

For Node.js
{
    "extends": [
        "plugin:@eslint-community/mysticatea/es2015",
        "plugin:@eslint-community/mysticatea/+node"
    ]
}

It handles .js files as scripts and .mjs files as modules.

For Browsers
{
    "extends": [
        "plugin:@eslint-community/mysticatea/es2015",
        "plugin:@eslint-community/mysticatea/+browser"
    ]
}
For Browsers with ES modules
{
    "extends": [
        "plugin:@eslint-community/mysticatea/es2015",
        "plugin:@eslint-community/mysticatea/+modules",
        "plugin:@eslint-community/mysticatea/+browser"
    ]
}
For ESLint plugins
{
    "extends": [
        "plugin:@eslint-community/mysticatea/es2015",
        "plugin:@eslint-community/mysticatea/+eslint-plugin"
    ]
}

Rules

This plugin has some original rules and foreign rules.

Original rules

Foreign rules

Q: Why don't you use those plugins directly?
> A: The combination with shareable configs and plugins has some problems because shareable configs were not designed to be used with plugins. @nzakas illustrated a way to use plugins as shareable configs together with other plugins in the discussion eslint/eslint#3458. This is the way.

πŸš₯ Semantic Versioning Policy

This plugin follows semantic versioning and ESLint's Semantic Versioning Policy.

πŸ“° Changelog

❀️ Contributing

Welcome contributing!

Please use GitHub's Issues/PRs.

Development Tools

  • npm test runs tests and measures coverage.
  • npm run clean removes the coverage result of npm test command.
  • npm run coverage shows the coverage result of npm test command.
  • npm run update updates auto-generated files.
  • npm run watch runs tests and measures coverage when source code are changed.