Version 1.0.6
@stackline/resolve-url-loader
Compatibility-first webpack Sass URL rebasing loader with maintained packaging and first-party types
Installation
npm install @stackline/resolve-url-loader@1.0.6Node.js: >=12. Read the compatibility and maintenance notes before migrating.
Usage and API
@stackline/resolve-url-loader
Compatibility-first webpack Sass URL rebasing loader with maintained packaging and first-party types.
Documentation | npm | Issues | Repository
Current package version: 1.0.6
Why this package?
A compatibility-first maintained continuation of resolve-url-loader@5.0.0.
It keeps the callable CommonJS webpack loader and its join helpers, while adding
an ESM facade, first-party TypeScript declarations, packed deep entries, and a
targeted fix for Windows drive paths decoded from file:///D:/... source-map
URLs.
This project is independent of and is not endorsed by Ben Holloway or the upstream project. The upstream MIT license and attribution are preserved.
Compatibility
| Item | Value |
|---|---|
| Package | @stackline/resolve-url-loader@1.0.6 |
| Node.js runtime | >=12 |
| CommonJS / primary entry | ./index.js |
| ES module entry | ./index.mjs |
| Type declarations | ./index.d.ts |
Installation
Install
npm install @stackline/resolve-url-loader
Existing source can retain the historical package key with an npm alias:
npm install resolve-url-loader@npm:@stackline/resolve-url-loader
Usage
Use it immediately after sass-loader, with source maps enabled throughout:
module.exports = {
devtool: 'source-map',
module: {
rules: [{
test: /\.scss$/,
use: [
'css-loader',
'@stackline/resolve-url-loader',
{ loader: 'sass-loader', options: { sourceMap: true } }
]
}]
}
}
The upstream root, silent, removeCR, debug, sourceMap, and join
options are unchanged. Query strings and fragments are always retained.
The runtime dependency graph is exact, recursively reviewed, and audit-clean.
The archived loader-utils project is replaced by the maintained
@stackline/loader-utils compatibility fork; no abandoned package remains in
the production graph.
Features and Integrations
ESM and join helpers
import loader, { defaultJoin, asGenerator } from '@stackline/resolve-url-loader'
CommonJS remains callable and carries the same five enumerable helper properties:
const loader = require('@stackline/resolve-url-loader')
const customJoin = loader.createJoinFunction('custom', implementation)
No restrictive exports map is used, so historical packed lib/* imports
continue to resolve. See COMPATIBILITY_CONTRACT.md,
MIGRATION.md, and the retained upstream guides in docs.
Security
Review inputs and the package-specific compatibility limits before processing untrusted data. Report suspected vulnerabilities as described in the security policy.
Local Development
git clone https://github.com/alexandroit/stackline-resolve-url-loader.git
cd stackline-resolve-url-loader
npm ci
npm run verify
Release tooling uses Node.js 24.20.0 and npm 11.19.0. The consumer runtime contract remains the one documented above.
Consumer Smoke Test
Run the repository's existing consumer/package check after installing development dependencies:
npm run test:smoke
Release Checklist
Run npm run verify and inspect the package contents before release. Publish a new version through the GitHub Actions publishing workflow, using the SHA-512 digest of the reviewed tarball. Verify the exact published version, tarball integrity, and npm provenance after the run.
License
MIT. See the license for the complete terms.
Original authorship and third-party attribution are preserved in NOTICE.
Dependency maintenance for this release is documented in DEPENDENCY_UPDATES.md.
Credits and original authors
- Stackline Maintainers.
- Ben Holloway.
- Copyright (c) 2016 Ben Holloway.
- Stackline maintenance: Alexandro Paixao Marques and Stackline contributors.
Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.
Community and Links
Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.
Migration
Migration
Source-preserving npm alias
The lowest-risk migration keeps the historical dependency key:
{
"dependencies": {
"resolve-url-loader": "npm:@stackline/resolve-url-loader@^1.0.4"
}
}
Existing webpack rules and require('resolve-url-loader/lib/...') imports then
remain unchanged.
Scoped imports
Alternatively, install @stackline/resolve-url-loader and change the loader
name in webpack configuration. Options and custom join functions do not need
conversion. ESM consumers may use the default facade and named join helpers.
Keep source maps enabled on sass-loader, this loader, and webpack itself.
Moving the loader earlier or later in the chain changes what source map it can
inspect and is not a supported migration.
Release changes
Changelog
1.0.4 - 2026-09-28
Update development-only fast-uri to 3.1.8 for GHSA-qw65-cvwx-89v3 and GHSA-58mr-gqgx-xq4g; production audit remains clean.
Pin verified Stackline maintenance forks under the existing dependency import names; see
DEPENDENCY_UPDATES.md.Preserve the package API, supported runtimes, upstream comparison tests, and original licenses.
1.0.3 - 2026-09-28
- Format errors containing long whitespace runs in linear time while preserving upstream error text.
- Organize package documentation, preserve API and migration examples, and add Stackline community links.
- Improve package discovery keywords with precise domain terms and
stackline. - Pin GitHub Actions release tooling and require an explicit missing-version response before publication.
1.0.2 - 2026-08-30
- Replace the 2017
source-map@0.6.1runtime with the maintained, synchronoussource-map@npm:source-map-js@1.2.1compatibility alias. - Preserve every existing
require('source-map')call while removing the old package from the production graph. - Verify differential source maps, Windows drive paths, real Webpack 4 and 5 builds, clean direct and alias installs, licenses, audits, CI, and CodeQL.
1.0.1 - 2026-08-30
- Replace the archived
loader-utils@2.0.4runtime dependency with the exactloader-utils@npm:@stackline/loader-utils@1.0.2compatibility alias. - Preserve the complete Webpack 4 and 5 loader behavior through real downstream builds against the maintained dependency.
- Pin and inventory the complete production closure, including maintained leaf
packages
emojis-list@3.0.0andjson5@2.2.3. - Require warning-free clean installs, recursive dependency validation, exact license checks, and zero production/full npm audit findings before release.
1.0.0 - 2026-08-28
- Continue the complete
resolve-url-loader@5.0.0callable CommonJS and join helper API. - Vendor the exact
adjust-sourcemap-loader@4.0.0processor and codecs. - Correct Windows
file:///D:/...normalization without changing POSIX file URLs. - Add ESM, TypeScript declarations, webpack 4/5 and packed-consumer tests, license evidence, CI, CodeQL, and immutable artifact tooling.
Release files and references
- README.md
- CHANGELOG.md
- MIGRATION.md
- LICENSE
- NOTICE
- Package and publication metadata
- Full text documentation
Package bytes, npm provenance and the immutable GitHub release were verified for this version. Security checks describe the reviewed release; documented compatibility risks and upstream reports are not blanket claims of resolution.