-
-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Sourcemap Path Transformations #160
Comments
Hi @CxRes, Should not be too hard to do, although I would like to know the use case for this one first. |
My use case involves repos that have source code in a |
🎉 This issue has been resolved in version 3.13.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
@CxRes done, see Usage example: styles({
sourceMap: [true, { transform: m => (m.sources = ["virt"]) }]
}) |
@Anidetrix Thanks!!!!!!!!!! |
I just tried to implement the feature in my code and I realized you would need to expose |
@CxRes be aware that this will only work for |
Released as a part of 3.14.0, hope it works for you |
Do css sourcemaps even work with |
Sourcemap is always inlined as a comment in |
My bad, I missed the sourcemap comment. I was looking in the js sourcemap file! Though it seems a little strange. Is it not possible or for some reason undesirable that sourcemap is not written to the sourcemap file? I thought the magic-string library allowed one to do that in transform hook... |
Seems to not be possible at the moment, since it's already passed down the build pipeline, Rollup just doesn't seem to want to use it itself. |
Thats very strange, it seems like a bug (or maybe Rollup just filters all non-js files). Lets try asking Rollup people for help... |
After a lot of looking around I suspect that the issue is with the generated css map here. I have been able to get Rollup to accept sourcemap for a non-js file (html imported as string) in a plugin that I fixed in the last couple of days. Have a look at rollup-plugin-html-string. |
I went code-spelunking today and have been able to figure out why the maps are not being passed. The transformed code in the transformed hook inserts the css injector function using an import statement. This confuses rollup which now resolves only the injector function file and puts its map into combined sourcemap and ignores the map that was passed in the transform hook. If you remove the injector function (of course this breaks the functionality), the sourcemap is passed correctly. So, it seems there must a canonical way of importing code during a transform, but I just cannot figure out what that way is. The documentation on plugins is so terse that it might as well be written in Latin! I'll try to figure something out... |
Also the order in which the injector is introduced is wrong. If you look at import injector from '...'
var css = '...'
injector(css);
export default css; export {css}; |
Thank you for your efforts, will look into it. |
# 1.0.0 (2023-11-16) ### Bug Fixes * `onExtract` func check and desc ([4bfaac5](4bfaac5)) * `onExtract` option fix ([65d74cf](65d74cf)) * avoid partial names replacement when aliasing ([f5aa1e2](f5aa1e2)) * avoid postcss warning about no plugins ([dbd72b7](dbd72b7)) * better lf placement for output ([663c184](663c184)) * better match Rollup's hashing method ([1825045](1825045)) * better typedoc ([fb31286](fb31286)) * **build:** add dependabot and dependency badge ([761e3ed](761e3ed)) * **build:** disable minification for use with `patch-package` ([fbba337](fbba337)) * **changelog:** repairs after github breakage ([b01e058](b01e058)) * **ci:** do not release twice ([fc719f2](fc719f2)) * **code generation:** imports should precede exports ([814ccdb](814ccdb)) * **code splitting:** infinite loop on cyclic imports ([4dd0ca3](4dd0ca3)) * **code splitting:** potential over-extraction ([0b94909](0b94909)) * correct filename for single file /w `preserveModules` ([837f9ed](837f9ed)) * correct multi-file detection ([d92d6da](d92d6da)) * correctly resolve file imports with query params ([Anidetrix#148](https://github.com/plumelo/rollup-plugin-styles/issues/148)) ([71bfe87](71bfe87)), closes [Anidetrix#132](https://github.com/plumelo/rollup-plugin-styles/issues/132) * **deps:** more precise pkg versions ([403158c](403158c)) * do not bundle mime-types ([e444f04](e444f04)) * do not depend on directory structure for hashing ([18c3022](18c3022)) * **extract:** allow paths relative to cwd ([bdfc266](bdfc266)) * **extract:** missing parts of extracted file ([9afa9ac](9afa9ac)) * filter out only related files ([0976e8f](0976e8f)) * fix overwrite style file in preserveModules mode ([2c13345](2c13345)) * fix production build, also speed up builds ([b5b2e4f](b5b2e4f)) * function name typo ([d7574fb](d7574fb)) * hashed url handling ([5735a01](5735a01)) * infinite postcss loop ([c8cf892](c8cf892)) * **injector:** external @babel/runtime ([129aff5](129aff5)) * **injector:** pass selector instead of element as container ([63bc959](63bc959)) * keep references inside declaration ([a6f9b35](a6f9b35)), closes [Anidetrix#159](https://github.com/plumelo/rollup-plugin-styles/issues/159) * **less:** add plugins to less loader options type ([8b502ef](8b502ef)) * **less:** fileManager inheritance ([aba12a4](aba12a4)) * **less:** fix importer ([7900186](7900186)) * **less:** remove less from bundle ([9dafe0a](9dafe0a)) * **less:** respect `paths` options ([a72ab4c](a72ab4c)), closes [Anidetrix#125](https://github.com/plumelo/rollup-plugin-styles/issues/125) * **less:** use provided less in importer ([66f0fce](66f0fce)) * **loaders:** clearly show what options are public ([2ab86be](2ab86be)) * **loaders:** run `sourcemap` loader first ([b651be3](b651be3)) * minimize exports in extract mode as well ([ab919d7](ab919d7)) * misc fixes ([a4d3924](a4d3924)) * missing fs-extra ([4173a2a](4173a2a)) * missing/overwritten files ([b4dc69c](b4dc69c)) * more reliable chunk hash augmentation ([91f9b8f](91f9b8f)), closes [Anidetrix#143](https://github.com/plumelo/rollup-plugin-styles/issues/143) * **multi-entry:** correct and consistent order of single extracted file ([553ca85](553ca85)) * **node:** wrong supported version of Node.js ([3fb9f80](3fb9f80)) * normalize assetFileNames dir ([f551a76](f551a76)) * occasional wrong order in extract mode ([52cb377](52cb377)), closes [Anidetrix#153](https://github.com/plumelo/rollup-plugin-styles/issues/153) * **options:** `use` type ([41884fb](41884fb)) * **p-queue:** proper default size ([156ebff](156ebff)) * **partials:** incorrect path without dir in url ([68d40be](68d40be)) * **path-utils:** fix relativePath ([e22ca71](e22ca71)) * postcss related types ([df78c78](df78c78)) * prioritize `sass` over `node-sass` ([e9a93ef](e9a93ef)) * proper declaration file ([0b5502b](0b5502b)) * **readme:** clarification ([6f5b995](6f5b995)) * **readme:** fix links ([208c254](208c254)) * **readme:** fix more links ([c4e6690](c4e6690)) * **readme:** tagline wording ([0a55020](0a55020)) * remove <no source> from sourcemap ([b1c32e8](b1c32e8)) * remove debugging log ([e09ac09](e09ac09)) * remove puppeteer ([13bf4e8](13bf4e8)) * resolving `url` outside of first order place ([c61f0ce](c61f0ce)), closes [Anidetrix#126](https://github.com/plumelo/rollup-plugin-styles/issues/126) * respect `output.file` for main CSS chunk ([19eb9d7](19eb9d7)) * respect content option for minification ([59b3c07](59b3c07)) * respect esm and styles for sync resolves ([0c51253](0c51253)) * respect NODE_ENV ([7a600c3](7a600c3)) * respect programmatic manual chunks as well ([311e0dc](311e0dc)) * respect rollup's sourcemap ([cc6ad34](cc6ad34)) * revert <no source> removal ([8def44e](8def44e)) * **runtime:** safer option check ([78a5922](78a5922)) * **runtime:** working singleTag option ([5d6a5c8](5d6a5c8)) * **sass!:** remove `fibers` support ([8992356](8992356)) * **sass:** do not modify non-module url ([fd022c6](fd022c6)) * **sass:** properly call custom resolvers ([002366f](002366f)) * skip parsing of invalid sourcemaps ([a96d01f](a96d01f)) * small misc fixes and changes ([7cbb05a](7cbb05a)) * **sourcemap:** broken single line URL comments extraction ([fd8ebf9](fd8ebf9)) * **sourcemap:** more reliable detection ([a419361](a419361)) * **sourcemaps:** hashing and fixes for inlining in `extract` mode ([c2bb12d](c2bb12d)) * **styles-url:** clarify which url is unresolved ([aefc263](aefc263)) * **styles:** clean dist ([511ea8d](511ea8d)) * **styles:** fix CSS injector ([f4ccef4](f4ccef4)) * **stylus:** proper sourcesContent ([f9b4774](f9b4774)) * **stylus:** respect local node_modules ([eebbbed](eebbbed)) * test and warning for already processed files ([19fd942](19fd942)) * **treeshakable:** use es5 syntax for treeshakable object ([Anidetrix#177](https://github.com/plumelo/rollup-plugin-styles/issues/177)) ([a084834](a084834)) * trigger release due to `semantic-release` failure (see [here](https://github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md[#354](https://github.com/plumelo/rollup-plugin-styles/issues/354)-2020-05-22)) ([c9e6acf](c9e6acf)), closes [/github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md#354-2020-05-22](https://github.com//github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md/issues/354-2020-05-22) * typenames too long for typedoc ([13e2d49](13e2d49)) * **types:** fix less typings ([c129dec](c129dec)) * uniform sass error message ([49655a4](49655a4)) * **url handler:** working default `assetDir` ([7187a27](7187a27)) * **url:** consider all possible basedirs ([62353b2](62353b2)) * use path.parse instead of regex ([135b658](135b658)) * **utils:** async resolve types ([08ae382](08ae382)) * very rare double code extraction ([d89a5fe](d89a5fe)) ### Features * .d.ts generation and treeshakeable injector options ([2990cb0](2990cb0)) * allow multiple instances of the plugin ([aa0d4d1](aa0d4d1)) * code splitting rework /w `preserveModules` support ([8f44a7a](8f44a7a)) * **code splitting:** rollup's `manualChunks` option support ([5aeb350](5aeb350)) * **cssnano!:** v5 ([5d6ccc1](5d6ccc1)) * dir in css modules class names ([94d10b2](94d10b2)) * extended browser support (>=ie9, or >=ie8 with polyfills) ([d849278](d849278)) * **importer:** extensions override ([74fcd39](74fcd39)) * **import:** resolve extensions ([9005ab8](9005ab8)) * **injector:** ability to set attibutes ([653e91c](653e91c)) * **injector:** one less polyfill needed for ie8 ([97796d8](97796d8)) * **modules:** customizable `autoModules` ([c3298de](c3298de)) * multi entry support ([840996c](840996c)) * **node:** drop v10 ([5786615](5786615)) * option to disable `sourcesContent` in sourcemaps ([afc440b](afc440b)) * pass resulting filename to sourcemap transformer when possible ([5570cf4](5570cf4)) * postcss 8 upgrade ([b9adee9](b9adee9)) * **postcss:** support both object and array for plugin ([7ce53b9](7ce53b9)) * replace `postcss-load-config` with custom implementation ([50b19bb](50b19bb)) * **resolve:** `exports` fields support (thanks [@kherock](https://github.com/kherock)) ([eb22803](eb22803)) * respect for `.cjs` files and move towards `exports` fields ([cc391bb](cc391bb)) * respect rollup's 2.18.0 option changes ([53072b0](53072b0)) * **sass:** `exports` conditions ([Anidetrix#197](https://github.com/plumelo/rollup-plugin-styles/issues/197)) ([2d390de](2d390de)) * **sass:** sync mode support with dart implementation ([91846bc](91846bc)) * silently skip empty files ([a34bdbf](a34bdbf)) * sourcemap transformation ([ed49328](ed49328)), closes [Anidetrix#160](https://github.com/plumelo/rollup-plugin-styles/issues/160) * **styles:** add singleTag option for CSS injection ([b7e4ca8](b7e4ca8)) * **styles:** postcss plugins without require ([7db718f](7db718f)) * **styles:** v2 ([21d2c9d](21d2c9d)) * support functional assetFileNames ([91d4ca2](91d4ca2)) * support partials and ~ in Less [@import](https://github.com/import) statements ([b4fbda5](b4fbda5)) * support web url and query strings inside [@import](https://github.com/import) ([bbff4e5](bbff4e5)), closes [Anidetrix#140](https://github.com/plumelo/rollup-plugin-styles/issues/140) * update deps ([fd44c1f](fd44c1f)) * **url:** automatically inline assets in inject mode ([db7dc9a](db7dc9a)) * v3 ([c0a7daa](c0a7daa)) ### Performance Improvements * bundle minification ([369279a](369279a)) * global p-queue for all loaders ([ccac951](ccac951)) * **less:** less allocations in importer ([bf3710a](bf3710a)) * **less:** less code ([2717427](2717427)) * misc optimizations ([df1d1ee](df1d1ee)) * **modules:** simpler internal implementation ([c1f92e1](c1f92e1)) * overall considerable performance improvements ([6c08d55](6c08d55)) * overall improvements and optimizations ([a460dd0](a460dd0)) * **path:** unneded normalization ([df03c59](df03c59)) * **postcss:** less allocations ([c9ac3f5](c9ac3f5)) * **postcss:** less type checking ([5611655](5611655)) * **project:** refactoring and optimizations ([d3405aa](d3405aa)) * relace import-cwd with resolve ([dd4310e](dd4310e)) * removed deprecated rollup API ([46b73e6](46b73e6)) * replace concat-with-sourcemaps with custom function ([a1b04d2](a1b04d2)) * replace some sets with arrays ([2b7c28e](2b7c28e)) * resolved modules caching ([7eab36d](7eab36d)) * **runtime:** less operations ([7375fe7](7375fe7)) * simpler error handling ([438d5b1](438d5b1)) * **sourcemap:** less operations ([178e2d4](178e2d4)) * **sourcemap:** switch to `source-map-js` ([0488634](0488634)) * **styles:** do not call path.join twice ([272bb8b](272bb8b)) * **styles:** small CSS injector optimization ([fbdd413](fbdd413)) * tiny optimizations ([309e37b](309e37b)) * **types:** trimmed down vendor types ([6a52be8](6a52be8)) * Use Set to optimize performance ([b402687](b402687)) ### Reverts * Revert "chore(release): 3.8.3 [skip ci]" ([49b18ff](49b18ff)) ### BREAKING CHANGES * **resolve:** resolver now prioritizes `exports` fields before any others, including `style` inside `exports` over independent `style` field * `sass` is now the default Sass implementation due to `node-sass` deprecation * **node:** Now support v12.20.0 and up * Some breaking changes occured: * output.assetFileNames is now respected for both CSS files and assets from CSS * `extract`'s path now should be relative to output dir/output file's basedir, but not outside of it * `extract`'s path no longer passed to PostCSS as `to`, added dedicated `to` option instead * Removed `hash` option from url handler (now handled by Rollup's assetFileName) * `assetDir` option for url handler no longer affects resulting URL * signature changes for `onExtract` As always, please consult documentation and API Reference for details * **styles:** A lot of API and behavior changes, please consult README and API Reference
# 1.0.0 (2023-11-17) ### Bug Fixes * `onExtract` func check and desc ([4bfaac5](4bfaac5)) * `onExtract` option fix ([65d74cf](65d74cf)) * avoid partial names replacement when aliasing ([f5aa1e2](f5aa1e2)) * avoid postcss warning about no plugins ([dbd72b7](dbd72b7)) * better lf placement for output ([663c184](663c184)) * better match Rollup's hashing method ([1825045](1825045)) * better typedoc ([fb31286](fb31286)) * **build:** add dependabot and dependency badge ([761e3ed](761e3ed)) * **build:** disable minification for use with `patch-package` ([fbba337](fbba337)) * **changelog:** repairs after github breakage ([b01e058](b01e058)) * **ci:** do not release twice ([fc719f2](fc719f2)) * **code generation:** imports should precede exports ([814ccdb](814ccdb)) * **code splitting:** infinite loop on cyclic imports ([4dd0ca3](4dd0ca3)) * **code splitting:** potential over-extraction ([0b94909](0b94909)) * correct filename for single file /w `preserveModules` ([837f9ed](837f9ed)) * correct multi-file detection ([d92d6da](d92d6da)) * correctly resolve file imports with query params ([Anidetrix#148](https://github.com/plumelo/rollup-styles/issues/148)) ([71bfe87](71bfe87)), closes [Anidetrix#132](https://github.com/plumelo/rollup-styles/issues/132) * **deps:** more precise pkg versions ([403158c](403158c)) * do not bundle mime-types ([e444f04](e444f04)) * do not depend on directory structure for hashing ([18c3022](18c3022)) * **extract:** allow paths relative to cwd ([bdfc266](bdfc266)) * **extract:** missing parts of extracted file ([9afa9ac](9afa9ac)) * filter out only related files ([0976e8f](0976e8f)) * fix overwrite style file in preserveModules mode ([2c13345](2c13345)) * fix production build, also speed up builds ([b5b2e4f](b5b2e4f)) * function name typo ([d7574fb](d7574fb)) * hashed url handling ([5735a01](5735a01)) * infinite postcss loop ([c8cf892](c8cf892)) * **injector:** external @babel/runtime ([129aff5](129aff5)) * **injector:** pass selector instead of element as container ([63bc959](63bc959)) * keep references inside declaration ([a6f9b35](a6f9b35)), closes [Anidetrix#159](https://github.com/plumelo/rollup-styles/issues/159) * **less:** add plugins to less loader options type ([8b502ef](8b502ef)) * **less:** fileManager inheritance ([aba12a4](aba12a4)) * **less:** fix importer ([7900186](7900186)) * **less:** remove less from bundle ([9dafe0a](9dafe0a)) * **less:** respect `paths` options ([a72ab4c](a72ab4c)), closes [Anidetrix#125](https://github.com/plumelo/rollup-styles/issues/125) * **less:** use provided less in importer ([66f0fce](66f0fce)) * **loaders:** clearly show what options are public ([2ab86be](2ab86be)) * **loaders:** run `sourcemap` loader first ([b651be3](b651be3)) * minimize exports in extract mode as well ([ab919d7](ab919d7)) * misc fixes ([a4d3924](a4d3924)) * missing fs-extra ([4173a2a](4173a2a)) * missing/overwritten files ([b4dc69c](b4dc69c)) * more reliable chunk hash augmentation ([91f9b8f](91f9b8f)), closes [Anidetrix#143](https://github.com/plumelo/rollup-styles/issues/143) * **multi-entry:** correct and consistent order of single extracted file ([553ca85](553ca85)) * **node:** wrong supported version of Node.js ([3fb9f80](3fb9f80)) * normalize assetFileNames dir ([f551a76](f551a76)) * occasional wrong order in extract mode ([52cb377](52cb377)), closes [Anidetrix#153](https://github.com/plumelo/rollup-styles/issues/153) * **options:** `use` type ([41884fb](41884fb)) * **p-queue:** proper default size ([156ebff](156ebff)) * **partials:** incorrect path without dir in url ([68d40be](68d40be)) * **path-utils:** fix relativePath ([e22ca71](e22ca71)) * postcss related types ([df78c78](df78c78)) * prioritize `sass` over `node-sass` ([e9a93ef](e9a93ef)) * proper declaration file ([0b5502b](0b5502b)) * **readme:** clarification ([6f5b995](6f5b995)) * **readme:** fix links ([208c254](208c254)) * **readme:** fix more links ([c4e6690](c4e6690)) * **readme:** tagline wording ([0a55020](0a55020)) * remove <no source> from sourcemap ([b1c32e8](b1c32e8)) * remove debugging log ([e09ac09](e09ac09)) * remove puppeteer ([13bf4e8](13bf4e8)) * resolving `url` outside of first order place ([c61f0ce](c61f0ce)), closes [Anidetrix#126](https://github.com/plumelo/rollup-styles/issues/126) * respect `output.file` for main CSS chunk ([19eb9d7](19eb9d7)) * respect content option for minification ([59b3c07](59b3c07)) * respect esm and styles for sync resolves ([0c51253](0c51253)) * respect NODE_ENV ([7a600c3](7a600c3)) * respect programmatic manual chunks as well ([311e0dc](311e0dc)) * respect rollup's sourcemap ([cc6ad34](cc6ad34)) * revert <no source> removal ([8def44e](8def44e)) * **runtime:** safer option check ([78a5922](78a5922)) * **runtime:** working singleTag option ([5d6a5c8](5d6a5c8)) * **sass!:** remove `fibers` support ([8992356](8992356)) * **sass:** do not modify non-module url ([fd022c6](fd022c6)) * **sass:** properly call custom resolvers ([002366f](002366f)) * skip parsing of invalid sourcemaps ([a96d01f](a96d01f)) * small misc fixes and changes ([7cbb05a](7cbb05a)) * **sourcemap:** broken single line URL comments extraction ([fd8ebf9](fd8ebf9)) * **sourcemap:** more reliable detection ([a419361](a419361)) * **sourcemaps:** hashing and fixes for inlining in `extract` mode ([c2bb12d](c2bb12d)) * **styles-url:** clarify which url is unresolved ([aefc263](aefc263)) * **styles:** clean dist ([511ea8d](511ea8d)) * **styles:** fix CSS injector ([f4ccef4](f4ccef4)) * **stylus:** proper sourcesContent ([f9b4774](f9b4774)) * **stylus:** respect local node_modules ([eebbbed](eebbbed)) * test and warning for already processed files ([19fd942](19fd942)) * **treeshakable:** use es5 syntax for treeshakable object ([Anidetrix#177](https://github.com/plumelo/rollup-styles/issues/177)) ([a084834](a084834)) * trigger release due to `semantic-release` failure (see [here](https://github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md[#354](https://github.com/plumelo/rollup-styles/issues/354)-2020-05-22)) ([c9e6acf](c9e6acf)), closes [/github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md#354-2020-05-22](https://github.com//github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md/issues/354-2020-05-22) * typenames too long for typedoc ([13e2d49](13e2d49)) * **types:** fix less typings ([c129dec](c129dec)) * uniform sass error message ([49655a4](49655a4)) * **url handler:** working default `assetDir` ([7187a27](7187a27)) * **url:** consider all possible basedirs ([62353b2](62353b2)) * use path.parse instead of regex ([135b658](135b658)) * **utils:** async resolve types ([08ae382](08ae382)) * very rare double code extraction ([d89a5fe](d89a5fe)) ### Features * .d.ts generation and treeshakeable injector options ([2990cb0](2990cb0)) * allow multiple instances of the plugin ([aa0d4d1](aa0d4d1)) * code splitting rework /w `preserveModules` support ([8f44a7a](8f44a7a)) * **code splitting:** rollup's `manualChunks` option support ([5aeb350](5aeb350)) * **cssnano!:** v5 ([5d6ccc1](5d6ccc1)) * dir in css modules class names ([94d10b2](94d10b2)) * extended browser support (>=ie9, or >=ie8 with polyfills) ([d849278](d849278)) * **importer:** extensions override ([74fcd39](74fcd39)) * **import:** resolve extensions ([9005ab8](9005ab8)) * **injector:** ability to set attibutes ([653e91c](653e91c)) * **injector:** one less polyfill needed for ie8 ([97796d8](97796d8)) * **modules:** customizable `autoModules` ([c3298de](c3298de)) * multi entry support ([840996c](840996c)) * **node:** drop v10 ([5786615](5786615)) * option to disable `sourcesContent` in sourcemaps ([afc440b](afc440b)) * pass resulting filename to sourcemap transformer when possible ([5570cf4](5570cf4)) * postcss 8 upgrade ([b9adee9](b9adee9)) * **postcss:** support both object and array for plugin ([7ce53b9](7ce53b9)) * replace `postcss-load-config` with custom implementation ([50b19bb](50b19bb)) * **resolve:** `exports` fields support (thanks [@kherock](https://github.com/kherock)) ([eb22803](eb22803)) * respect for `.cjs` files and move towards `exports` fields ([cc391bb](cc391bb)) * respect rollup's 2.18.0 option changes ([53072b0](53072b0)) * **sass:** `exports` conditions ([Anidetrix#197](https://github.com/plumelo/rollup-styles/issues/197)) ([2d390de](2d390de)) * **sass:** sync mode support with dart implementation ([91846bc](91846bc)) * silently skip empty files ([a34bdbf](a34bdbf)) * sourcemap transformation ([ed49328](ed49328)), closes [Anidetrix#160](https://github.com/plumelo/rollup-styles/issues/160) * **styles:** add singleTag option for CSS injection ([b7e4ca8](b7e4ca8)) * **styles:** postcss plugins without require ([7db718f](7db718f)) * **styles:** v2 ([21d2c9d](21d2c9d)) * support functional assetFileNames ([91d4ca2](91d4ca2)) * support partials and ~ in Less [@import](https://github.com/import) statements ([b4fbda5](b4fbda5)) * support web url and query strings inside [@import](https://github.com/import) ([bbff4e5](bbff4e5)), closes [Anidetrix#140](https://github.com/plumelo/rollup-styles/issues/140) * update package ([9f4dd9c](9f4dd9c)) * **url:** automatically inline assets in inject mode ([db7dc9a](db7dc9a)) * v3 ([c0a7daa](c0a7daa)) ### Performance Improvements * bundle minification ([369279a](369279a)) * global p-queue for all loaders ([ccac951](ccac951)) * **less:** less allocations in importer ([bf3710a](bf3710a)) * **less:** less code ([2717427](2717427)) * misc optimizations ([df1d1ee](df1d1ee)) * **modules:** simpler internal implementation ([c1f92e1](c1f92e1)) * overall considerable performance improvements ([6c08d55](6c08d55)) * overall improvements and optimizations ([a460dd0](a460dd0)) * **path:** unneded normalization ([df03c59](df03c59)) * **postcss:** less allocations ([c9ac3f5](c9ac3f5)) * **postcss:** less type checking ([5611655](5611655)) * **project:** refactoring and optimizations ([d3405aa](d3405aa)) * relace import-cwd with resolve ([dd4310e](dd4310e)) * removed deprecated rollup API ([46b73e6](46b73e6)) * replace concat-with-sourcemaps with custom function ([a1b04d2](a1b04d2)) * replace some sets with arrays ([2b7c28e](2b7c28e)) * resolved modules caching ([7eab36d](7eab36d)) * **runtime:** less operations ([7375fe7](7375fe7)) * simpler error handling ([438d5b1](438d5b1)) * **sourcemap:** less operations ([178e2d4](178e2d4)) * **sourcemap:** switch to `source-map-js` ([0488634](0488634)) * **styles:** do not call path.join twice ([272bb8b](272bb8b)) * **styles:** small CSS injector optimization ([fbdd413](fbdd413)) * tiny optimizations ([309e37b](309e37b)) * **types:** trimmed down vendor types ([6a52be8](6a52be8)) * Use Set to optimize performance ([b402687](b402687)) ### BREAKING CHANGES * **resolve:** resolver now prioritizes `exports` fields before any others, including `style` inside `exports` over independent `style` field * `sass` is now the default Sass implementation due to `node-sass` deprecation * **node:** Now support v12.20.0 and up * Some breaking changes occured: * output.assetFileNames is now respected for both CSS files and assets from CSS * `extract`'s path now should be relative to output dir/output file's basedir, but not outside of it * `extract`'s path no longer passed to PostCSS as `to`, added dedicated `to` option instead * Removed `hash` option from url handler (now handled by Rollup's assetFileName) * `assetDir` option for url handler no longer affects resulting URL * signature changes for `onExtract` As always, please consult documentation and API Reference for details * **styles:** A lot of API and behavior changes, please consult README and API Reference
# 1.0.0 (2023-11-17) ### Bug Fixes * `onExtract` func check and desc ([4bfaac5](4bfaac5)) * `onExtract` option fix ([65d74cf](65d74cf)) * avoid partial names replacement when aliasing ([f5aa1e2](f5aa1e2)) * avoid postcss warning about no plugins ([dbd72b7](dbd72b7)) * better lf placement for output ([663c184](663c184)) * better match Rollup's hashing method ([1825045](1825045)) * better typedoc ([fb31286](fb31286)) * **build:** add dependabot and dependency badge ([761e3ed](761e3ed)) * **build:** disable minification for use with `patch-package` ([fbba337](fbba337)) * **changelog:** repairs after github breakage ([b01e058](b01e058)) * **ci:** do not release twice ([fc719f2](fc719f2)) * **code generation:** imports should precede exports ([814ccdb](814ccdb)) * **code splitting:** infinite loop on cyclic imports ([4dd0ca3](4dd0ca3)) * **code splitting:** potential over-extraction ([0b94909](0b94909)) * correct filename for single file /w `preserveModules` ([837f9ed](837f9ed)) * correct multi-file detection ([d92d6da](d92d6da)) * correctly resolve file imports with query params ([Anidetrix#148](https://github.com/plumelo/rollup-styles/issues/148)) ([71bfe87](71bfe87)), closes [Anidetrix#132](https://github.com/plumelo/rollup-styles/issues/132) * **deps:** more precise pkg versions ([403158c](403158c)) * do not bundle mime-types ([e444f04](e444f04)) * do not depend on directory structure for hashing ([18c3022](18c3022)) * **extract:** allow paths relative to cwd ([bdfc266](bdfc266)) * **extract:** missing parts of extracted file ([9afa9ac](9afa9ac)) * filter out only related files ([0976e8f](0976e8f)) * fix overwrite style file in preserveModules mode ([2c13345](2c13345)) * fix production build, also speed up builds ([b5b2e4f](b5b2e4f)) * function name typo ([d7574fb](d7574fb)) * hashed url handling ([5735a01](5735a01)) * infinite postcss loop ([c8cf892](c8cf892)) * **injector:** external @babel/runtime ([129aff5](129aff5)) * **injector:** pass selector instead of element as container ([63bc959](63bc959)) * keep references inside declaration ([a6f9b35](a6f9b35)), closes [Anidetrix#159](https://github.com/plumelo/rollup-styles/issues/159) * **less:** add plugins to less loader options type ([8b502ef](8b502ef)) * **less:** fileManager inheritance ([aba12a4](aba12a4)) * **less:** fix importer ([7900186](7900186)) * **less:** remove less from bundle ([9dafe0a](9dafe0a)) * **less:** respect `paths` options ([a72ab4c](a72ab4c)), closes [Anidetrix#125](https://github.com/plumelo/rollup-styles/issues/125) * **less:** use provided less in importer ([66f0fce](66f0fce)) * **loaders:** clearly show what options are public ([2ab86be](2ab86be)) * **loaders:** run `sourcemap` loader first ([b651be3](b651be3)) * minimize exports in extract mode as well ([ab919d7](ab919d7)) * misc fixes ([a4d3924](a4d3924)) * missing fs-extra ([4173a2a](4173a2a)) * missing/overwritten files ([b4dc69c](b4dc69c)) * more reliable chunk hash augmentation ([91f9b8f](91f9b8f)), closes [Anidetrix#143](https://github.com/plumelo/rollup-styles/issues/143) * **multi-entry:** correct and consistent order of single extracted file ([553ca85](553ca85)) * **node:** wrong supported version of Node.js ([3fb9f80](3fb9f80)) * normalize assetFileNames dir ([f551a76](f551a76)) * occasional wrong order in extract mode ([52cb377](52cb377)), closes [Anidetrix#153](https://github.com/plumelo/rollup-styles/issues/153) * **options:** `use` type ([41884fb](41884fb)) * **p-queue:** proper default size ([156ebff](156ebff)) * **partials:** incorrect path without dir in url ([68d40be](68d40be)) * **path-utils:** fix relativePath ([e22ca71](e22ca71)) * postcss related types ([df78c78](df78c78)) * prioritize `sass` over `node-sass` ([e9a93ef](e9a93ef)) * proper declaration file ([0b5502b](0b5502b)) * **readme:** clarification ([6f5b995](6f5b995)) * **readme:** fix links ([208c254](208c254)) * **readme:** fix more links ([c4e6690](c4e6690)) * **readme:** tagline wording ([0a55020](0a55020)) * remove <no source> from sourcemap ([b1c32e8](b1c32e8)) * remove debugging log ([e09ac09](e09ac09)) * remove puppeteer ([13bf4e8](13bf4e8)) * resolving `url` outside of first order place ([c61f0ce](c61f0ce)), closes [Anidetrix#126](https://github.com/plumelo/rollup-styles/issues/126) * respect `output.file` for main CSS chunk ([19eb9d7](19eb9d7)) * respect content option for minification ([59b3c07](59b3c07)) * respect esm and styles for sync resolves ([0c51253](0c51253)) * respect NODE_ENV ([7a600c3](7a600c3)) * respect programmatic manual chunks as well ([311e0dc](311e0dc)) * respect rollup's sourcemap ([cc6ad34](cc6ad34)) * revert <no source> removal ([8def44e](8def44e)) * **runtime:** safer option check ([78a5922](78a5922)) * **runtime:** working singleTag option ([5d6a5c8](5d6a5c8)) * **sass!:** remove `fibers` support ([8992356](8992356)) * **sass:** do not modify non-module url ([fd022c6](fd022c6)) * **sass:** properly call custom resolvers ([002366f](002366f)) * skip parsing of invalid sourcemaps ([a96d01f](a96d01f)) * small misc fixes and changes ([7cbb05a](7cbb05a)) * **sourcemap:** broken single line URL comments extraction ([fd8ebf9](fd8ebf9)) * **sourcemap:** more reliable detection ([a419361](a419361)) * **sourcemaps:** hashing and fixes for inlining in `extract` mode ([c2bb12d](c2bb12d)) * **styles-url:** clarify which url is unresolved ([aefc263](aefc263)) * **styles:** clean dist ([511ea8d](511ea8d)) * **styles:** fix CSS injector ([f4ccef4](f4ccef4)) * **stylus:** proper sourcesContent ([f9b4774](f9b4774)) * **stylus:** respect local node_modules ([eebbbed](eebbbed)) * test and warning for already processed files ([19fd942](19fd942)) * **treeshakable:** use es5 syntax for treeshakable object ([Anidetrix#177](https://github.com/plumelo/rollup-styles/issues/177)) ([a084834](a084834)) * trigger release due to `semantic-release` failure (see [here](https://github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md[#354](https://github.com/plumelo/rollup-styles/issues/354)-2020-05-22)) ([c9e6acf](c9e6acf)), closes [/github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md#354-2020-05-22](https://github.com//github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md/issues/354-2020-05-22) * typenames too long for typedoc ([13e2d49](13e2d49)) * **types:** fix less typings ([c129dec](c129dec)) * uniform sass error message ([49655a4](49655a4)) * **url handler:** working default `assetDir` ([7187a27](7187a27)) * **url:** consider all possible basedirs ([62353b2](62353b2)) * use path.parse instead of regex ([135b658](135b658)) * **utils:** async resolve types ([08ae382](08ae382)) * very rare double code extraction ([d89a5fe](d89a5fe)) ### Features * .d.ts generation and treeshakeable injector options ([2990cb0](2990cb0)) * allow multiple instances of the plugin ([aa0d4d1](aa0d4d1)) * code splitting rework /w `preserveModules` support ([8f44a7a](8f44a7a)) * **code splitting:** rollup's `manualChunks` option support ([5aeb350](5aeb350)) * **cssnano!:** v5 ([5d6ccc1](5d6ccc1)) * dir in css modules class names ([94d10b2](94d10b2)) * extended browser support (>=ie9, or >=ie8 with polyfills) ([d849278](d849278)) * **importer:** extensions override ([74fcd39](74fcd39)) * **import:** resolve extensions ([9005ab8](9005ab8)) * **injector:** ability to set attibutes ([653e91c](653e91c)) * **injector:** one less polyfill needed for ie8 ([97796d8](97796d8)) * **modules:** customizable `autoModules` ([c3298de](c3298de)) * multi entry support ([840996c](840996c)) * **node:** drop v10 ([5786615](5786615)) * option to disable `sourcesContent` in sourcemaps ([afc440b](afc440b)) * pass resulting filename to sourcemap transformer when possible ([5570cf4](5570cf4)) * postcss 8 upgrade ([b9adee9](b9adee9)) * **postcss:** support both object and array for plugin ([7ce53b9](7ce53b9)) * replace `postcss-load-config` with custom implementation ([50b19bb](50b19bb)) * **resolve:** `exports` fields support (thanks [@kherock](https://github.com/kherock)) ([eb22803](eb22803)) * respect for `.cjs` files and move towards `exports` fields ([cc391bb](cc391bb)) * respect rollup's 2.18.0 option changes ([53072b0](53072b0)) * **sass:** `exports` conditions ([Anidetrix#197](https://github.com/plumelo/rollup-styles/issues/197)) ([2d390de](2d390de)) * **sass:** sync mode support with dart implementation ([91846bc](91846bc)) * silently skip empty files ([a34bdbf](a34bdbf)) * sourcemap transformation ([ed49328](ed49328)), closes [Anidetrix#160](https://github.com/plumelo/rollup-styles/issues/160) * **styles:** add singleTag option for CSS injection ([b7e4ca8](b7e4ca8)) * **styles:** postcss plugins without require ([7db718f](7db718f)) * **styles:** v2 ([21d2c9d](21d2c9d)) * support functional assetFileNames ([91d4ca2](91d4ca2)) * support partials and ~ in Less [@import](https://github.com/import) statements ([b4fbda5](b4fbda5)) * support web url and query strings inside [@import](https://github.com/import) ([bbff4e5](bbff4e5)), closes [Anidetrix#140](https://github.com/plumelo/rollup-styles/issues/140) * update package ([9f4dd9c](9f4dd9c)) * **url:** automatically inline assets in inject mode ([db7dc9a](db7dc9a)) * v3 ([c0a7daa](c0a7daa)) ### Performance Improvements * bundle minification ([369279a](369279a)) * global p-queue for all loaders ([ccac951](ccac951)) * **less:** less allocations in importer ([bf3710a](bf3710a)) * **less:** less code ([2717427](2717427)) * misc optimizations ([df1d1ee](df1d1ee)) * **modules:** simpler internal implementation ([c1f92e1](c1f92e1)) * overall considerable performance improvements ([6c08d55](6c08d55)) * overall improvements and optimizations ([a460dd0](a460dd0)) * **path:** unneded normalization ([df03c59](df03c59)) * **postcss:** less allocations ([c9ac3f5](c9ac3f5)) * **postcss:** less type checking ([5611655](5611655)) * **project:** refactoring and optimizations ([d3405aa](d3405aa)) * relace import-cwd with resolve ([dd4310e](dd4310e)) * removed deprecated rollup API ([46b73e6](46b73e6)) * replace concat-with-sourcemaps with custom function ([a1b04d2](a1b04d2)) * replace some sets with arrays ([2b7c28e](2b7c28e)) * resolved modules caching ([7eab36d](7eab36d)) * **runtime:** less operations ([7375fe7](7375fe7)) * simpler error handling ([438d5b1](438d5b1)) * **sourcemap:** less operations ([178e2d4](178e2d4)) * **sourcemap:** switch to `source-map-js` ([0488634](0488634)) * **styles:** do not call path.join twice ([272bb8b](272bb8b)) * **styles:** small CSS injector optimization ([fbdd413](fbdd413)) * tiny optimizations ([309e37b](309e37b)) * **types:** trimmed down vendor types ([6a52be8](6a52be8)) * Use Set to optimize performance ([b402687](b402687)) ### BREAKING CHANGES * **resolve:** resolver now prioritizes `exports` fields before any others, including `style` inside `exports` over independent `style` field * `sass` is now the default Sass implementation due to `node-sass` deprecation * **node:** Now support v12.20.0 and up * Some breaking changes occured: * output.assetFileNames is now respected for both CSS files and assets from CSS * `extract`'s path now should be relative to output dir/output file's basedir, but not outside of it * `extract`'s path no longer passed to PostCSS as `to`, added dedicated `to` option instead * Removed `hash` option from url handler (now handled by Rollup's assetFileName) * `assetDir` option for url handler no longer affects resulting URL * signature changes for `onExtract` As always, please consult documentation and API Reference for details * **styles:** A lot of API and behavior changes, please consult README and API Reference
# 1.0.0 (2023-11-17) ### Bug Fixes * `onExtract` func check and desc ([4bfaac5](4bfaac5)) * `onExtract` option fix ([65d74cf](65d74cf)) * avoid partial names replacement when aliasing ([f5aa1e2](f5aa1e2)) * avoid postcss warning about no plugins ([dbd72b7](dbd72b7)) * better lf placement for output ([663c184](663c184)) * better match Rollup's hashing method ([1825045](1825045)) * better typedoc ([fb31286](fb31286)) * **build:** add dependabot and dependency badge ([761e3ed](761e3ed)) * **build:** disable minification for use with `patch-package` ([fbba337](fbba337)) * **changelog:** repairs after github breakage ([b01e058](b01e058)) * **ci:** do not release twice ([fc719f2](fc719f2)) * **code generation:** imports should precede exports ([814ccdb](814ccdb)) * **code splitting:** infinite loop on cyclic imports ([4dd0ca3](4dd0ca3)) * **code splitting:** potential over-extraction ([0b94909](0b94909)) * correct filename for single file /w `preserveModules` ([837f9ed](837f9ed)) * correct multi-file detection ([d92d6da](d92d6da)) * correctly resolve file imports with query params ([Anidetrix#148](https://github.com/plumelo/rollup-styles/issues/148)) ([71bfe87](71bfe87)), closes [Anidetrix#132](https://github.com/plumelo/rollup-styles/issues/132) * **deps:** more precise pkg versions ([403158c](403158c)) * do not bundle mime-types ([e444f04](e444f04)) * do not depend on directory structure for hashing ([18c3022](18c3022)) * **extract:** allow paths relative to cwd ([bdfc266](bdfc266)) * **extract:** missing parts of extracted file ([9afa9ac](9afa9ac)) * filter out only related files ([0976e8f](0976e8f)) * fix overwrite style file in preserveModules mode ([2c13345](2c13345)) * fix production build, also speed up builds ([b5b2e4f](b5b2e4f)) * function name typo ([d7574fb](d7574fb)) * hashed url handling ([5735a01](5735a01)) * infinite postcss loop ([c8cf892](c8cf892)) * **injector:** external @babel/runtime ([129aff5](129aff5)) * **injector:** pass selector instead of element as container ([63bc959](63bc959)) * keep references inside declaration ([a6f9b35](a6f9b35)), closes [Anidetrix#159](https://github.com/plumelo/rollup-styles/issues/159) * **less:** add plugins to less loader options type ([8b502ef](8b502ef)) * **less:** fileManager inheritance ([aba12a4](aba12a4)) * **less:** fix importer ([7900186](7900186)) * **less:** remove less from bundle ([9dafe0a](9dafe0a)) * **less:** respect `paths` options ([a72ab4c](a72ab4c)), closes [Anidetrix#125](https://github.com/plumelo/rollup-styles/issues/125) * **less:** use provided less in importer ([66f0fce](66f0fce)) * **loaders:** clearly show what options are public ([2ab86be](2ab86be)) * **loaders:** run `sourcemap` loader first ([b651be3](b651be3)) * minimize exports in extract mode as well ([ab919d7](ab919d7)) * misc fixes ([a4d3924](a4d3924)) * missing fs-extra ([4173a2a](4173a2a)) * missing/overwritten files ([b4dc69c](b4dc69c)) * more reliable chunk hash augmentation ([91f9b8f](91f9b8f)), closes [Anidetrix#143](https://github.com/plumelo/rollup-styles/issues/143) * **multi-entry:** correct and consistent order of single extracted file ([553ca85](553ca85)) * **node:** wrong supported version of Node.js ([3fb9f80](3fb9f80)) * normalize assetFileNames dir ([f551a76](f551a76)) * occasional wrong order in extract mode ([52cb377](52cb377)), closes [Anidetrix#153](https://github.com/plumelo/rollup-styles/issues/153) * **options:** `use` type ([41884fb](41884fb)) * **p-queue:** proper default size ([156ebff](156ebff)) * **partials:** incorrect path without dir in url ([68d40be](68d40be)) * **path-utils:** fix relativePath ([e22ca71](e22ca71)) * postcss related types ([df78c78](df78c78)) * prioritize `sass` over `node-sass` ([e9a93ef](e9a93ef)) * proper declaration file ([0b5502b](0b5502b)) * **readme:** clarification ([6f5b995](6f5b995)) * **readme:** fix links ([208c254](208c254)) * **readme:** fix more links ([c4e6690](c4e6690)) * **readme:** tagline wording ([0a55020](0a55020)) * remove <no source> from sourcemap ([b1c32e8](b1c32e8)) * remove debugging log ([e09ac09](e09ac09)) * remove puppeteer ([13bf4e8](13bf4e8)) * resolving `url` outside of first order place ([c61f0ce](c61f0ce)), closes [Anidetrix#126](https://github.com/plumelo/rollup-styles/issues/126) * respect `output.file` for main CSS chunk ([19eb9d7](19eb9d7)) * respect content option for minification ([59b3c07](59b3c07)) * respect esm and styles for sync resolves ([0c51253](0c51253)) * respect NODE_ENV ([7a600c3](7a600c3)) * respect programmatic manual chunks as well ([311e0dc](311e0dc)) * respect rollup's sourcemap ([cc6ad34](cc6ad34)) * revert <no source> removal ([8def44e](8def44e)) * **runtime:** safer option check ([78a5922](78a5922)) * **runtime:** working singleTag option ([5d6a5c8](5d6a5c8)) * **sass!:** remove `fibers` support ([8992356](8992356)) * **sass:** do not modify non-module url ([fd022c6](fd022c6)) * **sass:** properly call custom resolvers ([002366f](002366f)) * skip parsing of invalid sourcemaps ([a96d01f](a96d01f)) * small misc fixes and changes ([7cbb05a](7cbb05a)) * **sourcemap:** broken single line URL comments extraction ([fd8ebf9](fd8ebf9)) * **sourcemap:** more reliable detection ([a419361](a419361)) * **sourcemaps:** hashing and fixes for inlining in `extract` mode ([c2bb12d](c2bb12d)) * **styles-url:** clarify which url is unresolved ([aefc263](aefc263)) * **styles:** clean dist ([511ea8d](511ea8d)) * **styles:** fix CSS injector ([f4ccef4](f4ccef4)) * **stylus:** proper sourcesContent ([f9b4774](f9b4774)) * **stylus:** respect local node_modules ([eebbbed](eebbbed)) * test and warning for already processed files ([19fd942](19fd942)) * **treeshakable:** use es5 syntax for treeshakable object ([Anidetrix#177](https://github.com/plumelo/rollup-styles/issues/177)) ([a084834](a084834)) * trigger release due to `semantic-release` failure (see [here](https://github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md[#354](https://github.com/plumelo/rollup-styles/issues/354)-2020-05-22)) ([c9e6acf](c9e6acf)), closes [/github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md#354-2020-05-22](https://github.com//github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md/issues/354-2020-05-22) * typenames too long for typedoc ([13e2d49](13e2d49)) * **types:** fix less typings ([c129dec](c129dec)) * uniform sass error message ([49655a4](49655a4)) * **url handler:** working default `assetDir` ([7187a27](7187a27)) * **url:** consider all possible basedirs ([62353b2](62353b2)) * use path.parse instead of regex ([135b658](135b658)) * **utils:** async resolve types ([08ae382](08ae382)) * very rare double code extraction ([d89a5fe](d89a5fe)) ### Features * .d.ts generation and treeshakeable injector options ([2990cb0](2990cb0)) * allow multiple instances of the plugin ([aa0d4d1](aa0d4d1)) * code splitting rework /w `preserveModules` support ([8f44a7a](8f44a7a)) * **code splitting:** rollup's `manualChunks` option support ([5aeb350](5aeb350)) * **cssnano!:** v5 ([5d6ccc1](5d6ccc1)) * dir in css modules class names ([94d10b2](94d10b2)) * extended browser support (>=ie9, or >=ie8 with polyfills) ([d849278](d849278)) * **importer:** extensions override ([74fcd39](74fcd39)) * **import:** resolve extensions ([9005ab8](9005ab8)) * **injector:** ability to set attibutes ([653e91c](653e91c)) * **injector:** one less polyfill needed for ie8 ([97796d8](97796d8)) * **modules:** customizable `autoModules` ([c3298de](c3298de)) * multi entry support ([840996c](840996c)) * **node:** drop v10 ([5786615](5786615)) * option to disable `sourcesContent` in sourcemaps ([afc440b](afc440b)) * pass resulting filename to sourcemap transformer when possible ([5570cf4](5570cf4)) * postcss 8 upgrade ([b9adee9](b9adee9)) * **postcss:** support both object and array for plugin ([7ce53b9](7ce53b9)) * replace `postcss-load-config` with custom implementation ([50b19bb](50b19bb)) * **resolve:** `exports` fields support (thanks [@kherock](https://github.com/kherock)) ([eb22803](eb22803)) * respect for `.cjs` files and move towards `exports` fields ([cc391bb](cc391bb)) * respect rollup's 2.18.0 option changes ([53072b0](53072b0)) * **sass:** `exports` conditions ([Anidetrix#197](https://github.com/plumelo/rollup-styles/issues/197)) ([2d390de](2d390de)) * **sass:** sync mode support with dart implementation ([91846bc](91846bc)) * silently skip empty files ([a34bdbf](a34bdbf)) * sourcemap transformation ([ed49328](ed49328)), closes [Anidetrix#160](https://github.com/plumelo/rollup-styles/issues/160) * **styles:** add singleTag option for CSS injection ([b7e4ca8](b7e4ca8)) * **styles:** postcss plugins without require ([7db718f](7db718f)) * **styles:** v2 ([21d2c9d](21d2c9d)) * support functional assetFileNames ([91d4ca2](91d4ca2)) * support partials and ~ in Less [@import](https://github.com/import) statements ([b4fbda5](b4fbda5)) * support web url and query strings inside [@import](https://github.com/import) ([bbff4e5](bbff4e5)), closes [Anidetrix#140](https://github.com/plumelo/rollup-styles/issues/140) * update package ([9f4dd9c](9f4dd9c)) * update rollup config ([bc728f0](bc728f0)) * **url:** automatically inline assets in inject mode ([db7dc9a](db7dc9a)) * v3 ([c0a7daa](c0a7daa)) ### Performance Improvements * bundle minification ([369279a](369279a)) * global p-queue for all loaders ([ccac951](ccac951)) * **less:** less allocations in importer ([bf3710a](bf3710a)) * **less:** less code ([2717427](2717427)) * misc optimizations ([df1d1ee](df1d1ee)) * **modules:** simpler internal implementation ([c1f92e1](c1f92e1)) * overall considerable performance improvements ([6c08d55](6c08d55)) * overall improvements and optimizations ([a460dd0](a460dd0)) * **path:** unneded normalization ([df03c59](df03c59)) * **postcss:** less allocations ([c9ac3f5](c9ac3f5)) * **postcss:** less type checking ([5611655](5611655)) * **project:** refactoring and optimizations ([d3405aa](d3405aa)) * relace import-cwd with resolve ([dd4310e](dd4310e)) * removed deprecated rollup API ([46b73e6](46b73e6)) * replace concat-with-sourcemaps with custom function ([a1b04d2](a1b04d2)) * replace some sets with arrays ([2b7c28e](2b7c28e)) * resolved modules caching ([7eab36d](7eab36d)) * **runtime:** less operations ([7375fe7](7375fe7)) * simpler error handling ([438d5b1](438d5b1)) * **sourcemap:** less operations ([178e2d4](178e2d4)) * **sourcemap:** switch to `source-map-js` ([0488634](0488634)) * **styles:** do not call path.join twice ([272bb8b](272bb8b)) * **styles:** small CSS injector optimization ([fbdd413](fbdd413)) * tiny optimizations ([309e37b](309e37b)) * **types:** trimmed down vendor types ([6a52be8](6a52be8)) * Use Set to optimize performance ([b402687](b402687)) ### BREAKING CHANGES * **resolve:** resolver now prioritizes `exports` fields before any others, including `style` inside `exports` over independent `style` field * `sass` is now the default Sass implementation due to `node-sass` deprecation * **node:** Now support v12.20.0 and up * Some breaking changes occured: * output.assetFileNames is now respected for both CSS files and assets from CSS * `extract`'s path now should be relative to output dir/output file's basedir, but not outside of it * `extract`'s path no longer passed to PostCSS as `to`, added dedicated `to` option instead * Removed `hash` option from url handler (now handled by Rollup's assetFileName) * `assetDir` option for url handler no longer affects resulting URL * signature changes for `onExtract` As always, please consult documentation and API Reference for details * **styles:** A lot of API and behavior changes, please consult README and API Reference
# 1.0.0 (2023-11-17) ### Bug Fixes * `onExtract` func check and desc ([4bfaac5](4bfaac5)) * `onExtract` option fix ([65d74cf](65d74cf)) * avoid partial names replacement when aliasing ([f5aa1e2](f5aa1e2)) * avoid postcss warning about no plugins ([dbd72b7](dbd72b7)) * better lf placement for output ([663c184](663c184)) * better match Rollup's hashing method ([1825045](1825045)) * better typedoc ([fb31286](fb31286)) * **build:** add dependabot and dependency badge ([761e3ed](761e3ed)) * **build:** disable minification for use with `patch-package` ([fbba337](fbba337)) * **changelog:** repairs after github breakage ([b01e058](b01e058)) * **ci:** do not release twice ([fc719f2](fc719f2)) * **code generation:** imports should precede exports ([814ccdb](814ccdb)) * **code splitting:** infinite loop on cyclic imports ([4dd0ca3](4dd0ca3)) * **code splitting:** potential over-extraction ([0b94909](0b94909)) * correct filename for single file /w `preserveModules` ([837f9ed](837f9ed)) * correct multi-file detection ([d92d6da](d92d6da)) * correctly resolve file imports with query params ([Anidetrix#148](https://github.com/plumelo/rollup-styles/issues/148)) ([71bfe87](71bfe87)), closes [Anidetrix#132](https://github.com/plumelo/rollup-styles/issues/132) * **deps:** more precise pkg versions ([403158c](403158c)) * do not bundle mime-types ([e444f04](e444f04)) * do not depend on directory structure for hashing ([18c3022](18c3022)) * **extract:** allow paths relative to cwd ([bdfc266](bdfc266)) * **extract:** missing parts of extracted file ([9afa9ac](9afa9ac)) * filter out only related files ([0976e8f](0976e8f)) * fix overwrite style file in preserveModules mode ([2c13345](2c13345)) * fix production build, also speed up builds ([b5b2e4f](b5b2e4f)) * function name typo ([d7574fb](d7574fb)) * hashed url handling ([5735a01](5735a01)) * infinite postcss loop ([c8cf892](c8cf892)) * **injector:** external @babel/runtime ([129aff5](129aff5)) * **injector:** pass selector instead of element as container ([63bc959](63bc959)) * keep references inside declaration ([a6f9b35](a6f9b35)), closes [Anidetrix#159](https://github.com/plumelo/rollup-styles/issues/159) * **less:** add plugins to less loader options type ([8b502ef](8b502ef)) * **less:** fileManager inheritance ([aba12a4](aba12a4)) * **less:** fix importer ([7900186](7900186)) * **less:** remove less from bundle ([9dafe0a](9dafe0a)) * **less:** respect `paths` options ([a72ab4c](a72ab4c)), closes [Anidetrix#125](https://github.com/plumelo/rollup-styles/issues/125) * **less:** use provided less in importer ([66f0fce](66f0fce)) * **loaders:** clearly show what options are public ([2ab86be](2ab86be)) * **loaders:** run `sourcemap` loader first ([b651be3](b651be3)) * minimize exports in extract mode as well ([ab919d7](ab919d7)) * misc fixes ([a4d3924](a4d3924)) * missing fs-extra ([4173a2a](4173a2a)) * missing/overwritten files ([b4dc69c](b4dc69c)) * more reliable chunk hash augmentation ([91f9b8f](91f9b8f)), closes [Anidetrix#143](https://github.com/plumelo/rollup-styles/issues/143) * **multi-entry:** correct and consistent order of single extracted file ([553ca85](553ca85)) * **node:** wrong supported version of Node.js ([3fb9f80](3fb9f80)) * normalize assetFileNames dir ([f551a76](f551a76)) * occasional wrong order in extract mode ([52cb377](52cb377)), closes [Anidetrix#153](https://github.com/plumelo/rollup-styles/issues/153) * **options:** `use` type ([41884fb](41884fb)) * **p-queue:** proper default size ([156ebff](156ebff)) * **partials:** incorrect path without dir in url ([68d40be](68d40be)) * **path-utils:** fix relativePath ([e22ca71](e22ca71)) * postcss related types ([df78c78](df78c78)) * prioritize `sass` over `node-sass` ([e9a93ef](e9a93ef)) * proper declaration file ([0b5502b](0b5502b)) * **readme:** clarification ([6f5b995](6f5b995)) * **readme:** fix links ([208c254](208c254)) * **readme:** fix more links ([c4e6690](c4e6690)) * **readme:** tagline wording ([0a55020](0a55020)) * remove <no source> from sourcemap ([b1c32e8](b1c32e8)) * remove debugging log ([e09ac09](e09ac09)) * remove puppeteer ([13bf4e8](13bf4e8)) * resolving `url` outside of first order place ([c61f0ce](c61f0ce)), closes [Anidetrix#126](https://github.com/plumelo/rollup-styles/issues/126) * respect `output.file` for main CSS chunk ([19eb9d7](19eb9d7)) * respect content option for minification ([59b3c07](59b3c07)) * respect esm and styles for sync resolves ([0c51253](0c51253)) * respect NODE_ENV ([7a600c3](7a600c3)) * respect programmatic manual chunks as well ([311e0dc](311e0dc)) * respect rollup's sourcemap ([cc6ad34](cc6ad34)) * revert <no source> removal ([8def44e](8def44e)) * **runtime:** safer option check ([78a5922](78a5922)) * **runtime:** working singleTag option ([5d6a5c8](5d6a5c8)) * **sass!:** remove `fibers` support ([8992356](8992356)) * **sass:** do not modify non-module url ([fd022c6](fd022c6)) * **sass:** properly call custom resolvers ([002366f](002366f)) * skip parsing of invalid sourcemaps ([a96d01f](a96d01f)) * small misc fixes and changes ([7cbb05a](7cbb05a)) * **sourcemap:** broken single line URL comments extraction ([fd8ebf9](fd8ebf9)) * **sourcemap:** more reliable detection ([a419361](a419361)) * **sourcemaps:** hashing and fixes for inlining in `extract` mode ([c2bb12d](c2bb12d)) * **styles-url:** clarify which url is unresolved ([aefc263](aefc263)) * **styles:** clean dist ([511ea8d](511ea8d)) * **styles:** fix CSS injector ([f4ccef4](f4ccef4)) * **stylus:** proper sourcesContent ([f9b4774](f9b4774)) * **stylus:** respect local node_modules ([eebbbed](eebbbed)) * test and warning for already processed files ([19fd942](19fd942)) * **treeshakable:** use es5 syntax for treeshakable object ([Anidetrix#177](https://github.com/plumelo/rollup-styles/issues/177)) ([a084834](a084834)) * trigger release due to `semantic-release` failure (see [here](https://github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md[#354](https://github.com/plumelo/rollup-styles/issues/354)-2020-05-22)) ([c9e6acf](c9e6acf)), closes [/github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md#354-2020-05-22](https://github.com//github.com/Anidetrix/rollup-plugin-styles/blob/master/CHANGELOG.md/issues/354-2020-05-22) * typenames too long for typedoc ([13e2d49](13e2d49)) * **types:** fix less typings ([c129dec](c129dec)) * uniform sass error message ([49655a4](49655a4)) * **url handler:** working default `assetDir` ([7187a27](7187a27)) * **url:** consider all possible basedirs ([62353b2](62353b2)) * use path.parse instead of regex ([135b658](135b658)) * **utils:** async resolve types ([08ae382](08ae382)) * very rare double code extraction ([d89a5fe](d89a5fe)) ### Features * .d.ts generation and treeshakeable injector options ([2990cb0](2990cb0)) * allow multiple instances of the plugin ([aa0d4d1](aa0d4d1)) * code splitting rework /w `preserveModules` support ([8f44a7a](8f44a7a)) * **code splitting:** rollup's `manualChunks` option support ([5aeb350](5aeb350)) * **cssnano!:** v5 ([5d6ccc1](5d6ccc1)) * dir in css modules class names ([94d10b2](94d10b2)) * extended browser support (>=ie9, or >=ie8 with polyfills) ([d849278](d849278)) * **importer:** extensions override ([74fcd39](74fcd39)) * **import:** resolve extensions ([9005ab8](9005ab8)) * **injector:** ability to set attibutes ([653e91c](653e91c)) * **injector:** one less polyfill needed for ie8 ([97796d8](97796d8)) * **modules:** customizable `autoModules` ([c3298de](c3298de)) * multi entry support ([840996c](840996c)) * **node:** drop v10 ([5786615](5786615)) * option to disable `sourcesContent` in sourcemaps ([afc440b](afc440b)) * pass resulting filename to sourcemap transformer when possible ([5570cf4](5570cf4)) * postcss 8 upgrade ([b9adee9](b9adee9)) * **postcss:** support both object and array for plugin ([7ce53b9](7ce53b9)) * replace `postcss-load-config` with custom implementation ([50b19bb](50b19bb)) * **resolve:** `exports` fields support (thanks [@kherock](https://github.com/kherock)) ([eb22803](eb22803)) * respect for `.cjs` files and move towards `exports` fields ([cc391bb](cc391bb)) * respect rollup's 2.18.0 option changes ([53072b0](53072b0)) * **sass:** `exports` conditions ([Anidetrix#197](https://github.com/plumelo/rollup-styles/issues/197)) ([2d390de](2d390de)) * **sass:** sync mode support with dart implementation ([91846bc](91846bc)) * silently skip empty files ([a34bdbf](a34bdbf)) * sourcemap transformation ([ed49328](ed49328)), closes [Anidetrix#160](https://github.com/plumelo/rollup-styles/issues/160) * **styles:** add singleTag option for CSS injection ([b7e4ca8](b7e4ca8)) * **styles:** postcss plugins without require ([7db718f](7db718f)) * **styles:** v2 ([21d2c9d](21d2c9d)) * support functional assetFileNames ([91d4ca2](91d4ca2)) * support partials and ~ in Less [@import](https://github.com/import) statements ([b4fbda5](b4fbda5)) * support web url and query strings inside [@import](https://github.com/import) ([bbff4e5](bbff4e5)), closes [Anidetrix#140](https://github.com/plumelo/rollup-styles/issues/140) * update package ([9f4dd9c](9f4dd9c)) * update rollup config ([e3f1053](e3f1053)) * **url:** automatically inline assets in inject mode ([db7dc9a](db7dc9a)) * v3 ([c0a7daa](c0a7daa)) ### Performance Improvements * bundle minification ([369279a](369279a)) * global p-queue for all loaders ([ccac951](ccac951)) * **less:** less allocations in importer ([bf3710a](bf3710a)) * **less:** less code ([2717427](2717427)) * misc optimizations ([df1d1ee](df1d1ee)) * **modules:** simpler internal implementation ([c1f92e1](c1f92e1)) * overall considerable performance improvements ([6c08d55](6c08d55)) * overall improvements and optimizations ([a460dd0](a460dd0)) * **path:** unneded normalization ([df03c59](df03c59)) * **postcss:** less allocations ([c9ac3f5](c9ac3f5)) * **postcss:** less type checking ([5611655](5611655)) * **project:** refactoring and optimizations ([d3405aa](d3405aa)) * relace import-cwd with resolve ([dd4310e](dd4310e)) * removed deprecated rollup API ([46b73e6](46b73e6)) * replace concat-with-sourcemaps with custom function ([a1b04d2](a1b04d2)) * replace some sets with arrays ([2b7c28e](2b7c28e)) * resolved modules caching ([7eab36d](7eab36d)) * **runtime:** less operations ([7375fe7](7375fe7)) * simpler error handling ([438d5b1](438d5b1)) * **sourcemap:** less operations ([178e2d4](178e2d4)) * **sourcemap:** switch to `source-map-js` ([0488634](0488634)) * **styles:** do not call path.join twice ([272bb8b](272bb8b)) * **styles:** small CSS injector optimization ([fbdd413](fbdd413)) * tiny optimizations ([309e37b](309e37b)) * **types:** trimmed down vendor types ([6a52be8](6a52be8)) * Use Set to optimize performance ([b402687](b402687)) ### BREAKING CHANGES * **resolve:** resolver now prioritizes `exports` fields before any others, including `style` inside `exports` over independent `style` field * `sass` is now the default Sass implementation due to `node-sass` deprecation * **node:** Now support v12.20.0 and up * Some breaking changes occured: * output.assetFileNames is now respected for both CSS files and assets from CSS * `extract`'s path now should be relative to output dir/output file's basedir, but not outside of it * `extract`'s path no longer passed to PostCSS as `to`, added dedicated `to` option instead * Removed `hash` option from url handler (now handled by Rollup's assetFileName) * `assetDir` option for url handler no longer affects resulting URL * signature changes for `onExtract` As always, please consult documentation and API Reference for details * **styles:** A lot of API and behavior changes, please consult README and API Reference
Please provide an option to configure sourcemap path transformations like
output.sourcemapPathTransform
option that Rollup provides. Alternatively reuse theoutput.sourcemapPathTransform
property if sourcemaps are enabled for css.The text was updated successfully, but these errors were encountered: