adjust-sourcemap-loader
raw JSON → 5.0.0 verified Sat Apr 25 auth: no javascript
Webpack loader that adjusts source maps for debugging or inter-loader transformation. Currently at v5.0.0, released in 2025? Release cadence is irregular with major bumps alongside webpack majors. Key differentiator: it can be used both as a loader and as a module filename template to control output source map format (absolute, outputRelative, projectRelative, webpackProtocol, sourceRelative). Alternatives (like Webpack's built-in devtool) offer less granular control over intermediate source maps.
Common errors
error Error: adjust-sourcemap-loader requires source maps to be enabled on preceding loaders ↓
cause Preceding loader does not have source maps enabled.
fix
Add sourceMaps: true option to the loader that generates source maps (e.g., babel-loader).
error Module parse failed: Unexpected token (1:0) You may need an appropriate loader to handle this file type. ↓
cause The adjust-sourcemap-loader is not applied as a loader in the webpack config.
fix
Ensure adjust-sourcemap-loader is included in your module.rules as a loader (e.g., use: ['adjust-sourcemap?format=absolute', 'babel-loader']).
error Error: Cannot find module 'adjust-sourcemap-loader' ↓
cause Package not installed.
fix
Run 'npm install adjust-sourcemap-loader --save-dev'.
Warnings
breaking Version 5.0.0 requires Node >=12 and supports Webpack 5+ only. ↓
fix Upgrade Node to >=12 and ensure Webpack is version 5 or higher.
breaking Version 4.0.0 removed lodash dependency. Options must be explicitly provided; they cannot be undefined. ↓
fix Adjust your webpack config to provide explicit options objects where previously undefined was allowed.
breaking Version 3.0.0 removed overzealous decode check, which may cause silent failures for malformed source maps. ↓
fix Use the 'fail' option to ensure errors are thrown if a source-map source cannot be decoded.
gotcha When using the loader, preceding loaders must have source maps enabled (sourceMap: true). ↓
fix Add ?sourceMap or sourceMaps: true to the preceding loader, e.g., babel?sourceMap.
gotcha The 'sourceRelative' format works for loader usage only, not for module filename template. ↓
fix Use a different format (e.g., 'projectRelative') for the module filename template.
deprecated The 'codecs' option can be used to override built-in codecs, but doing so may break decoding unless you also include built-in codecs. ↓
fix If you specify custom codecs, also include the built-in codecs from require('adjust-sourcemap-loader').codecs.
Install
npm install adjust-sourcemap-loader yarn add adjust-sourcemap-loader pnpm add adjust-sourcemap-loader Imports
- default (loader) wrong
import adjustSourcemap from 'adjust-sourcemap-loader'correctrequire('adjust-sourcemap-loader') - moduleFilenameTemplate wrong
import { moduleFilenameTemplate } from 'adjust-sourcemap-loader';correctconst { moduleFilenameTemplate } = require('adjust-sourcemap-loader'); - codecs
const { codecs } = require('adjust-sourcemap-loader');
Quickstart
// webpack.config.js
const path = require('path');
module.exports = {
mode: 'development',
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
devtoolModuleFilenameTemplate: require('adjust-sourcemap-loader').moduleFilenameTemplate({
format: 'projectRelative'
})
},
module: {
rules: [
{
test: /\.js$/,
use: [
{ loader: 'adjust-sourcemap?format=absolute' },
{ loader: 'babel-loader', options: { sourceMaps: true } }
]
}
]
}
};