Skip to content

migrator for cli-plugin-eslint crashes during 'vue upgrade' #5357

Closed
@gregveres

Description

@gregveres

Version

4.3.0

Environment info

 vue info   

Environment Info:

  System:
    OS: Windows 10 10.0.18363
    CPU: (8) x64 Intel(R) Core(TM) i7 CPU         930  @ 2.80GHz
  Binaries:
    Node: 12.14.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.12.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: 44.18362.449.0
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.1.2
    @vue/babel-preset-app:  4.3.0
    @vue/babel-preset-jsx:  1.1.2
    @vue/babel-sugar-functional-vue:  1.1.2
    @vue/babel-sugar-inject-h:  1.1.2
    @vue/babel-sugar-v-model:  1.1.2
    @vue/babel-sugar-v-on:  1.1.2
    @vue/cli-overlay:  4.3.0
    @vue/cli-plugin-babel: ~4.3.0 => 4.3.0
    @vue/cli-plugin-e2e-cypress: ~4.3.0 => 4.3.0
    @vue/cli-plugin-eslint: ~4.3.0 => 4.3.0
    @vue/cli-plugin-pwa: ~4.2.0 => 4.2.3
    @vue/cli-plugin-router: ~4.2.0 => 4.2.3 (4.3.0)
    @vue/cli-plugin-typescript: ~4.2.0 => 4.2.3
    @vue/cli-plugin-unit-jest: ~4.2.0 => 4.2.3
    @vue/cli-plugin-vuex: ~4.2.0 => 4.2.3 (4.3.0)
    @vue/cli-service: ~4.3.0 => 4.3.0
    @vue/cli-shared-utils:  4.3.0 (4.2.3)
    @vue/component-compiler-utils:  3.1.1
    @vue/composition-api: 0.5.0 => 0.5.0
    @vue/eslint-config-prettier: 6.0.0 => 6.0.0
    @vue/eslint-config-typescript: 5.0.1 => 5.0.1
    @vue/preload-webpack-plugin:  1.1.1
    @vue/test-utils: 1.0.0-beta.32 => 1.0.0-beta.32
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: 6.1.2 => 6.1.2
    jest-serializer-vue:  2.0.2
    typescript: ~3.7.5 => 3.7.5
    vue: 2.6.11 => 2.6.11
    vue-cli-plugin-i18n: ~0.6.1 => 0.6.1
    vue-cli-plugin-vuetify: ~2.0.5 => 2.0.5
    vue-eslint-parser:  7.0.0
    vue-hot-reload-api:  2.3.4
    vue-i18n: 8.15.5 => 8.15.5 (8.15.6)
    vue-i18n-extract:  1.0.3
    vue-i18n-ts:  0.1.0
    vue-jest:  3.0.5
    vue-loader:  15.9.1
    vue-router: 3.1.5 => 3.1.5
    vue-style-loader:  4.1.2
    vue-template-compiler: 2.6.11 => 2.6.11
    vue-template-es2015-compiler:  1.9.1
    vue-test-utils: 1.0.0-beta.11 => 1.0.0-beta.11
    vuetify: 2.2.20 => 2.2.20
    vuetify-loader: 1.3.0 => 1.3.0
  npmGlobalPackages:
    @vue/cli: Not Found

the npm global package says not found because I am using yarn. 
yarn global list --pattern cli     
yarn global v1.22.4
info "@quasar/cli@1.0.5" has binaries:
   - quasar
info "@vue/cli@4.3.0" has binaries:
   - vue
info "cloc@2.5.1" has binaries:
   - cloc
info "majestic@1.6.2" has binaries:
   - majestic
Done in 2.01s.

Steps to reproduce

On my project, I did the following:

yarn global upgrade @vue/cli

this gave me 4.3.0 (from 4.2.3)
then I ran the upgrade like the docs said to do:

vue upgrade

this cranked along for a while running all the upgrades and then the migrations and crashed on the cli-plugin-eslint migration.

I use separate config files.

What is expected?

I expected the upgrade to run without errors.

What is actually happening?

everything was humming along until

�🚀  Running migrator of @vue/cli-plugin-eslint
 ERROR  TypeError: Invalid Version: null
TypeError: Invalid Version: null
    at new SemVer (C:\Users\gregv\source\repos\SquashSpider\SquashSpider\SkyCourt.UI\ui\node_modules\@vue\cli-shared-utils\node_modules\semver\semver.js:314:11)
    at Function.major (C:\Users\gregv\source\repos\SquashSpider\SquashSpider\SkyCourt.UI\ui\node_modules\@vue\cli-shared-utils\node_modules\semver\semver.js:632:10)
    at Object.module.exports [as apply] (C:\Users\gregv\source\repos\SquashSpider\SquashSpider\SkyCourt.UI\ui\node_modules\@vue\cli-plugin-eslint\migrator\index.js:23:35)
    at Migrator.generate (C:\Users\gregv\AppData\Local\Yarn\Data\global\node_modules\@vue\cli\lib\Migrator.js:37:18)
    at runMigrator (C:\Users\gregv\AppData\Local\Yarn\Data\global\node_modules\@vue\cli\lib\migrate.js:32:18)
    at processTicksAndRejections (internal/process/task_queues.js:94:5)
    at async Upgrader.upgrade (C:\Users\gregv\AppData\Local\Yarn\Data\global\node_modules\@vue\cli\lib\Upgrader.js:124:5)
    at async Upgrader.upgradeAll (C:\Users\gregv\AppData\Local\Yarn\Data\global\node_modules\@vue\cli\lib\Upgrader.js:49:7)
PS C:\Users\gregv\source\repos\SquashSpider\SquashSpider\SkyCourt.UI\ui> 

I guess I also hoped that it would continue to run the other migrations that might be needed even though one of them in the chain crashed. At this point, I don't know what other migrations didn't get run.

the contents of my .eslintrc.js file:

module.exports = {
  root: true,

  env: {
    node: true
  },

  extends: [
    'plugin:vue/essential',
    'eslint:recommended',
    '@vue/typescript/recommended',
    '@vue/prettier',
    '@vue/prettier/@typescript-eslint'
  ],

  parserOptions: {
    ecmaVersion: 2020
  },

  rules: {
    'no-console': 'off',
    'no-debugger': 'off',
    '@typescript-eslint/no-empty-function': 'off',
    '@typescript-eslint/no-namespace': 'off',
    '@typescript-eslint/no-explicit-any': 'off',
    'eslint/no-empty': 'off',
    'prettier/prettier': [
      'warn',
      {
        singleQuote: true,
        semi: true,
        trailingComma: 'none'
      }
    ]
  },

  overrides: [
    {
      files: ['**/*.unit.ts'],
      env: {
        jest: true
      },
    }
  ],

  extends: [
    'plugin:vue/strongly-recommended',
    'eslint:recommended',
    '@vue/typescript/recommended',
    '@vue/prettier',
    '@vue/prettier/@typescript-eslint'
  ]
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions