Итак, начинаем новый проект Vue, хотя это, вероятно, не связано с Vue.Я установил опцию в Vue-CLI для запуска ES Lint при сохранении, но, похоже, он запускается каждый раз, когда я нажимаю на новую строку, и при этом он открывает консоль ST3 с подробным выводом ошибки (за исключением того, что ничего не кажется действительнымошибка, насколько я могу судить, и ни один из маркеров желоба, которые я получаю, когда я фактически проваливаю правило eslint, не появляется).
Я не могу найти какие-либо настройки, которые бы изменили это поведение, надеясь, что кто-то здесь может помочь.Вот пример подробного вывода, о котором я говорю:
SublimeLinter: #73 eslint AppNavigation.vue ERROR:
==================================================
2018-11-25T01:56:09.970Z eslint:cli CLI args: [ '--format', 'json', '--stdin', '--stdin-filename', '/Users/me/workspace/personal/i8/src/components/AppNavigation.vue' ]
2018-11-25T01:56:09.973Z eslint:cli Running on text
2018-11-25T01:56:09.978Z eslint:ignored-paths baseDir = "/Users/me/workspace/personal/i8"
2018-11-25T01:56:09.979Z eslint:ignored-paths addPatternRelativeToCwd:
original = "/node_modules/*"
cooked = "/node_modules/*"
2018-11-25T01:56:09.979Z eslint:ignored-paths addPatternRelativeToCwd:
original = "/bower_components/*"
cooked = "/bower_components/*"
2018-11-25T01:56:09.979Z eslint:ignored-paths addPatternRelativeToCwd:
original = ".*"
cooked = ".*"
2018-11-25T01:56:09.979Z eslint:ignored-paths addPatternRelativeToCwd:
original = "!../"
cooked = "!../"
2018-11-25T01:56:09.979Z eslint:ignored-paths Looking for ignore file in /Users/me/workspace/personal/i8
2018-11-25T01:56:09.980Z eslint:ignored-paths Loaded ignore file /Users/me/workspace/personal/i8/.eslintignore
2018-11-25T01:56:09.980Z eslint:ignored-paths Adding /Users/me/workspace/personal/i8/.eslintignore
2018-11-25T01:56:09.980Z eslint:ignored-paths addPatternRelativeToIgnoreFile:
original = "# Add file patters to ignore, if any"
cooked = "# Add file patters to ignore, if any"
2018-11-25T01:56:09.980Z eslint:ignored-paths addPatternRelativeToIgnoreFile:
original = "# Add file patters to ignore, if any"
cooked = "# Add file patters to ignore, if any"
2018-11-25T01:56:09.981Z eslint:ignored-paths contains:
2018-11-25T01:56:09.981Z eslint:ignored-paths target = "/Users/me/workspace/personal/i8/src/components/AppNavigation.vue"
2018-11-25T01:56:09.981Z eslint:ignored-paths result = false
2018-11-25T01:56:09.982Z eslint:cli-engine Linting /Users/me/workspace/personal/i8/src/components/AppNavigation.vue
2018-11-25T01:56:09.982Z eslint:config Constructing config file hierarchy for /Users/me/workspace/personal/i8/src/components
2018-11-25T01:56:09.982Z eslint:config Using .eslintrc and package.json files
2018-11-25T01:56:09.984Z eslint:config Loading /Users/me/workspace/personal/i8/.eslintrc.js
2018-11-25T01:56:09.984Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/.eslintrc.js
2018-11-25T01:56:10.158Z eslint:config-file Loading @vue/airbnb
2018-11-25T01:56:10.158Z eslint:config-file Attempting to resolve @vue/eslint-config-airbnb
2018-11-25T01:56:10.159Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/@vue/eslint-config-airbnb/index.js
2018-11-25T01:56:10.162Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/index.js
2018-11-25T01:56:10.162Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/index.js
2018-11-25T01:56:10.166Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/imports.js
2018-11-25T01:56:10.166Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/imports.js
2018-11-25T01:56:10.308Z eslint:plugins Loaded plugin import (eslint-plugin-import@2.14.0) (from /Users/me/workspace/personal/i8/node_modules/eslint-plugin-import/lib/index.js)
2018-11-25T01:56:10.325Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/es6.js
2018-11-25T01:56:10.326Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/es6.js
2018-11-25T01:56:10.349Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/variables.js
2018-11-25T01:56:10.350Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/variables.js
2018-11-25T01:56:10.360Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/style.js
2018-11-25T01:56:10.360Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/style.js
2018-11-25T01:56:10.489Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/node.js
2018-11-25T01:56:10.489Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/node.js
2018-11-25T01:56:10.492Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/errors.js
2018-11-25T01:56:10.492Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/errors.js
2018-11-25T01:56:10.501Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/best-practices.js
2018-11-25T01:56:10.502Z eslint:config-file Loading JS config file: /Users/pvencill/workspace/personal/i8/node_modules/eslint-config-airbnb-base/rules/best-practices.js
2018-11-25T01:56:10.525Z eslint:config-file Loading plugin:vue/essential
2018-11-25T01:56:10.525Z eslint:config-file Attempting to resolve eslint-plugin-vue
2018-11-25T01:56:10.526Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-plugin-vue/lib/index.js
2018-11-25T01:56:10.594Z eslint:config-file Loading /Users/me/workspace/personal/i8/node_modules/eslint-plugin-vue/lib/configs/base.js
2018-11-25T01:56:10.594Z eslint:config-file Loading JS config file: /Users/me/workspace/personal/i8/node_modules/eslint-plugin-vue/lib/configs/base.js
2018-11-25T01:56:10.595Z eslint:plugins Loaded plugin vue (eslint-plugin-vue@5.0.0-beta.5) (from /Users/me/workspace/personal/i8/node_modules/eslint-plugin-vue/lib/index.js)
2018-11-25T01:56:10.596Z eslint:config Using /Users/pvencill/workspace/personal/i8/.eslintrc.js
2018-11-25T01:56:10.596Z eslint:config-ops Using config from partial cache
2018-11-25T01:56:10.597Z eslint:config-ops Apply environment settings to config
2018-11-25T01:56:10.597Z eslint:config-ops Creating config for environment browser
2018-11-25T01:56:10.597Z eslint:config-ops Creating config for environment es6
2018-11-25T01:56:10.597Z eslint:config-ops Creating config for environment node
2018-11-25T01:56:10.598Z eslint:linter Linting code for /Users/me/workspace/personal/i8/src/components/AppNavigation.vue (pass 1)
2018-11-25T01:56:10.600Z vue-eslint-parser [html] the source code length: 63
2018-11-25T01:56:10.601Z vue-eslint-parser [html] parse 60 DATA
2018-11-25T01:56:10.601Z vue-eslint-parser [html] start token: 0 HTMLText
2018-11-25T01:56:10.601Z vue-eslint-parser [html] parse 115 TAG_OPEN
2018-11-25T01:56:10.601Z vue-eslint-parser [html] abandon token: [0,0] HTMLText ""
2018-11-25T01:56:10.602Z vue-eslint-parser [html] start token: 0 HTMLTagOpen
2018-11-25T01:56:10.602Z vue-eslint-parser [html] parse 115 TAG_NAME
2018-11-25T01:56:10.602Z vue-eslint-parser [html] commit token: [0,7] {"start":{"line":1,"column":0},"end":{"line":1,"column":7}} HTMLTagOpen "script"
2018-11-25T01:56:10.602Z vue-eslint-parser [html] start token: 7 HTMLTagClose
2018-11-25T01:56:10.602Z vue-eslint-parser [html] parse 10 DATA
2018-11-25T01:56:10.602Z vue-eslint-parser [html] commit token: [7,8] {"start":{"line":1,"column":7},"end":{"line":1,"column":8}} HTMLTagClose ""
2018-11-25T01:56:10.603Z vue-eslint-parser [html] StartTag {"type":"StartTag","range":[0,8],"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":8}},"name":"script","rawName":"script","selfClosing":false,"attributes":[]}
2018-11-25T01:56:10.603Z vue-eslint-parser [html] parse 10 RAWTEXT
2018-11-25T01:56:10.603Z vue-eslint-parser [html] start token: 8 HTMLWhitespace
2018-11-25T01:56:10.603Z vue-eslint-parser [html] commit token: [8,9] {"start":{"line":1,"column":8},"end":{"line":2,"column":0}} HTMLWhitespace "\n"
2018-11-25T01:56:10.603Z vue-eslint-parser [html] parse 101 RAWTEXT
2018-11-25T01:56:10.603Z vue-eslint-parser [html] start token: 9 HTMLRawText
2018-11-25T01:56:10.603Z vue-eslint-parser [html] commit token: [9,15] {"start":{"line":2,"column":0},"end":{"line":2,"column":6}} HTMLRawText "export"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 32 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 15 HTMLWhitespace
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [15,16] {"start":{"line":2,"column":6},"end":{"line":2,"column":7}} HTMLWhitespace " "
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 100 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 16 HTMLRawText
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [16,23] {"start":{"line":2,"column":7},"end":{"line":2,"column":14}} HTMLRawText "default"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 32 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 23 HTMLWhitespace
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [23,24] {"start":{"line":2,"column":14},"end":{"line":2,"column":15}} HTMLWhitespace " "
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 123 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 24 HTMLRawText
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [24,25] {"start":{"line":2,"column":15},"end":{"line":2,"column":16}} HTMLRawText "{"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 10 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 25 HTMLWhitespace
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [25,28] {"start":{"line":2,"column":16},"end":{"line":3,"column":2}} HTMLWhitespace "\n "
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 110 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 28 HTMLRawText
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [28,33] {"start":{"line":3,"column":2},"end":{"line":3,"column":7}} HTMLRawText "name:"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 32 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 33 HTMLWhitespace
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [33,34] {"start":{"line":3,"column":7},"end":{"line":3,"column":8}} HTMLWhitespace " "
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 39 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 34 HTMLRawText
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [34,49] {"start":{"line":3,"column":8},"end":{"line":3,"column":23}} HTMLRawText "'AppNavigation'"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 10 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 49 HTMLWhitespace
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [49,50] {"start":{"line":3,"column":23},"end":{"line":4,"column":0}} HTMLWhitespace "\n"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 125 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 50 HTMLRawText
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [50,52] {"start":{"line":4,"column":0},"end":{"line":4,"column":2}} HTMLRawText "};"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 10 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 52 HTMLWhitespace
2018-11-25T01:56:10.604Z vue-eslint-parser [html] commit token: [52,53] {"start":{"line":4,"column":2},"end":{"line":5,"column":0}} HTMLWhitespace "\n"
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 60 RAWTEXT
2018-11-25T01:56:10.604Z vue-eslint-parser [html] start token: 53 HTMLRawText
2018-11-25T01:56:10.604Z vue-eslint-parser [html] parse 47 RAWTEXT_LESS_THAN_SIGN
2018-11-25T01:56:10.605Z vue-eslint-parser [html] parse 115 RAWTEXT_END_TAG_OPEN
2018-11-25T01:56:10.605Z vue-eslint-parser [html] provisional-commit token: [53,53] HTMLRawText ""
2018-11-25T01:56:10.605Z vue-eslint-parser [html] start token: 53 HTMLEndTagOpen
2018-11-25T01:56:10.605Z vue-eslint-parser [html] parse 115 RAWTEXT_END_TAG_NAME
2018-11-25T01:56:10.605Z vue-eslint-parser [html] provisional-commit token: [53,61] HTMLEndTagOpen "script"
2018-11-25T01:56:10.605Z vue-eslint-parser [html] start token: 61 HTMLTagClose
2018-11-25T01:56:10.605Z vue-eslint-parser [html] commit token: [53,61] {"start":{"line":5,"column":0},"end":{"line":5,"column":8}} HTMLEndTagOpen "script"
2018-11-25T01:56:10.605Z vue-eslint-parser [html] Text {"type":"Text","range":[8,53],"loc":{"start":{"line":1,"column":8},"end":{"line":5,"column":0}},"value":"\nexport default {\n name: 'AppNavigation'\n};\n"}
2018-11-25T01:56:10.605Z vue-eslint-parser [html] parse 10 DATA
2018-11-25T01:56:10.605Z vue-eslint-parser [html] commit token: [61,62] {"start":{"line":5,"column":8},"end":{"line":5,"column":9}} HTMLTagClose ""
2018-11-25T01:56:10.605Z vue-eslint-parser [html] EndTag {"type":"EndTag","range":[53,62],"loc":{"start":{"line":5,"column":0},"end":{"line":5,"column":9}},"name":"script"}
2018-11-25T01:56:10.606Z vue-eslint-parser [html] parse 10 DATA
2018-11-25T01:56:10.606Z vue-eslint-parser [html] start token: 62 HTMLWhitespace
2018-11-25T01:56:10.606Z vue-eslint-parser [html] commit token: [62,63] {"start":{"line":5,"column":9},"end":{"line":6,"column":0}} HTMLWhitespace "\n"
2018-11-25T01:56:10.606Z vue-eslint-parser [html] parse -1 DATA
2018-11-25T01:56:10.606Z vue-eslint-parser [html] start token: 63 HTMLText
2018-11-25T01:56:10.606Z vue-eslint-parser [html] abandon token: [63,63] HTMLText ""
2018-11-25T01:56:10.606Z vue-eslint-parser [html] Text {"type":"Text","range":[62,63],"loc":{"start":{"line":5,"column":9},"end":{"line":6,"column":0}},"value":"\n"}
2018-11-25T01:56:10.714Z babel program Program: enter
2018-11-25T01:56:10.715Z babel program Program: Recursing into...
2018-11-25T01:56:10.715Z babel program.body[0] ExportDefaultDeclaration: enter
2018-11-25T01:56:10.715Z babel program.body[0] ExportDefaultDeclaration: Recursing into...
2018-11-25T01:56:10.715Z babel program.body[0].declaration ObjectExpression: enter
2018-11-25T01:56:10.715Z babel program.body[0].declaration ObjectExpression: Recursing into...
2018-11-25T01:56:10.715Z babel program.body[0].declaration.properties[0] Property: enter
2018-11-25T01:56:10.715Z babel program.body[0].declaration.properties[0] Property: Recursing into...
2018-11-25T01:56:10.715Z babel program.body[0].declaration.properties[0].key Identifier: enter
2018-11-25T01:56:10.715Z babel program.body[0].declaration.properties[0].key Identifier: Recursing into...
2018-11-25T01:56:10.716Z babel program.body[0].declaration.properties[0].key Identifier: exit
2018-11-25T01:56:10.716Z babel program.body[0].declaration.properties[0].value Literal: enter
2018-11-25T01:56:10.716Z babel program.body[0].declaration.properties[0].value Literal: Recursing into...
2018-11-25T01:56:10.716Z babel program.body[0].declaration.properties[0].value Literal: exit
2018-11-25T01:56:10.716Z babel program.body[0].declaration.properties[0] Property: exit
2018-11-25T01:56:10.716Z babel program.body[0].declaration ObjectExpression: exit
2018-11-25T01:56:10.716Z babel program.body[0] ExportDefaultDeclaration: exit
2018-11-25T01:56:10.716Z babel program Program: exit
2018-11-25T01:56:10.784Z eslint:code-path onCodePathStart s1
2018-11-25T01:56:10.785Z eslint:code-path onCodePathSegmentStart s1_1
2018-11-25T01:56:10.786Z eslint:code-path s1_1) Program
2018-11-25T01:56:10.790Z eslint:code-path s1_1) ExportDefaultDeclaration
2018-11-25T01:56:10.792Z eslint:code-path s1_1) ObjectExpression
2018-11-25T01:56:10.794Z eslint:code-path s1_1) Property
2018-11-25T01:56:10.796Z eslint:code-path s1_1) Identifier
2018-11-25T01:56:10.796Z eslint:code-path s1_1) Identifier:exit
2018-11-25T01:56:10.797Z eslint:code-path s1_1) Literal
2018-11-25T01:56:10.798Z eslint:code-path s1_1) Literal:exit
2018-11-25T01:56:10.798Z eslint:code-path s1_1) Property:exit
2018-11-25T01:56:10.798Z eslint:code-path s1_1) ObjectExpression:exit
2018-11-25T01:56:10.798Z eslint:code-path s1_1) ExportDefaultDeclaration:exit
2018-11-25T01:56:10.800Z eslint:code-path s1_1) Program:exit
Sun, 25 Nov 2018 01:56:10 GMT eslint-plugin-import:rules:newline-after-import exit processing for /Users/me/workspace/personal/i8/src/components/AppNavigation.vue
Sun, 25 Nov 2018 01:56:10 GMT eslint-plugin-import:rules:newline-after-import got scope: [ Node {
type: 'ExportDefaultDeclaration',
start: 9,
end: 52,
loc: SourceLocation { start: [Object], end: [Object] },
range: [ 9, 52 ],
declaration:
Node {
type: 'ObjectExpression',
start: 24,
end: 51,
loc: [SourceLocation],
range: [Array],
properties: [Array],
_babelType: 'ObjectExpression',
parent: [Circular] },
_babelType: 'ExportDefaultDeclaration',
parent:
Node {
type: 'Program',
start: 8,
end: 53,
loc: [SourceLocation],
range: [Array],
comments: [],
tokens: [Array],
sourceType: 'module',
directives: undefined,
body: [Circular],
parent: null,
templateBody: undefined } } ]
2018-11-25T01:56:10.807Z eslint:code-path onCodePathSegmentEnd s1_1
2018-11-25T01:56:10.807Z eslint:code-path onCodePathEnd s1
2018-11-25T01:56:10.808Z eslint:code-path DOT
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s1_1[label="Program\nExportDefaultDeclaration\nObjectExpression\nProperty\nIdentifier (name)\nLiteral (AppNavigation)\nIdentifier:exit (name)\nLiteral:exit (AppNavigation)\nProperty:exit\nObjectExpression:exit\nExportDefaultDeclaration:exit\nProgram:exit"];
initial->s1_1->final;
}
2018-11-25T01:56:10.808Z eslint:linter Generating fixed text for /Users/me/workspace/personal/i8/src/components/AppNavigation.vue (pass 1)
2018-11-25T01:56:10.809Z eslint:source-code-fixer Applying fixes
2018-11-25T01:56:10.809Z eslint:source-code-fixer shouldFix parameter was false, not attempting fixes
Файл, о котором идет речь, довольно короткий, и, насколько я могу судить, не нарушает ни одно из правил airbnb:
<template>
<v-toolbar color="primary">
<v-toolbar-side-icon />
<v-toolbar-title>{{ appTitle }}</v-toolbar-title>
</v-toolbar>
</template>
<script>
export default {
name: 'AppNavigation'
};
</script>
<style scoped></style>