| 12345678910111213141516171819202122232425262728293031323334353637383940 | const configDescriptor = require('./configDescriptor')const taskDescriptor = require('./taskDescriptor')const CONFIG = 'org.vue.eslintrc'const OPEN_ESLINTRC = 'org.vue.eslint.open-eslintrc'module.exports = api => {  api.describeConfig(configDescriptor.config)  api.describeTask(taskDescriptor.task)  api.onViewOpen(({ view }) => {    if (view.id !== 'vue-project-configurations') {      removeSuggestions()    }  })  api.onConfigRead(({ config }) => {    if (config.id === CONFIG) {      api.addSuggestion({        id: OPEN_ESLINTRC,        type: 'action',        label: 'org.vue.eslint.suggestions.open-eslintrc.label',        handler () {          const file = config.foundFiles.eslint.path          const { launch } = require('@vue/cli-shared-utils')          launch(file)          return {            keep: true          }        }      })    } else {      removeSuggestions()    }  })  function removeSuggestions () {    [OPEN_ESLINTRC].forEach(id => api.removeSuggestion(id))  }}
 |