From 1d13f406a2f38565d6ec7dda7aaef5f10410d82e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Sat, 3 Jun 2017 12:45:17 +0200 Subject: [PATCH 01/16] Simplify config --- .eslintrc.js | 22 +++++++++++++++++ .eslintrc.json | 17 ------------- package.json | 67 ++++++++++++++++++++++++++++---------------------- 3 files changed, 60 insertions(+), 46 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 .eslintrc.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000..ae211a342 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,22 @@ +module.exports = { + root: true, + parserOptions: { + ecmaVersion: 6 + }, + env: { + node: true, + mocha: true + }, + extends: [ + "plugin:eslint-plugin/recommended" + ], + plugins: [ + "eslint-plugin" + ], + rules: { + "complexity": "off", + "eslint-plugin/report-message-format": ["error", "^[A-Z].*\\.$"], + "eslint-plugin/prefer-placeholders": "error", + "eslint-plugin/consistent-output": "error" + } +} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index ef741a1a1..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "root": true, - "extends": [ - "mysticatea", - "mysticatea/node", - "plugin:eslint-plugin/recommended" - ], - "plugins": [ - "eslint-plugin" - ], - "rules": { - "complexity": "off", - "eslint-plugin/report-message-format": ["error", "^[A-Z].*\\.$"], - "eslint-plugin/prefer-placeholders": "error", - "eslint-plugin/consistent-output": "error" - } -} diff --git a/package.json b/package.json index 39769300d..77f14cc7e 100644 --- a/package.json +++ b/package.json @@ -2,13 +2,44 @@ "name": "eslint-plugin-vue", "version": "3.0.0", "description": "Official ESLint plugin for Vue.js", - "engines": { - "node": ">=4" - }, "main": "lib/index.js", + "scripts": { + "start": "npm run test:simple -- --watch --growl", + "test:base": "mocha tests --recursive", + "test:simple": "npm run test:base -- --reporter nyan", + "test": "nyc npm run test:base", + "lint": "eslint .", + "pretest": "npm run lint", + "preversion": "npm test", + "postversion": "git push --follow-tags" + }, "files": [ "lib" ], + "homepage": "https://github.com/vuejs/eslint-plugin-vue#readme", + "keywords": [ + "eslint", + "eslint-plugin", + "eslint-config", + "vue", + "vuejs", + "rules" + ], + "author": "Toru Nagashima (https://github.com/mysticatea)", + "contributors": [ + "Michał Sajnóg (http://github.com/michalsnik)" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/eslint-plugin-vue.git" + }, + "bugs": { + "url": "https://github.com/vuejs/eslint-plugin-vue/issues" + }, + "engines": { + "node": ">=4" + }, "peerDependencies": { "eslint": "^3.18.0" }, @@ -16,37 +47,15 @@ "vue-eslint-parser": "mysticatea/vue-eslint-parser#v1.1.0-4" }, "devDependencies": { - "@types/node": "^4.2.6", "codecov": "^2.1.0", + "@types/node": "^4.2.6", "eslint": "^3.18.0", - "eslint-config-mysticatea": "^10.0.0", + "eslint-config-airbnb-base": "^11.2.0", "eslint-plugin-eslint-plugin": "^0.7.1", + "eslint-plugin-import": "^2.3.0", "mocha": "^3.2.0", "nyc": "^10.2.0", "opener": "^1.4.3", "rimraf": "^2.6.1" - }, - "scripts": { - "_mocha": "_mocha \"tests/lib/**/*.js\" --reporter progress", - "clean": "rimraf .nyc_output coverage", - "coverage": "nyc report --reporter lcov && opener ./coverage/lcov-report/index.html", - "lint": "eslint lib \"tests/lib/**/*.js\"", - "postversion": "git push && git push --tags", - "pretest": "npm run lint", - "preversion": "npm test", - "test": "nyc npm run _mocha", - "watch": "npm run _mocha -- --growl --watch", - "codecov": "nyc report --reporter lcovonly && codecov" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vuejs/eslint-plugin-vue-trial.git" - }, - "keywords": [], - "author": "Toru Nagashima (https://github.com/mysticatea)", - "license": "MIT", - "bugs": { - "url": "https://github.com/vuejs/eslint-plugin-vue/issues" - }, - "homepage": "https://github.com/vuejs/eslint-plugin-vue#readme" + } } From f1961e3dbd883343ff165fbc56282da42cd5aace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Sat, 3 Jun 2017 16:05:21 +0200 Subject: [PATCH 02/16] Move config to separate folder, simplify rules' resolver --- config/base.js | 44 +++++++++++++++++++++++++++++++++++++++++++ config/recommended.js | 6 ++++++ index.js | 12 ++++++++++++ lib/index.js | 11 ----------- lib/recommended.json | 33 -------------------------------- lib/rules.js | 34 --------------------------------- package.json | 1 + 7 files changed, 63 insertions(+), 78 deletions(-) create mode 100644 config/base.js create mode 100644 config/recommended.js create mode 100644 index.js delete mode 100644 lib/index.js delete mode 100644 lib/recommended.json delete mode 100644 lib/rules.js diff --git a/config/base.js b/config/base.js new file mode 100644 index 000000000..04356aad9 --- /dev/null +++ b/config/base.js @@ -0,0 +1,44 @@ +module.exports = { + root: true, + + parserOptions: { + ecmaVersion: 6, + sourceType: 'module', + }, + + env: { + browser: true, + }, + + plugins: [ + 'vue', + ], + + rules: { + 'vue/html-end-tags': 'error', + 'vue/html-no-self-closing': 'error', + 'vue/html-quotes': 'off', + 'vue/no-confusing-v-for-v-if': 'error', + 'vue/no-duplicate-attributes': 'error', + 'vue/no-invalid-template-root': 'error', + 'vue/no-invalid-v-bind': 'error', + 'vue/no-invalid-v-cloak': 'error', + 'vue/no-invalid-v-else-if': 'error', + 'vue/no-invalid-v-else': 'error', + 'vue/no-invalid-v-for': 'error', + 'vue/no-invalid-v-html': 'error', + 'vue/no-invalid-v-if': 'error', + 'vue/no-invalid-v-model': 'error', + 'vue/no-invalid-v-on': 'error', + 'vue/no-invalid-v-once': 'error', + 'vue/no-invalid-v-pre': 'error', + 'vue/no-invalid-v-show': 'error', + 'vue/no-invalid-v-text': 'error', + 'vue/no-parsing-error': 'error', + 'vue/no-textarea-mustache': 'error', + 'vue/require-component-is': 'error', + 'vue/require-v-for-key': 'error', + 'vue/v-bind-style': 'off', + 'vue/v-on-style': 'off' + }, +}; diff --git a/config/recommended.js b/config/recommended.js new file mode 100644 index 000000000..4731b427f --- /dev/null +++ b/config/recommended.js @@ -0,0 +1,6 @@ +module.exports = { + extends: require.resolve('./base.js'), + + rules: { + }, +}; diff --git a/index.js b/index.js new file mode 100644 index 000000000..674c9d167 --- /dev/null +++ b/index.js @@ -0,0 +1,12 @@ +'use strict'; + +const resolve = require('path').resolve; +const requireIndex = require('requireindex'); + +const rules = requireIndex(resolve(__dirname, 'lib/rules')); +const configs = requireIndex(resolve(__dirname, 'config')); + +module.exports = { + rules, + configs, +}; diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index 12ab57b0e..000000000 --- a/lib/index.js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @author Toru Nagashima - * @copyright 2017 Toru Nagashima. All rights reserved. - * See LICENSE file in root directory for full license. - */ -"use strict" - -module.exports = { - configs: {recommended: require("./recommended.json")}, - rules: require("./rules.js"), -} diff --git a/lib/recommended.json b/lib/recommended.json deleted file mode 100644 index b8e397502..000000000 --- a/lib/recommended.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parser": "vue-eslint-parser", - "env": { - "es6": true - }, - "rules": { - "vue/html-end-tags": "error", - "vue/html-no-self-closing": "error", - "vue/html-quotes": "off", - "vue/no-confusing-v-for-v-if": "error", - "vue/no-duplicate-attributes": "error", - "vue/no-invalid-template-root": "error", - "vue/no-invalid-v-bind": "error", - "vue/no-invalid-v-cloak": "error", - "vue/no-invalid-v-else-if": "error", - "vue/no-invalid-v-else": "error", - "vue/no-invalid-v-for": "error", - "vue/no-invalid-v-html": "error", - "vue/no-invalid-v-if": "error", - "vue/no-invalid-v-model": "error", - "vue/no-invalid-v-on": "error", - "vue/no-invalid-v-once": "error", - "vue/no-invalid-v-pre": "error", - "vue/no-invalid-v-show": "error", - "vue/no-invalid-v-text": "error", - "vue/no-parsing-error": "error", - "vue/no-textarea-mustache": "error", - "vue/require-component-is": "error", - "vue/require-v-for-key": "error", - "vue/v-bind-style": "off", - "vue/v-on-style": "off" - } -} diff --git a/lib/rules.js b/lib/rules.js deleted file mode 100644 index a815ead67..000000000 --- a/lib/rules.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @author Toru Nagashima - * @copyright 2017 Toru Nagashima. All rights reserved. - * See LICENSE file in root directory for full license. - */ -"use strict" - -module.exports = { - "html-end-tags": require("./rules/html-end-tags"), - "html-no-self-closing": require("./rules/html-no-self-closing"), - "html-quotes": require("./rules/html-quotes"), - "no-confusing-v-for-v-if": require("./rules/no-confusing-v-for-v-if"), - "no-duplicate-attributes": require("./rules/no-duplicate-attributes"), - "no-invalid-template-root": require("./rules/no-invalid-template-root"), - "no-invalid-v-bind": require("./rules/no-invalid-v-bind"), - "no-invalid-v-cloak": require("./rules/no-invalid-v-cloak"), - "no-invalid-v-else-if": require("./rules/no-invalid-v-else-if"), - "no-invalid-v-else": require("./rules/no-invalid-v-else"), - "no-invalid-v-for": require("./rules/no-invalid-v-for"), - "no-invalid-v-html": require("./rules/no-invalid-v-html"), - "no-invalid-v-if": require("./rules/no-invalid-v-if"), - "no-invalid-v-model": require("./rules/no-invalid-v-model"), - "no-invalid-v-on": require("./rules/no-invalid-v-on"), - "no-invalid-v-once": require("./rules/no-invalid-v-once"), - "no-invalid-v-pre": require("./rules/no-invalid-v-pre"), - "no-invalid-v-show": require("./rules/no-invalid-v-show"), - "no-invalid-v-text": require("./rules/no-invalid-v-text"), - "no-parsing-error": require("./rules/no-parsing-error"), - "no-textarea-mustache": require("./rules/no-textarea-mustache"), - "require-component-is": require("./rules/require-component-is"), - "require-v-for-key": require("./rules/require-v-for-key"), - "v-bind-style": require("./rules/v-bind-style"), - "v-on-style": require("./rules/v-on-style"), -} diff --git a/package.json b/package.json index 77f14cc7e..17ea8a244 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "eslint": "^3.18.0" }, "dependencies": { + "requireindex": "^1.1.0", "vue-eslint-parser": "mysticatea/vue-eslint-parser#v1.1.0-4" }, "devDependencies": { From 75961dbb87ce87690439c1a5b22145e704746670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Sat, 3 Jun 2017 16:16:59 +0200 Subject: [PATCH 03/16] Remove unused packages --- package.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/package.json b/package.json index 17ea8a244..2f8c6201d 100644 --- a/package.json +++ b/package.json @@ -48,15 +48,10 @@ "vue-eslint-parser": "mysticatea/vue-eslint-parser#v1.1.0-4" }, "devDependencies": { - "codecov": "^2.1.0", "@types/node": "^4.2.6", "eslint": "^3.18.0", - "eslint-config-airbnb-base": "^11.2.0", "eslint-plugin-eslint-plugin": "^0.7.1", - "eslint-plugin-import": "^2.3.0", "mocha": "^3.2.0", - "nyc": "^10.2.0", - "opener": "^1.4.3", - "rimraf": "^2.6.1" + "nyc": "^10.2.0" } } From 26f282ea4558cb2313ea35234a29bea5ce02c350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Sat, 3 Jun 2017 23:34:36 +0200 Subject: [PATCH 04/16] Update config --- .eslintrc.js | 10 +++++----- config/base.js | 33 +++++---------------------------- config/recommended.js | 25 +++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 33 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index ae211a342..de208a925 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,22 +1,22 @@ module.exports = { root: true, parserOptions: { - ecmaVersion: 6 + ecmaVersion: 6, }, env: { node: true, - mocha: true + mocha: true, }, extends: [ - "plugin:eslint-plugin/recommended" + "plugin:eslint-plugin/recommended", ], plugins: [ - "eslint-plugin" + "eslint-plugin", ], rules: { "complexity": "off", "eslint-plugin/report-message-format": ["error", "^[A-Z].*\\.$"], "eslint-plugin/prefer-placeholders": "error", - "eslint-plugin/consistent-output": "error" + "eslint-plugin/consistent-output": "error", } } diff --git a/config/base.js b/config/base.js index 04356aad9..8a7ecfb6e 100644 --- a/config/base.js +++ b/config/base.js @@ -1,9 +1,14 @@ module.exports = { root: true, + parser: "vue-eslint-parser", + parserOptions: { ecmaVersion: 6, sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, }, env: { @@ -13,32 +18,4 @@ module.exports = { plugins: [ 'vue', ], - - rules: { - 'vue/html-end-tags': 'error', - 'vue/html-no-self-closing': 'error', - 'vue/html-quotes': 'off', - 'vue/no-confusing-v-for-v-if': 'error', - 'vue/no-duplicate-attributes': 'error', - 'vue/no-invalid-template-root': 'error', - 'vue/no-invalid-v-bind': 'error', - 'vue/no-invalid-v-cloak': 'error', - 'vue/no-invalid-v-else-if': 'error', - 'vue/no-invalid-v-else': 'error', - 'vue/no-invalid-v-for': 'error', - 'vue/no-invalid-v-html': 'error', - 'vue/no-invalid-v-if': 'error', - 'vue/no-invalid-v-model': 'error', - 'vue/no-invalid-v-on': 'error', - 'vue/no-invalid-v-once': 'error', - 'vue/no-invalid-v-pre': 'error', - 'vue/no-invalid-v-show': 'error', - 'vue/no-invalid-v-text': 'error', - 'vue/no-parsing-error': 'error', - 'vue/no-textarea-mustache': 'error', - 'vue/require-component-is': 'error', - 'vue/require-v-for-key': 'error', - 'vue/v-bind-style': 'off', - 'vue/v-on-style': 'off' - }, }; diff --git a/config/recommended.js b/config/recommended.js index 4731b427f..ffd4059fc 100644 --- a/config/recommended.js +++ b/config/recommended.js @@ -2,5 +2,30 @@ module.exports = { extends: require.resolve('./base.js'), rules: { + 'vue/html-end-tags': 'error', + 'vue/html-no-self-closing': 'error', + 'vue/html-quotes': 'off', + 'vue/no-confusing-v-for-v-if': 'error', + 'vue/no-duplicate-attributes': 'error', + 'vue/no-invalid-template-root': 'error', + 'vue/no-invalid-v-bind': 'error', + 'vue/no-invalid-v-cloak': 'error', + 'vue/no-invalid-v-else-if': 'error', + 'vue/no-invalid-v-else': 'error', + 'vue/no-invalid-v-for': 'error', + 'vue/no-invalid-v-html': 'error', + 'vue/no-invalid-v-if': 'error', + 'vue/no-invalid-v-model': 'error', + 'vue/no-invalid-v-on': 'error', + 'vue/no-invalid-v-once': 'error', + 'vue/no-invalid-v-pre': 'error', + 'vue/no-invalid-v-show': 'error', + 'vue/no-invalid-v-text': 'error', + 'vue/no-parsing-error': 'error', + 'vue/no-textarea-mustache': 2, + 'vue/require-component-is': 'error', + 'vue/require-v-for-key': 'error', + 'vue/v-bind-style': 'off', + 'vue/v-on-style': 'off' }, }; From db9c67d52a82cce89ce871806070ae73cb851068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Mon, 5 Jun 2017 00:49:00 +0200 Subject: [PATCH 05/16] Change travis to circleCI --- .travis.yml | 10 ---------- circle.yml | 9 +++++++++ 2 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 .travis.yml create mode 100644 circle.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 97175d6db..000000000 --- a/.travis.yml +++ /dev/null @@ -1,10 +0,0 @@ -sudo: false -language: node_js -node_js: - - "4" - - "6" - - "7" -before_install: - - if [[ `npm --version` == 2* ]]; then npm install -g npm@3; fi -after_success: - - npm run codecov diff --git a/circle.yml b/circle.yml new file mode 100644 index 000000000..e765b02ad --- /dev/null +++ b/circle.yml @@ -0,0 +1,9 @@ +machine: + node: + version: 4 + +test: + override: + - npm test + - nvm use 6 && npm test + - nvm use 7 && npm test From 9c2d1466f1dcfad71cde85ffcea0c460456b8a00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Mon, 5 Jun 2017 00:52:37 +0200 Subject: [PATCH 06/16] CircleCI - Install Node 7 --- circle.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/circle.yml b/circle.yml index e765b02ad..5108b5253 100644 --- a/circle.yml +++ b/circle.yml @@ -2,6 +2,10 @@ machine: node: version: 4 +dependencies: + pre: + - nvm install 7 + test: override: - npm test From c9daf2d5bacbc6418e3c8a49afc0f437dacdb0ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Wed, 7 Jun 2017 00:20:57 +0200 Subject: [PATCH 07/16] Update rules update script --- README.md | 28 ++++++---- config/recommended.js | 29 +--------- lib/recommended-rules.js | 33 +++++++++++ package.json | 5 +- tools/update-rules.js | 117 +++++++++++++++++---------------------- 5 files changed, 105 insertions(+), 107 deletions(-) create mode 100644 lib/recommended-rules.js diff --git a/README.md b/README.md index f06a04430..6ca900a57 100644 --- a/README.md +++ b/README.md @@ -37,11 +37,12 @@ Write `.eslintrc.*` file to configure rules. See also: http://eslint.org/docs/us - ✒️ the mark of a fixable rule. -### Possible Errors -| | Rule ID | Description | -|:---|:--------|:------------| -| ⭐️ | [no-invalid-template-root](./docs/rules/no-invalid-template-root.md) | disallow invalid template root. | + ### Possible Errors + + | | Rule ID | Description | + |:---|:--------|:------------| + | ⭐️ | [no-invalid-template-root](./docs/rules/no-invalid-template-root.md) | disallow invalid template root. | | ⭐️ | [no-invalid-v-bind](./docs/rules/no-invalid-v-bind.md) | disallow invalid v-bind directives. | | ⭐️ | [no-invalid-v-cloak](./docs/rules/no-invalid-v-cloak.md) | disallow invalid v-cloak directives. | | ⭐️ | [no-invalid-v-else-if](./docs/rules/no-invalid-v-else-if.md) | disallow invalid v-else-if directives. | @@ -57,23 +58,26 @@ Write `.eslintrc.*` file to configure rules. See also: http://eslint.org/docs/us | ⭐️ | [no-invalid-v-text](./docs/rules/no-invalid-v-text.md) | disallow invalid v-text directives. | | ⭐️ | [no-parsing-error](./docs/rules/no-parsing-error.md) | disallow parsing errors in `", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives aren't supported on
elements."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives require no argument."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives don't support the modifier 'aaa'."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives require that attribute value."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives require the attribute value which is valid as LHS."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives don't support dynamic input types."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives don't support dynamic input types."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives don't support 'file' input type."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-model' directives cannot update the iteration variable 'x' itself."], - }, - ], +tester.run('no-invalid-v-model', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives aren't supported on
elements."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives require no argument."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives don't support the modifier 'aaa'."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives require that attribute value."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives require the attribute value which is valid as LHS."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives don't support dynamic input types."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives don't support dynamic input types."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives don't support 'file' input type."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-model' directives cannot update the iteration variable 'x' itself."] + } + ] }) diff --git a/tests/lib/rules/no-invalid-v-on.js b/tests/lib/rules/no-invalid-v-on.js index e0d12b2a2..24cc67eec 100644 --- a/tests/lib/rules/no-invalid-v-on.js +++ b/tests/lib/rules/no-invalid-v-on.js @@ -3,62 +3,62 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/no-invalid-v-on") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-invalid-v-on') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("no-invalid-v-on", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["'v-on' directives require event names."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-on' directives don't support the modifier 'aaa'."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-on' directives require that attribute value."], - }, - ], +tester.run('no-invalid-v-on', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["'v-on' directives require event names."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-on' directives don't support the modifier 'aaa'."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-on' directives require that attribute value."] + } + ] }) diff --git a/tests/lib/rules/no-invalid-v-once.js b/tests/lib/rules/no-invalid-v-once.js index 709ac8036..26c7a998b 100644 --- a/tests/lib/rules/no-invalid-v-once.js +++ b/tests/lib/rules/no-invalid-v-once.js @@ -3,50 +3,50 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/no-invalid-v-once") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-invalid-v-once') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("no-invalid-v-once", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["'v-once' directives require no argument."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-once' directives require no modifier."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-once' directives require no attribute value."], - }, - ], +tester.run('no-invalid-v-once', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["'v-once' directives require no argument."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-once' directives require no modifier."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-once' directives require no attribute value."] + } + ] }) diff --git a/tests/lib/rules/no-invalid-v-pre.js b/tests/lib/rules/no-invalid-v-pre.js index 064e5ac79..b31b474b3 100644 --- a/tests/lib/rules/no-invalid-v-pre.js +++ b/tests/lib/rules/no-invalid-v-pre.js @@ -3,50 +3,50 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/no-invalid-v-pre") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-invalid-v-pre') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("no-invalid-v-pre", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["'v-pre' directives require no argument."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-pre' directives require no modifier."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-pre' directives require no attribute value."], - }, - ], +tester.run('no-invalid-v-pre', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["'v-pre' directives require no argument."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-pre' directives require no modifier."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-pre' directives require no attribute value."] + } + ] }) diff --git a/tests/lib/rules/no-invalid-v-show.js b/tests/lib/rules/no-invalid-v-show.js index 458d57771..4d2e97507 100644 --- a/tests/lib/rules/no-invalid-v-show.js +++ b/tests/lib/rules/no-invalid-v-show.js @@ -3,50 +3,50 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/no-invalid-v-show") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-invalid-v-show') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("no-invalid-v-show", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["'v-show' directives require no argument."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-show' directives require no modifier."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-show' directives require that attribute value."], - }, - ], +tester.run('no-invalid-v-show', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["'v-show' directives require no argument."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-show' directives require no modifier."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-show' directives require that attribute value."] + } + ] }) diff --git a/tests/lib/rules/no-invalid-v-text.js b/tests/lib/rules/no-invalid-v-text.js index bbbdacc99..759363d1d 100644 --- a/tests/lib/rules/no-invalid-v-text.js +++ b/tests/lib/rules/no-invalid-v-text.js @@ -3,50 +3,50 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/no-invalid-v-text") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-invalid-v-text') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("no-invalid-v-text", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["'v-text' directives require no argument."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-text' directives require no modifier."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-text' directives require that attribute value."], - }, - ], +tester.run('no-invalid-v-text', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["'v-text' directives require no argument."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-text' directives require no modifier."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-text' directives require that attribute value."] + } + ] }) diff --git a/tests/lib/rules/no-parsing-error.js b/tests/lib/rules/no-parsing-error.js index a05c78fb7..9a20abba1 100644 --- a/tests/lib/rules/no-parsing-error.js +++ b/tests/lib/rules/no-parsing-error.js @@ -3,84 +3,84 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/no-parsing-error") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-parsing-error') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("no-parsing-error", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Unexpected token b."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Unexpected token b."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Unexpected token b."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Unexpected token ;."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Expected an expression but got no code."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Expected an expression but got no code."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Expected an expression but got no code."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Unexpected token )."], - }, - { - filename: "test.vue", - code: "", - errors: ["Parsing error: Assigning to rvalue."], - }, - ], +tester.run('no-parsing-error', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Unexpected token b.'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Unexpected token b.'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Unexpected token b.'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Unexpected token ;.'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Expected an expression but got no code.'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Expected an expression but got no code.'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Expected an expression but got no code.'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Unexpected token ).'] + }, + { + filename: 'test.vue', + code: '', + errors: ['Parsing error: Assigning to rvalue.'] + } + ] }) diff --git a/tests/lib/rules/no-textarea-mustache.js b/tests/lib/rules/no-textarea-mustache.js index eb628546f..8b6bff0dc 100644 --- a/tests/lib/rules/no-textarea-mustache.js +++ b/tests/lib/rules/no-textarea-mustache.js @@ -3,48 +3,48 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/no-textarea-mustache") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-textarea-mustache') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("no-textarea-mustache", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["Unexpected mustache. Use 'v-model' instead."], - }, - { - filename: "test.vue", - code: "", - errors: [ - "Unexpected mustache. Use 'v-model' instead.", - "Unexpected mustache. Use 'v-model' instead.", - ], - }, - ], +tester.run('no-textarea-mustache', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["Unexpected mustache. Use 'v-model' instead."] + }, + { + filename: 'test.vue', + code: '', + errors: [ + "Unexpected mustache. Use 'v-model' instead.", + "Unexpected mustache. Use 'v-model' instead." + ] + } + ] }) diff --git a/tests/lib/rules/require-component-is.js b/tests/lib/rules/require-component-is.js index 87771c4ac..f59b72b88 100644 --- a/tests/lib/rules/require-component-is.js +++ b/tests/lib/rules/require-component-is.js @@ -3,49 +3,49 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/require-component-is") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/require-component-is') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("require-component-is", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["Expected '' elements to have 'v-bind:is' attribute."], - }, - { - filename: "test.vue", - code: "", - errors: ["Expected '' elements to have 'v-bind:is' attribute."], - }, - ], +tester.run('require-component-is', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["Expected '' elements to have 'v-bind:is' attribute."] + }, + { + filename: 'test.vue', + code: '', + errors: ["Expected '' elements to have 'v-bind:is' attribute."] + } + ] }) diff --git a/tests/lib/rules/require-v-for-key.js b/tests/lib/rules/require-v-for-key.js index d5e48420f..156e4befa 100644 --- a/tests/lib/rules/require-v-for-key.js +++ b/tests/lib/rules/require-v-for-key.js @@ -3,53 +3,53 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/require-v-for-key") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/require-v-for-key') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("require-v-for-key", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - errors: ["'v-for' directives require 'v-bind:key' directives."], - }, - { - filename: "test.vue", - code: "", - errors: ["'v-for' directives require 'v-bind:key' directives."], - }, - ], +tester.run('require-v-for-key', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ["'v-for' directives require 'v-bind:key' directives."] + }, + { + filename: 'test.vue', + code: '', + errors: ["'v-for' directives require 'v-bind:key' directives."] + } + ] }) diff --git a/tests/lib/rules/v-bind-style.js b/tests/lib/rules/v-bind-style.js index 8269257cb..eeab4b9ab 100644 --- a/tests/lib/rules/v-bind-style.js +++ b/tests/lib/rules/v-bind-style.js @@ -3,69 +3,69 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/v-bind-style") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/v-bind-style') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("v-bind-style", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - options: ["shorthand"], - }, - { - filename: "test.vue", - code: "", - options: ["longform"], - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - output: "", - errors: ["Unexpected 'v-bind' before ':'."], - }, - { - filename: "test.vue", - options: ["shorthand"], - code: "", - output: "", - errors: ["Unexpected 'v-bind' before ':'."], - }, - { - filename: "test.vue", - options: ["longform"], - code: "", - output: "", - errors: ["Expected 'v-bind' before ':'."], - }, - ], +tester.run('v-bind-style', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '', + options: ['shorthand'] + }, + { + filename: 'test.vue', + code: '', + options: ['longform'] + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + output: '', + errors: ["Unexpected 'v-bind' before ':'."] + }, + { + filename: 'test.vue', + options: ['shorthand'], + code: '', + output: '', + errors: ["Unexpected 'v-bind' before ':'."] + }, + { + filename: 'test.vue', + options: ['longform'], + code: '', + output: '', + errors: ["Expected 'v-bind' before ':'."] + } + ] }) diff --git a/tests/lib/rules/v-on-style.js b/tests/lib/rules/v-on-style.js index c2473f49b..ba0ea711a 100644 --- a/tests/lib/rules/v-on-style.js +++ b/tests/lib/rules/v-on-style.js @@ -3,69 +3,69 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const RuleTester = require("eslint").RuleTester -const rule = require("../../../lib/rules/v-on-style") +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/v-on-style') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Tests -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ const tester = new RuleTester({ - parser: "vue-eslint-parser", - parserOptions: {ecmaVersion: 2015}, + parser: 'vue-eslint-parser', + parserOptions: { ecmaVersion: 2015 } }) -tester.run("v-on-style", rule, { - valid: [ - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - }, - { - filename: "test.vue", - code: "", - options: ["shorthand"], - }, - { - filename: "test.vue", - code: "", - options: ["longform"], - }, - ], - invalid: [ - { - filename: "test.vue", - code: "", - output: "", - errors: ["Expected '@' instead of 'v-on:'."], - }, - { - filename: "test.vue", - options: ["shorthand"], - code: "", - output: "", - errors: ["Expected '@' instead of 'v-on:'."], - }, - { - filename: "test.vue", - options: ["longform"], - code: "", - output: "", - errors: ["Expected 'v-on:' instead of '@'."], - }, - ], +tester.run('v-on-style', rule, { + valid: [ + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '', + options: ['shorthand'] + }, + { + filename: 'test.vue', + code: '', + options: ['longform'] + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + output: '', + errors: ["Expected '@' instead of 'v-on:'."] + }, + { + filename: 'test.vue', + options: ['shorthand'], + code: '', + output: '', + errors: ["Expected '@' instead of 'v-on:'."] + }, + { + filename: 'test.vue', + options: ['longform'], + code: '', + output: '', + errors: ["Expected 'v-on:' instead of '@'."] + } + ] }) diff --git a/tools/update-rules.js b/tools/update-rules.js index cad16765c..2cf537c78 100644 --- a/tools/update-rules.js +++ b/tools/update-rules.js @@ -3,43 +3,43 @@ * @copyright 2017 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ -"use strict" +'use strict' -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Requirements -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const fs = require("fs") -const path = require("path") +const fs = require('fs') +const path = require('path') -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // Main -//------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ -const root = path.resolve(__dirname, "../lib/rules") -const readmeFile = path.resolve(__dirname, "../README.md") -const recommendedRulesFile = path.resolve(__dirname, "../lib/recommended-rules.js") +const root = path.resolve(__dirname, '../lib/rules') +const readmeFile = path.resolve(__dirname, '../README.md') +const recommendedRulesFile = path.resolve(__dirname, '../lib/recommended-rules.js') const tablePlaceholder = /[\s\S]*/ -const readmeContent = fs.readFileSync(readmeFile, "utf8") +const readmeContent = fs.readFileSync(readmeFile, 'utf8') -const STAR = ":white_check_mark:" -const PEN = ":wrench:" +const STAR = ':white_check_mark:' +const PEN = ':wrench:' const rules = fs.readdirSync(root) - .filter(file => path.extname(file) === ".js") - .map(file => path.basename(file, ".js")) + .filter(file => path.extname(file) === '.js') + .map(file => path.basename(file, '.js')) .map(fileName => [ fileName, - require(path.join(root, fileName)), + require(path.join(root, fileName)) ]) const categories = rules .map(entry => entry[1].meta.docs.category) .reduce((arr, category) => { if (!arr.includes(category)) { - arr.push(category); + arr.push(category) } - return arr; + return arr }, []) const rulesTableContent = categories.map(category => ` @@ -53,22 +53,22 @@ ${ .map(entry => { const name = entry[0] const meta = entry[1].meta - const mark = `${meta.docs.recommended ? STAR : ""}${meta.fixable ? PEN : ""}` + const mark = `${meta.docs.recommended ? STAR : ''}${meta.fixable ? PEN : ''}` const link = `[${name}](./docs/rules/${name}.md)` - const description = meta.docs.description || "(no description)" + const description = meta.docs.description || '(no description)' return `| ${mark} | ${link} | ${description} |` }) - .join("\n") + .join('\n') } -`).join("\n") +`).join('\n') const recommendedRules = rules.reduce((obj, entry) => { - const name = `vue/${entry[0]}`; + const name = `vue/${entry[0]}` const recommended = entry[1].meta.docs.recommended const status = recommended ? 'error' : 'off' - obj[name] = status; - return obj; -}, {}); + obj[name] = status + return obj +}, {}) const recommendedRulesContent = `/* * IMPORTANT! From 40614ca2253cbafc27174a07846f3bb23a11f6a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Mon, 12 Jun 2017 01:16:31 +0200 Subject: [PATCH 12/16] Change eslintrc format --- .eslintrc.js => .eslintrc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) rename .eslintrc.js => .eslintrc (70%) diff --git a/.eslintrc.js b/.eslintrc similarity index 70% rename from .eslintrc.js rename to .eslintrc index 063231ea6..56986d8ba 100644 --- a/.eslintrc.js +++ b/.eslintrc @@ -1,20 +1,20 @@ -module.exports = { - root: true, - parserOptions: { - ecmaVersion: 6, +{ + "root": true, + "parserOptions": { + "ecmaVersion": 6, }, - env: { - node: true, - mocha: true, + "env": { + "node": true, + "mocha": true, }, extends: [ "plugin:eslint-plugin/recommended", "plugin:vue-libs/recommended", ], - plugins: [ + "plugins": [ "eslint-plugin", ], - rules: { + "rules": { "complexity": "off", "eslint-plugin/report-message-format": ["error", "^[A-Z].*\\.$"], "eslint-plugin/prefer-placeholders": "error", From ac6a4fdc1b09f690e10eb134a2f4d2d1527ba3fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Mon, 12 Jun 2017 01:17:19 +0200 Subject: [PATCH 13/16] Add node 8 to list of test environments --- circle.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/circle.yml b/circle.yml index 5108b5253..c1739ea17 100644 --- a/circle.yml +++ b/circle.yml @@ -5,9 +5,11 @@ machine: dependencies: pre: - nvm install 7 + - nvm install 8 test: override: - npm test - nvm use 6 && npm test - nvm use 7 && npm test + - nvm use 8 && npm test From 83666926de1da6a11cbbb196c5b6f2792058c617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Tue, 13 Jun 2017 00:20:03 +0200 Subject: [PATCH 14/16] Use .eslintrc.js, add eslint 4 to peer dependencies, add lockfile --- .eslintrc | 23 - .eslintrc.js | 23 + package-lock.json | 2004 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 4 files changed, 2028 insertions(+), 24 deletions(-) delete mode 100644 .eslintrc create mode 100644 .eslintrc.js create mode 100644 package-lock.json diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 56986d8ba..000000000 --- a/.eslintrc +++ /dev/null @@ -1,23 +0,0 @@ -{ - "root": true, - "parserOptions": { - "ecmaVersion": 6, - }, - "env": { - "node": true, - "mocha": true, - }, - extends: [ - "plugin:eslint-plugin/recommended", - "plugin:vue-libs/recommended", - ], - "plugins": [ - "eslint-plugin", - ], - "rules": { - "complexity": "off", - "eslint-plugin/report-message-format": ["error", "^[A-Z].*\\.$"], - "eslint-plugin/prefer-placeholders": "error", - "eslint-plugin/consistent-output": "error", - } -} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000..906fd952a --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,23 @@ +module.exports = { + root: true, + parserOptions: { + ecmaVersion: 6 + }, + env: { + node: true, + mocha: true + }, + extends: [ + 'plugin:eslint-plugin/recommended', + 'plugin:vue-libs/recommended' + ], + plugins: [ + 'eslint-plugin' + ], + rules: { + 'complexity': 'off', + 'eslint-plugin/report-message-format': ['error', '^[A-Z].*\\.$'], + 'eslint-plugin/prefer-placeholders': 'error', + 'eslint-plugin/consistent-output': 'error' + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..3598aaddf --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2004 @@ +{ + "name": "eslint-plugin-vue", + "version": "3.0.0", + "lockfileVersion": 1, + "dependencies": { + "@types/node": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-4.2.11.tgz", + "integrity": "sha512-7fdgKgV+AbMyQZOajKUMYTb6iKrxRvWshqcxbAGZwO9k8CrO7fecLRGf2wx2yd/6+astrQuhu3JauXoMYq9AzA==", + "dev": true + }, + "acorn": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz", + "integrity": "sha1-xGDfCEkUY/AozLguqzcwvwEIez0=" + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + } + } + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "circular-json": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", + "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true + }, + "cli-width": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", + "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true + }, + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true + }, + "doctrine": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", + "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "dev": true + }, + "domutils": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz", + "integrity": "sha1-GVjMC0yUJuntNn+xyOhUiRsPo/8=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "es5-ext": { + "version": "0.10.23", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.23.tgz", + "integrity": "sha1-dXi1G+l0IHpUh4IbVlOMIk5Oezg=", + "dev": true + }, + "es6-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "dev": true + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true + }, + "eslint-plugin-eslint-plugin": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-0.7.2.tgz", + "integrity": "sha1-cT/8Y8aSfoiBZV6BXf6i+74xtJo=", + "dev": true + }, + "eslint-plugin-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz", + "integrity": "sha1-fImIOrDIX6XSi2ZqFKTpBqqQuJc=", + "dev": true + }, + "eslint-plugin-vue-libs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue-libs/-/eslint-plugin-vue-libs-1.2.0.tgz", + "integrity": "sha512-E68eNTMw0BBvsFaVwldd51AgX9UKEGf9BdMPCJAVhNGwnVFZPkWjKnFAwKpzeTyAcm0MUxUQG5TrcS4+23TFEA==", + "dev": true + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=" + }, + "espree": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", + "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=" + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "dev": true + }, + "esrecurse": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", + "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", + "dependencies": { + "estraverse": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", + "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=" + } + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "dev": true + }, + "ignore": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", + "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true + }, + "interpret": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", + "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true + }, + "is-my-json-valid": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-resolvable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "js-tokens": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", + "dev": true + }, + "js-yaml": { + "version": "3.8.4", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.4.tgz", + "integrity": "sha1-UgtFZPhlc7qWZir4Woyvp7S1pvY=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true + }, + "lodash.sortedindex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.sortedindex/-/lodash.sortedindex-4.1.0.tgz", + "integrity": "sha1-P2QX7iDosiQWqwBb+hY0SgRGtEg=" + }, + "lodash.sortedindexby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.sortedindexby/-/lodash.sortedindexby-4.6.0.tgz", + "integrity": "sha1-RvGY+9+80Jxv1MF303zaPMZS2fk=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true + }, + "mocha": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz", + "integrity": "sha1-0O9NMyEm2/GNDWQMmzgt1IvpdZQ=", + "dev": true, + "dependencies": { + "debug": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz", + "integrity": "sha1-vFlryr52F/Edn6FTYe3tVgi4SZs=", + "dev": true + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nyc": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-10.3.2.tgz", + "integrity": "sha1-8n9NkfKp2zbCT1dP9cbv/wIz3kY=", + "dev": true, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "arr-flatten": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.22.0", + "bundled": true, + "dev": true + }, + "babel-generator": { + "version": "6.24.1", + "bundled": true, + "dev": true + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true + }, + "babel-runtime": { + "version": "6.23.0", + "bundled": true, + "dev": true + }, + "babel-template": { + "version": "6.24.1", + "bundled": true, + "dev": true + }, + "babel-traverse": { + "version": "6.24.1", + "bundled": true, + "dev": true + }, + "babel-types": { + "version": "6.24.1", + "bundled": true, + "dev": true + }, + "babylon": { + "version": "6.17.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.0", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.4.1", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true + }, + "debug": { + "version": "2.6.6", + "bundled": true, + "dev": true + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.1", + "bundled": true, + "dev": true + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "dev": true + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "globals": { + "version": "9.17.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.8", + "bundled": true, + "dev": true, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.4.2", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.2", + "bundled": true, + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.5", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-dotfile": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-coverage": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.0.6", + "bundled": true, + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.7.1", + "bundled": true, + "dev": true + }, + "istanbul-lib-report": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "istanbul-reports": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "js-tokens": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.0", + "bundled": true, + "dev": true + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "lodash": { + "version": "4.17.4", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true + }, + "lru-cache": { + "version": "4.0.2", + "bundled": true, + "dev": true + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "merge-source-map": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.3", + "bundled": true, + "dev": true + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true + }, + "ms": { + "version": "0.7.3", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.3.8", + "bundled": true, + "dev": true + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "bundled": true, + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "randomatic": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "bundled": true, + "dev": true + }, + "regex-cache": { + "version": "0.4.3", + "bundled": true, + "dev": true + }, + "remove-trailing-separator": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "source-map": { + "version": "0.5.6", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "dependencies": { + "signal-exit": { + "version": "2.1.2", + "bundled": true, + "dev": true + } + } + }, + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.22", + "bundled": true, + "dev": true, + "optional": true, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "which": { + "version": "1.2.14", + "bundled": true, + "dev": true + }, + "which-module": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "7.1.0", + "bundled": true, + "dev": true, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "3.2.0", + "bundled": true, + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "parse5": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", + "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=", + "dependencies": { + "@types/node": { + "version": "6.0.78", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.78.tgz", + "integrity": "sha512-+vD6E8ixntRzzZukoF3uP1iV+ZjVN3koTcaeK+BEoc/kSfGbLDIGC7RmCaUgVpUfN6cWvfczFRERCyKM9mkvXg==" + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "readable-stream": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", + "integrity": "sha512-h+8+r3MKEhkiVrwdKL8aWs1oc1VvBu33ueshOvS26RsZQ3Amhx/oO3TKe4lApSV9ueY6as8EAh7mtuFjdlhg9Q==", + "dev": true + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true + }, + "requireindex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz", + "integrity": "sha1-5UBLgVV+91225JxacgBIk/4D4WI=" + }, + "resolve": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", + "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", + "dev": true + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "safe-buffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "dev": true + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string_decoder": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz", + "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz", + "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "vue-eslint-parser": { + "version": "github:mysticatea/vue-eslint-parser#1250373ccff349c7617abc1feee6608ca251cd32" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } +} diff --git a/package.json b/package.json index b7ac7baf6..31864bb80 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "node": ">=4" }, "peerDependencies": { - "eslint": "^3.18.0" + "eslint": "^3.18.0 || ^4.0.0" }, "dependencies": { "requireindex": "^1.1.0", From 57b0c6fb22a2b33a39d99f58d0941517bf5ce83d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Tue, 13 Jun 2017 20:00:36 +0200 Subject: [PATCH 15/16] Do not recommend rules that currently have slight problems due to parser issues --- README.md | 4 ++-- lib/recommended-rules.js | 4 ++-- lib/rules/html-end-tags.js | 2 +- lib/rules/no-duplicate-attributes.js | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 210fc9e74..aa7a9bfee 100644 --- a/README.md +++ b/README.md @@ -56,10 +56,10 @@ The `--fix` option on the command line automatically fixes problems reported by | | Rule ID | Description | |:---|:--------|:------------| -| :white_check_mark::wrench: | [html-end-tags](./docs/rules/html-end-tags.md) | enforce end tag style. | +| :wrench: | [html-end-tags](./docs/rules/html-end-tags.md) | enforce end tag style. | | :white_check_mark::wrench: | [html-no-self-closing](./docs/rules/html-no-self-closing.md) | disallow self-closing elements. | | :white_check_mark: | [no-confusing-v-for-v-if](./docs/rules/no-confusing-v-for-v-if.md) | disallow confusing `v-for` and `v-if` on the same element. | -| :white_check_mark: | [no-duplicate-attributes](./docs/rules/no-duplicate-attributes.md) | disallow duplicate arguments. | +| | [no-duplicate-attributes](./docs/rules/no-duplicate-attributes.md) | disallow duplicate arguments. | | :white_check_mark: | [no-textarea-mustache](./docs/rules/no-textarea-mustache.md) | disallow mustaches in `