@csstools/postcss-rebase-url
Version:
Rebase url() functions when transforming CSS
62 lines (40 loc) • 1.83 kB
Markdown
when transforming CSS.
When bundling CSS, the location of the final stylesheet file will be different than the individual source files.
[ ] rewrites the contents of `url()` functions so that relative paths continue to work.
Instead of manually mapping where the files will be in the final output you can use this plugin
and simply use the relative paths to each source file.
_If you need something with more knobs and dials, please checkout [`postcss-url`](https://www.npmjs.com/package/postcss-url)_
```pcss
/* when used with a bundler like `postcss-import` */
/* test/examples/example.css */
@import url("imports/basic.css");
/* test/examples/imports/basic.css */
.foo {
background: url('../../images/green.png');
}
/* becomes */
/* test/examples/example.expect.css */
.foo {
background: url("../images/green.png");
}
```
Add [PostCSS Rebase URL] to your project:
```bash
npm install postcss @csstools/postcss-rebase-url --save-dev
```
Use it as a [PostCSS] plugin:
```js
const postcss = require('postcss');
const postcssRebaseURL = require('@csstools/postcss-rebase-url');
postcss([
postcssRebaseURL(/* pluginOptions */)
]).process(YOUR_CSS /*, processOptions */);
```
[ ]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test
[ ]: https://discord.gg/bUadyRwkJS
[ ]: https://www.npmjs.com/package/@csstools/postcss-rebase-url
[ ]: https://github.com/postcss/postcss
[ ]: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-rebase-url
`npm install @csstools/postcss-rebase-url --save-dev`
[ ] rebases `url()` functions