Alexandro.Net

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

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

npm version license GitHub repository Docs Reddit community

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

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

1.0.3 - 2026-09-28

1.0.2 - 2026-08-30

1.0.1 - 2026-08-30

1.0.0 - 2026-08-28

Release files and references

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.