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))
- }
- }
|