From ffe7fb71f8b1711807069236e9fbc2ef56c1811c Mon Sep 17 00:00:00 2001 From: Timo Hocker Date: Sun, 5 Jan 2020 20:43:26 +0100 Subject: [PATCH] add import plugin --- index.js | 45 +++++++++++++++++++++++++++++++--- package-lock.json | 61 ++++++++++++++++++++++++++--------------------- package.json | 14 +++++------ 3 files changed, 83 insertions(+), 37 deletions(-) diff --git a/index.js b/index.js index d1f7de5..c308384 100644 --- a/index.js +++ b/index.js @@ -7,12 +7,15 @@ module.exports = { extends: [ 'eslint:recommended', 'plugin:jsdoc/recommended', - 'plugin:vue/recommended' + 'plugin:vue/recommended', + 'plugin:import/errors', + 'plugin:import/warnings' ], plugins: [ 'eslint-plugin-jsdoc', - 'eslint-plugin-vue' + 'eslint-plugin-vue', + 'eslint-plugin-import' ], rules: { @@ -297,7 +300,43 @@ module.exports = { 'error', { contexts: ['Properties'] } ], - 'jsdoc/require-description': 'error' + 'jsdoc/require-description': 'error', + + // import + 'import/no-unresolved': 'error', + 'import/named': 'error', + 'import/default': 'error', + 'import/namespace': 'error', + 'import/no-absolute-path': 'error', + 'import/no-dynamic-require': 'warn', + 'import/no-webpack-loader-syntax': 'error', + 'import/no-self-import': 'error', + 'import/no-cycle': 'error', + 'import/no-useless-path-segments': 'error', + 'import/no-relative-parent-imports': 'error', + 'import/no-unused-modules': 'error', + 'import/export': 'error', + 'import/no-named-as-default': 'error', + 'import/no-named-as-default-member': 'error', + 'import/no-deprecated': 'error', + 'import/no-extraneous-dependencies': 'error', + 'import/no-mutable-exports': 'error', + 'import/unambiguous': 'error', + 'import/no-commonjs': 'error', + 'import/no-amd': 'error', + 'import/no-nodejs-modules': 'error', + 'import/first': 'error', + 'import/exports-last': 'error', + 'import/no-duplicates': 'error', + 'import/no-namespace': 'error', + 'import/extensions': 'error', + 'import/order': 'error', + 'import/newline-after-import': 'error', + 'import/prefer-default-export': 'error', + 'import/no-unassigned-import': 'error', + 'import/no-named-default': 'error', + 'import/no-anonymous-default-export': 'error', + 'import/group-exports': 'error' } } diff --git a/package-lock.json b/package-lock.json index c99bb52..136a6af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,13 +81,14 @@ } }, "array-includes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.0.tgz", - "integrity": "sha512-ONOEQoKrvXPKk7Su92Co0YMqYO32FfqJTzkKU9u2UpIXyYZIzLSvpdg4AwvSw4mSUW0czu6inK+zby6Oj6gDjQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.0" + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" } }, "array.prototype.flat": { @@ -261,22 +262,22 @@ } }, "es-abstract": { - "version": "1.17.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz", - "integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" } }, "es-to-primitive": { @@ -822,15 +823,15 @@ "dev": true }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", "dev": true }, "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, "is-extglob": { @@ -861,14 +862,20 @@ "dev": true }, "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", "dev": true, "requires": { - "has": "^1.0.1" + "has": "^1.0.3" } }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -1413,9 +1420,9 @@ } }, "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", "dev": true, "requires": { "define-properties": "^1.1.3", @@ -1423,9 +1430,9 @@ } }, "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", "dev": true, "requires": { "define-properties": "^1.1.3", diff --git a/package.json b/package.json index 12e9865..dbbd2ef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@scode/eslint-config", - "version": "1.0.0", + "version": "1.1.0", "description": "scode eslint standard configuration", "main": "index.js", "scripts": { @@ -11,7 +11,7 @@ "url": "https://git.scode.ovh/timo/scode-eslint-config.git" }, "peerDependencies": { - "eslint": ">=6.7.2" + "eslint": ">=6.8.0" }, "keywords": [ "eslint", @@ -20,15 +20,15 @@ "author": "Timo Hocker", "license": "GPL-3.0-or-later", "devDependencies": { - "eslint": "^6.7.2", + "eslint": "^6.8.0", "eslint-config-standard": "^14.1.0", - "eslint-plugin-import": "^2.19.1", - "eslint-plugin-node": "^10.0.0", + "eslint-plugin-node": "^11.0.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1" }, "dependencies": { - "eslint-plugin-jsdoc": "^18.4.4", - "eslint-plugin-vue": "^6.0.1" + "eslint-plugin-jsdoc": "^20.0.0", + "eslint-plugin-vue": "^6.1.2", + "eslint-plugin-import": "^2.19.1" } }