Usage with Webpack
Installation
# npm
npm i -D @wyw-in-js/webpack-loader
# yarn
yarn add --dev @wyw-in-js/webpack-loader
# pnpm
pnpm add -D @wyw-in-js/webpack-loader
# bun
bun add -d @wyw-in-js/webpack-loaderConfiguration
module.exports = {
module: {
rules: [
{
test: /\.js/,
use: [{ loader: '@wyw-in-js/webpack-loader' }],
},
],
},
};Resource queries (?raw, ?url, etc.)
If you import assets with resource queries (e.g. ./arrow.svg?svgUse), WyW-in-JS ignores ?query/#hash for file reads and extension checks.
For cases where evaluated code needs a value from such imports, configure importLoaders in your WyW config (see /configuration).
Disabling vendor prefixing
Stylis adds vendor-prefixed CSS by default. To disable it (and reduce CSS size), pass prefixer: false:
module.exports = {
module: {
rules: [
{
test: /\.js/,
use: [
{
loader: '@wyw-in-js/webpack-loader',
options: {
prefixer: false,
},
},
],
},
],
},
};Keeping CSS comments
Stylis strips CSS comments by default. To preserve them (for example, /*rtl:ignore*/), pass keepComments:
module.exports = {
module: {
rules: [
{
test: /\.js/,
use: [
{
loader: '@wyw-in-js/webpack-loader',
options: {
keepComments: true,
// or keep only matching comments:
// keepComments: /rtl:/,
},
},
],
},
],
},
};Note: if you use a CSS minimizer in production, ensure it preserves comments.