Skip to content
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

Closed
CxRes opened this issue Jan 12, 2021 · 17 comments
Closed

Feature Request: Sourcemap Path Transformations #160

CxRes opened this issue Jan 12, 2021 · 17 comments
Assignees
Labels
enhancement New feature or request released

Comments

@CxRes
Copy link

CxRes commented Jan 12, 2021

Please provide an option to configure sourcemap path transformations like output.sourcemapPathTransform option that Rollup provides. Alternatively reuse the output.sourcemapPathTransform property if sourcemaps are enabled for css.

@Anidetrix
Copy link
Owner

Anidetrix commented Jan 12, 2021

Hi @CxRes,

Should not be too hard to do, although I would like to know the use case for this one first.

@Anidetrix Anidetrix self-assigned this Jan 12, 2021
@Anidetrix Anidetrix added the question Further information is requested label Jan 12, 2021
@CxRes
Copy link
Author

CxRes commented Jan 12, 2021

My use case involves repos that have source code in a src/ directory and the Rollup bundles are placed in a dist/ or lib/ directory. Now, I remap the source paths as if the code existed in the lib/dist folder, so that all ../src/path/to/file are path/to/file. However, this does not carry over to the css file maps meaning that the devTools > sources show a src folder with just css files. Right now, I am cheating by doing a find and replace on the map file, which has the potential of going wrong though. Therefore, it would be nice if css sourcemap path transforms was a also part of the Rollup build process and my request here!

@Anidetrix Anidetrix added enhancement New feature or request and removed question Further information is requested labels Jan 12, 2021
github-actions bot pushed a commit that referenced this issue Jan 24, 2021
# [3.13.0](v3.12.2...v3.13.0) (2021-01-24)

### Bug Fixes

* respect esm and styles for sync resolves ([0c51253](0c51253))

### Features

* sourcemap transformation ([ed49328](ed49328)), closes [#160](#160)
@github-actions
Copy link

🎉 This issue has been resolved in version 3.13.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@Anidetrix
Copy link
Owner

Anidetrix commented Jan 24, 2021

@CxRes done, see transform from sourcemap options

Usage example:

styles({
  sourceMap: [true, { transform: m => (m.sources = ["virt"]) }]
})

@CxRes
Copy link
Author

CxRes commented Jan 24, 2021

@Anidetrix Thanks!!!!!!!!!!

@CxRes
Copy link
Author

CxRes commented Jan 24, 2021

I just tried to implement the feature in my code and I realized you would need to expose sourcemapPath, like sourcemapPathTransform function in Rollup does...

@Anidetrix
Copy link
Owner

Anidetrix commented Jan 25, 2021

@CxRes be aware that this will only work for extract mode since resulting file name is not available inside transform hook, which is when inject and emit modes are finished.

@Anidetrix
Copy link
Owner

Anidetrix commented Jan 25, 2021

Released as a part of 3.14.0, hope it works for you

@CxRes
Copy link
Author

CxRes commented Jan 25, 2021

Do css sourcemaps even work with inject mode? I cannot see css sources in the map file when I use inject mode...

@Anidetrix
Copy link
Owner

Anidetrix commented Jan 25, 2021

Sourcemap is always inlined as a comment in inject and emit modes, it's not in a separate file

@CxRes
Copy link
Author

CxRes commented Jan 25, 2021

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...

@Anidetrix
Copy link
Owner

Anidetrix commented Jan 25, 2021

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.

@CxRes
Copy link
Author

CxRes commented Jan 26, 2021

Thats very strange, it seems like a bug (or maybe Rollup just filters all non-js files). Lets try asking Rollup people for help...

@CxRes
Copy link
Author

CxRes commented Jan 29, 2021

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.

@CxRes
Copy link
Author

CxRes commented Jan 30, 2021

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...

@CxRes
Copy link
Author

CxRes commented Jan 30, 2021

Also the order in which the injector is introduced is wrong. If you look at res.code returned as code in the transform function. It first exports var css and then imports the injector function and then exports the default css. The import must always precede the export. It should be like:

import injector from '...'
var css = '...' 
injector(css);
export default css; export {css};

@Anidetrix
Copy link
Owner

Thank you for your efforts, will look into it.

github-actions bot pushed a commit to plumelo/rollup-plugin-styler that referenced this issue Nov 16, 2023
# 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
github-actions bot pushed a commit to plumelo/rollup-plugin-styler that referenced this issue Nov 17, 2023
# 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
github-actions bot pushed a commit to plumelo/rollup-plugin-styler that referenced this issue Nov 17, 2023
# 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
github-actions bot pushed a commit to plumelo/rollup-plugin-styler that referenced this issue Nov 17, 2023
# 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
github-actions bot pushed a commit to plumelo/rollup-plugin-styler that referenced this issue Nov 17, 2023
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request released
Projects
None yet
Development

No branches or pull requests

2 participants