Eslint-plugin-vue: Upgraded from 5.1 to 5.2 - TypeError: wrapCoreRule is not a function

Created on 4 Mar 2019  路  8Comments  路  Source: vuejs/eslint-plugin-vue

Tell us about your environment

  • ESLint version:
    5.9.0
  • eslint-plugin-vue version:
    5.2.2
  • Node version:
    10.15.0
    Please show your full configuration:
{
    "plugins": [
        "chai-expect",
        "eslint-comments",
        "filenames",
        "fp",
        "jasmine",
        "no-unsafe-innerhtml",
        "promise",
        "ramda",
        "vue",
        "cypress"
    ],

    "extends": [
        "standard",
        "plugin:ramda/recommended",
        "plugin:vue/strongly-recommended"
    ],

    "env": {
        "amd": false,
        "browser": true,
        "es6": true,
        "jasmine": true,
        "jquery": true,
        "node": true,
        "cypress/globals": true
    },

    "globals": {},

    "parserOptions": {
        "parser": "babel-eslint",
        "ecmaVersion": 6,
        "sourceType": "module"
    },

    "rules": {
        "indent": ["error", 4, {"SwitchCase": 1, "VariableDeclarator": 1}],
        "no-console": "warn",
        "no-multiple-empty-lines": ["error", {"max": 1, "maxEOF": 1, "maxBOF": 0}],
        "no-unused-vars": "warn",
        "object-curly-spacing": ["error", "always", {"arraysInObjects": true, "objectsInObjects": true}],
        "padded-blocks": "off",
        "semi": ["error", "always"],
        "space-before-function-paren": ["error", "never"],

        "chai-expect/missing-assertion": "error",
        "chai-expect/terminating-properties": "error",

        "eslint-comments/disable-enable-pair": "error",
        "eslint-comments/no-duplicate-disable": "error",
        "eslint-comments/no-unlimited-disable": "error",
        "eslint-comments/no-unused-disable": "error",
        "eslint-comments/no-unused-enable": "error",
        "eslint-comments/no-use": "off",

        "filenames/match-regex": [2, "^[a-z]{1}[a-z0-9]*(-[a-z]{1}[a-z0-9]*)*(\\.?[a-z0-9])*$", true],
        "filenames/match-exported": "off",
        "filenames/no-index": "off",

        "fp/no-class": "error",
        "fp/no-delete": "error",
        "fp/no-events": "off",
        "fp/no-let": "off",
        "fp/no-loops": "warn",
        "fp/no-mutating-assign": "error",
        "fp/no-mutation": ["off", {
          "commonjs": true,
          "allowThis": true
        }],
        "fp/no-nil": "off",
        "fp/no-this": "off",
        "fp/no-throw": "off",
        "fp/no-unused-expression": "off",
        "import/no-named-default": "off",
        "jasmine/named-spy": "warn",
        "jasmine/no-focused-tests": "error",
        "jasmine/no-disabled-tests": "warn",
        "jasmine/no-suite-dupes": "warn",
        "jasmine/no-spec-dupes": "off",
        "jasmine/missing-expect": "off",
        "jasmine/no-suite-callback-args": "error",
        "jasmine/valid-expect": "warn",
        "jasmine/no-assign-spyon": "warn",

        "no-unsafe-innerhtml/no-unsafe-innerhtml": "error",

        "promise/always-return": "error",
        "promise/no-return-wrap": "error",
        "promise/param-names": "error",
        "promise/catch-or-return": "error",
        "promise/no-native": "off",
        "promise/no-nesting": "warn",
        "promise/no-promise-in-callback": "warn",
        "promise/no-callback-in-promise": "off",
        "promise/avoid-new": "warn",

        "vue/attributes-order": ["warn", {
            "order": [
                "DEFINITION",
                "LIST_RENDERING",
                "CONDITIONALS",
                "RENDER_MODIFIERS",
                "GLOBAL",
                "UNIQUE",
                "TWO_WAY_BINDING",
                "OTHER_DIRECTIVES",
                "OTHER_ATTR",
                "EVENTS",
                "CONTENT"
            ]
        }],
        "vue/order-in-components": ["warn", {
            "order": [
                "el",
                "name",
                "parent",
                "functional",
                ["delimiters", "comments"],
                ["components", "directives", "filters"],
                "extends",
                "mixins",
                "inheritAttrs",
                "model",
                ["template", "render"],
                "renderError",
                ["props", "propsData"],
                "data",
                "LIFECYCLE_HOOKS",
                "methods",
                "computed",
                "watch"
            ]
        }],
        "vue/script-indent": ["error", 4, {"baseIndent": 1, "switchCase": 1}],
        "vue/html-indent": ["error", 4],
        "vue/html-self-closing": ["error", {
            "html": {
                "void": "any",
                "normal": "any",
                "component": "any"
            }
        }],
        "vue/max-attributes-per-line": "off",
        "vue/name-property-casing": ["error", "kebab-case"]
    },

    "overrides": [
        {
            "files": [ "*.vue" ],
            "rules": {
                "indent": "off"
            }
        }
    ]
}

What did you do?

Upgraded to 5.2.0 (have tried 5.2.2 as well) and getting the following error (using eslint 5.9.0):

TypeError: wrapCoreRule is not a function
    at Object.<anonymous> (/node_modules/eslint-plugin-vue/lib/rules/array-bracket-spacing.js:9:18)
question

Most helpful comment

I got this issue too. You need to reinstall eslint-plugin-vue and restart your IDE to make it works, it is a cache related issue 馃尩

All 8 comments

Same issue, I checked source code, there's no "wrapCoreRule" function in utils directory. it's an obvious mistake.

This looks like your installation problem. Please try re-install. If re-install didn't solve the problem, please go to https://npm.community/.

Thank you.

@brandflugan did you solve it somehow? I've the same issue but the ../utils/index.js file has module.exports with the wrapCoreRule function so it should work, I've tried to reinstall the whole node_modules, same issue

I've the same issue
did you solve it somehow?

@mysticatea

@missXing I'm not sure because I have never reproduced this problem. I guess this is an installation problem, so please ask help to the community of your package manager.

I am currently using 5.1 since I haven't found a solution yet. I'm not sure how my setup could be a problem

I got this issue too. You need to reinstall eslint-plugin-vue and restart your IDE to make it works, it is a cache related issue 馃尩

Was this page helpful?
0 / 5 - 0 ratings

Related issues

xiGUAwanOU picture xiGUAwanOU  路  3Comments

KristofMorva picture KristofMorva  路  4Comments

nirazul picture nirazul  路  3Comments

Mouvedia picture Mouvedia  路  3Comments

filipalacerda picture filipalacerda  路  4Comments