├── .gitignore ├── index.js ├── README.md ├── rules ├── no-async-functions.js └── jsx-uses-vars.js ├── package.json ├── LICENSE ├── config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | configs: { 5 | recommended: require('./config') 6 | }, 7 | rules: { 8 | 'jsx-uses-vars': require('./rules/jsx-uses-vars'), 9 | 'no-async-functions': require('./rules/no-async-functions') 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # eslint-plugin-vue-libs 2 | 3 | > ESLint plugin for libs in the vuejs organization. 4 | 5 | :exclamation: Note this is an internal plugin/config for the development of Vue itself, not intended for Vue app development. 6 | 7 | ## Usage 8 | 9 | 1. `npm install eslint-plugin-vue-libs --save-dev` 10 | 2. create a file named `.eslintrc` in your project: 11 | 12 | ```js 13 | { 14 | extends: ["plugin:vue-libs/recommended"], 15 | rules: { 16 | // override if necessary 17 | } 18 | } 19 | ``` 20 | 21 | ## License 22 | 23 | [MIT](http://opensource.org/licenses/MIT) 24 | -------------------------------------------------------------------------------- /rules/no-async-functions.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | meta: { 3 | docs: { 4 | description: 'Disallow use of async functions (for codebases targeting Node 6.x)', 5 | category: 'Custom', 6 | recommended: false 7 | }, 8 | schema: [] 9 | }, 10 | 11 | create (context) { 12 | function report (node) { 13 | if (node.async) { 14 | context.report({ 15 | node, 16 | message: "async functions are disallowed for Node 6.x compatibility." 17 | }) 18 | } 19 | } 20 | 21 | return { 22 | FunctionDeclaration: report, 23 | FunctionExpression: report, 24 | ArrowFunctionExpression: report 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eslint-plugin-vue-libs", 3 | "version": "4.0.0", 4 | "description": "eslint plugin for vue.js projects", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/vuejs/eslint-plugin-vue-libs.git" 9 | }, 10 | "author": "Evan You", 11 | "license": "MIT", 12 | "bugs": { 13 | "url": "https://github.com/vuejs/eslint-plugin-vue-libs/issues" 14 | }, 15 | "homepage": "https://github.com/vuejs/eslint-plugin-vue-libs#readme", 16 | "peerDependencies": { 17 | "eslint": "^5.11.1 || ^6.0.0" 18 | }, 19 | "dependencies": { 20 | "babel-eslint": "^10.0.1", 21 | "eslint-plugin-vue": "^5.1.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Evan You 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /rules/jsx-uses-vars.js: -------------------------------------------------------------------------------- 1 | // the following rule is based on yannickcr/eslint-plugin-react 2 | 3 | /** 4 | The MIT License (MIT) 5 | 6 | Copyright (c) 2014 Yannick Croissant 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | */ 26 | 27 | /** 28 | * @fileoverview Prevent variables used in JSX to be marked as unused 29 | * @author Yannick Croissant 30 | */ 31 | 'use strict'; 32 | 33 | // ------------------------------------------------------------------------------ 34 | // Rule Definition 35 | // ------------------------------------------------------------------------------ 36 | 37 | module.exports = { 38 | meta: { 39 | docs: { 40 | description: 'Prevent variables used in JSX to be marked as unused', 41 | category: 'Best Practices', 42 | recommended: true 43 | }, 44 | schema: [] 45 | }, 46 | 47 | create: function(context) { 48 | 49 | return { 50 | JSXOpeningElement: function(node) { 51 | var name; 52 | if (node.name.namespace && node.name.namespace.name) { 53 | // 54 | name = node.name.namespace.name; 55 | } else if (node.name.name) { 56 | // 57 | name = node.name.name; 58 | } else if (node.name.object) { 59 | // 60 | var parent = node.name.object; 61 | while (parent.object) { 62 | parent = parent.object; 63 | } 64 | name = parent.name; 65 | } else { 66 | return; 67 | } 68 | 69 | context.markVariableAsUsed(name); 70 | } 71 | 72 | }; 73 | 74 | } 75 | }; 76 | -------------------------------------------------------------------------------- /config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['plugin:vue/essential'], 3 | plugins: ['vue-libs'], 4 | 5 | parserOptions: { 6 | parser: require.resolve('babel-eslint'), 7 | ecmaVersion: 2017, 8 | sourceType: 'module' 9 | }, 10 | 11 | env: { 12 | es6: true, 13 | node: true 14 | }, 15 | 16 | globals: { 17 | document: false, 18 | navigator: false, 19 | window: false 20 | }, 21 | 22 | rules: { 23 | 'accessor-pairs': 2, 24 | 'arrow-spacing': [2, { 'before': true, 'after': true }], 25 | 'block-spacing': [2, 'always'], 26 | 'brace-style': [2, '1tbs', { 'allowSingleLine': true }], 27 | 'camelcase': [2, { 'properties': 'never' }], 28 | 'comma-dangle': [2, 'never'], 29 | 'comma-spacing': [2, { 'before': false, 'after': true }], 30 | 'comma-style': [2, 'last'], 31 | 'constructor-super': 2, 32 | 'curly': [2, 'multi-line'], 33 | 'dot-location': [2, 'property'], 34 | 'eol-last': 2, 35 | 'eqeqeq': [2, 'allow-null'], 36 | 'generator-star-spacing': [2, { 'before': true, 'after': true }], 37 | 'handle-callback-err': [2, '^(err|error)$' ], 38 | 'indent': [2, 2, { 'SwitchCase': 1 }], 39 | 'jsx-quotes': [2, 'prefer-single'], 40 | 'key-spacing': [2, { 'beforeColon': false, 'afterColon': true }], 41 | 'keyword-spacing': [2, { 'before': true, 'after': true }], 42 | 'new-cap': [2, { 'newIsCap': true, 'capIsNew': false }], 43 | 'new-parens': 2, 44 | 'no-array-constructor': 2, 45 | 'no-caller': 2, 46 | 'no-class-assign': 2, 47 | 'no-cond-assign': 2, 48 | 'no-const-assign': 2, 49 | 'no-control-regex': 2, 50 | 'no-delete-var': 2, 51 | 'no-dupe-args': 2, 52 | 'no-dupe-class-members': 2, 53 | 'no-dupe-keys': 2, 54 | 'no-duplicate-case': 2, 55 | 'no-empty-character-class': 2, 56 | 'no-empty-pattern': 2, 57 | 'no-eval': 2, 58 | 'no-ex-assign': 2, 59 | 'no-extend-native': 2, 60 | 'no-extra-bind': 2, 61 | 'no-extra-boolean-cast': 2, 62 | 'no-extra-parens': [2, 'functions'], 63 | 'no-fallthrough': 2, 64 | 'no-floating-decimal': 2, 65 | 'no-func-assign': 2, 66 | 'no-implied-eval': 2, 67 | 'no-inner-declarations': [2, 'functions'], 68 | 'no-invalid-regexp': 2, 69 | 'no-irregular-whitespace': 2, 70 | 'no-iterator': 2, 71 | 'no-label-var': 2, 72 | 'no-labels': [2, { 'allowLoop': false, 'allowSwitch': false }], 73 | 'no-lone-blocks': 2, 74 | 'no-mixed-spaces-and-tabs': 2, 75 | 'no-multi-spaces': [2, { "ignoreEOLComments": true }], 76 | 'no-multi-str': 2, 77 | 'no-multiple-empty-lines': [2, { 'max': 1 }], 78 | 'no-native-reassign': 2, 79 | 'no-negated-in-lhs': 2, 80 | 'no-new-object': 2, 81 | 'no-new-require': 2, 82 | 'no-new-symbol': 2, 83 | 'no-new-wrappers': 2, 84 | 'no-obj-calls': 2, 85 | 'no-octal': 2, 86 | 'no-octal-escape': 2, 87 | 'no-path-concat': 2, 88 | 'no-proto': 2, 89 | 'no-redeclare': 2, 90 | 'no-regex-spaces': 2, 91 | 'no-return-assign': [2, 'except-parens'], 92 | 'no-self-assign': 2, 93 | 'no-self-compare': 2, 94 | 'no-sequences': 2, 95 | 'no-shadow-restricted-names': 2, 96 | 'no-spaced-func': 2, 97 | 'no-sparse-arrays': 2, 98 | 'no-this-before-super': 2, 99 | 'no-throw-literal': 2, 100 | 'no-trailing-spaces': 2, 101 | 'no-undef': 2, 102 | 'no-undef-init': 2, 103 | 'no-unexpected-multiline': 2, 104 | 'no-unmodified-loop-condition': 2, 105 | 'no-unneeded-ternary': [2, { 'defaultAssignment': false }], 106 | 'no-unreachable': 2, 107 | 'no-unsafe-finally': 2, 108 | 'no-unused-vars': [2, { 'vars': 'all', 'args': 'none' }], 109 | 'no-useless-call': 2, 110 | 'no-useless-computed-key': 2, 111 | 'no-useless-constructor': 2, 112 | 'no-useless-escape': 0, 113 | 'no-whitespace-before-property': 2, 114 | 'no-with': 2, 115 | 'one-var': [2, { 'initialized': 'never' }], 116 | 'operator-linebreak': [2, 'after', { 'overrides': { '?': 'before', ':': 'before' } }], 117 | 'padded-blocks': [2, 'never'], 118 | 'quotes': [2, 'single', { 'avoidEscape': true, 'allowTemplateLiterals': true }], 119 | 'semi': [2, 'never'], 120 | 'semi-spacing': [2, { 'before': false, 'after': true }], 121 | 'space-before-blocks': [2, 'always'], 122 | 'space-before-function-paren': [2, 'always'], 123 | 'space-in-parens': [2, 'never'], 124 | 'space-infix-ops': 2, 125 | 'space-unary-ops': [2, { 'words': true, 'nonwords': false }], 126 | 'spaced-comment': [2, 'always', { 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] }], 127 | 'template-curly-spacing': [2, 'never'], 128 | 'use-isnan': 2, 129 | 'valid-typeof': 2, 130 | 'wrap-iife': [2, 'any'], 131 | 'yield-star-spacing': [2, 'both'], 132 | 'yoda': [2, 'never'], 133 | 'prefer-const': 2, 134 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, 135 | 'object-curly-spacing': [2, 'always', { objectsInObjects: false }], 136 | 'array-bracket-spacing': [2, 'never'], 137 | 'vue-libs/jsx-uses-vars': 2, 138 | 'vue/require-v-for-key': 0 139 | } 140 | } 141 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.0.0" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 8 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/generator@^7.5.0": 13 | version "7.5.0" 14 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" 15 | integrity sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA== 16 | dependencies: 17 | "@babel/types" "^7.5.0" 18 | jsesc "^2.5.1" 19 | lodash "^4.17.11" 20 | source-map "^0.5.0" 21 | trim-right "^1.0.1" 22 | 23 | "@babel/helper-function-name@^7.1.0": 24 | version "7.1.0" 25 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 26 | integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== 27 | dependencies: 28 | "@babel/helper-get-function-arity" "^7.0.0" 29 | "@babel/template" "^7.1.0" 30 | "@babel/types" "^7.0.0" 31 | 32 | "@babel/helper-get-function-arity@^7.0.0": 33 | version "7.0.0" 34 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 35 | integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== 36 | dependencies: 37 | "@babel/types" "^7.0.0" 38 | 39 | "@babel/helper-split-export-declaration@^7.4.4": 40 | version "7.4.4" 41 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" 42 | integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== 43 | dependencies: 44 | "@babel/types" "^7.4.4" 45 | 46 | "@babel/highlight@^7.0.0": 47 | version "7.5.0" 48 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 49 | integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== 50 | dependencies: 51 | chalk "^2.0.0" 52 | esutils "^2.0.2" 53 | js-tokens "^4.0.0" 54 | 55 | "@babel/parser@^7.0.0", "@babel/parser@^7.4.4", "@babel/parser@^7.5.0": 56 | version "7.5.0" 57 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" 58 | integrity sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA== 59 | 60 | "@babel/template@^7.1.0": 61 | version "7.4.4" 62 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" 63 | integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== 64 | dependencies: 65 | "@babel/code-frame" "^7.0.0" 66 | "@babel/parser" "^7.4.4" 67 | "@babel/types" "^7.4.4" 68 | 69 | "@babel/traverse@^7.0.0": 70 | version "7.5.0" 71 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" 72 | integrity sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg== 73 | dependencies: 74 | "@babel/code-frame" "^7.0.0" 75 | "@babel/generator" "^7.5.0" 76 | "@babel/helper-function-name" "^7.1.0" 77 | "@babel/helper-split-export-declaration" "^7.4.4" 78 | "@babel/parser" "^7.5.0" 79 | "@babel/types" "^7.5.0" 80 | debug "^4.1.0" 81 | globals "^11.1.0" 82 | lodash "^4.17.11" 83 | 84 | "@babel/types@^7.0.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": 85 | version "7.5.0" 86 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" 87 | integrity sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ== 88 | dependencies: 89 | esutils "^2.0.2" 90 | lodash "^4.17.11" 91 | to-fast-properties "^2.0.0" 92 | 93 | acorn-jsx@^5.0.0: 94 | version "5.0.1" 95 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" 96 | integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== 97 | 98 | acorn@^6.0.2: 99 | version "6.2.0" 100 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" 101 | integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw== 102 | 103 | ansi-styles@^3.2.1: 104 | version "3.2.1" 105 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 106 | dependencies: 107 | color-convert "^1.9.0" 108 | 109 | babel-eslint@^10.0.1: 110 | version "10.0.2" 111 | resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456" 112 | integrity sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q== 113 | dependencies: 114 | "@babel/code-frame" "^7.0.0" 115 | "@babel/parser" "^7.0.0" 116 | "@babel/traverse" "^7.0.0" 117 | "@babel/types" "^7.0.0" 118 | eslint-scope "3.7.1" 119 | eslint-visitor-keys "^1.0.0" 120 | 121 | chalk@^2.0.0: 122 | version "2.4.1" 123 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 124 | dependencies: 125 | ansi-styles "^3.2.1" 126 | escape-string-regexp "^1.0.5" 127 | supports-color "^5.3.0" 128 | 129 | color-convert@^1.9.0: 130 | version "1.9.1" 131 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" 132 | dependencies: 133 | color-name "^1.1.1" 134 | 135 | color-name@^1.1.1: 136 | version "1.1.3" 137 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 138 | 139 | debug@^4.1.0: 140 | version "4.1.1" 141 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 142 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 143 | dependencies: 144 | ms "^2.1.1" 145 | 146 | escape-string-regexp@^1.0.5: 147 | version "1.0.5" 148 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 149 | 150 | eslint-plugin-vue@^5.1.0: 151 | version "5.2.3" 152 | resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz#3ee7597d823b5478804b2feba9863b1b74273961" 153 | integrity sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw== 154 | dependencies: 155 | vue-eslint-parser "^5.0.0" 156 | 157 | eslint-scope@3.7.1: 158 | version "3.7.1" 159 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" 160 | integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= 161 | dependencies: 162 | esrecurse "^4.1.0" 163 | estraverse "^4.1.1" 164 | 165 | eslint-scope@^4.0.0: 166 | version "4.0.3" 167 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" 168 | integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== 169 | dependencies: 170 | esrecurse "^4.1.0" 171 | estraverse "^4.1.1" 172 | 173 | eslint-visitor-keys@^1.0.0: 174 | version "1.0.0" 175 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" 176 | 177 | espree@^4.1.0: 178 | version "4.1.0" 179 | resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" 180 | integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w== 181 | dependencies: 182 | acorn "^6.0.2" 183 | acorn-jsx "^5.0.0" 184 | eslint-visitor-keys "^1.0.0" 185 | 186 | esquery@^1.0.1: 187 | version "1.0.1" 188 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 189 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 190 | dependencies: 191 | estraverse "^4.0.0" 192 | 193 | esrecurse@^4.1.0: 194 | version "4.2.1" 195 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 196 | dependencies: 197 | estraverse "^4.1.0" 198 | 199 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 200 | version "4.2.0" 201 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 202 | 203 | esutils@^2.0.2: 204 | version "2.0.2" 205 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 206 | 207 | globals@^11.1.0: 208 | version "11.4.0" 209 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.4.0.tgz#b85c793349561c16076a3c13549238a27945f1bc" 210 | 211 | has-flag@^3.0.0: 212 | version "3.0.0" 213 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 214 | 215 | js-tokens@^4.0.0: 216 | version "4.0.0" 217 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 218 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 219 | 220 | jsesc@^2.5.1: 221 | version "2.5.1" 222 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" 223 | 224 | lodash@^4.17.11: 225 | version "4.17.15" 226 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 227 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 228 | 229 | ms@^2.1.1: 230 | version "2.1.2" 231 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 232 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 233 | 234 | source-map@^0.5.0: 235 | version "0.5.7" 236 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 237 | 238 | supports-color@^5.3.0: 239 | version "5.4.0" 240 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 241 | dependencies: 242 | has-flag "^3.0.0" 243 | 244 | to-fast-properties@^2.0.0: 245 | version "2.0.0" 246 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 247 | 248 | trim-right@^1.0.1: 249 | version "1.0.1" 250 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 251 | 252 | vue-eslint-parser@^5.0.0: 253 | version "5.0.0" 254 | resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz#00f4e4da94ec974b821a26ff0ed0f7a78402b8a1" 255 | integrity sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g== 256 | dependencies: 257 | debug "^4.1.0" 258 | eslint-scope "^4.0.0" 259 | eslint-visitor-keys "^1.0.0" 260 | espree "^4.1.0" 261 | esquery "^1.0.1" 262 | lodash "^4.17.11" 263 | --------------------------------------------------------------------------------