{"_id":"resolve-url-loader","maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"dist-tags":{"latest":"5.0.0"},"author":{"name":"bholloway"},"description":"Webpack loader that resolves relative paths in url() statements based on the original source file","readme":"> **I M P O R T A N T**\n>\n> Version 4 release is imminent. Please try it. More info on the [homepage](https://github.com/bholloway/resolve-url-loader).\n>\n> Version 3 is now in maintenance mode.\n\n# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option      | type                       | default     |          |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n| `sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n| `keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n| `removeCR`  | boolean                    | `false`     |          | Convert orphan CR to whitespace (postcss only).<br/>See known issues below.                                                                                                          |\n| `debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n| `root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n| `absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNote that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested `macOS` and `Windows` for `node 6.x`.\n\nAll `webpack1`-`webpack4` with contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\nSome edge cases with `libsass` on `Windows` (see below).\n\n### Engines\n\nThe `engine:postcss` is by far the more reliable option.\n\nThe `engine:rework` option is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.\n\nIf you need production css source-map it is best to avoid the combination `webpack4` with `engine:rework`. Tests show a systematic flaw in the outgoing source-map mappings.\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n### Windows line breaks\n\nNormal windows linebreaks are `CRLF`. But sometimes libsass will output single `CR` characters.\n\nThis problem is specific to multiline declarations. Refer to the [libsass bug #2693](https://github.com/sass/libsass/issues/2693).\n\nIf you have _any_ such multiline declarations preceding `url()` statements it will fail your build.\n \nLibsass doesn't consider these orphan `CR` to be newlines but `postcss` engine does.  The result being an offset in source-map line-numbers which crashes `resolve-url-loader`.\n\n```\nModule build failed: Error: resolve-url-loader: CSS error\n  source-map information is not available at url() declaration\n```\n\nSome users find the node-sass `linefeed` option solves the problem.\n\n**Solutions**\n* Try the node-sass [linefeed](https://github.com/sass/node-sass#linefeed--v300) option by way of `sass-loader`.\n\n**Work arounds** \n* Enable `removeCR` option [here](#option).\n* Remove linebreaks in declarations.\n\n**Diagnosis**\n1. Run a stand-alone sass build `npx node-sass index.scss output.css`\n2. Use a hex editor to check line endings `Format-Hex output.css` \n3. Expect `0DOA` (or desired) line endings. Single `0D` confirms this problem.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","repository":{"type":"git","directory":"packages/resolve-url-loader","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"users":{"jmsmrgn":true,"kodekracker":true,"ackhub":true,"mwiacko":true,"flayks":true,"klimnikita":true,"xyyjk":true,"lekhnath":true,"ravendev42":true,"piotrlewandowski":true,"dbuggerx":true,"ttionya":true,"tyllo":true,"muzi131313":true,"ivmmoreira":true,"fadihania":true,"flumpus-dev":true,"rubiadias":true,"suyu.tech":true,"pavel06081991":true,"juandaco":true,"nikoloza":true,"micate":true,"sunny_anna":true},"bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"license":"MIT","versions":{"4.0.0-beta.1":{"name":"resolve-url-loader","version":"4.0.0-beta.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/master/packages/resolve-url-loader","engines":{"node":">=8.9"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^7.0.35","source-map":"0.6.1"},"peerDependencies":{"rework":"1.0.1","rework-visit":"1.0.0"},"peerDependenciesMeta":{"rework":{"optional":true},"rework-visit":{"optional":true}},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nThis **webpack loader** allows you to have a distributed set SCSS files and assets co-located with those SCSS files.\n\n## Do you organise your SCSS and assets by feature?\n\nWhere are your assets?\n\n* ✅ I want my assets all over the place, next to my SCSS files.\n* ❌ My assets are in a single directory.\n\nHow complicated is your SASS?\n\n* ✅ I have a deep SASS composition with partials importing other partials.\n* ✅ My asset paths are constructed by functions or `@mixin`s.\n* ❌ I have a single SCSS file. The asset paths are just explicit in that.\n\nWhat asset paths are you using?\n\n* ✅ Fully relative `url(./foo.png)` or `url(foo.png)`\n* ❌ Root relative `url(/foo.png)`\n* ❌ Relative to some package or webpack root `url(~stuff/foo.png`)\n* ❌ Relative to some variable which is your single asset directory `url($variable/foo.png)`\n\nWhat webpack errors are you getting?\n\n* ✅ Webpack can't find the relative asset `foo.png` \uD83D\uDE1E\n* ❌ Webpack says it doesn't have a loader for `fully/resolved/path/foo.png` \uD83D\uDE15\n\nIf you can tick at least 1 item in **all of these questions** then use this loader. It will allow webpack to find assets with **fully relative paths**.\n\nIf for any question you can't tick _any_ items then webpack should be able to already find your assets. You don't need this loader. \uD83E\uDD37\n\nOnce webpack resolves your assets (even if it complains about loading them) then this loading is working correctly. \uD83D\uDC4D\n\n## What's the problem with SASS?\n\nWhen you use **fully relative paths** in `url()` statements then Webpack expects to find those assets next to the root SCSS file, regardless of where you specify the `url()`.\n\nTo illustrate here are 3 simple examples of SASS and Webpack _without_ `resolve-url-loader`.\n\n[![the basic problem](https://raw.githubusercontent.com/bholloway/resolve-url-loader/master/packages/resolve-url-loader/docs/basic-problem.svg)](docs/basic-problem.svg)\n\nThe first 2 cases are trivial and work fine. The asset is specified in the root SCSS file and Webpack finds it.\n\nBut any practical SASS composition will have nested SCSS files, as in the 3rd case. Here Webpack cannot find the asset.\n\n```\nModule not found: Can't resolve './cool.png' in '/absolute/path/.../my-project/src/styles.scss'\n```\n\nThe path we present to Webpack really needs to be `./subdir/cool.png` but we don't want to write that in our SCSS. \uD83D\uDE12\n\nLuckily we can use `resolve-url-loader` to do the **url re-writing** and make it work. \uD83D\uDE0A\uD83C\uDF89\n\nWith functions and mixins and multiple nesting it gets more complicated. Read more detail in [how the loader works](docs/how-it-works.md). \uD83E\uDD13\n\n## Getting started\n\n> **Upgrading?** the [changelog](CHANGELOG.md) shows how to migrate your webpack config.\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**⚠️ IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\n## Options\n\nThe loader should work without options but use these as required.\n\n| option      | type                       | default     |            |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sourceMap` | boolean                    | `false`     |            | Generate an outgoing source-map.                                                                                                                                                 |\n| `removeCR`  | boolean                    | `false`     |            | Convert orphan CR to whitespace.<br/>See known issues below.                                                                                                                     |\n| `debug`     | boolean                    | `false`     |            | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |            | Do **not** display warnings or deprecation messages.                                                                                                                             |\n| `root`      | string                     | _unset_     |            | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced   | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the [advanced features](docs/advanced-features.md) docs.                    |\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` | deprecated | The css parser engine.<br/>Using this option produces a deprecation warning.                                                                                                     |\n\n## Limitations\n\n### Compatiblity\n\nTested `macOS` and `Windows`.\n\nAll `webpack2`-`webpack4` with contemporaneous loaders/plugins using `node 8.9`. And `webpack5` with latest loaders/plugins using `node 10.0`.\n\nRefer to `test` directory for full webpack configurations as used in automated tests.\n\nSome edge cases with `libsass` on `Windows` (see [troubleshooting](docs/troubleshooting.md) docs).\n\n### Known issues\n\nRead the [troubleshooting](docs/troubleshooting.md) docs before raising an issue.\n","readmeFilename":"README.md","_id":"resolve-url-loader@4.0.0-beta.1","_nodeVersion":"8.16.2","_npmVersion":"6.14.7","dist":{"integrity":"sha512-NkPWWLhfl9EE196Mrh5Jdx6a4HuTD91Vd1u2n5K8uiEZNulokmTYAh2NcZXFygAx35H2UnHKFcYiZoLZiDF7MA==","shasum":"849b56d06408cd598fe7a14a0838866c89d81d11","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-4.0.0-beta.1.tgz","fileCount":22,"unpackedSize":116876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgY61eCRA9TVsSAnZWagAAZU4P/1+vxXXlZ8jyJcjIyrP+\nRoKmw8BSQB80t5BCxmdpAG/G/qCShWZHq9kvSKOmX4W9UAu70mM5WPSu6RGV\nR253WrmGiexmY3YyXp17PV8LmgqgpeGdYQmHzhyE6QkRMvtY6q0gnvQTrgxh\npl2Qog8RgyXUsgcYVNu92Y/+DSue0eLQij3Q5+D5XSz96kHWVMasz+7bz01Q\nylMzwLrratDc1M7smze47w3gBWYTKvyrLIu1hcg8Qaen95JBXAAAUOmucOQn\nOD78lAw/zI4qpHWWhIn0hcWwK//aB8Oz2iohM2pJ6aXdlzQYQyo61OY4eeu3\nu83qJQkiJ6/CzmkAoRmmBrdU/ZpRXEn4DZw2GQCEWa0O9NqXb8Jw2fWdsAh3\nDrrtb68iIopYNJ8vANcMeiZpwMBga5W2jVesVwR5xrmnRrFyRjmLiVWFvxlM\nfDmBsPRZYISu1pOf0ZF7DKg0M1n3vxCc2rDO1NjF65vcQDgH8lA+RebyVy/Y\nN0wsLTpcsOlhauMsgoW6nkK6ff8TvKWTBvPNpm+EvayMHAJP4RC6zAm4mBSN\nw6ee+2UGs/y4e3C3ikVSAXdxpeXAMc94IWL8nM2YintYuZuJbTJIEzU8X9AV\nSb8YOc2Ca2NcvT0f5sH1/PVasLevBDsABkhEqj/yr8AW2stooxbNCV2ytIJg\nXloa\r\n=SJvJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqd04st5WV1AAexnvgDspsPaglchxvdOwRjdD7aTW5+AiEAzDaaGj/t+P/RU8ndfRwIOk6gL0Q3iXOWsqA+RbW9xYA="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_4.0.0-beta.1_1617145181932_0.9740405250743196"},"_hasShrinkwrap":false,"deprecated":"version 4 is now released"},"3.1.4":{"name":"resolve-url-loader","version":"3.1.4","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/v3-maintenance/packages/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"3.0.0","camelcase":"5.3.1","compose-function":"3.0.3","convert-source-map":"1.7.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.36","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"readme":"> **I M P O R T A N T**\n>\n> Version 4 release is imminent. Please try it. More info on the [homepage](https://github.com/bholloway/resolve-url-loader).\n>\n> Version 3 is now in maintenance mode.\n\n# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option      | type                       | default     |          |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n| `sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n| `keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n| `removeCR`  | boolean                    | `false`     |          | Convert orphan CR to whitespace (postcss only).<br/>See known issues below.                                                                                                          |\n| `debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n| `root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n| `absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNote that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested `macOS` and `Windows` for `node 6.x`.\n\nAll `webpack1`-`webpack4` with contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\nSome edge cases with `libsass` on `Windows` (see below).\n\n### Engines\n\nThe `engine:postcss` is by far the more reliable option.\n\nThe `engine:rework` option is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.\n\nIf you need production css source-map it is best to avoid the combination `webpack4` with `engine:rework`. Tests show a systematic flaw in the outgoing source-map mappings.\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n### Windows line breaks\n\nNormal windows linebreaks are `CRLF`. But sometimes libsass will output single `CR` characters.\n\nThis problem is specific to multiline declarations. Refer to the [libsass bug #2693](https://github.com/sass/libsass/issues/2693).\n\nIf you have _any_ such multiline declarations preceding `url()` statements it will fail your build.\n \nLibsass doesn't consider these orphan `CR` to be newlines but `postcss` engine does.  The result being an offset in source-map line-numbers which crashes `resolve-url-loader`.\n\n```\nModule build failed: Error: resolve-url-loader: CSS error\n  source-map information is not available at url() declaration\n```\n\nSome users find the node-sass `linefeed` option solves the problem.\n\n**Solutions**\n* Try the node-sass [linefeed](https://github.com/sass/node-sass#linefeed--v300) option by way of `sass-loader`.\n\n**Work arounds** \n* Enable `removeCR` option [here](#option).\n* Remove linebreaks in declarations.\n\n**Diagnosis**\n1. Run a stand-alone sass build `npx node-sass index.scss output.css`\n2. Use a hex editor to check line endings `Format-Hex output.css` \n3. Expect `0DOA` (or desired) line endings. Single `0D` confirms this problem.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","readmeFilename":"README.md","_id":"resolve-url-loader@3.1.4","_nodeVersion":"6.17.1","_npmVersion":"6.13.0","dist":{"integrity":"sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==","shasum":"3c16caebe0b9faea9c7cc252fa49d2353c412320","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz","fileCount":11,"unpackedSize":42114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0USNCRA9TVsSAnZWagAAJmcP/31BleIHCMetVx4HcMBE\nZDn1Qomk7zL8zJXsH7nN27rwLJs2ZHv/SohRrhsaQfHGlsZFs/EZOcCOliZn\nQwgMHrt24NjqcmUqRS6+HJaMFG7MHXIaCTwCbRvwzkpuwTNCgwmp1i0OVIm5\nqqjZj1xSDiEgnFR7pGWwnc6tL/gqe0pE0XSAbvF3SnxTugiknxA9UOXl77TY\nkV6GIpvEdtOYKiBGvU3TFunXhlTH/28hjM+fRLJfL6vTdQJT55UL8O09MU8F\nNHzsfUzybdS9G1MCSqywTEcPA8xFJarKMcetaMEzeIlc1m0wEjkKxYNCuW4O\nS2UWfykd9VTcRwtuHecOhxax1Bnx++SFuOYqzpt2V75dJKC1xOc03upVGBq1\nwbL+Dr5JBC7Mak/hyxGMdqDxjPxeXlpzcrXPbKxRJWjTZWrs8/iQ3iqEo3WK\nH5TPQtlWg/7YkCgXj1CY6CdhuiSx1WN26X2ubEaKk+AWAu8SFTz8vlHx/Ygv\ntsOpIfdVasjgr5P/l0Em0g84nAcJgdCZ2fcvy/Thii/Ed5It8zXTX5/ij4DH\nT+fHfLdxQGlW8iNCAZ2S55jqvhx3nRw9Ffo+wZ3ibICCO7L/1bgtwX3X8QwG\nwdN0f6sGICeI3QQ8pOPEDrex5O7v2n3BuO4mhM67EQZ3EGHbn0YY/xn9ATCD\nZePX\r\n=zp1p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGEu+WrWa7XiRcFHj8hemzHG2QBk1PhVIHtomQ9R1UgwIhAJETSXuephCKT3QVbJgwS6z/1lCph9gMZxUyCm/ZdjpB"}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.1.4_1624327308627_0.7115533599779174"},"_hasShrinkwrap":false},"4.0.0-beta.2":{"name":"resolve-url-loader","version":"4.0.0-beta.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/master/packages/resolve-url-loader","engines":{"node":">=8.9"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^7.0.35","source-map":"0.6.1"},"peerDependencies":{"rework":"1.0.1","rework-visit":"1.0.0"},"peerDependenciesMeta":{"rework":{"optional":true},"rework-visit":{"optional":true}},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nThis **webpack loader** allows you to have a distributed set SCSS files and assets co-located with those SCSS files.\n\n## Do you organise your SCSS and assets by feature?\n\nWhere are your assets?\n\n* ✅ I want my assets all over the place, next to my SCSS files.\n* ❌ My assets are in a single directory.\n\nHow complicated is your SASS?\n\n* ✅ I have a deep SASS composition with partials importing other partials.\n* ✅ My asset paths are constructed by functions or `@mixin`s.\n* ❌ I have a single SCSS file. The asset paths are just explicit in that.\n\nWhat asset paths are you using?\n\n* ✅ Fully relative `url(./foo.png)` or `url(foo.png)`\n* ❌ Root relative `url(/foo.png)`\n* ❌ Relative to some package or webpack root `url(~stuff/foo.png`)\n* ❌ Relative to some variable which is your single asset directory `url($variable/foo.png)`\n\nWhat webpack errors are you getting?\n\n* ✅ Webpack can't find the relative asset `foo.png` \uD83D\uDE1E\n* ❌ Webpack says it doesn't have a loader for `fully/resolved/path/foo.png` \uD83D\uDE15\n\nIf you can tick at least 1 item in **all of these questions** then use this loader. It will allow webpack to find assets with **fully relative paths**.\n\nIf for any question you can't tick _any_ items then webpack should be able to already find your assets. You don't need this loader. \uD83E\uDD37\n\nOnce webpack resolves your assets (even if it complains about loading them) then this loading is working correctly. \uD83D\uDC4D\n\n## What's the problem with SASS?\n\nWhen you use **fully relative paths** in `url()` statements then Webpack expects to find those assets next to the root SCSS file, regardless of where you specify the `url()`.\n\nTo illustrate here are 3 simple examples of SASS and Webpack _without_ `resolve-url-loader`.\n\n[![the basic problem](https://raw.githubusercontent.com/bholloway/resolve-url-loader/master/packages/resolve-url-loader/docs/basic-problem.svg)](docs/basic-problem.svg)\n\nThe first 2 cases are trivial and work fine. The asset is specified in the root SCSS file and Webpack finds it.\n\nBut any practical SASS composition will have nested SCSS files, as in the 3rd case. Here Webpack cannot find the asset.\n\n```\nModule not found: Can't resolve './cool.png' in '/absolute/path/.../my-project/src/styles.scss'\n```\n\nThe path we present to Webpack really needs to be `./subdir/cool.png` but we don't want to write that in our SCSS. \uD83D\uDE12\n\nLuckily we can use `resolve-url-loader` to do the **url re-writing** and make it work. \uD83D\uDE0A\uD83C\uDF89\n\nWith functions and mixins and multiple nesting it gets more complicated. Read more detail in [how the loader works](docs/how-it-works.md). \uD83E\uDD13\n\n## Getting started\n\n> **Upgrading?** the [changelog](CHANGELOG.md) shows how to migrate your webpack config.\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**⚠️ IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\n## Options\n\nThe loader should work without options but use these as required.\n\n| option      | type                       | default                                 |            |  description                                                                                                                                                                     |\n|-------------|----------------------------|-----------------------------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sourceMap` | boolean                    | `false`                                 |            | Generate an outgoing source-map.                                                                                                                                                 |\n| `removeCR`  | boolean                    | `true` Windows OS<br/>`false` otherwise |            | Convert orphan CR to whitespace.<br/>See known issues below.                                                                                                                     |\n| `debug`     | boolean                    | `false`                                 |            | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`                                 |            | Do **not** display warnings or deprecation messages.                                                                                                                             |\n| `root`      | string                     | _unset_                                 |            | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_                               | advanced   | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the [advanced features](docs/advanced-features.md) docs.                    |\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'`                             | deprecated | The css parser engine.<br/>Using this option produces a deprecation warning.                                                                                                     |\n\n## Limitations\n\n### Compatiblity\n\nTested `macOS` and `Windows`.\n\nAll `webpack2`-`webpack4` with contemporaneous loaders/plugins using `node 8.9`. And `webpack5` with latest loaders/plugins using `node 10.0`.\n\nRefer to `test` directory for full webpack configurations as used in automated tests.\n\nSome edge cases with `libsass` on `Windows` (see [troubleshooting](docs/troubleshooting.md) docs).\n\n### Known issues\n\nRead the [troubleshooting](docs/troubleshooting.md) docs before raising an issue.\n","readmeFilename":"README.md","_id":"resolve-url-loader@4.0.0-beta.2","_nodeVersion":"8.16.2","_npmVersion":"6.14.7","dist":{"integrity":"sha512-CHRW7xbt7kZ9+5iy4kJlKsY10+H4N1w1W7GmLvR9Cm3+Z7Zy2uqewVqRznkU+ZC3hh5WPn+LmNofH+I3cyQ/4Q==","shasum":"e701b0af8de6389ad6c2d88dcfee8e7484305fe2","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-4.0.0-beta.2.tgz","fileCount":22,"unpackedSize":117290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi+EvCRA9TVsSAnZWagAAcDMQAJRtkoy67fG5+biaQJjL\nau+ixoGe9ZvOEml4gxLXpI/PfcMjmEqM4i+6hiVv28AzEy50rlZhAFVySbih\nZPPKd2qjum2UQ+sJSy8fEeHjZ5p2Bo5XLxjL80Ue0pjcKCWOnVpPCsc2zO34\nCuiVi+X0hL5RJmg0NcNYw7WprG9vszMoXnxRieMpNspM4XTaTzINIe2aYw0g\nB6rUvouM+KXvItEnS6wwyAaes5h0zlfq2c1Au2zmLamNf7AqN8A3tLZ2uxpC\nzXM7m6dyUEJc/9ewpzpvtbRvd/cH9B6s6hg23B0GePKddQGyB9bp3S8Dor7x\nYhXNcA9mg93B/uUc3V1jpmd6PNOLqEsPGR4wievBgWCRZ+qCEi6rYGlqIcj8\nXzgq8zVSZaYsVsNLMqQ8dvW9ANPjecFg8WadogrNUm3tt4NLik8IbqXIjmnI\nNTyXp7Tl0+NcBNN1rN3iTS2Ozx0HE9J1dBDs9tUYkNqgXjoTzMqEBOX2yJZC\nC6AquO/zXKrBXeYHXeXBfgN9DgVWMUDgtMFTOUo7lFlwOk2rHDkYQSjzsLuq\nVE/AZRxRBJLhuuTLQ6zb56YcAIpJg+5VF5vWqLGdx2kMz/3H5nyJYr0B1zVS\nZFKFBgK3y2vR3UWLCj25mlikQICsq+B4yF3CCdyo+JZLRk+vvDntxUNAFwjx\n8IX0\r\n=iL8p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF22IWNb1XHBRme/Gpzi6u0G1W4bqSZHe2NozT6SsVV3AiAvnGKAxQWEgwr1gYcEPSgEO4DkI+OXQ93GJ80Rub26Dw=="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_4.0.0-beta.2_1619779886782_0.08779912709368154"},"_hasShrinkwrap":false,"deprecated":"version 4 is now released"},"3.1.5":{"name":"resolve-url-loader","version":"3.1.5","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/v3-maintenance/packages/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"3.0.0","camelcase":"5.3.1","compose-function":"3.0.3","convert-source-map":"1.7.0","es6-iterator":"2.0.3","loader-utils":"^1.2.3","postcss":"7.0.36","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"_id":"resolve-url-loader@3.1.5","_nodeVersion":"8.16.2","_npmVersion":"6.14.7","dist":{"integrity":"sha512-mgFMCmrV/tA4738EsFmPFE5/MaqSgUMe8LK971kVEKA/RrNVb7+VqFsg/qmKyythf34eyq476qIobP/gfFBGSQ==","shasum":"1dce0847d4a2ef43c51f63c9fd30bf6dfbf26716","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.1.5.tgz","fileCount":11,"unpackedSize":42115,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG1UGxPd8iM0wJ9ZX4OQP8mrEBuR+1lDMEqPsJPk6zlbAiBtzVDyR0/xgnAshD+zU2ULFT0WZ6m5dx6kX7bFXNEy3g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiaxgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUShAAjPPAhXruM1dNlF2r3A5XYAp7KCQNouKH1oxYaP1vxOvPikp9\r\nrA56U2aHzaxfhyLAD3QKm0MNr1UKX842WYiJ/9P0myWFAoZmzklRgNmJFI06\r\nKvmYH4rVfrcHpqh/mZTHcPwrgSHPfb06dJZQRXi+59pGKscOV/k7WfM/Dh/X\r\n+ubH3KQ2lE00T3PlqXKbTEZOm67ZwcmmSRLaSEVV2K5ZBxeZWHFYjFT020B1\r\nQT22MVam9k9eq0ofqs1z30/l7uYtSSHz8s4Z0Wja4YQzoi1P9Yrf9buvEED0\r\niba89eIbHF6pMGUktHu8CG7zKkSL0Bd3mDweqPqom41EzLMJJn9NIlzNZlLn\r\n5quPqJI6dUFwS+wFtJ1g5Yg5p4j2Fzwb7JQF2KV3pDocxX5jbDna+emLFfEj\r\nMzaT7uqq1jkB+Nro0SvEzc4dY2QU6qK/NKXZ4sV6KZLzF2dxJL9WaDf0jOhJ\r\ncZrEJncKElKWp1i1oqFUMV+qY9OlcA27i07eRjy8vtABkGDIAb61scPcl3T8\r\nVh7PYZ/kmG31MXbwTIBlFxRrDKKl3usbNvShhBv076ry7mJIlo/pgIbmBREm\r\n2Z9hCHu7tj0x7IE3/Ozu71ZVH3U0VFJYEx7qbI9waxBRuApzsPfwv5iAgN97\r\nez1R0IRnk5pL17CemIxveu8dNtXlLLxhWCM=\r\n=VWPR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.1.5_1669966943849_0.9279394950677944"},"_hasShrinkwrap":false},"3.1.0":{"name":"resolve-url-loader","version":"3.1.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"2.0.0","camelcase":"5.0.0","compose-function":"3.0.3","convert-source-map":"1.6.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.14","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"_id":"resolve-url-loader@3.1.0","_npmVersion":"5.10.0","_nodeVersion":"6.14.4","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8/shq3mtqne03HOFyskAClqfxKyFBriXZg==","shasum":"54d8181d33cd1b66a59544d05cadf8e4aa7d37cc","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz","fileCount":11,"unpackedSize":41807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpS3JCRA9TVsSAnZWagAASyYQAJeILFG3wG0j5PH6BkCA\nKuSOpXneyGsVemFxn29OsIIgxA5UCCQS1FxJZub806afvlrAFijdTiBnhOIV\njr+OqLEsagdKT/CZjhwZ3Cv2XF4uHg8GBZCCja7Gi9bvHVm8DrKIuLsDjXiP\nVEnEG6MFQyoOxdgidC0FAXCCK1D/steD+vJQhwt5EC79Deb24pDGphBibwRk\nMNyYTzIPcBBDM8/o37gBOYrmAf2wSoomzgK5gHKKlzIaIgdCtYfUVFvJCN/o\nbr2GGfWY7MpW3xjnFWRYidRiEETAMb2HwDPw5rkRYHDptg9pi5wENHK9oJyj\nRD2RYx3Fn39NwS1Pjhb8sS92C3b70/RL5COPbpsDrytJyrR7HGP9Tq7aiZTI\nHSGw5htFCGJ/pGatxGUPaIFjOsij+d7+X42gHENZsARuCj2pI/Dr16WTdKBS\nIjRWidFjxAV93bpeaEgaZKC50Yi8dbLpc3eM1IAdRUBHpyvo5iyVM8wKXfpF\n8K4Xfr0E4QivmFnt98APnL3kimf9WkygiiRlfeaH15/+lbnfJExGvXDLB/NM\neC4GVQZa6V/v2Cs0GPCHSb69bFxXT8EXE8gtNR4H7PhIPZSUw0iDKcNlTF/N\nwWpluBTwNiQ2VA3lw5b2qGWZk1kydeBvdzR2kmbinmjalxuMGdDrvBsDl1gj\nrDs0\r\n=NMiB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5FGSs1bfPiylh6xmNp2H31BgYDb2ppfeucgzxaLogtAiBYlkOi1T+tgtK2NtE4G3ADUvH41tMmWMcjE8wFhGKlCg=="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.1.0_1554329032298_0.6974365462149654"},"_hasShrinkwrap":false},"3.1.1":{"name":"resolve-url-loader","version":"3.1.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"2.0.0","camelcase":"5.3.1","compose-function":"3.0.3","convert-source-map":"1.7.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.21","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"_id":"resolve-url-loader@3.1.1","_nodeVersion":"6.17.1","_npmVersion":"6.13.0","dist":{"integrity":"sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==","shasum":"28931895fa1eab9be0647d3b2958c100ae3c0bf0","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz","fileCount":11,"unpackedSize":41823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdx2Q2CRA9TVsSAnZWagAANnYP/i7RgY3XG1tWnEtW1o9G\nkr96lWA4OCV4LsVMGqa3eRQw6NBnC0f1GCkDuz6MFFh4uK7ltZqymOXgWK3k\n9wo7jO/nVbHf5o4bdwTsY2b8TVVmrQP9DRkCcBDe/GgHwT/LFFJ1YityxI5b\nUnFL8J0T59ccnGVTPOxC/XayDlZj4xJpZ/RsBSgrIWEMFpWHKiItR8rtBsxm\nsVV6bp21NhlGvHxo89aJXpGu+C18Zh+mqTEfnS2+N56wWlCNRJe4RFGtwEOM\nKu3GgccdlnYMUQnLtMBrXiUOKmUlJx1KJScU5l5ul7ZO9YYyvnABevPtmiZd\nGmZNaIQu6iO4CeGnYBcyuVcLTEsIcJKYtY7BYjrw8Rx85A5tD2UTvPUNNSy0\ngLAHcw/aN9Bbe1J7nz2VNt0WZrOqTDZ030TC3IJqlcegg3eXveSbz75c/qlA\n1vQTczqrbZ45qRiqhZ2VhG/GtSss0pfaAlhwoXz0aHp9KQFsKDMJFaZXcjB6\n5SE7mbtEyUPBf25vWp73ys5jiRoIaMX6nEri0PqqklF1fqzR0MRe6T5ENzS4\ntF+pwq5VNPmN6m4ObOZTUIrnt3MQHqUgoYXJBIqu/JmbJM9Dj+jgRfruuWhE\nU8d4ED3ZlMZRKBnV8d6Hl0E9WOZ9cQ8UnEvpixZgz3YXull/9AvgZC96y6PD\n5NbH\r\n=53dN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqPvmV3XEr63nNrSlxAwwvHLe628ZUKRf5Y1bidzbfnwIgWO/DSfyNBKOM/wFPi4KlyDw3z1KzwnSFkfRyjLUM9ys="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.1.1_1573348406221_0.4370849054486763"},"_hasShrinkwrap":false},"3.1.2":{"name":"resolve-url-loader","version":"3.1.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"3.0.0","camelcase":"5.3.1","compose-function":"3.0.3","convert-source-map":"1.7.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.21","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"_id":"resolve-url-loader@3.1.2","_nodeVersion":"6.17.1","_npmVersion":"6.13.0","dist":{"integrity":"sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==","shasum":"235e2c28e22e3e432ba7a5d4e305c59a58edfc08","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz","fileCount":11,"unpackedSize":41823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjrbqCRA9TVsSAnZWagAAaEsP/Rh50KX8D1sLrV3WHL2f\neViLGmQhikJMqWabiQwvT2T7yNw3tVTEyS8XmdCOuimiN4LiQ/LngHBsnERh\nnt2BIJgtmrdlZdOo1X/Rek8ShA0HZxkPs/ncbhMrgF2bO/nybCt1D9wsK0Jv\na20DyxDvxsW2Wuv+VgKg+VdHy8acx3qf/5v2TURmjOIz+TUe1czLSMJelHPV\n7mSnVmQSHyTSaBE2/WXpUSMQ/aJzm3lmsHVIogYV2+ACidkUa7NbvXPaGZbj\nbv7NnjFPClAOrYepivjhYlp4r4ZeRvN2OWdK7Cc90uaF3itH9pz4w8/vdmeR\nush7bTDexsD3RPZagpGKOzGCaZSkZdD/eobvssFq13gr3GxXDGGEEklfwX0y\n2L8MdL4f28o/Uhjgvn6mmkqfUyJMASo33TTH+4PLRb3JOWr+8xcw9kP7UDxk\nwGvpbnrOJIxA72pxpJYCHp+MkmXw0TLmpqkCxpucnENODege4QVViKlcyFnX\n8oECi8fi7PNYHkZZ8sQOxDTaMr5tyWr2cQ0gq6uWEJbpOI8L1tB0AB9mDDsD\nHQUnsK10mFl2revwwFIbwUKPNGPigyy6/exDU4qUe+bMwL9rqU+fompPoSc2\nvF8VLm3oZYPFfCjjWU9GgYQURhdBBLOEzW89fMqqQFsQpBvxoljD0aog0I5Y\n3ErH\r\n=THFg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvYTunjUBAAdYKptfRjcSLRWHCbTU3BWZidhENjYT/IwIgFDZd8NMg8aEe2iakkdFAm3gs6ipulOpLNeT6kRoWnEs="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.1.2_1603188458075_0.6738214688312432"},"_hasShrinkwrap":false},"3.1.3":{"name":"resolve-url-loader","version":"3.1.3","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/v3-maintenance/packages/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"3.0.0","camelcase":"5.3.1","compose-function":"3.0.3","convert-source-map":"1.7.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.21","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"readme":"> **I M P O R T A N T**\n>\n> Version 4 release is imminent. Please try it. More info on the [homepage](https://github.com/bholloway/resolve-url-loader).\n>\n> Version 3 is now in maintenance mode.\n\n# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option      | type                       | default     |          |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n| `sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n| `keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n| `removeCR`  | boolean                    | `false`     |          | Convert orphan CR to whitespace (postcss only).<br/>See known issues below.                                                                                                          |\n| `debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n| `root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n| `absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNote that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested `macOS` and `Windows` for `node 6.x`.\n\nAll `webpack1`-`webpack4` with contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\nSome edge cases with `libsass` on `Windows` (see below).\n\n### Engines\n\nThe `engine:postcss` is by far the more reliable option.\n\nThe `engine:rework` option is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.\n\nIf you need production css source-map it is best to avoid the combination `webpack4` with `engine:rework`. Tests show a systematic flaw in the outgoing source-map mappings.\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n### Windows line breaks\n\nNormal windows linebreaks are `CRLF`. But sometimes libsass will output single `CR` characters.\n\nThis problem is specific to multiline declarations. Refer to the [libsass bug #2693](https://github.com/sass/libsass/issues/2693).\n\nIf you have _any_ such multiline declarations preceding `url()` statements it will fail your build.\n \nLibsass doesn't consider these orphan `CR` to be newlines but `postcss` engine does.  The result being an offset in source-map line-numbers which crashes `resolve-url-loader`.\n\n```\nModule build failed: Error: resolve-url-loader: CSS error\n  source-map information is not available at url() declaration\n```\n\nSome users find the node-sass `linefeed` option solves the problem.\n\n**Solutions**\n* Try the node-sass [linefeed](https://github.com/sass/node-sass#linefeed--v300) option by way of `sass-loader`.\n\n**Work arounds** \n* Enable `removeCR` option [here](#option).\n* Remove linebreaks in declarations.\n\n**Diagnosis**\n1. Run a stand-alone sass build `npx node-sass index.scss output.css`\n2. Use a hex editor to check line endings `Format-Hex output.css` \n3. Expect `0DOA` (or desired) line endings. Single `0D` confirms this problem.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","readmeFilename":"README.md","_id":"resolve-url-loader@3.1.3","_nodeVersion":"8.16.2","_npmVersion":"6.14.7","dist":{"integrity":"sha512-WbDSNFiKPPLem1ln+EVTE+bFUBdTTytfQZWbmghroaFNFaAVmGq0Saqw6F/306CwgPXsGwXVxbODE+3xAo/YbA==","shasum":"49ec68340f67d8d2ab6b401948d5def3ab2d0367","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.1.3.tgz","fileCount":11,"unpackedSize":42114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjSGgCRA9TVsSAnZWagAAl78P/3CKsg3W8M7xOIJkvFNq\nf1lVy7ECV9NueAIc+2+re3OAji2Yu3+J5zHllEvAsQzpZ1fp8nuP/dhy1GjV\nYIHkD9epkVYKugCahpnx9IgBb4poM5uI/U2vOlJZif0FimHmAio0QoikxqdV\ncoZyQIZLqtuFnz+QsWfzTx3Jn0x3m93oCGglkK74hwmajbUmhnXzlrPTqqo+\nXttHcAiULUKz1dXezLyPRZTBixs6cDS202LMHSwBdYaHHV4bebNyIVv+UQHf\nh8GODS2i3/YG6zAbhXkd9hUygGi7zSkjN89sMfVs4JyggYfnP2lPDlg2u0+5\ns3oYjcx6OTP2Y1XWDVbddd3Xve3eiSfbG8NwcAkRI9js6vzS5QfhbRlKsIox\nTEv/+uAyJjw3RlQrfy8DLq6nhh/vMWdM8ejewrGQp/pD+cHJ3lNdL7eEiC3C\n9nCzcbQawnVx9L/E9s386dqKISOdXlEKq9I15flA1weBUcEzIXLn6kFmaBoV\nHpzXMLacEAEiDoe3eB7IW7GxWpNKeiRr7YU0MbZ6OwVl2zZ8L7Ar31wNNuGa\nlJvlk1PRKm4Gafbr3F13QkfDS+vdJXb56sTBOlhm1+88/cKzgudEMhXzOYOy\n7GaNbIMFEmncyYNsWMJs/hWq0t6nrdkjjRbKUZGlvYQCyxNFOAnSn0yxMzmh\nspNQ\r\n=z5g1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmZ9LD1R7j2/1tA5OnET/7yEiqM6bDGVWstt7UKgftHAiANIHI6b14LFA+aBKakm3V1begXlXdkqlWWnEEs5M1ung=="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.1.3_1619861919994_0.9787902436969054"},"_hasShrinkwrap":false},"2.1.0":{"name":"resolve-url-loader","version":"2.1.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^1.0.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"ad93a588e246cacd15c652f7d0bb299ed779d826","_id":"resolve-url-loader@2.1.0","scripts":{},"_shasum":"27c95cc16a4353923fdbdc2dbaf5eef22232c477","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"27c95cc16a4353923fdbdc2dbaf5eef22232c477","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.1.0.tgz","integrity":"sha512-7EgZewPyWwkU9gp+6NPcSJIEEsft+9/aN84rfRCXXKT+A2LdX4KB4QNK5sopPmpZ/km09D2ycKWqZIH48+rILQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGtXP0+HItnVZB5Tc+NfSr9g8UA/GOm8MHaxxn0Pe3inAiEAnAzOjWHkNUTIkL3cBSFPO5H7DiVeJisY29WuaMRAZSw="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader-2.1.0.tgz_1498306253463_0.17361780512146652"},"directories":{}},"2.3.1":{"name":"resolve-url-loader","version":"2.3.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","convert-source-map":"^1.5.1","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.7","urix":"^0.1.0"},"devDependencies":{"jshint":"^2.9.5"},"scripts":{"lint":"jshint index.js lib"},"gitHead":"f1dfda76a153679f0898ae1682416b3f757ee2be","_id":"resolve-url-loader@2.3.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-tpt4A/tOT8jxRDa91RbBV4c22AGj+WllOxT8rYSYhT2XDdL33Nca9HudwVx4mvP9PLokz+wpCu44tWUGVMYYLA==","shasum":"b462fc7a78a22baf3ee462568d8ff5d766f7f1da","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.3.1.tgz","fileCount":12064,"unpackedSize":20658796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbk3l8CRA9TVsSAnZWagAAs6QP+gKITSoV1BcFGMroLHFm\nI+2u/3FpO01sIOsd74iq8hKK3MnFPjl472PAjofqk1x33KWzELVUGDukMWZH\nwfArUkrdrMpPjapEQAHyK2A3jkCIALBdun5t6P4uGm/G1jGhq9eFY2KtzmsX\nBoYXgRnqHYoXMVgraovv402Vd/8IOM++3HKcBMEwZojoJ88LjGJl1z7eZeSg\nA5EFTolIw5bTvkrvwBCXxUUvB2CLpz4NRfsY8SjapWZZ/lNpbCyIIEWscTIa\nKhwDD6Q5sxJSgUiZOu6KcswZoUS6x5QpGE5yi7Cddo9La4VvKjSHWOwFadIt\nXEglyb3YadllycPh1WR1JLjXSnJGWV1sp8LDu/87fntiCYyAuLkKwgGKoMrm\nTVlGku5E7qIYwDWm3DCKnO37QAAbt7n5CwVEv2CPj3IO0LIns6x2mcjz3M7t\nkW62yKT8yVSKis27gfqWFXUWdr6Sf7BbZAWtGbhOWD+M0T5gIbXxeX0RBgWG\nVuYeHe7hF4Qo5pXph/rTN1ORxEvwb0j9E/XmSjgKmfEGJYPup1b+aa1Qk2kL\nuotCGtrQY9JGczM0kW87/xaQha6OC4XM1NoT1b6kExCGwgSVD1cbSganPrXG\nD4nJjbb9pBm8WRVGbEqeIiBO3pl5epbWYMSSVOobW5hRffQ8v9At9K1QCYiL\nE83K\r\n=aRDG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCz9jopsW65IlfK2miOGo+i6Jx7POccCSNI0B0MDcYY/gIhAOBO3twIBX0pQmJqHpxHnemVkPRd8FVArd4SVycNdhtx"}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_2.3.1_1536391547664_0.42444543664848355"},"_hasShrinkwrap":false,"deprecated":"package is bloated with temp files (fixed in 2.3.2)"},"2.3.2":{"name":"resolve-url-loader","version":"2.3.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","convert-source-map":"^1.5.1","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.7","urix":"^0.1.0"},"devDependencies":{"jshint":"^2.9.5"},"scripts":{"lint":"jshint index.js lib"},"gitHead":"c300771c9b63117e7a82cadeb2f5ad1eac43915e","_id":"resolve-url-loader@2.3.2","_npmVersion":"5.10.0","_nodeVersion":"6.14.4","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-sc/UVgiADdoTc+4cGPB7cUCnlEkzlxD1NXHw4oa9qA0fp30H8mAQ2ePJBP9MQ029DUuhEPouhNdvzT37pBCV0g==","shasum":"83bb9ebc392b66c563795eef22f078970357a26e","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz","fileCount":6,"unpackedSize":27549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZ8XWCRA9TVsSAnZWagAATWoP/0BDp/2yaEWNyT8HHBge\nCZKPeyWaHYrW/tIsCvQ3Rc44bbjBb3SuUPNPE3w3vsScyS7SBUVXt0XVUfYN\nmNmDW+wXU6oGCgWkUGNVFLYRQGMB8kJzFvDl4gsPYZ3RaYHfMEnPfk9hjVKf\n2WlIDD5Is4J7OeFBV3Zjbmrcba2iNKx/atEX2PMJI9DRz3Hqe0aiITPRJ9jH\n/3uMdUfvUb77aEvuqZX3Fb8XkfHxCbSBVhELZoNsJGniu5ksHeZYAVvFIeE/\n8Ze4SECud5jA8EPSV7GF0tinHgBVazQ2wYn5MIja61vL5Mabyfwxb/D8J3gi\nAJAquT8Di0j7YMuGyUxPktJMv4MMoDEN2z03fh8w1UAEvEA2Qp0TkiV4z1OV\n2xVXcqwHi1j7KaIIBNbErtGpV1CcBoYa28ZnaEF1mOx032Vdn8osfHdBGbg2\n/Pc6GyEg0bZtmot0T1Zd7rQVuV19o5WvdCfepW6jA2voKzUYQVBMimgOqgeu\nsQ/rVlcxnOtZmMlUuS3NX8fFn4cqgN1TVS16LrUAkMizXm4XAyGB5BcBPTXI\nFmf/e8hqvqEQSLUGjHoWdQ/w8/KD5igJM2CbjrBmTlI/NP7e8rh9NY3ElHxR\nbx9R7yuZj/kN2+vfXsXucY3sr4I5cMRL/4z8rnqN+y8TD2O87Xt+e8FG7HvT\nRHEi\r\n=1mc6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWn2HR3MV2c1agy2KBk+WzSkOopE4jZ45WpTR2lKgIjAIhAOScQFkOusRJVtl7RATD0dcJiP2YWJj62qCybl9ev/CR"}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_2.3.2_1550304726264_0.16630886738012896"},"_hasShrinkwrap":false},"2.1.1":{"name":"resolve-url-loader","version":"2.1.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^1.0.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"ec4725d315f6940eab66803592d95d09c16445f2","_id":"resolve-url-loader@2.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-ZrMHMPJ8boX5peNuuHfw/waNpWAgvEj8+f8mEE/W61tC9L4NcyEBnruK7LsKamnNTbf0gUoJdPmV1okjSUVJgA==","shasum":"5354e87381aae348371e555172c50816708e6c1c","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuChkVy7PQ55DNsWqSiGzaPR13QzFkhbedm8rQ81tk+wIhAL0rJOitWWUGPREnLZzFLejopAQbQDrQMGqjTzfVRK1U"}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader-2.1.1.tgz_1507581757176_0.6051958235912025"},"directories":{}},"2.3.0":{"name":"resolve-url-loader","version":"2.3.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","convert-source-map":"^1.5.1","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.7","urix":"^0.1.0"},"devDependencies":{"jshint":"^2.9.5"},"scripts":{"lint":"jshint index.js lib"},"gitHead":"7105d8a005231bb480cfde082b969d795e36da5e","_id":"resolve-url-loader@2.3.0","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-RaEUWgF/B6aTg9VKaOv2o6dfm5f75/lGh8S+SQwoMcBm48WkA2nhLR+V7KEawkxXjU4lLB16IVeHCe7F69nyVw==","shasum":"e1b37034d48f22f8cfb9f04c026faaa070fdaf26","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.3.0.tgz","fileCount":7,"unpackedSize":27970,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+e+dFZ6W2+xx1j3PGcpM6G6j68ZkIWl2JO74GVSvcawIhAIGxzTDE7VO4u+z1j8ErPT9IWQ3zTD34djhXfFv+LcsJ"}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_2.3.0_1520156669936_0.980878408731976"},"_hasShrinkwrap":false},"3.1.0-beta.1":{"name":"resolve-url-loader","version":"3.1.0-beta.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"2.0.0","camelcase":"5.0.0","compose-function":"3.0.3","convert-source-map":"1.6.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.14","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option      | type                       | default     |          |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n| `sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n| `keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n| `removeCR`  | boolean                    | `false`     |          | Convert orphan CR to whitespace (postcss only).<br/>See known issues below.                                                                                                          |\n| `debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n| `root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n| `absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNote that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested `macOS` and `Windows` for `node 6.x`.\n\nAll `webpack1`-`webpack4` with contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n### Engines\n\nThe `engine:postcss` is by far the more reliable option.\n\nThe `engine:rework` option is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.\n\nIf you need production css source-map it is best to avoid the combination `webpack4` with `engine:rework`. Tests show a systematic flaw in the outgoing source-map mappings.\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n## Orphan carriage-return characters\n\nUnder some conditions libsass outputs naked `CR` characters which it does **not** consider newlines. However `postcss` does consider these newlines. The result in a source-map offset which can crash `resolve-url-loader`.\n\nThis is not fully understood but is associated with multiline declarations.\n\n**Solutions**\n* Try the node-sass [linefeed](https://github.com/sass/node-sass#linefeed--v300) option by way of `sass-loader`.\n\n**Work arounds** \n* Enable `removeCR` option [here](#option).\n* Remove linebreaks in declarations.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","readmeFilename":"README.md","_id":"resolve-url-loader@3.1.0-beta.1","_npmVersion":"5.10.0","_nodeVersion":"6.14.4","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-lirTe+wVVbpPr+F4X987Vrq/7tTLT2IOYlerviZLoPWkBcWk5EyN30KXSeyIsl9LVoEOpUV4KzmFiF1X3EB2Ew==","shasum":"c8ba76f348804278c300df8dff46aad797c468ea","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.1.0-beta.1.tgz","fileCount":11,"unpackedSize":41130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdE5NCRA9TVsSAnZWagAA+voP+gMaOQMlIj9MLfwc7vQ4\ntxr0HxDEkCLLQH9QBIJ0Rsf+Q9wBX17BUHBCZsc7Emn52mbI1b0q3nEkycJN\nceBlbPkPFyBK9z74TnFHQPsMj25OYHK242Yp+Oi3gk1f/OyTYF619Ro4eM/B\nkIZ8l5nC7m8rWaZ9461X0vCD8Z77LNGynbIyh6t49kpPxbbfUwYEZPLWe4RC\na+UWHUZBIo0FRycsNFeZvI8VGVAad5Khh0gECvVBOXzTsTzYd7Y0RqsjEnr5\nNCyJkQXBlEuIALG9tXx1Wx82u9NGNvEq7haojSOAQCrBR5DdNJVqKob8LD2v\nq9xb8Gr2Nvu0WshzBWHsYKU2jlaWCwgPLw7uEzYq/K3CK7LWn6V60Z78o7DR\n8em2Jo4fWqVCqfnbqjvk9IgorkxSiVxn9Hu8Zr1HWwsLYVlZMC+9215ugJ/k\nE93t6IYQQx54vTzFlqUr/kYgaVjrllzVPKCJcvbPseMDgYq/DGukBWRP7sqv\nsnI6TT9YZ7IDa+0kYDmOdJoeEAWIlABOUnz1pvK61TalltLvCHGdVsWsMZL3\n4W9F7uGXYChwXdNA/mJspdHXUS6qWGdpANcJXcoMNgDXa7TxH16/G6uuHF+x\nMZY5L95U7DRs2KJhn7FYciwcf2px4L96SVRd8eFqSqK0flrt5X5ltrVPGjYe\nXffh\r\n=EKbo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEiGga3K9ql5ywPVey4aS9M1qPQcEQulQku5EhHAZkFNAiEA7B4OPw/6B7lFrTFpvX9rZZNA54sq5+ITC4AEdFLhXk4="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.1.0-beta.1_1551126092800_0.09879676996646691"},"_hasShrinkwrap":false,"deprecated":"version 3.1.0 is now released"},"1.3.0":{"name":"resolve-url-loader","version":"1.3.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"convert-source-map":"^1.1.1","loader-utils":"^0.2.11","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"1b286b8b80b5de54b0b7a5ea95575a1814e7c821","_id":"resolve-url-loader@1.3.0","scripts":{},"_shasum":"5b374dae38939d6ed52630a940f86ef7291d16f3","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"5b374dae38939d6ed52630a940f86ef7291d16f3","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.3.0.tgz","integrity":"sha512-B+VtyO6UrecuFEOIdv8B2h8TygFM59zqzHGfSCnvw8mjKqIoiKcW+X9dnASJuNUI4AQoZKXbHGLPURj/nSQBcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnV/rGuhlyu/usZKIiBDEPjbS7l2OyLTwkJuaVUihC8wIgaElRI79vr3S4nuRjYAy3I3+rc4ucZUVIjsl7CyV5UGQ="}]},"directories":{}},"1.3.1":{"name":"resolve-url-loader","version":"1.3.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"convert-source-map":"^1.1.1","loader-utils":"^0.2.11","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"e691d3ebe523d5c7473b4df21cdf6ebaadf96ade","_id":"resolve-url-loader@1.3.1","scripts":{},"_shasum":"c50e4f9d980a96b0d9c4f141a2ed9051f377b95a","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"c50e4f9d980a96b0d9c4f141a2ed9051f377b95a","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.3.1.tgz","integrity":"sha512-8dOK1YAl/run0RA40DqzzqAlcdUuSfd5uLOrREzrFifwKlhmqaMctmxGlsoMthPH4u+k/rphglU92MpWxk7VRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEdfQLIZKLHlpm9t/ML6TGGKhgNkGez7NZulnaZ/dF4fAiEA5zqf1LRXE0dhR+bB9zfC4fKLNgQ9CqeDVxY9wb22/ZY="}]},"directories":{}},"1.3.2":{"name":"resolve-url-loader","version":"1.3.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"convert-source-map":"^1.1.1","loader-utils":"^0.2.11","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"06e5e757d2242717f0a37016c01d420d143b23e9","_id":"resolve-url-loader@1.3.2","scripts":{},"_shasum":"4bb550a4263bf35c46dd48f62431dc2342177c32","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"4bb550a4263bf35c46dd48f62431dc2342177c32","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.3.2.tgz","integrity":"sha512-3kDKyYR8geSYoxyqaJiyIslrCahtMRWNUkJqY8CkFa2ApPcIR43AEoxlMiw85QFpzgSPwGyw0eGO0zztSFhirg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGC3+ZY+ry1wncHtktsVyc4lUuGLB4eDpbF7ffXLf7EMAiEAkMAvu67Gwvhn8vfGV9NjbPz00O5LxlIrNo3E8VtGSZI="}]},"directories":{}},"1.5.0":{"name":"resolve-url-loader","version":"1.5.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"b9ee541eebe58a70eca3045df4ea96cf12dd1a23","_id":"resolve-url-loader@1.5.0","scripts":{},"_shasum":"c3a68177d07a4cc338f6e8b97d5fb8f79777e97b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"4.4.7","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"c3a68177d07a4cc338f6e8b97d5fb8f79777e97b","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.5.0.tgz","integrity":"sha512-AOlPTD/X5LehtfLxoPC9+6xqJNKkb/3psi9oYYPTQxMFy+3CsZ1yHE3B10JA6lqCGNP32WGwpMg2fR+1RMn1cQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSPkNTTm3lwYmBDckHXYk/QiEsVk97CVkXfZwAs4EGlQIgBn5eo7x9wAC/sFUu5Q1PpF0FO1eUr/i+d8XU94MV7Wo="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/resolve-url-loader-1.5.0.tgz_1467633279281_0.4812818157952279"},"directories":{}},"3.0.0-beta.1":{"name":"resolve-url-loader","version":"3.0.0-beta.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","compose-function":"^3.0.3","convert-source-map":"^1.5.1","es6-iterator":"^2.0.3","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","postcss":"^7.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.7"},"readmeFilename":"README.md","readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option     | type                       | default     |          |  description                                                                                                                                                                     |\n|------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|`engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n|`sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n|`keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n|`debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n|`silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n|`root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n|`join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n|`absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNote that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested `macOS` and `Windows` for `node 6.x`.\n\nAll `webpack1`-`webpack4` with contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n### Engines\n\nThe `engine:postcss` is by far the more reliable option.\n\nThe `engine:rework` option is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.\n\nIf you need production css source-map it is best to avoid the combination `webpack4` with `engine:rework`. Tests show a systematic flaw in the outgoing source-map mappings.\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","_id":"resolve-url-loader@3.0.0-beta.1","dist":{"shasum":"132e4209e326105ba98060211703db45384ea899","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.0.0-beta.1.tgz","integrity":"sha512-I8LDgp3nD4cxIewt77cA5mmOTNmfIJLEB+IrrERXuyRhV2vwlXlvNqa6A1cDt5lBfQcOmJg4n/25Ki5I5lU+/w==","fileCount":14,"unpackedSize":39743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkokqCRA9TVsSAnZWagAAiC0P+wVX8LQmEGb6qRBB0d1N\ncYyaXOy22RG3ft4A8Ulz7pBz2hT4FL79VF2CH0sdJeWVN6FyF6pVAl7WIsLY\n+KJ5Jodwx9Ls5h6zJcPypBreD0ZICy9CYioAh4BAW2+xls+iblvokUVlYEHh\nLsLn6CqL2GZ9EM7FVXZbgnYmBqo46tdi8+N+atiJFEkThIZOfduao9Lu+C4j\n7Io9Awf2ozTsDg/Md3wZ4rBSVRx55+C0hCNPQWNxFMrCUO0yzxkQQ57SMVTR\n7e+DSHtSHZh+V7thTZjPuebjBmutDeGU0IA8ZGqQOOHIiFjiwZPTNJ6ZcJ4K\n82wI6/uaVbHbf3HSoQHNNtNFwr75NfTIRIxTweqE3VjT1do63CROeLkxSTZv\nc88Cy6quGpyq3UF/IPQKTk8s0AVGqSGMdp1on9+P7x2rHUiYQE4Z+41Nhbe5\noFb7KAvua7NjAZv/nkxsOKjwyJm6eKmjgEtxCV9flZGExJUtBFhRd6iOOaww\nmC+JBYUZP6SO9NRkG1P9ovsJ5q3O6Uxjykw/q/oq+7i7q1CTjHD/PHEYpQMa\nmaHm1b5oliwK9TthHjMMHbB4BEikedYLgkb7+LOuQwEKmZ+c8oLwgss3Nrbr\nydCh+bwBXz/ZLgUo6TvIgDBKRobKRyAmyTKy0e8mLsuRWlwWE31uYy6Mxsfk\nZYZE\r\n=NHCp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfHkdDujRnjfna7DKqx3ywTwZIkEwALOVxEsF82CrXiAiEAyXOSVfOslkGKmHduculPJO9JZOLbECci95aZPi2eQQk="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.0.0-beta.1_1536330025412_0.579932614761757"},"_hasShrinkwrap":false,"deprecated":"version 3 is now released"},"5.0.0":{"name":"resolve-url-loader","version":"5.0.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/v5/packages/resolve-url-loader","engines":{"node":">=12"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^8.2.14","source-map":"0.6.1"},"_id":"resolve-url-loader@5.0.0","_nodeVersion":"12.22.8","_npmVersion":"6.14.15","dist":{"integrity":"sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==","shasum":"ee3142fb1f1e0d9db9524d539cfa166e9314f795","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz","fileCount":19,"unpackedSize":111238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5eW9CRA9TVsSAnZWagAAWP4P/iJwrT+HaLT1sgfR5e6n\nqH1D9eLaWFHlM6hS7VELmovQWq6vHB+KblJziEPrEhL0MnI+mBTxslmG/1ex\nyN3vx2jPdUMgoTOOeimg82XIRLvrJ68JVFmV0+YH4kONialsAuxug7TiwhbZ\nvhWHGZKu0+jaQCs0BaAmAp8oqiy6giNpqt72cpX1cECrLtztal5FLCtB6qJe\nIN2KPp1+TofZGT0vwMKSnDHC1FrnfRL29c2QZhYkfRLn/IZnXDgWs80FGlul\nxltZNsJQFtJMcNTuQwBmsopTmCPXbNYHhEILsWV2fy1TjMDB4ohplpe1Tqdp\nPzrQx37knIOVvKVBz0Crcapfrj8HFL7SGvB8cLhiE+LnRGP8xEoBQHTKo1iE\neMA7GevTUPPsBtVjdv0DtJscrf0Ye8nCfv02aYZS6UhZ6H3aiIwmjVmiAh7f\nKrMvEEujdqHaZ0dW7nGeGuGw1jjor8z4iq14ste87LNT/Cmu/Fg5grE8uBQF\nwtmJsjMzRzu8bbTdAUez3CNkoBoWaszPWozGqNuqtRUoh4vVi5WXsgB4l9M4\nrct3e9inqznTUolg02GdajpIq92nYBUT9y+YVB1dKlCKh9+frSXdQ8LbDPKb\nEu7t8+ki1D98A/1JmOaz6nfco6ike2lt/4bhrLzGbbeW4/phLx4WXsHshXLj\nT8SX\r\n=eSzP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+ewIbcZ332l6LtgvOqHFbjU8fTSSVEUGen/TREfCzEQIgUEJb6JJefS17MouwaPLqgpvP8098B3q+cBSodUPs3xc="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_5.0.0_1642456509840_0.2976321575991756"},"_hasShrinkwrap":false},"1.1.0":{"name":"resolve-url-loader","version":"1.1.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"loader-utils":"^0.2.11","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"408c8a189ca8823a181d8b79ea37a37904fd7618","_id":"resolve-url-loader@1.1.0","_shasum":"3276cc6fb5f76e3e838c58560bd2a7ae2d88f824","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"3276cc6fb5f76e3e838c58560bd2a7ae2d88f824","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.1.0.tgz","integrity":"sha512-K37GpwHBOqrwdtcja0lr1ZB46TIyquNQoRVyblRtSeMj89X8XWWKll4iHFL8emYno4zTEEi+57jg958QHclH5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCN4VN/77/GHpZe6Lq30yJ5Lhxmhga6nRdPHtPt91m1lAIhAPTgXEeKn+PEQURdT7jWggy+j4XufmDLiWFzFE6bzQs5"}]},"directories":{}},"4.0.0":{"name":"resolve-url-loader","version":"4.0.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/v4-maintenance/packages/resolve-url-loader","engines":{"node":">=8.9"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^7.0.35","source-map":"0.6.1"},"peerDependencies":{"rework":"1.0.1","rework-visit":"1.0.0"},"peerDependenciesMeta":{"rework":{"optional":true},"rework-visit":{"optional":true}},"_id":"resolve-url-loader@4.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==","shasum":"d50d4ddc746bb10468443167acf800dcd6c3ad57","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz","fileCount":22,"unpackedSize":117299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmKV3CRA9TVsSAnZWagAAtLMP/j6aAFsdQK3YR9v5yRpo\nWjKK62fuGIGY3RxASQ55Pvw+Jb9FY/6FVz+VZQ0vVRxSyCUeNoEMvyxey3RM\nEHJG/+WFwlC/uejpiVd+0nBRBAgzxldtSl8+9LwCyycCEVud4KAImsr7I+oX\nuFbr391LcOfH6Pdnc9PfHSJdMdvH6ipC1JQWMmc5CIpJy9stOAK0KswoUnTk\n0AnmfD3tYgY+eACad++KvIaEliM8dn8AJkYa1lGNYl9lyI2kzIoPnZmeOJyH\nKxmOOumbk4iQUF2fE4IsIKuVQ/HI8NuWFOaZXOrUpq9wizI0gmQqUty+hRoK\nZN/+D7IGmioC0wZmwl+DMKGQ9TOaZd8yeJBPdtdBbJ0t49r3yQJBrJ2vxtvS\niNMCCUyB0LWoSb4FGID0UwZELuNadZfZrRA1lhfei0W/SwJeuGMhRaYJ0FT/\nOBwpqzupdjwlHQ2mTaiO23q1aOfBl9e9n+Iu0eTgJycbAHoNsZsUHZcK5/3V\nwsu0sdYX+ag7KXXKkhzlLieZRKt/mIvuwQUQE1+afJ665U5e7Yez5/Nzb6x2\n5sTXhzKoikaT7xsu3R4GhDvGSS2p3olducoXltG8efHchFXs2Bwm7C1osffh\nATiveeYzhI08To4nyOX+uUT9muoRSEga3ziTo/du84MLqZ34agvZxuwYpJQs\niKLm\r\n=38Cx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBI98+iR1wjajXsjegSt1soB0KYnkqY6nH1U3vID8VMgAiBf0dfmaLCz2grNcwCnNSWEpX4N9pLUEjTVQzTb+4jdKw=="}]},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_4.0.0_1620616566389_0.5899440913793708"},"_hasShrinkwrap":false},"3.0.0":{"name":"resolve-url-loader","version":"3.0.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","compose-function":"^3.0.3","convert-source-map":"^1.5.1","es6-iterator":"^2.0.3","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","postcss":"^7.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.7"},"_id":"resolve-url-loader@3.0.0","dist":{"shasum":"c47eeca1fc8d62b08dc2eef12b3af5af3e775c74","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.0.0.tgz","integrity":"sha512-ZzRUnpu+pLkrN2ZBsEEifOD6W+9ZNtdIu+kY3vs+11PwuZ2WykxbAY9qO+S9SmasSDRllxNdSm9IhN8HU4xGKg==","fileCount":14,"unpackedSize":39736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmyLDCRA9TVsSAnZWagAArTUP/1VjoGu9dWlunNztboiX\nIGtO+mH9/q0ySJ7+lMUBlS2p4hhm5D1VpjkowgqUdYjpPQVsNTI0lowVGowW\n2I2hQDJxkUBVGMtgTa+L34Jha1TwjV5fl2WgCMpCsCzWyPU2gVhkCIrhTDM8\n+OHkEg75pYMRSGStO67sRB6XD6kTAy1bAfQe9IXFOwMzoI6j+RJN/pFbIWHN\n0BdhCenQae9Dn2A67zB3+vow1XY5ckCmPNb9BDr955J+TzBvdSFpX51Nv4MZ\nYYesXpsOrBZlT562J840mpXmfKEtxgsSNoX3h9zHrB74kwyLE9DJJCEJlTab\n3pfOTZv3ON7AIgiSNg/EZaEdfAaHLJWypPOESc8BKJf5ARMraAOxv9MvOyrC\nQlLOFPWnsOsHkiZhlzS9DPyYhHxaNHSY+ItlT1iys+HwqpRsxlFB0X2r7Mj8\n/OBwtBwT4CqBjPPrZyzgL1ghYpqJay8zwFXYt5OswyCZFeBT/DVv4D/X21Jo\n8JGesSKHUJ074m8ma8RHvsX0msYIBsFDWgBIEcxn4xzoicAuby4VrsuLw8t6\nFepKkbdVmW1CFGoQWolj1cDUEDWIix9GsRb5Vb5barMVZj96YH/zG5RHVBM3\n3CVmv747vbFqdGMbLtbn1qkLXNM0yT9cTPxIhF6iVilLC7Bu0hBaGmq4uW7C\nfHF7\r\n=EHGD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHud0HLusDNPNFKvylBc0CBilnH3dAxFJuvpscslIBToAiEA/Q5FHzqxL3ES8H+1JsCc2Pty3+ab+lj3zZVl1Vgbs6Y="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.0.0_1536893634988_0.03408414356838052"},"_hasShrinkwrap":false},"3.0.1":{"name":"resolve-url-loader","version":"3.0.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"2.0.0","camelcase":"5.0.0","compose-function":"3.0.3","convert-source-map":"1.6.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.14","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"_id":"resolve-url-loader@3.0.1","_npmVersion":"5.10.0","_nodeVersion":"6.14.4","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-oBFayx/K2hUKdQ47USSHsmjP8+oQlNG5Vx+OYpTba+M1LNBCcMXc5/mR16RLDCtbM68rk0Rc9cDJfHT+BipAXQ==","shasum":"91f798812bce467336404806864b288090aab58c","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.0.1.tgz","fileCount":11,"unpackedSize":39731,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZ7aBCRA9TVsSAnZWagAA0YMP/0oBKuuednXwD2HNUG5X\nhXy6IPMK17xOkrgax3KJ7d0xvRynK2Q8Afmn0z16zP66cwGArXT5UgtnMapS\nEyVV5IZnYDTJQFj9ng3IbmImDr7ptGejjuWyRUTgjTHIUBfZePeAoDvoNEhs\nQqHceXvPTC1e6KonHwemKoRVhN/1g6kqZLOUCBb5zEx4kRsODFpSIHJkbYsF\nE/wAUsvvvZCJRP6H5+VWimG3jbMIs9nndhVTle2XqgTx8JLN3yZkQwqurpNM\nqFq4ap1WCWb6QdbdmCB2asWjAg5Ue/ZbpTCE8YNVOZWmVs+TFb9wmbGq69Xn\nSN9lCqWMtl3VmIwQYyfKo03H0zDpbNfIU6xMdWXQpe55NNhFPBjmeP6OOAH7\n37o5ULZQFgCZUxT4oZqLHa0ODTlTqQbk0lgpy06FqlJ6Cr5JS9JykInnUcOY\nqa76VA7okCG8j8CL5to1+SfPQ63U9nfZ6KI6chs3CtKSo+uIACoNXPcgxGRl\nWLTHscHSjduRaEH2LU/jTp6m08j/zQg5i/N9TE2398zSVzfw1/r1zneriora\nCW6Umneae5OIrGYQ0EH9k3Y9Sz4ynMcoz1Zs0yQtg3uO7/7TEsQS+0NCIlE4\nvifiJquD7O29juAdLGVwQo+OQQ9vSTvZnVyXgwxkESDqsqKLZf1qBhqmSwyw\nG2tC\r\n=vtL5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGS1ASvSo1mgGzCsrvqXHPmMk+x6yBVBtRNO7sWTZkKyAiARccUNCsllSyEOdFFuoiGi2U6YgZDDtFKPc8v1649J2g=="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.0.1_1550300800813_0.5813359165893999"},"_hasShrinkwrap":false},"0.0.1-experiment-postcss":{"name":"resolve-url-loader","version":"0.0.1-experiment-postcss","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","convert-source-map":"^1.5.1","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","postcss":"^6.0.17","source-map":"^0.5.7","urix":"^0.1.0"},"devDependencies":{"jshint":"^2.9.5"},"scripts":{"lint":"jshint index.js lib"},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](http://github.com/bholloway/resolve-url-loader)\n\nWebpack loader that resolves relative paths in url() statements based on the original source file.\n\nUse in conjunction with the [sass-loader](https://www.npmjs.com/package/sass-loader) and specify your asset `url()` relative to the `.scss` file in question.\n\nThis loader will use the source-map from the SASS compiler to locate the original `.scss` source file and write a more Webpack-friendly path for your asset. The CSS loader can then locate your asset for individual processing.\n\n\n## Getting started\n\n```bash\n# via yarn\nyarn add resolve-url-loader --dev\n\n# via npm\nnpm install resolve-url-loader --save-dev\n```\n\n\n## Usage\n\nPlain CSS works fine:\n\n``` javascript\nvar css = require('!css-loader!resolve-url-loader!./file.css');\n```\n\nor using [sass-loader](https://github.com/jtangelder/sass-loader):\n\n``` javascript\nvar css = require('!css-loader!resolve-url-loader!sass-loader?sourceMap!./file.scss');\n```\n\nUse in tandem with the [`style-loader`](https://github.com/webpack/style-loader) to compile sass and to add the css rules to your document:\n\n``` javascript\nrequire('!style!css!resolve-url!./file.css');\n```\n\nand\n\n``` javascript\nrequire('!style-loader!css-loader!resolve-url-loader!sass-loader?sourceMap!./file.scss');\n```\n\n### Apply via webpack config\n\nIt is preferable to adjust your `webpack.config` so to avoid having to prefix every `require()` statement:\n\n``` javascript\nmodule.exports = {\n  module: {\n    loaders: [\n      {\n        test   : /\\.css$/,\n        loaders: ['style-loader', 'css-loader', 'resolve-url-loader']\n      }, {\n        test   : /\\.scss$/,\n        loaders: ['style-loader', 'css-loader', 'resolve-url-loader', 'sass-loader?sourceMap']\n      }\n    ]\n  }\n};\n```\n\n### IMPORTANT\n\n#### Source maps required\n\nNote that **source maps** must be enabled on any preceding loader. In the above example we use `sass?sourceMap`.\n\nIn some use cases (no preceding transpiler) there will be no incoming source map. Therefore we do not warn if the source-map is missing.\n\nHowever if there is an incoming source-map then it must imply `source` information at each CSS `url()` statement.\n\n#### Don't omit `-loader`\n\n> Your `Webpack.config.js` should **always** use the long-form of the loader name (i.e. the `-loader` suffix).\n\nThere is another package called `resolve-url` which Webpack can confuse with `resolve-url-loader`.\n\nThere are other common examples. Such as `jshint` and `jshint-loader` packages being confused.\n\nThese conflicts are **very hard to debug** and will send you crazy. Your `Webpack.config.js` should **always** use the long-form of the loader name (i.e. the `-loader` suffix)\n\n### Options\n\nOptions may be set using [query parameters](https://webpack.github.io/docs/using-loaders.html#query-parameters) or by using [programmatic parameters](https://webpack.github.io/docs/how-to-write-a-loader.html#programmable-objects-as-query-option). Programmatic means the following in your `webpack.config`.\n\n``` javascript\nmodule.exports = {\n   resolveUrlLoader: {\n      ...\n   }\n}\n```\n\nWhere `...` is a hash of any of the following options.\n\n* `sourceMap` Generate a source-map.\n\n* `attempts` Limit searching for any files not where they are expected to be. This is unlimited by default so you will want to set it `1` or some small value.\n\n* `silent` Do not display warnings on CSS syntax or source-map error.\n\n* `fail` Syntax or source-map errors will result in an error.\n\n* `keepQuery` Keep query string and hash within url. I.e. `url('./MyFont.eot?#iefix')`, `url('./MyFont.svg#oldiosfix')`.\n\n* `debug` Show verbose information on the file paths being searched.\n\n* `root` An optional directory within which search may be performed. Relative paths are permitted. Where omitted `process.cwd()` is used and should be sufficient for most use cases.\n\nThere are some additional hacks available without support. Only do this if you know what you are doing.\n\n* `absolute` Forces the url() to be resolved to an absolute path. This is considered \n[bad practice](http://webpack.github.io/docs/how-to-write-a-loader.html#should-not-embed-absolute-paths).\n\n* `includeRoot` (experimental, non-performant) Include the project `root` in file search. The `root` option need not be specified but `includeRoot` is only really useful if your `root` directory is shallower than your build working directory.\n\nNote that query parameters take precedence over programmatic parameters.\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) process is run on incoming CSS.\n\nEach `url()` statement that implies an asset triggers a file search using node `fs` operations. The asset should be relative to the original source file that was transpiled. This original source is determined by consulting the incoming source-map at the point of the `url()` statement.\n\nUsually the asset is found relative to the original source file `O(1)`.\n\nHowever in cases where there is no immediate match, we start searching both deeper and shallower from the starting directory `O(n)`. Note that `n` may be limited by the `attempts` option.\n\nThis file search \"magic\" is mainly for historic reasons, to work around broken packages whose assets are not where we would expect.\n\nShallower paths must be limited to avoid the whole file system from being considered. Progressively shallower paths within the `root` will be considered. Paths featuring a `package.json` or `bower.json` file will not be considered.\n\nIf the asset is not found then the `url()` statement will not be updated with a Webpack module-relative path. However if the `url()` statement has no source-map `source` information the loader will fail.\n\nThe loader will also fail when input source-map `sources` cannot all be resolved relative to some consistent path within `root`.\n\nUse the `debug` option to see exactly what paths are being searched.\n\n## Limitations / Known-issues\n\n### File search \"magic\"\n\nFailure to find an asset will trigger a file search of your project.\n\nThis feature was for historic reasons, to work around broken packages, whose assets are not where we would expect. Such problems are rare now and many users may not be aware of the search feature.\n\nWe now have the `attempts` option to limit this feature. However by default it is unlimited (`attempts=0`) which could make your build non-performant.\n\nYou should explicitly set `attempts=1` and increase the value only if needed. We will look to make this the default in the next major release.\n\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nThe incoming source map can vary greatly with different transpilers and their mixins. Use a [source map visualiser](http://sokra.github.io/source-map-visualization/#custom-choose) to see more.  If the source-map shows the correct original file and the mixin still doesn't work then raise an issue and point to the visualisation.\n\nUltimately you will need to work around this. Try to avoid the mixin. Worst case you can try the `includeRoot` option to force a search of your project sources.\n\n### Compatiblity\n\n#### Webpack\n\nThis loader was written for Webpack 1 and has been tweaked to also support with Webpack 2.\n\nIf you find any Webpack 2 problems please comment on any similar existing issue or raise a new one.\n\n#### Node-sass\n\n> **IMPORTANT**\n> \n> Avoid the combination of **Webpack 1** with **node-sass@^4.0.0**.\n>\n> Use **Webpack 2** if you need latest **node-sass**\n\nSince `node-sass@>=4.0.0` source-maps have sometimes featured negative column values. Since this loader relies on source-maps this can cause a fatal error.\n\nI don't have a lot of data on this. If you are stuck in Webpack 1 and find that this combination actually works ok for you please let me know.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n* check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer\n* review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar\n* be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us\n* be prepared to use a [source map visualisation](http://sokra.github.io/source-map-visualization/#custom-choose) to check the transpiler has correct source maps coming out\n* (ideally) debug some code and let me know where the problem sits\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","readmeFilename":"readme.md","gitHead":"3b7163c5cffe7044db147facbf80695c049973ae","_id":"resolve-url-loader@0.0.1-experiment-postcss","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-EbgUHc2PBssLcvfLVZq4+RMBPUHND72c838PmBC+BROGqirj/HJRxVp9n4jZC5UyX5OW21dXHTCy03iHXFOyDg==","shasum":"18d806a57230afa6e2dd73ed23d044ce84d6f928","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-0.0.1-experiment-postcss.tgz","fileCount":7,"unpackedSize":28014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+qHlCRA9TVsSAnZWagAAyzwQAJ/QSC299V76r2RYdf5w\ny3TBKQTNIUqzlP8G1wVDk0ExJdudtd8VtetrHdCtpa/QfupJyTOGCUZK8tN/\nNXkMCgduZsH/YRYMgZ8HLhxcGFpnaRQHRFzUGXFXIuSmXnebcBXo91QatNLI\ntOegxP21Op7FIopYIscXlOeqeS3LQmDejsHAANMGgV0tniVGjsu08Wmlvtgs\n7QOCkS4sNoM4Xa8SWE0EXfycxatZZuoFXzFYEFQf46w0vk6iCjyuTYRuzkRe\nKWMaYmwJiLrB4AwsJGMkSpdWROvDnxIn9YD8oHQfVcHW0RqSozTigIfJLzsy\nY6Nbg/0L3ROa6IOKgnULt+zcFfrk8hIh6QdmkL7le8mqDWWg0K5G3qjpURcl\nG3peC6XKzDeUy3hh9PF2Y647NPYh5gvgCo7J8MOPPkuGpy1YQTgvcOIi8zpg\nwsQuBl2RB1kwoTEvP+cz5cT+SVnNSZwSXV9aAvqsAibrSLkHd+i3a418iCh8\nAssDXkf94mC3MCaL2tpP4meoPU3hwCFf1Lku61CTVe0blOIscUKZM/vmt9F5\n7M0XJVpn+kWxf+DuPUe5fBunn14I+apvrxxSi+SijI8h2atW606XaYPMqAX3\nsPHNll7QQP4bez8kkBBamQOzj8vA0wIDAybkkhb73uaOYmwtb67BmBUI69wR\n6d09\r\n=WIdd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDcWIA0EjMWVj1gHtCrWHs5QF7wr5l+actF+tW23vsexAiEA6AmUVd+VvIQtT13vM48V9lC5sMOli3g9X+3JTQZsGYo="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_0.0.1-experiment-postcss_1526374884560_0.6611610182132399"},"_hasShrinkwrap":false,"deprecated":"postcss is now default in version 3"},"2.0.0":{"name":"resolve-url-loader","version":"2.0.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.0.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"0e9e57b6b753e051688829b7c47f8fdd3ba9c4da","_id":"resolve-url-loader@2.0.0","scripts":{},"_shasum":"69028a8a1e8e4ed7e632d6d6f1f19bc2c486ef69","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"69028a8a1e8e4ed7e632d6d6f1f19bc2c486ef69","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.0.0.tgz","integrity":"sha512-VcWaH9ozu8JrCHO7jcBoxUSOVlEBJBObtcuFUTPXSaob4zTt/zi0zM8KLHflh01FVHD9dKfo7l+8YfS231TCbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF1wne+fHSnvIBTqVC6DUQvbZEMb6lWdQdDmddXJfV5PAiBEu2Dk94MBeVlAtNLD/2Y7Q1/p3R5gbKiVUUOrhl7HWA=="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/resolve-url-loader-2.0.0.tgz_1487227944248_0.4007962851319462"},"directories":{}},"2.0.1":{"name":"resolve-url-loader","version":"2.0.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.0.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^1.0.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"b6a48a749c72400e1f7d037a80c9398c57908121","_id":"resolve-url-loader@2.0.1","scripts":{},"_shasum":"49f65c409fcaf0b17ae71fe3199b46caa664982b","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.4.7","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"49f65c409fcaf0b17ae71fe3199b46caa664982b","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.0.1.tgz","integrity":"sha512-RTHyQMW97RMpZtp+vqHnup6xtTR23kky3rK5UYBwlWE3K1Hp16UUDoddwTR3SKQA4JRVGcd50sNbqqvoNgJsBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdZ7mjnZMuwLGsDcjpfTAjQ4ZheV4K4PuM8SjFAwaABQIhAIjNq91RYp/QdgvNljokQWLgn5F/aZE8btiQIhsBdVfP"}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/resolve-url-loader-2.0.1.tgz_1488402412615_0.21751249814406037"},"directories":{}},"5.0.0-alpha.1":{"name":"resolve-url-loader","version":"5.0.0-alpha.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/v4-maintenance/packages/resolve-url-loader","engines":{"node":">=12"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^8.2.14","source-map":"0.6.1"},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nThis **webpack loader** allows you to have a distributed set SCSS files and assets co-located with those SCSS files.\n\n## Do you organise your SCSS and assets by feature?\n\nWhere are your assets?\n\n* ✅ I want my assets all over the place, next to my SCSS files.\n* ❌ My assets are in a single directory.\n\nHow complicated is your SASS?\n\n* ✅ I have a deep SASS composition with partials importing other partials.\n* ✅ My asset paths are constructed by functions or `@mixin`s.\n* ❌ I have a single SCSS file. The asset paths are just explicit in that.\n\nWhat asset paths are you using?\n\n* ✅ Fully relative `url(./foo.png)` or `url(foo.png)`\n* ❌ Root relative `url(/foo.png)`\n* ❌ Relative to some package or webpack root `url(~stuff/foo.png`)\n* ❌ Relative to some variable which is your single asset directory `url($variable/foo.png)`\n\nWhat webpack errors are you getting?\n\n* ✅ Webpack can't find the relative asset `foo.png` \uD83D\uDE1E\n* ❌ Webpack says it doesn't have a loader for `fully/resolved/path/foo.png` \uD83D\uDE15\n\nIf you can tick at least 1 item in **all of these questions** then use this loader. It will allow webpack to find assets with **fully relative paths**.\n\nIf for any question you can't tick _any_ items then webpack should be able to already find your assets. You don't need this loader. \uD83E\uDD37\n\nOnce webpack resolves your assets (even if it complains about loading them) then this loading is working correctly. \uD83D\uDC4D\n\n## What's the problem with SASS?\n\nWhen you use **fully relative paths** in `url()` statements then Webpack expects to find those assets next to the root SCSS file, regardless of where you specify the `url()`.\n\nTo illustrate here are 3 simple examples of SASS and Webpack _without_ `resolve-url-loader`.\n\n[![the basic problem](https://raw.githubusercontent.com/bholloway/resolve-url-loader/v4-maintenance/packages/resolve-url-loader/docs/basic-problem.svg)](docs/basic-problem.svg)\n\nThe first 2 cases are trivial and work fine. The asset is specified in the root SCSS file and Webpack finds it.\n\nBut any practical SASS composition will have nested SCSS files, as in the 3rd case. Here Webpack cannot find the asset.\n\n```\nModule not found: Can't resolve './cool.png' in '/absolute/path/.../my-project/src/styles.scss'\n```\n\nThe path we present to Webpack really needs to be `./subdir/cool.png` but we don't want to write that in our SCSS. \uD83D\uDE12\n\nLuckily we can use `resolve-url-loader` to do the **url re-writing** and make it work. \uD83D\uDE0A\uD83C\uDF89\n\nWith functions and mixins and multiple nesting it gets more complicated. Read more detail in [how the loader works](docs/how-it-works.md). \uD83E\uDD13\n\n## Getting started\n\n> **Upgrading?** the [changelog](CHANGELOG.md) shows how to migrate your webpack config.\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**⚠️ IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\n## Options\n\nThe loader should work without options but use these as required.\n\n| option      | type                       | default                                 |            |  description                                                                                                                                                                     |\n|-------------|----------------------------|-----------------------------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sourceMap` | boolean                    | `false`                                 |            | Generate an outgoing source-map.                                                                                                                                                 |\n| `removeCR`  | boolean                    | `true` Windows OS<br/>`false` otherwise |            | Convert orphan CR to whitespace.<br/>See known issues below.                                                                                                                     |\n| `debug`     | boolean                    | `false`                                 |            | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`                                 |            | Do **not** display warnings or deprecation messages.                                                                                                                             |\n| `root`      | string                     | _unset_                                 |            | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_                               | advanced   | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the [advanced features](docs/advanced-features.md) docs.                    |\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'`                             | deprecated | The css parser engine.<br/>Using this option produces a deprecation warning.                                                                                                     |\n\n## Limitations\n\n### Compatiblity\n\nTested `macOS` and `Windows`.\n\nAll `webpack2`-`webpack4` with contemporaneous loaders/plugins using `node 8.9`. And `webpack5` with latest loaders/plugins using `node 10.0`.\n\nRefer to `test` directory for full webpack configurations as used in automated tests.\n\nSome edge cases with `libsass` on `Windows` (see [troubleshooting](docs/troubleshooting.md) docs).\n\n### Known issues\n\nRead the [troubleshooting](docs/troubleshooting.md) docs before raising an issue.\n","readmeFilename":"README.md","_id":"resolve-url-loader@5.0.0-alpha.1","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wrHwwwAzuVGfVijqsZbpMwzLRxdX3NHG1UhQYE89gR+qKZjmBsHuVnBXI2l1EUqbSh6KrBtWrtLOgal9OXwlog==","shasum":"a9a9e8ebfee873476782fca9829c9ef9d80fc059","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-5.0.0-alpha.1.tgz","fileCount":21,"unpackedSize":112617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpkgwCRA9TVsSAnZWagAAydwP/iJefKYbpnBsYxfEmceP\nqF8Ko+LAh/AxarOTIKexuEANpLaJCLEZiiCDlG5q62CBD20/C1KyxTKM9Kb8\n4FNfGWqD/nsAjTTXN6NgzihUdT5EXMBBkrVfPaQHV9MBaaGHdnoZ/n2TkiG8\ngHAltS2zL1L62obq/jKTsDN1RCcZfJC4yIWbFU9EZaaT41xgvAui/y0vLHX/\naF5yvdTc9APQLRAIm5sXVgP+VWuTB12TmSLi9mzK08nm4G2T35iI/L19LD9F\n/zDh4n/nwNOijVLcSpyZD3Kqy+9R/uT6rUhfMiIqY3xEr7EqdQB+BX1s3MAM\nFUi7G+NrQjFllJTPQqZ1A+NgB+O+NC3ObxL5kaMLnr7raaU/n9bCl8oZyRVU\n75r+GE2MwpGb9mCoflE/7poTpy7zcDPftRUj1sU6h/TdF3Wnyl6zex9e0jlm\nh5LKQ4FI7lpQRe5X8l6Noe4oXpBoDcCZ4Uu4CeKt+fQmi1zgJBiUC8vbHcmO\nrpPCHGEzuYEQv6PVO9pRzN6UyBLUhacZDBN3k5Sa0Sxi8JHdylVUpGkyNaeY\neYVYOMes54h0X0l+3/dZuSH1kr+hCh4IKIc+SGna87SF7e7g9u/avkcBLG7M\naBXnRdTli826dO78a/PbDhYN5tUPXy2IqFrus9BXxZydytirg4Pyz01nhlgD\nT2sV\r\n=HqWG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBVj4n0hIo98lq8vkW/utZbXrRFpoQy+EWBdSb/hyf+WAiEAg32ruaDCmAN+TezYhMkv0U+bT2q+XtKS6/ihAGLqFx8="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_5.0.0-alpha.1_1621510192188_0.5122530550662932"},"_hasShrinkwrap":false,"deprecated":"version 5 beta is now released"},"4.0.0-alpha.2":{"name":"resolve-url-loader","version":"4.0.0-alpha.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/master/packages/resolve-url-loader","engines":{"node":">=8.9"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^7.0.35","source-map":"0.6.1"},"peerDependencies":{"rework":"1.0.1","rework-visit":"1.0.0"},"peerDependenciesMeta":{"rework":{"optional":true},"rework-visit":{"optional":true}},"scheme":"alstroemeria","readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nThis **webpack loader** allows you to have a distributed set SCSS files and assets co-located with those SCSS files.\n\n## Do you organise your SCSS and assets by feature?\n\nWhere are your assets?\n\n* ✅ I want my assets all over the place, next to my SCSS files.\n* ❌ My assets are in a single directory.\n\nHow complicated is your SASS?\n\n* ✅ I have a deep SASS composition with partials importing other partials.\n* ✅ My asset paths are constructed by functions or `@mixin`s.\n* ❌ I have a single SCSS file. The asset paths are just explicit in that.\n\nWhat asset paths are you using?\n\n* ✅ Fully relative `url(./foo.png)` or `url(foo.png)`\n* ❌ Root relative `url(/foo.png)`\n* ❌ Relative to some package or webpack root `url(~stuff/foo.png`)\n* ❌ Relative to some variable which is your single asset directory `url($variable/foo.png)`\n\nWhat webpack errors are you getting?\n\n* ✅ Webpack can't find the relative asset `foo.png` \uD83D\uDE1E\n* ❌ Webpack says it doesn't have a loader for `fully/resolved/path/foo.png` \uD83D\uDE15\n\nIf you can tick at least 1 item in **all of these questions** then use this loader. It will allow webpack to find assets with **fully relative paths**.\n\nIf for any question you can't tick _any_ items then webpack should be able to already find your assets. You don't need this loader. \uD83E\uDD37\n\nOnce webpack resolves your assets (even if it complains about loading them) then this loading is working correctly. \uD83D\uDC4D\n\n## What's the problem with SASS?\n\nWhen you use **fully relative paths** in `url()` statements then Webpack expects to find those assets next to the root SCSS file, regardless of where you specify the `url()`.\n\nTo illustrate here are 3 simple examples of SASS and Webpack _without_ `resolve-url-loader`.\n\n[![the basic problem](docs/basic-problem.svg)](docs/basic-problem.svg)\n\nThe first 2 cases are trivial and work fine. The asset is specified in the root SCSS file and Webpack finds it.\n\nBut any practical SASS composition will have nested SCSS files, as in the 3rd case. Here Webpack cannot find the asset.\n\n```\nModule not found: Can't resolve './cool.png' in '/absolute/path/.../my-project/src/styles.scss'\n```\n\nThe path we present to Webpack really needs to be `./subdir/cool.png` but we don't want to write that in our SCSS. \uD83D\uDE12\n\nLuckily we can use `resolve-url-loader` to do the **url re-writing** and make it work. \uD83D\uDE0A\uD83C\uDF89\n\nWith functions and mixins and multiple nesting it gets more complicated. Read more detail in [how the loader works](docs/how-it-works.md). \uD83E\uDD13\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**⚠️ IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\n## Options\n\nThe loader should work without options but use these as required.\n\n| option      | type                       | default     |            |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sourceMap` | boolean                    | `false`     |            | Generate an outgoing source-map.                                                                                                                                                 |\n| `removeCR`  | boolean                    | `false`     |            | Convert orphan CR to whitespace.<br/>See known issues below.                                                                                                                     |\n| `debug`     | boolean                    | `false`     |            | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |            | Do **not** display warnings or deprecation messages.                                                                                                                             |\n| `root`      | string                     | _unset_     |            | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced   | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the [advanced features](docs/advanced-features.md) docs.                    |\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` | deprecated | The css parser engine.<br/>Using this option produces a deprecation warning.                                                                                                     |\n\n## Limitations\n\n### Compatiblity\n\nTested `macOS` and `Windows`.\n\nAll `webpack2`-`webpack4` with contemporaneous loaders/plugins using `node 8.9`. And `webpack5` with latest loaders/plugins using `node 10.0`.\n\nRefer to `test` directory for full webpack configurations as used in automated tests.\n\nSome edge cases with `libsass` on `Windows` (see [troubleshooting](docs/troubleshooting.md) docs).\n\n### Known issues\n\nRead the [troubleshooting](docs/troubleshooting.md) docs before raising an issue.\n","readmeFilename":"README.md","_id":"resolve-url-loader@4.0.0-alpha.2","_nodeVersion":"8.16.2","_npmVersion":"6.14.7","dist":{"integrity":"sha512-mPjVtutPMZcoB7rqkIXsl9vFotBJi7Zqv1YjjV4WHcOpsTMBuiQ8Xg40psYG6eno4ielY1lMsDc0apfKb4wkkQ==","shasum":"dcec9ded05b1a297d47b90dcd2001fcb6d4b0954","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-4.0.0-alpha.2.tgz","fileCount":22,"unpackedSize":107858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPf4FCRA9TVsSAnZWagAA+tIQAIRZpCXNktmXmKq7Utn9\nk8yD7Ee1gZyCsH18W0Qym/Vo9VaBnSWkG0XsXhl9mBie/HRjBPycBskG6imj\nbrGTKjivJp2MYjkh5o3IB4bu98eWTnNbdb67R1MQT7NQ1BDADp+ICIU6tsfk\nIchQ2iVFVDk5PVKN1B533pTAHB6lYAr+bytsHMXoMLBgoEix4+eLlb9xhaBn\nWnrZh3jTOYbXs7LcMRs0h3Kos4mmVxvx0KLGyhhBcqK8qNoQL+V6VqQM1Nvl\nICghCe4LZCY8/ji6JTfJh44ScGXXGHVl96Iy95DazJd9OIe2lfBIu3++4qWB\n5SX8B4Y+8AA4Rtc/peCwGWHNqdrv1I0jmeGeZiVtSYEN6S1yQRn1QclSpR0z\nNUxMgulHdnr5Ue9ZPYEDYnxV14faELQm6a3pz4hoa3quAK9QSt70Hix4Zk8U\nWFrztv0oQXUCjFQ5vNVbbaouts4nx7T7AMusPEQ7NXBXsl3pk39IrbktqJzA\nNEe/xpTF3f5nOge68T8GFxkWH2pz0ugS/7TsFWhJECgPRQyW6sXjoDeTzMnR\ngw6novyrBHvScspr72/1hikeWYJ93XqzJb3rVVZRapR30OGiTFVcnBMOmJB4\nr4zZelThK3x72gLoWR6t/Fm3XYHRbPITXhuTTthHhMNXzi0o7YMUoeo4bAC6\nQVIQ\r\n=23j1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEQcwqe1H2rYAvcE3/+iXrmroFvQmQRqnbyyjr0xZRIpAiEA4XQ2qT8/kT7+hb+/U292tUqlw1XQzvDQpVfmIjHQuvI="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_4.0.0-alpha.2_1614675461508_0.5034184262350763"},"_hasShrinkwrap":false,"deprecated":"version 4 beta is now released"},"4.0.0-alpha.1":{"name":"resolve-url-loader","version":"4.0.0-alpha.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","engines":{"node":">=6.0.0"},"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"2.0.0","camelcase":"5.3.1","compose-function":"3.0.3","convert-source-map":"1.6.0","es6-iterator":"2.0.3","loader-utils":"1.2.3","postcss":"7.0.18","rework":"1.0.1","rework-visit":"1.0.0","source-map":"0.6.1"},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option      | type                       | default     |          |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n| `sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n| `keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n| `removeCR`  | boolean                    | `false`     |          | Convert orphan CR to whitespace (postcss only).<br/>See known issues below.                                                                                                          |\n| `debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n| `root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n| `absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNote that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested `macOS` and `Windows` for `node 6.x`.\n\nAll `webpack1`-`webpack4` with contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\nSome edge cases with `libsass` on `Windows` (see below).\n\n### Engines\n\nThe `engine:postcss` is by far the more reliable option.\n\nThe `engine:rework` option is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.\n\nIf you need production css source-map it is best to avoid the combination `webpack4` with `engine:rework`. Tests show a systematic flaw in the outgoing source-map mappings.\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n### Windows line breaks\n\nNormal windows linebreaks are `CRLF`. But sometimes libsass will output single `CR` characters.\n\nThis problem is specific to multiline declarations. Refer to the [libsass bug #2693](https://github.com/sass/libsass/issues/2693).\n\nIf you have _any_ such multiline declarations preceding `url()` statements it will fail your build.\n \nLibsass doesn't consider these orphan `CR` to be newlines but `postcss` engine does.  The result being an offset in source-map line-numbers which crashes `resolve-url-loader`.\n\n```\nModule build failed: Error: resolve-url-loader: CSS error\n  source-map information is not available at url() declaration\n```\n\nSome users find the node-sass `linefeed` option solves the problem.\n\n**Solutions**\n* Try the node-sass [linefeed](https://github.com/sass/node-sass#linefeed--v300) option by way of `sass-loader`.\n\n**Work arounds** \n* Enable `removeCR` option [here](#option).\n* Remove linebreaks in declarations.\n\n**Diagnosis**\n1. Run a stand-alone sass build `npx node-sass index.scss output.css`\n2. Use a hex editor to check line endings `Format-Hex output.css` \n3. Expect `0DOA` (or desired) line endings. Single `0D` confirms this problem.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","readmeFilename":"README.md","_id":"resolve-url-loader@4.0.0-alpha.1","_shasum":"af519ff8dc79fbe634a43dce20d54fba939202f1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.17.1","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"af519ff8dc79fbe634a43dce20d54fba939202f1","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-4.0.0-alpha.1.tgz","integrity":"sha512-osO+najAbSDZ1FfRFyvtJ+yfCWN1tmP6DxepaDpZ677A++j5Vckgnzr5b8/XC9UYpsyjj+0A3sLnJhtBezmxVw==","fileCount":12,"unpackedSize":46607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdk9KkCRA9TVsSAnZWagAAQVYP/3CrdIFYLGqVIYPQfK+N\nabpUNwpHUmLDw413GPp4vT2DHRswHfeNortVqXeWyRfNKsNqYsttYqpoJhKp\n4FY2phSEoL+Hs61RAsR1EKYYQ6ElLZ4GHlh6dcA7VmQmkDSYbHDsbkGB1ixe\nkqr0K7e85u0TcurHFUMjO5PRm/clL5hHltsoWJCLRgMJSx0wBWg6xHYvkffb\nnGtWQUJgCx9ixsOX8oA3SNP5ZxRydhd5nRQSrQk78W+E287mtz5IAqBbzL1p\nbS9khhqEJO+ZvbKa9y3qhuvd/jFH+FKPdM5kVK9r2xWZFtL96cY4G/Z2hDzq\nVOC+SNBuyhSDCoOWOPWoUXE3k6qx2BcqndJeYI+Jpto9wUBIyetsIaA7aL/S\njurKCHwM1oKfmJ07x/5aL89AscHqfPNOvCpiyoDwA/Qz6AetfJEo6bjTfzmm\ntFJrLoucDPc8/nMCN82Q9iENz8fkBjyurhfyH8x6lGfz9jYEKfc4l6nDL4qb\nNROGVuuqKgvOf+fkHVxPEdBZWz7Dsy3A6FOKkupV+oRfWBbe7SEdgOFRsXUw\nzE3WdtBU6NwU1GW+1CLrxZ1FI/8d4ZXk8ne09s5Zm+AJ5Ms7lUQWED6CTJ8J\njOPgGalhlT4cNypxhOgUBLAyG5N1JVZ770YFL+tqXTmOPxKwyoJmW7XR+uNP\nJ1y8\r\n=splm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKLZ3udTy2Gm3CDSXKbVXHNonnjDdfrkcJGAnb1qRvNAiB/4hzN0rbUt5s6kpUM44fgMHSx7B+2b7yPrSfcQPOWNg=="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_4.0.0-alpha.1_1569968804206_0.011765596522963273"},"_hasShrinkwrap":false,"deprecated":"version 4 beta is now released"},"4.0.0-alpha.4":{"name":"resolve-url-loader","version":"4.0.0-alpha.4","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/master/packages/resolve-url-loader","engines":{"node":">=8.9"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^7.0.35","source-map":"0.6.1"},"peerDependencies":{"rework":"1.0.1","rework-visit":"1.0.0"},"peerDependenciesMeta":{"rework":{"optional":true},"rework-visit":{"optional":true}},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nThis **webpack loader** allows you to have a distributed set SCSS files and assets co-located with those SCSS files.\n\n## Do you organise your SCSS and assets by feature?\n\nWhere are your assets?\n\n* ✅ I want my assets all over the place, next to my SCSS files.\n* ❌ My assets are in a single directory.\n\nHow complicated is your SASS?\n\n* ✅ I have a deep SASS composition with partials importing other partials.\n* ✅ My asset paths are constructed by functions or `@mixin`s.\n* ❌ I have a single SCSS file. The asset paths are just explicit in that.\n\nWhat asset paths are you using?\n\n* ✅ Fully relative `url(./foo.png)` or `url(foo.png)`\n* ❌ Root relative `url(/foo.png)`\n* ❌ Relative to some package or webpack root `url(~stuff/foo.png`)\n* ❌ Relative to some variable which is your single asset directory `url($variable/foo.png)`\n\nWhat webpack errors are you getting?\n\n* ✅ Webpack can't find the relative asset `foo.png` \uD83D\uDE1E\n* ❌ Webpack says it doesn't have a loader for `fully/resolved/path/foo.png` \uD83D\uDE15\n\nIf you can tick at least 1 item in **all of these questions** then use this loader. It will allow webpack to find assets with **fully relative paths**.\n\nIf for any question you can't tick _any_ items then webpack should be able to already find your assets. You don't need this loader. \uD83E\uDD37\n\nOnce webpack resolves your assets (even if it complains about loading them) then this loading is working correctly. \uD83D\uDC4D\n\n## What's the problem with SASS?\n\nWhen you use **fully relative paths** in `url()` statements then Webpack expects to find those assets next to the root SCSS file, regardless of where you specify the `url()`.\n\nTo illustrate here are 3 simple examples of SASS and Webpack _without_ `resolve-url-loader`.\n\n[![the basic problem](https://raw.githubusercontent.com/bholloway/resolve-url-loader/v4-development/packages/resolve-url-loader/docs/basic-problem.svg)](docs/basic-problem.svg)\n\nThe first 2 cases are trivial and work fine. The asset is specified in the root SCSS file and Webpack finds it.\n\nBut any practical SASS composition will have nested SCSS files, as in the 3rd case. Here Webpack cannot find the asset.\n\n```\nModule not found: Can't resolve './cool.png' in '/absolute/path/.../my-project/src/styles.scss'\n```\n\nThe path we present to Webpack really needs to be `./subdir/cool.png` but we don't want to write that in our SCSS. \uD83D\uDE12\n\nLuckily we can use `resolve-url-loader` to do the **url re-writing** and make it work. \uD83D\uDE0A\uD83C\uDF89\n\nWith functions and mixins and multiple nesting it gets more complicated. Read more detail in [how the loader works](docs/how-it-works.md). \uD83E\uDD13\n\n## Getting started\n\n> **Upgrading?** the [changelog](CHANGELOG.md) shows how to migrate your webpack config.\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**⚠️ IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\n## Options\n\nThe loader should work without options but use these as required.\n\n| option      | type                       | default     |            |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sourceMap` | boolean                    | `false`     |            | Generate an outgoing source-map.                                                                                                                                                 |\n| `removeCR`  | boolean                    | `false`     |            | Convert orphan CR to whitespace.<br/>See known issues below.                                                                                                                     |\n| `debug`     | boolean                    | `false`     |            | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |            | Do **not** display warnings or deprecation messages.                                                                                                                             |\n| `root`      | string                     | _unset_     |            | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced   | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the [advanced features](docs/advanced-features.md) docs.                    |\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` | deprecated | The css parser engine.<br/>Using this option produces a deprecation warning.                                                                                                     |\n\n## Limitations\n\n### Compatiblity\n\nTested `macOS` and `Windows`.\n\nAll `webpack2`-`webpack4` with contemporaneous loaders/plugins using `node 8.9`. And `webpack5` with latest loaders/plugins using `node 10.0`.\n\nRefer to `test` directory for full webpack configurations as used in automated tests.\n\nSome edge cases with `libsass` on `Windows` (see [troubleshooting](docs/troubleshooting.md) docs).\n\n### Known issues\n\nRead the [troubleshooting](docs/troubleshooting.md) docs before raising an issue.\n","readmeFilename":"README.md","_id":"resolve-url-loader@4.0.0-alpha.4","_nodeVersion":"8.16.2","_npmVersion":"6.14.7","dist":{"integrity":"sha512-xnQnJ/DlVVu7Y2rK9DeaUof2Jy/N1mi56QPY52aIYy8PbUxbaIrBVtVzHVW0g94hdniAFUkrU3bhVATuphEaww==","shasum":"af8c016c4f5cc835728e84b437e292f3063d73b8","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-4.0.0-alpha.4.tgz","fileCount":17,"unpackedSize":71979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXDORCRA9TVsSAnZWagAAKHAP/i4K8G17wD4x/FBy6lIC\natHdQUhDdD4pjgHOcfUKmWhATQw1KFsVw2v/gd/BLT6duwj8nm4IJTwVp6pv\nr5YfH/WvJqTjqYuMpgII3f4EP2Ky9ma8/VK3f6JFxLBaQ2sGEKd/+en0x1B9\n8amlDID+H58Hnk6MDrxFZh1IQdXr7qczhc6GQh4fwwY8APCsfs+DautlX3Ti\ngRSVSw11q6OOGwcyCluFaz/Lew0XdDZdBjELOAmIRLVc0ooTfzrJQPidZDhK\nYa1lTSywFmiB9xZbjneV9iDZsytRZDvQ6EZ3BRp/4yG7SXrrYHhmyDCzuoqP\nBGCedxL8uHLWDO8p41X3OBmj8s5pWnxhy/O85YSdx0V+2KS0GDIqIDqxKg1J\nWVurwSooGPnJcI/GG/mt4H8H489Y5Ij0tDr+rCykzS5zjAvFYZ5pKYLknwYc\nY5ngFd9G5Xe1vG71YoUx+KyAwFWZwwZrb8eBeSc2CdSdkzpMJQirXfH8f/w7\nTHG4a7iDEEeJpxcK7IO4caqsWwt0/xxOHiMRXBNykLTRLwGPBu+PjxoNwX4j\n29WEBh2ofDBBkjvzrES9WzOM04lJC0Z+VSmtayZrNr9GeuqGONmyoFpzDkNo\n8NQDS9jDe4p1v2TtpH0I8TzHrcEpxyEPliez0G/hdSFojyKBAdLlN6HDhepL\nPypI\r\n=rgDx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDwC1O9dhY+qOLzMkLXHOF+tj5jsI2KAq0Q73z7q4EXEAiEAsrCzu+9b9jHPLapaJKAqTHTP0PS4Dl6fT4SAUXCC8kU="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_4.0.0-alpha.4_1616655249308_0.40173610351018585"},"_hasShrinkwrap":false,"deprecated":"version 4 beta is now released"},"5.0.0-beta.1":{"name":"resolve-url-loader","version":"5.0.0-beta.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/v4-maintenance/packages/resolve-url-loader","engines":{"node":">=12"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^8.2.14","source-map":"0.6.1"},"readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nThis **webpack loader** allows you to have a distributed set SCSS files and assets co-located with those SCSS files.\n\n## Do you organise your SCSS and assets by feature?\n\nWhere are your assets?\n\n* ✅ I want my assets all over the place, next to my SCSS files.\n* ❌ My assets are in a single directory.\n\nHow complicated is your SASS?\n\n* ✅ I have a deep SASS composition with partials importing other partials.\n* ✅ My asset paths are constructed by functions or `@mixin`s.\n* ❌ I have a single SCSS file. The asset paths are just explicit in that.\n\nWhat asset paths are you using?\n\n* ✅ Fully relative `url(./foo.png)` or `url(foo.png)`\n* ❌ Root relative `url(/foo.png)`\n* ❌ Relative to some package or webpack root `url(~stuff/foo.png`)\n* ❌ Relative to some variable which is your single asset directory `url($variable/foo.png)`\n\nWhat webpack errors are you getting?\n\n* ✅ Webpack can't find the relative asset `foo.png` \uD83D\uDE1E\n* ❌ Webpack says it doesn't have a loader for `fully/resolved/path/foo.png` \uD83D\uDE15\n\nIf you can tick at least 1 item in **all of these questions** then use this loader. It will allow webpack to find assets with **fully relative paths**.\n\nIf for any question you can't tick _any_ items then webpack should be able to already find your assets. You don't need this loader. \uD83E\uDD37\n\nOnce webpack resolves your assets (even if it complains about loading them) then this loading is working correctly. \uD83D\uDC4D\n\n## What's the problem with SASS?\n\nWhen you use **fully relative paths** in `url()` statements then Webpack expects to find those assets next to the root SCSS file, regardless of where you specify the `url()`.\n\nTo illustrate here are 3 simple examples of SASS and Webpack _without_ `resolve-url-loader`.\n\n[![the basic problem](https://raw.githubusercontent.com/bholloway/resolve-url-loader/v4-maintenance/packages/resolve-url-loader/docs/basic-problem.svg)](docs/basic-problem.svg)\n\nThe first 2 cases are trivial and work fine. The asset is specified in the root SCSS file and Webpack finds it.\n\nBut any practical SASS composition will have nested SCSS files, as in the 3rd case. Here Webpack cannot find the asset.\n\n```\nModule not found: Can't resolve './cool.png' in '/absolute/path/.../my-project/src/styles.scss'\n```\n\nThe path we present to Webpack really needs to be `./subdir/cool.png` but we don't want to write that in our SCSS. \uD83D\uDE12\n\nLuckily we can use `resolve-url-loader` to do the **url re-writing** and make it work. \uD83D\uDE0A\uD83C\uDF89\n\nWith functions and mixins and multiple nesting it gets more complicated. Read more detail in [how the loader works](docs/how-it-works.md). \uD83E\uDD13\n\n## Getting started\n\n> **Upgrading?** the [changelog](CHANGELOG.md) shows how to migrate your webpack config.\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**⚠️ IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\n## Options\n\nThe loader should work without options but use these as required.\n\n| option      | type                       | default                                 |            |  description                                                                                                                                                                     |\n|-------------|----------------------------|-----------------------------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sourceMap` | boolean                    | `false`                                 |            | Generate an outgoing source-map.                                                                                                                                                 |\n| `removeCR`  | boolean                    | `true` Windows OS<br/>`false` otherwise |            | Convert orphan CR to whitespace.<br/>See known issues below.                                                                                                                     |\n| `debug`     | boolean                    | `false`                                 |            | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`                                 |            | Do **not** display warnings or deprecation messages.                                                                                                                             |\n| `root`      | string                     | _unset_                                 |            | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_                               | advanced   | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the [advanced features](docs/advanced-features.md) docs.                    |\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'`                             | deprecated | The css parser engine.<br/>Using this option produces a deprecation warning.                                                                                                     |\n\n## Limitations\n\n### Compatiblity\n\nTested `macOS` and `Windows`.\n\nAll `webpack2`-`webpack4` with contemporaneous loaders/plugins using `node 8.9`. And `webpack5` with latest loaders/plugins using `node 10.0`.\n\nRefer to `test` directory for full webpack configurations as used in automated tests.\n\nSome edge cases with `libsass` on `Windows` (see [troubleshooting](docs/troubleshooting.md) docs).\n\n### Known issues\n\nRead the [troubleshooting](docs/troubleshooting.md) docs before raising an issue.\n","readmeFilename":"README.md","_id":"resolve-url-loader@5.0.0-beta.1","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-MXkuP7+etG/4H96tZnbUOX9g2KiJaEpJ7cnjmVZUYkIXWKh2soTZF/ghczKVw/qKZZplDDjZwR5xGztD9ex7KQ==","shasum":"98f52693e21d45962d7e8b60811874b8d87192ec","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-5.0.0-beta.1.tgz","fileCount":19,"unpackedSize":111579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwU20CRA9TVsSAnZWagAASDwP/3jKKsQNnUcR1X6HKeoy\nmlz9iZFIFo+QBxjBLpo+XWS6Jil14XBqrkMpvV1uFJC0AiuUD6ZC7ebmTDjo\nQhn6XmFK9ICBmWCkSSeqxksjvETFP9ZAVoiek3PckBiBW7Hlr6SxtvfZmDmD\nkbB4HW7M1q/PK1u05sD47XYAl+siZ4+W7xo0Ztbriq43zWA77h1WUM9Ciq3m\npznQsHHGfBv9aSOFN2iga7/A99KL7UodnSnuhGAm10vBOEm6BZ+WFMR4rvYq\njv2OELPYHbsgNtvLSOqOvdEOYK6FZzzidpjHmrtW2NETKQadmbAYkYSRHiZZ\nTY75FIAV/ufQEfIFQcYkr0biL5SGvTI5RpalbQsN5IWYF5rJQ0MtsD9hHG/6\n7eSB8lHRR+zvcm91O2ypnhL4rhLsulzZij+Pjx5aIksaJ0Ic8zWRyL7rLOZZ\nd2Y+p+jou47/vHm9J5l+K7aOKeYVh0mn8ZOqedybiNEkuP42TZnimZJZhoQ+\nq3kklqN8AUtI/f7R4FVTTbh1mmAFRdK8CwZnv4cXeGihecQAwn0m4iEkHqO4\nhezb9kh1Kp2gLqKCOUB6fv3W0UX/ULEf5DPqffTcm+3rla8nqbGgGPdH7Be+\ntbyqGHHwJ5aHfdJ3wG/skAWnoFo5Kj/ciBdk8jRUfiCvU/RCB/0ymYy392KD\nh5gu\r\n=eIEA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUkBPKIdnesN95BctqRERIPPGlrbErzZw4vFMROggJ1AiEAxC0co7RRzDE0hiYPpwivDOIpdUm3P9vlGvcjCq6VAVY="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_5.0.0-beta.1_1623281076805_0.3248743737633739"},"_hasShrinkwrap":false,"deprecated":"version 5 is now released"},"4.0.0-alpha.3":{"name":"resolve-url-loader","version":"4.0.0-alpha.3","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git","directory":"packages/resolve-url-loader"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader/tree/master/packages/resolve-url-loader","engines":{"node":">=8.9"},"dependencies":{"adjust-sourcemap-loader":"^4.0.0","convert-source-map":"^1.7.0","loader-utils":"^2.0.0","postcss":"^7.0.35","source-map":"0.6.1"},"peerDependencies":{"rework":"1.0.1","rework-visit":"1.0.0"},"peerDependenciesMeta":{"rework":{"optional":true},"rework-visit":{"optional":true}},"scheme":"alstroemeria","readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nThis **webpack loader** allows you to have a distributed set SCSS files and assets co-located with those SCSS files.\n\n## Do you organise your SCSS and assets by feature?\n\nWhere are your assets?\n\n* ✅ I want my assets all over the place, next to my SCSS files.\n* ❌ My assets are in a single directory.\n\nHow complicated is your SASS?\n\n* ✅ I have a deep SASS composition with partials importing other partials.\n* ✅ My asset paths are constructed by functions or `@mixin`s.\n* ❌ I have a single SCSS file. The asset paths are just explicit in that.\n\nWhat asset paths are you using?\n\n* ✅ Fully relative `url(./foo.png)` or `url(foo.png)`\n* ❌ Root relative `url(/foo.png)`\n* ❌ Relative to some package or webpack root `url(~stuff/foo.png`)\n* ❌ Relative to some variable which is your single asset directory `url($variable/foo.png)`\n\nWhat webpack errors are you getting?\n\n* ✅ Webpack can't find the relative asset `foo.png` \uD83D\uDE1E\n* ❌ Webpack says it doesn't have a loader for `fully/resolved/path/foo.png` \uD83D\uDE15\n\nIf you can tick at least 1 item in **all of these questions** then use this loader. It will allow webpack to find assets with **fully relative paths**.\n\nIf for any question you can't tick _any_ items then webpack should be able to already find your assets. You don't need this loader. \uD83E\uDD37\n\nOnce webpack resolves your assets (even if it complains about loading them) then this loading is working correctly. \uD83D\uDC4D\n\n## What's the problem with SASS?\n\nWhen you use **fully relative paths** in `url()` statements then Webpack expects to find those assets next to the root SCSS file, regardless of where you specify the `url()`.\n\nTo illustrate here are 3 simple examples of SASS and Webpack _without_ `resolve-url-loader`.\n\n[![the basic problem](https://raw.githubusercontent.com/bholloway/resolve-url-loader/v4-development/packages/resolve-url-loader/docs/basic-problem.svg)](docs/basic-problem.svg)\n\nThe first 2 cases are trivial and work fine. The asset is specified in the root SCSS file and Webpack finds it.\n\nBut any practical SASS composition will have nested SCSS files, as in the 3rd case. Here Webpack cannot find the asset.\n\n```\nModule not found: Can't resolve './cool.png' in '/absolute/path/.../my-project/src/styles.scss'\n```\n\nThe path we present to Webpack really needs to be `./subdir/cool.png` but we don't want to write that in our SCSS. \uD83D\uDE12\n\nLuckily we can use `resolve-url-loader` to do the **url re-writing** and make it work. \uD83D\uDE0A\uD83C\uDF89\n\nWith functions and mixins and multiple nesting it gets more complicated. Read more detail in [how the loader works](docs/how-it-works.md). \uD83E\uDD13\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**⚠️ IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\n## Options\n\nThe loader should work without options but use these as required.\n\n| option      | type                       | default     |            |  description                                                                                                                                                                     |\n|-------------|----------------------------|-------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sourceMap` | boolean                    | `false`     |            | Generate an outgoing source-map.                                                                                                                                                 |\n| `removeCR`  | boolean                    | `false`     |            | Convert orphan CR to whitespace.<br/>See known issues below.                                                                                                                     |\n| `debug`     | boolean                    | `false`     |            | Display debug information.                                                                                                                                                       |\n| `silent`    | boolean                    | `false`     |            | Do **not** display warnings or deprecation messages.                                                                                                                             |\n| `root`      | string                     | _unset_     |            | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n| `join`      | function                   | _inbuilt_   | advanced   | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the [advanced features](docs/advanced-features.md) docs.                    |\n| `engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` | deprecated | The css parser engine.<br/>Using this option produces a deprecation warning.                                                                                                     |\n\n## Limitations\n\n### Compatiblity\n\nTested `macOS` and `Windows`.\n\nAll `webpack2`-`webpack4` with contemporaneous loaders/plugins using `node 8.9`. And `webpack5` with latest loaders/plugins using `node 10.0`.\n\nRefer to `test` directory for full webpack configurations as used in automated tests.\n\nSome edge cases with `libsass` on `Windows` (see [troubleshooting](docs/troubleshooting.md) docs).\n\n### Known issues\n\nRead the [troubleshooting](docs/troubleshooting.md) docs before raising an issue.\n","readmeFilename":"README.md","_id":"resolve-url-loader@4.0.0-alpha.3","_nodeVersion":"8.16.2","_npmVersion":"6.14.7","dist":{"integrity":"sha512-b7jWjZx/pYktdmiJr0L2Hk7wtkobdu4wt2PceoOHHQa2ABTze7zyVN30U6CW94v8b8o3EI600pNGEqQcj4BPMg==","shasum":"ebbd882a1c238582f55821b20c3c40f4d9825a4c","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-4.0.0-alpha.3.tgz","fileCount":17,"unpackedSize":70860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPgWXCRA9TVsSAnZWagAAR4wQAIMTHSJpD7wki8l5CVGh\nEKlozNH5mXTUoSh7Ui1J6AyBq4UcUpcyJ9wKLE5R06lR9+symExpH4upc7XX\nFE3zTcGr7isqK3NFveP8pQNgYeNtRaccVYM+zfsoI050tmIxNKp5euGl/8sV\njHRoHlPQcyfaBEjXzoFtyL1Qj90OlaQ+jtOP1GIjbsGoubQ5XrIux3wqUZdL\npd5qS+QK4hWO7KyMQoZJudTUuegMQtPT/T7z28wUuxoqUJ1S3iAxT9tYookP\np5G0/tZJ2VcJ5BgbvOkM2/fjWbBJOlG2jn1jjqHhFRXjjiPbKMQpe+9Yg/Vc\niVodHUmMqjWHODaKphmComO4SaMnoQ0rAK7Vu6yYWYopM5pPIVJihgdOWFNU\nEQMfK9oDOZPeaqX4cysR40SFUJfaejkzXgyA3xT/FxRfQcUtwNHkmjZGi83k\n+rBoji46c9Nrx9LFdbOvsYUkHoyOsfRo6ldvAJFR2DHg9hJ4GKnCczSXkDGm\nwAvOF69bWKG8wzGzgzuoitHDM4yHQLmkdTyk0JNaUsc7uw9CnBaVsERXHBW+\nsiEvgmcAIMq8Jj9mt36Q67eb10yRHlNvgmsAM2EZDDC1H4sGMou1eyhGtXSK\naA+6dHio2oa8lxlq1lDMXfd5qaWTNkt5f4U+QzbVdKRTN/20X0GwoK3AfWU2\nJaYm\r\n=N60l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA9h9seGqumzTyL2SB/6BS5ZvAoaQYdKyQUhaoC7hqRBAiEAlMVdstpJAbqRqs7c8Jm/vmVaG10ixMFKnUvKYmGK5SM="}]},"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_4.0.0-alpha.3_1614677398422_0.45089895899439436"},"_hasShrinkwrap":false,"deprecated":"version 4 beta is now released"},"3.0.0-alpha.2":{"name":"resolve-url-loader","version":"3.0.0-alpha.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","compose-function":"^3.0.3","convert-source-map":"^1.5.1","es6-iterator":"^2.0.3","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","postcss":"^7.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.7"},"readmeFilename":"README.md","readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option     | type                       | default     |          |  description                                                                                                                                                                     |\n|------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|`engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n|`sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n|`keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n|`debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n|`silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n|`root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n|`join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n|`absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNot that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested in `node 6.x` against `webpack1`-`webpack4` and a set of contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","_id":"resolve-url-loader@3.0.0-alpha.2","dist":{"shasum":"6b98afc305a72a410a9c894fe3f75627bc87ffc9","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.0.0-alpha.2.tgz","integrity":"sha512-JGVhnUguJqG992uEYGdV76E9F2BJvbFVPvDtTZYQDL+DWm+NDrGbE7oCrWWDapf3g+bqQVDoH7rQvQzFJ/UVDA==","fileCount":14,"unpackedSize":39343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbh0AxCRA9TVsSAnZWagAABGIP/iYOs91TZT1Ag+Ctd9uo\nKXoqJzLky00BXJei2COnm65KCzozQn5ydQEb8s2cN95ASnESEP2EnnXl40mN\n5heKS9WoPBfS/VSU77Fwd4XodhrYIRcILdW0xcZaAy11x9rUbqQ2pBHWbDXY\nroznhXPpjyuWS2eby4yh8K0ItfVaHhS+aPNzFVcEkb7S9VT6OEFj3Sz7MMSP\nsBij/keT6mm40Yyb0/m0c7/J41tHrgUD4bI45+tnUrM6pDCH4ApVMwIcVMiS\nqUuvLKQyayFXQjubRcbHpVO+N0X9ptzG6pou/JQTsxzwUrQF0SsveWR7c+DS\nuRf5Tpxo7bD+irDbAikjSlQWvOVjXRxsthpjvZTAKSYb+0dr3EPXAifpX2LR\n7cIhzShvZSJ5sJDibLq+beZbY9zzqzruOPLzNlA7zyWLzIfLfWyIC8PP5WhU\nfhm45koqLdXWyiWSMyHUIAI+/PJwEGnsmHeQfkn4YzOl9UNafp/TIN0JF3EU\nqby3rlt41B4mrBZEGALTSyQ7wv79tILCLUJjsgO7vrSxIAsKJYTx5RNmQ0h5\ngwxVfKM602Au6WtTohKMoXrNDi4V/0WzOlF1OS/EbhvZ28iSLgQs0RI102SD\nNgy5bnG5KSUh5TjIiNxh6c721aBzaQNcCK/d4yEp5uvEgqSzkAOhfzG8vhex\nB68D\r\n=eq5p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYi7Zue9DDZCPJueHniSPQE2MXD7Rp7YRZlRGYRLVaZQIgUg7kGH7ccBNgUaPUN0WXLDi8CwPWvP8xAhFabzNubbM="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.0.0-alpha.2_1535590449103_0.36192083953597765"},"_hasShrinkwrap":false,"deprecated":"version 3 is now released"},"3.0.0-alpha.1":{"name":"resolve-url-loader","version":"3.0.0-alpha.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","files":["index.js","lib"],"scripts":{"lint":"jshint --exclude **/node_modules index.js lib"},"dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.1.0","compose-function":"^3.0.3","convert-source-map":"^1.5.1","es6-iterator":"^2.0.3","loader-utils":"^1.1.0","lodash.defaults":"^4.0.0","postcss":"^7.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.7"},"readmeFilename":"README.md","readme":"# Resolve URL Loader\n\n[![NPM](https://nodei.co/npm/resolve-url-loader.png)](https://www.npmjs.com/package/resolve-url-loader)\n\nA **webpack loader** that rewrites relative paths in url() statements based on the original source file.\n\n## Why?\n\n> **TL;DR** Making Sass work with a feature based project structure\n\nWith webpack you can import a `.scss` file (or some other compile-to-css file) and have a loader take care of the transpilation. With **Sass** (at least) this file can include a whole tree of source files into a single output.\n\nWe can imagine a virtual `.css` file at the location the original `.scss` import. Webpack expects any **assets** found in this CSS to be relative to the original imported file.\n\nFor projects with a **feature based structure** this will be a problem, since you will want to **co-locate** your assets with your `.scss` partials.\n\n**Example** - webpack imports `index.scss` which includes feature `foo`.\n\n| files                              | content                |\n|------------------------------------|------------------------|\n|src /                               |                        |\n|&nbsp;&nbsp;index.scss              | `@import features/foo` |\n|&nbsp;&nbsp;features /              |                        |\n|&nbsp;&nbsp;&nbsp;&nbsp;_foo.scss   | `url(bar.png)`         |\n|&nbsp;&nbsp;&nbsp;&nbsp;bar.png     |                        |\n\nIntuatively we want the assets in partial `_foo.scss` relative to the partial, meaning `url(bar.png)`.\n\nHowever webpack's `css-loader` will encounter `url(bar.png)` and expect to find `src/bar.png`. This is **not** the correct location and the build will fail.\n\nThankfully `resolve-url-loader` provides the \"url rewriting\" that Sass is missing. Use it _after_ the transpiler (such as [sass-loader](https://www.npmjs.com/package/sass-loader)). It makes use of the [source-map](http://www.mattzeunert.com/2016/02/14/how-do-source-maps-work.html) to find the original source file and rewrite `url()` statements.\n\nIn our example it rewrites `url(bar.png)` to `url(features/bar.png)` as required.\n\n## Version 3\n\n**Features**\n\n* Use `postcss` parser by default. This is long overdue as the old `rework` parser doesn't cope with modern css.\n\n* Lots of automated tests running actual webpack builds. If you have an interesting use-case let me know.\n\n**Breaking Changes**\n* Multiple options changed or deprecated.\n* Removed file search \"magic\" in favour of `join` option.\n* Errors always fail and are no longer swallowed.\n* Processing absolute asset paths requires `root` option to be set.\n\n**Migrating**\n\nInitially set option `engine: 'rework'` for parity with your existing build. Once working you can remove this option **or** set `engine: 'postcss'` explicitly.\n\nRetain `keepQuery` option if you are already using it.\n\nThe `root` option now has a different meaning. Previously it limited file search. Now it is the base path for absolute or root-relative URIs, consistent with `css-loader`. If you are already using it you can probably remove it.\n\nIf you build on Windows platform **and** your content contains absolute asset paths, then `css-loader` could fail. The `root` option here may fix the URIs before they get to `css-loader`. Try to leave it unspecified, otherwise (windows only) set to empty string `root: ''`.\n\n## Getting started\n\n### Install\n\nvia npm\n\n```bash\nnpm install resolve-url-loader --save-dev\n```\n\nvia yarn\n\n```bash\nyarn add resolve-url-loader --dev\n```\n\n### Configure Webpack\n\nThe typical use case is `resolve-url-loader` between `sass-loader` and `css-loader`.\n\n**:warning: IMPORTANT**\n* **source-maps required** for loaders preceding `resolve-url-loader` (regardless of `devtool`).\n* Always use **full loader package name** (don't omit `-loader`) otherwise you can get errors that are hard to debug.\n\n\n``` javascript\nrules: [\n  {\n    test: /\\.scss$/,\n    use: [\n      ...\n      {\n        loader: 'css-loader',\n        options: {...}\n      }, {\n        loader: 'resolve-url-loader',\n        options: {...}\n      }, {\n        loader: 'sass-loader',\n        options: {\n          sourceMap: true,\n          sourceMapContents: false\n        }\n      }\n    ]\n  },\n  ...\n]\n```\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n## Options\n\n| option     | type                       | default     |          |  description                                                                                                                                                                     |\n|------------|----------------------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|`engine`    | `'rework'`<br/>`'postcss'` | `'postcss'` |          | The css parser engine.                                                                                                                                                           |\n|`sourceMap` | boolean                    | `false`     |          | Generate a source-map.                                                                                                                                                           |\n|`keepQuery` | boolean                    | `false`     |          | Keep query-string and/or hash suffixes.<br/>e.g. `url('./MyFont.eot?#iefix')`<br/>Be aware downstream loaders may remove query-string or hash.                                   |\n|`debug`     | boolean                    | `false`     |          | Display debug information.                                                                                                                                                       |\n|`silent`    | boolean                    | `false`     |          | Do **not** display warnings.                                                                                                                                                     |\n|`root`      | string                     | _unset_     |          | Similar to the (now defunct) option in `css-loader`.<br/>This string, possibly empty, is prepended to absolute URIs.<br/>Absolute URIs are only processed if this option is set. |\n|`join`      | function                   | _inbuilt_   | advanced | Custom join function.<br/>Use custom javascript to fix asset paths on a per-case basis.<br/>Refer to the default implementation for more information.                            |\n|`absolute`  | boolean                    | `false`     | useless  | Forces URIs to be output as absolute file paths.<br/>This is retained for historical compatibility but is likely to be removed in the future, so let me know if you use it.      |\n\n## How it works\n\nA [rework](https://github.com/reworkcss/rework) or [postcss](https://postcss.org/) process is run on incoming CSS.\n\nEach `url()` statement may imply an asset or may not. Generally only relative URIs are considered. However if `root` is specified then absolute or root-relative URIs are considered.\n\nFor each URI considered, the incomming source-map is consulted to determine the original file where the `url()` was specified. This becomes the `base` argument to the `join` function, whose default implementation is something like the following pseudocode.\n\n```javascript\njoin(uri, base?) =>\n  compose(path.normalize, path.join)(base || options.join, uri);\n```\n\nNot that for absolute `uri` then the `base` is absent. In the default implementation the `root` option is used instead.\n\nFull file search has been discontinued in version 3, however it is possible to specify a custom `join` function.\n\nThere is the added complexity that `base` may be an iterator. However `resolve-url-loader` exports some useful functions that makes a custom `join` easier.\n\nFollowing `join` the URI has become an absolute path. Back-slashes are then converted to forward-slashes and the path is made relative to the initial resource being considered.\n\nUse the `debug` option to see verbose information from the `join` function.\n\n## Limitations / Known-issues\n\n### Mixins\n\nWhere `url()` statements are created in a mixin the source file may then be the mixin file, and not the file calling the mixin. Obviously this is **not** the desired behaviour.\n\nEnsure this is indeed the problem as there are many ways to misconfigure webpack. Try inlining the mixin and check that everything works correctly. However ultimately you will need to work around this.\n\n### Compatiblity\n\nTested in `node 6.x` against `webpack1`-`webpack4` and a set of contemporaneous loaders/plugins.\n\nRefer to `test` directory for full webpack configurations (as used in automated tests).\n\n### Absolute URIs\n\nBy \"absolute URIs\" we more correctly mean assets with root-relative URLs or absolute file paths.\n\n> Absolute paths are **not** processed by default\n\nThese are **not** processed unless a `root` is specified.\n\nHowever recall that any paths that _are_ processed will have windows back-slash converted to posix forward-slash. This can be useful since some webpack loaders can choke on windows paths. By using `root: ''` then `resolve-url-loader` effectively does nothing to absolute paths except change the back-slash.\n\nIt can also be useful to process absolute URIs if you have a custom `join` function and want to process all paths. However this is perhaps better done with some separate `postcss` plugin.\n\n## Getting help\n\nWebpack is difficult to configure but extremely rewarding.\n\n> Remove this loader and make sure it is not a problem with a different loader in your config (most often the case)\n\nI am happy for you to **raise an issue** to ask a question regarding this package. However ensure you follow the check-list first.\n\nCurrently I am **not** [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) this loader in my own work. I may rely on you being able to isolate the problem in a simple example project and to help debug.\n\nI am happy this loader helps so many people. Open-source is provided as-is so please try not project your frustrations. There are some really great people who follow this project who can help.\n\n### Issues\n\nBefore raising a new issue:\n\n* Remove this loader and make sure it is not a problem with a different loader in your config (most often the case).\n* Check [stack overflow](http://stackoverflow.com/search?q=resolve-url-loader) for an answer.\n* Review [previous issues](/issues?utf8=%E2%9C%93&q=is%3Aissue) that may be similar.\n* Be prepared to create a **simple open-source project** that exhibits your problem, should the solution not be immediately obvious to us.\n* (ideally) Debug some code and let me know where the problem sits.\n\n### Pull requests\n\nI am happy to take **pull requests**, however:\n\n* Ensure your change is **backwards compatible** - not all users will be using the same version of Webpack or SASS that you do.\n* Follow the **existing code style**. I know it is old but it maintains backwards compatibility.\n* Uncomon use-cases/fixes should be opt-in per a new **option**.\n* Do **not** overwrite existing variables with new values. I would prefer your change variable names elsewhere if necessary.\n* Add **comments** that describe why the code is necessary - i.e. what edge case are we solving. Otherwise we may rewrite later and break your use-case.\n","_id":"resolve-url-loader@3.0.0-alpha.1","dist":{"shasum":"1506fbe22d7a141a6c731aee2246e6183f6e8f02","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-3.0.0-alpha.1.tgz","integrity":"sha512-cjhD8xvYU9ISgeiLMj61ZQZY0bc10nb9Y7TBwVcZpy6xMzZiMMD33gb1+UtJtD4iPfBsct3tiWTHMNi1w5IYjg==","fileCount":14,"unpackedSize":39297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbeMngCRA9TVsSAnZWagAArlEP/Aufp4EtQAq4b/a2XCHA\nl9mlGmb41N6wRYssvsdE3TjXII0x0HVU99SvUgtdqeJUbPFZJ3T/8px2zXlf\nciFgDkYdi+jQUqGQAhhNsyIsIOHrIksRG4GBnMxT2z9/TIBH3ei2Y74RULK4\ngVlXFPs0hciWIdDQRvXb8vLyWm64bo5Dx3zXkR40LMWhkzudF2eqjEP4Qv6t\n1gLEBtyDWKYpi+W3lKaQrMCA8vZs8rSobHIIoKqQCd+AcRYwUMI61/oUO8Oa\nYz2jAZ2EYhGNrWwWzKfIHIujOE9xZzqk5H0DLh+7VpkbC/Jap6n3it4mVWA8\nPXH2+9NJQDvEkUvSN4E18qigUD5iuQOSogpwl8YHESFSLXbCMIJO5/Z0ceLv\npLvYVIx9fh0CmWdyMDbgEcNRqLkdwhYhx0enKdcC4Hwn1I2R/uIHkG4D0ZWq\nDWNgP0msGdqD8N3qNVsSrhoIJ7fCH3rlDUr4Ziuhq66KEyQx2qTK1UiXEVfG\nboIhwxZZabjBJSxBlz/dkadJq+7QYcQnYu5z7ybSYQ/CUO+95T2Ji92htj5i\nK8yGT3TzihJsRs7XfgyXw5wQSwYUhB+UxklQKuBiftg7z6vN3+uSCcgQIFax\nCewH+muTXljekfuwK+G/Wz819Kko+zmJyhbSCqgFRFRIgoJVFzFsnxIq4TYh\n2Q+h\r\n=zLZj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMfq8cOrvbg0+ebOv756dmMIc+dUTnPgphPWoRiLMlFgIgRKoBYmOBCIBCPRrqFj60hig7OGTxuBXNt/MLZBvk6KY="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader_3.0.0-alpha.1_1534642656407_0.7031825723651881"},"_hasShrinkwrap":false,"deprecated":"version 3 is now released"},"2.0.2":{"name":"resolve-url-loader","version":"2.0.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^1.0.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"4d8df6d250ef870b70fdf125d041eaa95f597db1","_id":"resolve-url-loader@2.0.2","scripts":{},"_shasum":"c465e97ea0a4791f3961f766cea775ff2e3ceb8c","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.4.7","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"c465e97ea0a4791f3961f766cea775ff2e3ceb8c","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.0.2.tgz","integrity":"sha512-/uVgfLt3pw1+euKQC1VdCnackqJzPJ6d4l9hgZFqc3i6+CkhhD0EfjrhSsz73NmY9zJSlu0t3bjwrclH5cOBgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDATldhmx3BTZdEoHy7ymQSYUKAShp8nJ1HG8KA0YG2nAiEAka+jZiZSSmzMgpTC02db2jUXU5OWTQAI3fajCQW8r7M="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/resolve-url-loader-2.0.2.tgz_1488522212241_0.2058443962596357"},"directories":{}},"2.2.0":{"name":"resolve-url-loader","version":"2.2.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^1.0.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"0ed4f10b554a96d6cef24196812d548d2ff7fc62","_id":"resolve-url-loader@2.2.0","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-ivEo27PgDKAm3Iwzh/ObwcDrKT2O25xWBIQX6HJVVfaxYWNNW6euPMmMFzpQUZo03+iv2TloBgffEk1ULnEPdg==","shasum":"9662feaa11debf7cf8e3feb91dae9544aa7dee88","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD23suNiWNx4bL5aWLG+DKZ4z/cmTodjBcEds1a0dAY2AIhAPb+D3cpm+WZKe96dF1//BvymjMNngCjidy+435lG4Bi"}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader-2.2.0.tgz_1509313318981_0.41878102673217654"},"directories":{}},"2.0.3":{"name":"resolve-url-loader","version":"2.0.3","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^1.0.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"00fe51b9e42f5b1044abaf66c5bd4a1d10ec6750","_id":"resolve-url-loader@2.0.3","scripts":{},"_shasum":"f54cd1b040e8f0ab72b2cb32c9fbb8544152d9e9","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"f54cd1b040e8f0ab72b2cb32c9fbb8544152d9e9","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.0.3.tgz","integrity":"sha512-rg4gkV2R28LIu23ndMiMHSLicNk3Wvr6sDKwY2rcgdGqaJDCGIP6c7PlhMl1RYGM2wl6/7z4Mn4t8eiq0l1J5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqX2iz4tZkNGZGi1NxAukVWRu0P+61bbn32QGpXarx1AiEA92VGJAC71R70GP5wAhPSZlN/4FS1r1fph1MXDk/phz8="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader-2.0.3.tgz_1497603384110_0.6417078943923116"},"directories":{}},"2.2.1":{"name":"resolve-url-loader","version":"2.2.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"adjust-sourcemap-loader":"^1.1.0","camelcase":"^4.0.0","convert-source-map":"^1.1.1","loader-utils":"^1.0.0","lodash.defaults":"^4.0.0","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.5.6","urix":"^0.1.0"},"gitHead":"b56f1887fa9d45edd31cafd01e0370ae58ad2733","_id":"resolve-url-loader@2.2.1","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"integrity":"sha512-ywToZt/yttp4qG/SiiGMLAgaGuSaWSujAaf3WCadXehvQLxIgKFmMOSegaoH9Laa70Ayl4kti0zCAqLR48H/Mw==","shasum":"13a1396fb773edf959550e400e688f5ed32548bf","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-2.2.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHYVRw/Bs3+f4K+O3tvKO6CHG1xkxNpjlJVJ2Oo/1U1JAiBx6BZD9E4e5TPFNI0kWqF3i8NdXOx1xGidsk5fwamggA=="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resolve-url-loader-2.2.1.tgz_1512941005594_0.5993196796625853"},"directories":{}},"1.0.3":{"name":"resolve-url-loader","version":"1.0.3","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"loader-utils":"^0.2.11","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"a23a66ff6c5e0ec9055544d1d8d5a23488d42721","_id":"resolve-url-loader@1.0.3","_shasum":"8995884c574361204b45a06ebfe4e6b37e161fc9","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"8995884c574361204b45a06ebfe4e6b37e161fc9","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.0.3.tgz","integrity":"sha512-4W28Y6A1fxaakYK1rQ+xocJBrjaPpuOrKp892MuaTETvkFCdmmckpJvJRJexhgYvKhfFnkfWfF6LZ1QmZdx93w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEWugAiUScaYQMDxK+VkFO/6dgJqXYZS26O/JhClTuZ2AiEA+Q1G6Wc32rYsCmpbvWrHDrDdnbu/1naI7PnE3LOHw0A="}]},"directories":{}},"1.4.0":{"name":"resolve-url-loader","version":"1.4.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"1913c891d6fd05ec7cc6d94378d8d099ac2bd00b","_id":"resolve-url-loader@1.4.0","scripts":{},"_shasum":"d6ef46c586c0ea48789760f5c30461980a4e49cf","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"d6ef46c586c0ea48789760f5c30461980a4e49cf","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.4.0.tgz","integrity":"sha512-ws9LVKn3xJip4f+2WwweZFUitFF1PrUMA2tdGXxfZvGSwDUF/V/tK9SEitxRGG5OuYlj/HoDtjZaATTOWk0gXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2WfEDAsuW0ONE43zqyJWv/ZNyxpHwzz9Nix+AClX4JQIgYv2Rpimkt1s7orLE0vyUlhetstfXxeqDugoCSRKKs0A="}]},"directories":{}},"1.4.1":{"name":"resolve-url-loader","version":"1.4.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"2e8589c26308f7768bb69fe89ead9cbd245f764f","_id":"resolve-url-loader@1.4.1","scripts":{},"_shasum":"68a07969960dbc0c61aa15a211f30753e2e2a15b","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"68a07969960dbc0c61aa15a211f30753e2e2a15b","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.4.1.tgz","integrity":"sha512-w16ZaXcnoKHFbgo39L8RL+3N+ETjfXFhe2cN3b0JIba3kMHD184YmRDTLnAOehqfI9efUHRHOEog5HJrjbmxGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUx0u6jULau9hSNpqATxNWzyeaIUMy/GWr/sSXhDWEVAIgeQcOGWM+cM2HE0rmqCN6fipm9TTV38teFTxQNxKVq7o="}]},"directories":{}},"1.4.2":{"name":"resolve-url-loader","version":"1.4.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"a8839876a61163d29883efa4d0536239c4e3a129","_id":"resolve-url-loader@1.4.2","scripts":{},"_shasum":"6a42a5c965da6d6325c377eebd3aeedb61cd147a","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"6a42a5c965da6d6325c377eebd3aeedb61cd147a","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.4.2.tgz","integrity":"sha512-DA2Yjckipd+JpWpo1iL0BhCbfvO/EBMlsXtgxMmBDdKBJvCaOOu4UrtJnUNlaqhd/Lcg/V/VnvFw2Z7wxZisJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHXXp45Ju77XTEz94VD++Tru+EkDOiXKJg0rsAz/xE4wIhAPUZhYO7vc26PQkMEJivaoeJ6vQlB+Upx1jQaQIH+YVM"}]},"directories":{}},"1.6.0":{"name":"resolve-url-loader","version":"1.6.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43","urix":"^0.1.0"},"gitHead":"89d27660bcb3240f5bef5339189d626ba11b4257","_id":"resolve-url-loader@1.6.0","scripts":{},"_shasum":"5444d804557d2daa5510224842e5b10ee7f83791","_from":".","_npmVersion":"3.10.3","_nodeVersion":"4.4.7","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"5444d804557d2daa5510224842e5b10ee7f83791","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.6.0.tgz","integrity":"sha512-l4vMkIUcFMu27PfG1fDkCbFmmiITNihV73jOSSnoRtlJDPAZ1G8A4zeWAlN2L8xoLJinOGaXM2/kn3DQuL87Ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUHwJtWWcNJUsyDs5sbQcP8n27nUqGCdbUPEP4Fg4USAIhAM7aAsffKM9ctDg9QDA1E2WimCdkGWb9wgILqzhMxkpt"}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/resolve-url-loader-1.6.0.tgz_1467767744024_0.1863004353363067"},"directories":{}},"1.4.3":{"name":"resolve-url-loader","version":"1.4.3","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"c195da9e1c36c3e70f5b39f355da3828f63cf383","_id":"resolve-url-loader@1.4.3","scripts":{},"_shasum":"c2d3877e10a0f890a6a3f5a00c32f8507ddfba15","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"c2d3877e10a0f890a6a3f5a00c32f8507ddfba15","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.4.3.tgz","integrity":"sha512-BP4BDkK+obRky+6MMyqbaqeZLWndaSM3r1HR6NF0C8ysrh2Am+nqbYyJ7yPu1jvuR3NiHfDaQN1CVrj/eI7N/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAehn982dMH0FTIv1OwHY9+AfGmW9o0GPfkipfVzTGDgIgLut4LK0zObDYs3nTZjIb9UFgNwCyF+NNuzTk4nFL99A="}]},"directories":{}},"1.6.1":{"name":"resolve-url-loader","version":"1.6.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43","urix":"^0.1.0"},"gitHead":"84f148f37cb6e5adbe82913267816a935e3a96b6","_id":"resolve-url-loader@1.6.1","scripts":{},"_shasum":"4a6e03c74dd38d5dfddf0f404b475d6e90025635","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.4.7","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"dist":{"shasum":"4a6e03c74dd38d5dfddf0f404b475d6e90025635","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.6.1.tgz","integrity":"sha512-IACz54sjwz65SO2o6QxIJpAJd1OEcW0ZzrIymunp4LRe9C6/ONW2szEXrzZaHFD/xOWEa2jeF4MpnWjtt2DwuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG7zLbqtuuD2AVwe8Wi7CuDrTa1UbPnWFbc/beXlrDePAiB+CphwR9eh5thNyY0eKnwz8dKtV9au8MsViAhqrfaE+w=="}]},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/resolve-url-loader-1.6.1.tgz_1481241063389_0.830287478165701"},"directories":{}},"1.4.4":{"name":"resolve-url-loader","version":"1.4.4","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"camelcase":"^1.2.1","convert-source-map":"^1.1.1","loader-utils":"^0.2.11","lodash.defaults":"^3.1.2","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"5fdfd8c37c4e94797589e03371019918b6a9d2b0","_id":"resolve-url-loader@1.4.4","scripts":{},"_shasum":"10ace36d3ec2605d1fc435f4d8651030a4ced5fa","_from":".","_npmVersion":"3.8.6","_nodeVersion":"4.4.0","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"10ace36d3ec2605d1fc435f4d8651030a4ced5fa","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.4.4.tgz","integrity":"sha512-zHBXYFzxjqpU15MxY2bqbu1IG5xMOKoSKH2w/BkNyo8RYVUv/06Vd/t6Ku3jv5JmaMY1GqQDSJUxqNvXvIWBEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIjMPD9+KoqnYSBetXjmPJ0Cubnp9U8sGCKKpMZzJ6BwIhAMXELd9KYdbDPJiAIVA56RgCq85q48Dqk45W3lJTnOh7"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/resolve-url-loader-1.4.4.tgz_1466569392272_0.2346764167305082"},"directories":{}},"1.0.0":{"name":"resolve-url-loader","version":"1.0.0","description":"Webpack loader that resolves an absolute path of url() statements based on the original file","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"4539e3243c4db0aeab8eebf882abadfdb1da8dd4","_id":"resolve-url-loader@1.0.0","_shasum":"3ab47e8d753f2900691042d1e40a366df140b60e","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"3ab47e8d753f2900691042d1e40a366df140b60e","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.0.0.tgz","integrity":"sha512-hJ/qgB7bQw3PDp3R7qTrNXndZqrji46p6IN/gzdVeXiX12+d7X5JT7ckKk8gcIn1DABqKvwAjr2OrTqClRtPkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbg+7zQdo4g1BUBEwHEDAmI95gMD92qHoQkcKPqsosRAIhAMIaK5MHW/RJ+Pm9H+HYN7o1lurgJN0pSuP/Z1jj0miX"}]},"directories":{}},"1.0.1":{"name":"resolve-url-loader","version":"1.0.1","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"3901c4d903e9d3f9c8793540b8a070186638d909","_id":"resolve-url-loader@1.0.1","_shasum":"6d68404177ad21db29273fd42e515a3406241ee6","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"6d68404177ad21db29273fd42e515a3406241ee6","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.0.1.tgz","integrity":"sha512-BFDzXswrleszuN+b/ZMZiyGHj8B4qP9PGwCu6/P6WU+8pZwakdIY4rT6SmZ4eS3yiv+ai0OMo9IcHeSmMqS99w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGiYspS7gYmOqLqW9juO3M+wzVyhJW1k4dUvOLTXOxGlAiBTJU3hNPz7cv3MEA8WbVrHZREcfddCkZXvN+O6vXQQAw=="}]},"directories":{}},"1.0.2":{"name":"resolve-url-loader","version":"1.0.2","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"e8687d1891d7070e9724277b9977d73c62515dcf","_id":"resolve-url-loader@1.0.2","_shasum":"5a45db5b0c72d666cf5b127b2e668b6244d51a2b","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"5a45db5b0c72d666cf5b127b2e668b6244d51a2b","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.0.2.tgz","integrity":"sha512-HMc5YdY+mirgikgHm3y2WjvFp+cVDZb166k9qzJj4v661J9VEM8SpPhdN6Fs6B7W1qb8js9+1LV/GQBBWJdVWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxqYVHGO+Vk1QzNtgZEZk8eP+xrtD69OIwZ47wczIg6AiBr9q0bswruQoHyvPX8UQpOUk2GZKPdwtq6zVviK3T7sQ=="}]},"directories":{}},"1.2.0":{"name":"resolve-url-loader","version":"1.2.0","description":"Webpack loader that resolves relative paths in url() statements based on the original source file","main":"index.js","repository":{"type":"git","url":"git+https://github.com/bholloway/resolve-url-loader.git"},"keywords":["webpack","loader","css","normalize","rewrite","resolve","url","sass","relative","file"],"author":{"name":"bholloway"},"license":"MIT","bugs":{"url":"https://github.com/bholloway/resolve-url-loader/issues"},"homepage":"https://github.com/bholloway/resolve-url-loader","dependencies":{"convert-source-map":"^1.1.1","loader-utils":"^0.2.11","rework":"^1.0.1","rework-visit":"^1.0.0","source-map":"^0.1.43"},"gitHead":"3fd7cfd899d3e8ac52ede78dd42abd465b9fcee2","_id":"resolve-url-loader@1.2.0","scripts":{},"_shasum":"38b779937ea5c54a843d1024bcfbdb4c0d29c7f9","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.36","_npmUser":{"name":"bholloway","email":"npm@bholloway.com"},"maintainers":[{"name":"bholloway","email":"npm@bholloway.com"}],"dist":{"shasum":"38b779937ea5c54a843d1024bcfbdb4c0d29c7f9","tarball":"https://devel.data-in-motion.biz/nexus/repository/npm-group/resolve-url-loader/-/resolve-url-loader-1.2.0.tgz","integrity":"sha512-dlJKdOHnPeXqYD2T6S2vuwoAVFJh6mf72MqMXxO42XRrE8zgR51YKNpZI4C/qKBNTmlUGBzb1n5ftYJUA77w3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5Bs41gCQgE1XqA6TWvo98DUph48lUcv8j0+jUiJn5wwIhAKLgc6hD1aZHSPgRnHhuG9DfLh9FYpUUu+f6dkc3k/q4"}]},"directories":{}}},"name":"resolve-url-loader","time":{"4.0.0-beta.1":"2021-03-30T22:59:42.078Z","3.1.4":"2021-06-22T02:01:48.751Z","modified":"2025-05-13T17:20:15.674Z","4.0.0-beta.2":"2021-04-30T10:51:26.913Z","3.1.5":"2022-12-02T07:42:24.047Z","3.1.0":"2019-04-03T22:03:52.533Z","3.1.1":"2019-11-10T01:13:26.426Z","3.1.2":"2020-10-20T10:07:38.355Z","3.1.3":"2021-05-01T09:38:40.270Z","2.1.0":"2017-06-24T12:10:53.591Z","created":"2015-08-13T06:34:07.386Z","2.3.1":"2018-09-08T07:25:48.203Z","2.3.2":"2019-02-16T08:12:06.409Z","2.1.1":"2017-10-09T20:42:37.281Z","2.3.0":"2018-03-04T09:44:30.078Z","3.1.0-beta.1":"2019-02-25T20:21:33.025Z","1.3.0":"2015-10-19T10:24:35.873Z","1.3.1":"2015-10-28T23:46:24.902Z","1.3.2":"2015-10-29T23:02:11.822Z","1.5.0":"2016-07-04T11:54:39.765Z","3.0.0-beta.1":"2018-09-07T14:20:25.547Z","5.0.0":"2022-01-17T21:55:09.985Z","1.1.0":"2015-08-24T02:00:18.273Z","4.0.0":"2021-05-10T03:16:06.747Z","3.0.0":"2018-09-14T02:53:55.263Z","3.0.1":"2019-02-16T07:06:41.038Z","0.0.1-experiment-postcss":"2018-05-15T09:01:24.747Z","2.0.0":"2017-02-16T06:52:24.469Z","2.0.1":"2017-03-01T21:06:52.838Z","5.0.0-alpha.1":"2021-05-20T11:29:52.443Z","4.0.0-alpha.2":"2021-03-02T08:57:41.654Z","4.0.0-alpha.1":"2019-10-01T22:26:44.377Z","4.0.0-alpha.4":"2021-03-25T06:54:09.471Z","5.0.0-beta.1":"2021-06-09T23:24:36.947Z","4.0.0-alpha.3":"2021-03-02T09:29:58.832Z","3.0.0-alpha.2":"2018-08-30T00:54:09.262Z","3.0.0-alpha.1":"2018-08-19T01:37:36.515Z","2.0.2":"2017-03-03T06:23:32.472Z","2.2.0":"2017-10-29T21:41:59.091Z","2.0.3":"2017-06-16T08:56:24.224Z","2.2.1":"2017-12-10T21:23:25.702Z","1.0.3":"2015-08-20T21:27:21.566Z","1.4.0":"2015-11-04T09:34:46.091Z","1.4.1":"2015-11-06T12:23:13.009Z","1.4.2":"2015-11-06T12:48:34.581Z","1.6.0":"2016-07-06T01:15:47.604Z","1.4.3":"2015-12-09T10:29:52.621Z","1.6.1":"2016-12-08T23:51:03.616Z","1.4.4":"2016-06-22T04:23:12.837Z","1.0.0":"2015-08-13T06:34:07.386Z","1.0.1":"2015-08-13T07:21:53.742Z","1.0.2":"2015-08-13T07:46:16.126Z","1.2.0":"2015-09-15T23:53:52.671Z"},"readmeFilename":"README.md","homepage":"https://github.com/bholloway/resolve-url-loader/tree/v3-maintenance/packages/resolve-url-loader"}