Ninja Parading Musically

    @mysticatea/eslint-plugin

    13.0.0 • Public • Published

    @mysticatea/eslint-plugin

    npm version Downloads/month Build Status codecov Dependency Status

    Additional ESLint rules and ESLint configurations for me.

    💿 Installation

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

    Requirements

    • Node.js ^8.10.0 or newer versions.
    • ESLint ^6.3.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:@mysticatea/es2020 ... Basic configuration for ES2020.
    • plugin:@mysticatea/es2019 ... Basic configuration for ES2019.
    • plugin:@mysticatea/es2018 ... Basic configuration for ES2018.
    • plugin:@mysticatea/es2017 ... Basic configuration for ES2017.
    • plugin:@mysticatea/es2016 ... Basic configuration for ES2016.
    • plugin:@mysticatea/es2015 ... Basic configuration for ES2015.
    • plugin:@mysticatea/es5 ... Basic configuration for ES5.
    • plugin:@mysticatea/+modules ... Additional configuration for ES modules.
    • plugin:@mysticatea/+browser ... Additional configuration for browser environment.
    • plugin:@mysticatea/+node ... Additional configuration for Node.js environment.
    • plugin:@mysticatea/+eslint-plugin ... Additional configuration for ESLint plugins. This includes plugin:mysticatea/+node setting.

    Details

    The main configurations plugin:@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:@mysticatea/es2015",
            "plugin:@mysticatea/+node"
        ]
    }

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

    For Browsers
    {
        "extends": [
            "plugin:@mysticatea/es2015",
            "plugin:@mysticatea/+browser"
        ]
    }
    For Browsers with ES modules
    {
        "extends": [
            "plugin:@mysticatea/es2015",
            "plugin:@mysticatea/+modules",
            "plugin:@mysticatea/+browser"
        ]
    }
    For ESLint plugins
    {
        "extends": [
            "plugin:@mysticatea/es2015",
            "plugin:@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.

    Install

    npm i @mysticatea/eslint-plugin

    DownloadsWeekly Downloads

    1,395

    Version

    13.0.0

    License

    MIT

    Unpacked Size

    131 kB

    Total Files

    47

    Last publish

    Collaborators

    • mysticatea