4.0.0 • Published 8 months ago

eslint-plugin-dtwo v4.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

eslint-plugin-dtwo

:sparkles: ESLint plugin for Dtwo.js

:cd: Installation

You'll first need to install ESLint:

$ npm i eslint --save-dev
success Saved 1 new dependencies

Next, install eslint-plugin-dtwo:

$ npm install eslint-plugin-dtwo --save-dev
success Saved 1 new dependencies

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-dtwo globally.

:rocket: Usage

Add dtwo to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

  1. Use our preset to extend recommended defaults:
{
  "extends": [
    "plugin:dtwo/recommended"
  ]
}
  1. Or specify individual rules manually:
{
    "plugins": [
        "dtwo"
    ],
    "rules": {
        "dtwo/rule-name": 2
    }
}

:gear: Configs

This plugin provides four predefined configs:

  • plugin:dtwo/base - Settings and rules to enable correct ESLint parsing
  • plugin:dtwo/recommended - Above, plus rules to enforce subjective community defaults to ensure consistency

:bulb: Rules

Base Rules

{
  "extends": "plugin:dtwo/base"
}
Rule IDDescription
dtwo/no-env-in-contextDisallow context.isServer/context.isClient in asyncData/fetch/dtwoServerInit
dtwo/no-env-in-hooksDisallow process.server/process.client in client only Kdu lifecycle hooks like: mounted, beforeMount, updated...
dtwo/no-globals-in-createdDisallow window/document in created/beforeCreate
dtwo/no-this-in-fetch-dataDisallow this in asyncData/fetch
dtwo/no-cjs-in-configDisallow require/modules.exports/exports in dtwo.config.js

Recommended Rules

Include all the below rules, as well as all priority rules in above categories, with:

{
  "extends": "plugin:dtwo/recommended"
}
Rule IDDescription
dtwo/no-timing-in-fetch-dataDisallow setTimeout/setInterval in asyncData/fetch

Other Rules

Rule IDDescription
dtwo/require-func-headEnforce head property in component to be a function.