Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
extract-svg-sprite-webpack-plugin
Advanced tools
Webpack plugin extract SVGs to separate file. Main purpose - extract images from CSS. But also works with SVGs imported from JS.
Webpack plugin extract SVGs to separate file. Main purpose - extract images from CSS. But also works with SVGs imported from JS.
Input
.img {
background: url('img.svg');
}
Output
.img {
background: url('sprite.svg') no-repeat 0 0;
background-size: 100% 104.50%;
}
npm install extract-svg-sprite-webpack-plugin
For "classic" SVG sprite you will need to setup 2 loaders: first for the SVGs, second for CSS, for generating proper styles for positioning symbol within the sprite.
const SpritePlugin = require('extract-svg-sprite-webpack-plugin');
module.exports = {
module: {
rules: [
{
test: /\.svg$/,
loader: SpritePlugin.loader
},
{
test: /\.css$/,
use: [
'css-loader',
SpritePlugin.cssLoader, /* should be right BEFORE css-loader */
'postcss-loader',
'sass-loader'
]
}
]
},
plugins: [
new SpritePlugin({ options })
]
}
emit
Type: boolean
Default:true
Emit sprite file.
filename
Type: string | Function
Default:sprite.svg
File name of resulting sprite. [contenthash]
token will be replaced with hash of
file content.
publicPath
Type: string Default: null
Custom public path for sprites. By default webpack's output.publicPath
will be used.
runtimeGenerator
Type: RuntimeGenerator
Custom runtime generator. Docs will be ASAP.
selector
CSS selector for generated sprite styles. By default current selector is used,
but is is possible to create separate style rule with sprite styles by specifying
a valid CSS selector which will be appended to current rule. Note that original
background image declaration will be moved to new rule. Example for selector: '::after''
:
/* Input */
.img {
background: url('img.svg');
}
/* Output */
.img {}
.img::after {
background: url('sprite.svg') no-repeat 0 0;
background-size: 100% 104.50%;
}
spriteClass
Type: mixer.Sprite Default: mixer.Sprite
Custom sprite class. Docs will be ASAP.
spriteConfig
Type: Object Default: undefined
spriteType
Type: 'classic' | 'stack' Default: 'classic'
See svg-mixer spriteType.
For classic sprite you will need to setup additional loader for CSS. See example config.
symbolClass
Type: mixer.SpriteSymbol Default: mixer.SpriteSymbol
Custom symbol class. Docs will be ASAP.
symbolId
Type: string | Function Default: '[name]'
How <symbol id>
attribute should be named. All patterns from loader-utils#interpolateName
are supported. Also can be a function which accepts 2 args - file path and query
string and should return a function.
FAQs
Webpack plugin extract SVGs to separate file. Main purpose - extract images from CSS. But also works with SVGs imported from JS.
The npm package extract-svg-sprite-webpack-plugin receives a total of 153 weekly downloads. As such, extract-svg-sprite-webpack-plugin popularity was classified as not popular.
We found that extract-svg-sprite-webpack-plugin demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.