Skip to content

Feature request: vue/match-component-file-name, allow prefixes/suffixes #1791

Open
@iliubinskii

Description

@iliubinskii

What rule do you want to change?

vue/match-component-file-name

How will the change be implemented? (New option, new default behavior, etc.)?

New options:

a.
  "vue/match-component-file-name": ["warn", {
    allowPrefixes: ["prefix1", "prefix2", etc]
  }]

b.
  "vue/match-component-file-name": ["warn", {
    allowSuffixes: ["suffix1", "suffix2", etc]
  }]

c.
  "vue/match-component-file-name": ["warn", {
    allowPrefixes: {
      "folderName1": "prefix1",
      "folderName2": "prefix2"
    }
  }]

d.
  "vue/match-component-file-name": ["warn", {
    allowSuffixes: {
      "folderName1": "suffix1",
      "folderName2": "suffix2"
    }
  }]

e.
  "vue/match-component-file-name": ["warn", {
    requirePrefixes: {
      "folderName1": "prefix1",
      "folderName2": "prefix2"
    }
  }]

f.
  "vue/match-component-file-name": ["warn", {
    requireSuffixes: {
      "folderName1": "suffix1",
      "folderName2": "suffix2"
    }
  }]

Please provide some example code that this change will affect:

Valid with ["warn", { allowSuffixes: { routes: "-route" } }] or ["warn", { requireSuffixes: { routes: "-route" } }]

routes/Home.vue:
export default defineComponent({
  name: "home-route",
}

Invalid with ["warn", { requireSuffixes: { routes: "-route" } }]

routes/Home.vue:
export default defineComponent({
  name: "home",
}

What does the rule currently do for this code?

I have separate "routes" folder that contains only routes.
I do not want to add "Route" suffix to every file in this folder.
But I want to add "-route" suffix to component names in this folder.

Current rule forces me to use "home" name inside Home.vue route component

What will the rule do after it's changed?

With new options I can enforce "home-route" name for Home.vue inside "routes/" folder.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions