Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
vuetify-loader
Advanced tools
## a-la-carte The main part of this webpack loader should only be used when utilizing the a-la-carte functionality of [vuetify](https://www.github.com/vuetifyjs/vuetify) together with custom themes.
The vuetify-loader package is a webpack loader for Vuetify, a popular Vue.js UI library. It provides functionalities to automatically import Vuetify components and styles, optimize the bundle size, and enable tree-shaking for Vuetify components.
Automatic Component Import
This feature allows you to automatically import Vuetify components as you use them in your Vue files, eliminating the need to manually import each component.
module.exports = {
configureWebpack: {
plugins: [
new VuetifyLoaderPlugin()
]
}
};
Tree Shaking
Tree shaking is a feature that allows you to include only the components you actually use in your project, reducing the final bundle size.
module.exports = {
configureWebpack: {
plugins: [
new VuetifyLoaderPlugin({
match (originalTag, { kebabTag, camelTag, path, component }) {
if (kebabTag.startsWith('core-')) {
return [camelTag, `import ${camelTag} from '@/components/core/${camelTag.substring(4)}.vue'`]
}
}
})
]
}
};
Style Imports
This feature automatically imports the necessary styles for the Vuetify components you use, ensuring that your application looks as expected without manual style imports.
module.exports = {
configureWebpack: {
plugins: [
new VuetifyLoaderPlugin({
progressiveImages: true
})
]
}
};
babel-plugin-import is a Babel plugin for importing components on demand. It is commonly used with libraries like Ant Design and Material-UI. Unlike vuetify-loader, which is a webpack plugin, babel-plugin-import works at the Babel level and can be used with various UI libraries.
unplugin-vue-components is a Vite/webpack plugin that automatically imports Vue components as you use them. It supports multiple UI libraries, including Vuetify, and offers similar functionalities to vuetify-loader, such as automatic component import and tree shaking.
vite-plugin-components is a Vite plugin that automatically imports Vue components. It is similar to vuetify-loader but is specifically designed for Vite, offering automatic component import and tree shaking for various UI libraries, including Vuetify.
The main part of this webpack loader should only be used when utilizing the a-la-carte functionality of vuetify together with custom themes.
Read more at the vuetify documentation.
vuetify-loader
can automatically generate low-res placeholders for the v-img
component
NOTE: You must have ImageMagick installed for this to work
Just some small modifications to your webpack rules:
const { VuetifyProgressiveModule } = require('vuetify-loader')
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
compilerOptions: {
modules: [VuetifyProgressiveModule]
}
}
},
{
test: /\.(png|jpe?g|gif)$/,
resourceQuery: /vuetify-preload/,
use: [
'vuetify-loader/progressive-loader',
{
loader: 'url-loader',
options: { limit: 8000 }
}
]
}
And away you go!
<v-img src="@/assets/some-image.jpg"></v-img>
VuetifyProgressiveModule
only works on static paths, for use in a loop you have to require
the image yourself:
<v-img v-for="i in 10" :src="require(`@/images/image-${i}.jpg?vuetify-preload`)" :key="i">
If you only want some images to have placeholders, add ?lazy
to the end of the request:
<v-img src="@/assets/some-image.jpg?lazy"></v-img>
And modify the regex to match:
resourceQuery: /lazy\?vuetify-preload/
{
size: number // The minimum dimensions of the preview images, defaults to 9px
// TODO
// limit: number // Source images smaller than this value (in bytes) will not be transformed
}
Use Rule.oneOf
to prevent corrupt output when there are multiple overlapping rules:
{
test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)(\?.*)?$/,
oneOf: [
{
test: /\.(png|jpe?g|gif)$/,
resourceQuery: /vuetify-preload/,
use: [
'vuetify-loader/src/progressive-loader',
{
loader: 'url-loader',
options: { limit: 8000 }
}
]
},
{
loader: 'url-loader',
options: { limit: 8000 }
}
]
}
FAQs
A Webpack plugin for treeshaking Vuetify components and more
The npm package vuetify-loader receives a total of 133,891 weekly downloads. As such, vuetify-loader popularity was classified as popular.
We found that vuetify-loader demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.