-
Notifications
You must be signed in to change notification settings - Fork 129
Closed
Description
Updating eslint from 3.17.1
to 3.18.0
I get the following error:
$ node_modules/.bin/eslint src/client/app/root.module.js
Syntax error in selector "angular:animation" at position 8: Expected "declaration", "expression", "function", "pattern" or "statement" but "a" found.
Error: Syntax error in selector "angular:animation" at position 8: Expected "declaration", "expression", "function", "pattern" or "statement" but "a" found.
at tryParseSelector (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\util\node-event-generator.js:163:19)
at lodash.memoize.rawSelector (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\util\node-event-generator.js:175:28)
at memoized (C:\My\Dev\argo-trading\argo\node_modules\lodash\lodash.js:10566:27)
at NodeEventGenerator.eventNames.forEach.rawSelector (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\util\node-event-generator.js:235:30)
at Array.forEach (native)
at new NodeEventGenerator (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\util\node-event-generator.js:234:20)
at EventEmitter.module.exports.api.verify (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\eslint.js:914:34)
at processText (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\cli-engine.js:264:31)
at processFile (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\cli-engine.js:303:18)
at executeOnFile (C:\My\Dev\argo-trading\argo\node_modules\eslint\lib\cli-engine.js:672:25)
It seems 3.18.0 introduce AST selectors.
I open the issue here, because, without the plugin, that message is not displayed.
The input file root.module.js
:
import angular from "angular";
import { rootComponent } from "./root.component";
import { common } from "./common/common.module";
import { components } from "./components/components.module";
export const root = angular
.module("root", [
common,
components
])
.component("root", rootComponent)
.name;
.eslintrc.yml
root: true
parserOptions:
ecmaVersion: 8
sourceType: "module"
env:
es6: true
node: true
plugins:
- angular
extends:
"eslint:recommended"
rules:
array-bracket-spacing: "error"
array-callback-return: "error"
arrow-body-style: ["error", "as-needed"]
arrow-parens: ["error", "as-needed"]
arrow-spacing: "error"
indent: ["error", 4, {SwitchCase: 1}]
block-spacing: "error"
brace-style: ["error", "1tbs"]
camelcase: ["error", { properties: "never" }]
callback-return: ["error", ["cb", "callback", "next"]]
class-methods-use-this: "error"
comma-dangle: "error"
comma-spacing: "error"
comma-style: ["error", "last"]
consistent-return: "error"
curly: ["error", "all"]
default-case: "error"
dot-notation: ["error", { allowKeywords: true }]
eol-last: "error"
eqeqeq: "error"
func-call-spacing: "error"
func-style: ["error", "declaration"]
generator-star-spacing: "error"
guard-for-in: "error"
key-spacing: ["error", { beforeColon: false, afterColon: true }]
keyword-spacing: "error"
lines-around-comment: ["error", {
beforeBlockComment: true,
afterBlockComment: false,
beforeLineComment: true,
afterLineComment: false
}]
new-cap: "error"
newline-after-var: "error"
new-parens: "error"
no-alert: "error"
no-array-constructor: "error"
no-caller: "error"
no-confusing-arrow: "error"
no-console: "error"
no-delete-var: "error"
no-else-return: "error"
no-eval: "error"
no-extend-native: "error"
no-extra-bind: "error"
no-fallthrough: "error"
no-floating-decimal: "error"
no-global-assign: "error"
no-implied-eval: "error"
no-invalid-this: "error"
no-iterator: "error"
no-label-var: "error"
no-labels: "error"
no-lone-blocks: "error"
no-loop-func: "error"
no-mixed-spaces-and-tabs: ["error", false]
no-multi-spaces: "error"
no-multi-str: "error"
no-native-reassign: "off"
no-nested-ternary: "error"
no-new: "error"
no-new-func: "error"
no-new-object: "error"
no-new-wrappers: "error"
no-octal: "error"
no-octal-escape: "error"
no-process-exit: "error"
no-proto: "error"
no-redeclare: "error"
no-return-assign: "error"
no-script-url: "error"
no-self-assign: "error"
no-sequences: "error"
no-shadow: "error"
no-shadow-restricted-names: "error"
no-tabs: "error"
no-trailing-spaces: "error"
no-undef: ["error", {typeof: true}]
no-undef-init: "error"
no-undefined: "error"
no-underscore-dangle: ["error", {allowAfterThis: true}]
no-unmodified-loop-condition: "error"
no-unneeded-ternary: "error"
no-unused-expressions: "error"
no-unused-vars: ["error", {vars: "all", args: "after-used"}]
# no-use-before-define: "error"
no-use-before-define: ["error", "nofunc"]
no-useless-computed-key: "error"
no-useless-concat: "error"
no-useless-constructor: "error"
no-useless-escape: "error"
no-useless-return: "error"
no-with: "error"
no-var: "error"
object-curly-spacing: ["error", "always"]
object-shorthand: "error"
one-var-declaration-per-line: "error"
operator-linebreak: "error"
prefer-arrow-callback: "error"
prefer-const: "error"
prefer-promise-reject-errors: "error"
prefer-template: "error"
quotes: ["error", "double"]
quote-props: ["error", "as-needed"]
radix: "error"
# require-jsdoc: "error"
require-jsdoc: "off"
semi: "error"
semi-spacing: ["error", {before: false, after: true}]
space-before-blocks: "error"
space-before-function-paren: ["error", "never"]
space-in-parens: "error"
space-infix-ops: "error"
space-unary-ops: ["error", {words: true, nonwords: false}]
spaced-comment: ["error", "always", { exceptions: ["-"]}]
strict: ["error", "global"]
template-curly-spacing: ["error", "never"]
template-tag-spacing: "error"
valid-jsdoc: ["error", {
prefer: { "return": "returns"},
preferType: {
"String": "string",
"Number": "number",
"Boolean": "boolean",
"object": "Object",
"function": "Function"
}
}]
wrap-iife: "error"
yield-star-spacing: "error"
yoda: ["error", "never"]
# Previously on by default in node environment
no-catch-shadow: "off"
no-mixed-requires: "error"
no-new-require: "error"
no-path-concat: "error"
handle-callback-err: ["error", "err"]
angular/angularelement: "warn"
angular/controller-as: "error"
angular/controller-as-route: "error"
angular/controller-as-vm: ["error", "vm"]
angular/controller-name: ["error", "/[A-Z].*Controller$/"]
angular/deferred: "off"
angular/definedundefined: "error"
angular/di: ["error", "function"]
angular/di-order: ["off", true]
angular/directive-name: "off"
angular/component-limit: ["off", 1]
angular/document-service: "error"
angular/empty-controller: "off"
angular/file-name: "off"
angular/filter-name: "off"
angular/foreach: "off"
angular/function-type: "off"
angular/interval-service: "error"
angular/json-functions: "error"
angular/log: "error"
angular/module-getter: "error"
angular/module-name: "off"
angular/module-setter: "error"
angular/no-angular-mock: "off"
angular/no-controller: "off"
angular/no-cookiestore: "error"
angular/no-jquery-angularelement: "error"
angular/no-private-call: "error"
angular/no-service-method: "off"
angular/no-services: ["error", ["$http", "$resource", "Restangular"]]
angular/on-watch: "error"
angular/rest-service: "off"
angular/service-name: "error"
angular/timeout-service: "error"
angular/typecheck-array: "error"
angular/typecheck-date: "error"
angular/typecheck-function: "error"
angular/typecheck-number: "error"
angular/typecheck-object: "error"
angular/typecheck-string: "error"
angular/watchers-execution: ["off", "$digest"]
angular/window-service: "error"