Skip to content

Make an exception for some SVG attributes in vue/attribute-hyphenation #1483

Closed
@rgaudy

Description

@rgaudy

What rule do you want to change?
vue/attribute-hyphenation

Does this change cause the rule to produce more or fewer warnings?
This produces fewer warnings.

How will the change be implemented? (New option, new default behavior, etc.)?
The list of ignored attributes (currently ['data-', 'aria-', 'slot-scope']) is extended with all mixed case SVG attributes, extracted from this list.

Please provide some example code that this change will affect:

<mask
  id="mask"
  maskUnits="userSpaceOnUse"
  v-bind="dimensions"
>
...
</mask>

What does the rule currently do for this code?
It generates the warning Attribute 'maskUnits' should be hyphenated.

What will the rule do after it's changed?
It will not generate the warning anymore.

Additional context

I extracted the list of the attributes :

[
          "attributeName",
          "attributeType",
          "baseFrequency",
          "baseProfile",
          "calcMode",
          "clipPathUnits",
          "contentScriptType",
          "contentStyleType",
          "diffuseConstant",
          "edgeMode",
          "externalResourcesRequired",
          "filterRes",
          "filterUnits",
          "glyphRef",
          "gradientTransform",
          "gradientUnits",
          "kernelMatrix",
          "kernelUnitLength",
          "keyPoints",
          "keySplines",
          "keyTimes",
          "lengthAdjust",
          "limitingConeAngle",
          "markerHeight",
          "markerUnits",
          "markerWidth",
          "maskContentUnits",
          "maskUnits",
          "numOctaves",
          "pathLength",
          "patternContentUnits",
          "patternTransform",
          "patternUnits",
          "pointsAtX",
          "pointsAtY",
          "pointsAtZ",
          "preserveAlpha",
          "preserveAspectRatio",
          "primitiveUnits",
          "referrerPolicy",
          "refX",
          "refY",
          "repeatCount",
          "repeatDur",
          "requiredExtensions",
          "requiredFeatures",
          "specularConstant",
          "specularExponent",
          "spreadMethod",
          "startOffset",
          "stdDeviation",
          "stitchTiles",
          "surfaceScale",
          "systemLanguage",
          "tableValues",
          "targetX",
          "targetY",
          "textLength",
          "viewBox",
          "viewTarget",
          "xChannelSelector",
          "yChannelSelector",
          "zoomAndPan"
        ]

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