vue-remove-attributes
A vue-template-compiler
module that removes unwanted attributes from templates. Neat!
Installation & Usage
Install:
npm install -D vue-remove-attributes
Use:
Import and add to your webpack configuration:
ES Module:
;
CommonJS:
const createAttributeRemover = ;
Pass the module to vue-loader
in your webpack config:
module: rules: test: /\.vue$/ use: loader: 'vue-loader' options: compilerOptions: modules:
Voilà! Your vue templates, littered with unwanted attributes (for tests, etc):
{{ n }}
Now beautiful for production:
1 2 3
Saving us entire bytes over the wire. 🚀
API:
createAttributeRemover(matcher)
Returns a vue-template-compiler
module.
matcher
- Criteria to match attributes against. Can be one of the following types:string
-createAttributeRemover('data-testid')
will removedata-testid
string[]
-createAttributeRemover(['data-foo', 'data-bar'])
will removedata-foo
anddata-bar
RegExp
-createAttributeRemover(/^:?data-testid$/)
will removedata-testid
and:data-testid
Note: The module will match attributes as their raw values in Vue templates, not their compiled result. As such, data-testid
, :data-testid
, and v-bind:data-testid
are all treated as separate attributes, even though they render identically. Specify each permutation explicitly for a comprehensive removal experience, e.g. createAttributeRemover(['data-testid', ':data-testid', 'v-bind:data-testid'])
.