{"id":18950,"library":"adjust-sourcemap-loader","title":"adjust-sourcemap-loader","description":"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.","status":"active","version":"5.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/bholloway/adjust-sourcemap-loader","tags":["javascript","webpack","loader","source-map","sourcemap","sources","resolve","adjust"],"install":[{"cmd":"npm install adjust-sourcemap-loader","lang":"bash","label":"npm"},{"cmd":"yarn add adjust-sourcemap-loader","lang":"bash","label":"yarn"},{"cmd":"pnpm add adjust-sourcemap-loader","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Used in webpack config as a loader, typically via require() in CommonJS. ESM imports not typical for loader usage.","wrong":"import adjustSourcemap from 'adjust-sourcemap-loader'","symbol":"default (loader)","correct":"require('adjust-sourcemap-loader')"},{"note":"Exported as a named function. Available via CommonJS require, but ESM may also work depending on your setup.","wrong":"import { moduleFilenameTemplate } from 'adjust-sourcemap-loader';","symbol":"moduleFilenameTemplate","correct":"const { moduleFilenameTemplate } = require('adjust-sourcemap-loader');"},{"note":"Array of built-in codec objects. Rarely needed custom, but accessible if you want to inspect or extend.","wrong":null,"symbol":"codecs","correct":"const { codecs } = require('adjust-sourcemap-loader');"}],"quickstart":{"code":"// webpack.config.js\nconst path = require('path');\nmodule.exports = {\n  mode: 'development',\n  entry: './src/index.js',\n  output: {\n    path: path.resolve(__dirname, 'dist'),\n    filename: 'bundle.js',\n    devtoolModuleFilenameTemplate: require('adjust-sourcemap-loader').moduleFilenameTemplate({\n      format: 'projectRelative'\n    })\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        use: [\n          { loader: 'adjust-sourcemap?format=absolute' },\n          { loader: 'babel-loader', options: { sourceMaps: true } }\n        ]\n      }\n    ]\n  }\n};","lang":"javascript","description":"Shows how to use adjust-sourcemap-loader both as a loader (with format option) and as a module filename template (for final output sources)."},"warnings":[{"fix":"Upgrade Node to >=12 and ensure Webpack is version 5 or higher.","message":"Version 5.0.0 requires Node >=12 and supports Webpack 5+ only.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Adjust your webpack config to provide explicit options objects where previously undefined was allowed.","message":"Version 4.0.0 removed lodash dependency. Options must be explicitly provided; they cannot be undefined.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Use the 'fail' option to ensure errors are thrown if a source-map source cannot be decoded.","message":"Version 3.0.0 removed overzealous decode check, which may cause silent failures for malformed source maps.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Add ?sourceMap or sourceMaps: true to the preceding loader, e.g., babel?sourceMap.","message":"When using the loader, preceding loaders must have source maps enabled (sourceMap: true).","severity":"gotcha","affected_versions":">=0"},{"fix":"Use a different format (e.g., 'projectRelative') for the module filename template.","message":"The 'sourceRelative' format works for loader usage only, not for module filename template.","severity":"gotcha","affected_versions":">=0"},{"fix":"If you specify custom codecs, also include the built-in codecs from require('adjust-sourcemap-loader').codecs.","message":"The 'codecs' option can be used to override built-in codecs, but doing so may break decoding unless you also include built-in codecs.","severity":"deprecated","affected_versions":">=0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Add sourceMaps: true option to the loader that generates source maps (e.g., babel-loader).","cause":"Preceding loader does not have source maps enabled.","error":"Error: adjust-sourcemap-loader requires source maps to be enabled on preceding loaders"},{"fix":"Ensure adjust-sourcemap-loader is included in your module.rules as a loader (e.g., use: ['adjust-sourcemap?format=absolute', 'babel-loader']).","cause":"The adjust-sourcemap-loader is not applied as a loader in the webpack config.","error":"Module parse failed: Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type."},{"fix":"Run 'npm install adjust-sourcemap-loader --save-dev'.","cause":"Package not installed.","error":"Error: Cannot find module 'adjust-sourcemap-loader'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}