# Does the OpenMage CSS/JS Minify Module Generate Source Maps?

> Learn if the OpenMage CSS/JS Minify module generates source maps. Discover that this module only concatenates and minifies assets, it does not create map files.

- Repository: [Fabrizio Balliano/openmage-cssjs-minify](https://github.com/fballiano/openmage-cssjs-minify)
- Tags: how-to-guide
- Published: 2026-03-01

---

**No, the OpenMage CSS/JS Minify module does not generate source maps for minified files; it only concatenates and minifies CSS and JavaScript assets without creating `.map` files.**

The OpenMage CSS/JS Minify module is designed to optimize frontend performance by reducing file sizes through minification. While it effectively processes assets using the `MatthiasMullie\Minify` library, the implementation lacks any functionality to produce source maps that would map the minified output back to original source files.

## How the OpenMage CSS/JS Minify Module Processes Assets

The module operates by intercepting Magento’s request lifecycle and processing CSS and JavaScript files before they are served to the browser. This approach ensures that merged files are automatically minified without requiring manual build steps.

### The Observer Implementation

The core logic resides in [`app/code/community/Fballiano/CssjsMinify/Model/Observer.php`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/app/code/community/Fballiano/CssjsMinify/Model/Observer.php), which listens to the `controller_action_postdispatch` event. When this event fires, the observer identifies merged CSS and JavaScript files, reads their contents, and passes them through the minification library.

```php
// File: app/code/community/Fballiano/CssjsMinify/Model/Observer.php
// The observer class handles the post-dispatch event to minify assets
class Fballiano_CssjsMinify_Model_Observer
{
    public function minifyAssets($observer)
    {
        // Logic to locate merged files and minify them
        // Uses MatthiasMullie\Minify library
    }
}

```

### Minification Without Source Map Generation

The module utilizes the `MatthiasMullie\Minify` library to strip whitespace, comments, and unnecessary characters from CSS and JavaScript files. However, the implementation in [`Observer.php`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/Observer.php) only writes the minified content back to the filesystem. There is no invocation of source map generation methods, nor are there any configuration options to enable such functionality in [`app/code/community/Fballiano/CssjsMinify/etc/config.xml`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/app/code/community/Fballiano/CssjsMinify/etc/config.xml).

## File Structure and Output

After the minification process completes, the module writes optimized files to the public `skin/` directory. The resulting file structure contains only the minified assets without any accompanying source map files.

```

pub/skin/frontend/<package>/<theme>/css/styles.min.css
pub/skin/frontend/<package>/<theme>/js/scripts.min.js

```

Notably absent from this structure are `.map` files that would typically accompany minified assets in modern development workflows:

```

# These files will NOT be present after minification:

pub/skin/frontend/<package>/<theme>/css/styles.min.css.map
pub/skin/frontend/<package>/<theme>/js/scripts.min.js.map

```

## Configuration and Limitations

The module’s configuration scope is defined in [`app/code/community/Fballiano/CssjsMinify/etc/config.xml`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/app/code/community/Fballiano/CssjsMinify/etc/config.xml) and the system configuration panel. These files define enable/disable flags and observer bindings, but contain no nodes or settings related to source map generation.

To enable the minification functionality, administrators must activate the merge options in the Magento admin panel:

```php
// Navigate in admin panel:
// Stores → Configuration → Advanced → Developer → JavaScript Settings
// Enable "Merge JavaScript Files" and "Merge CSS Files"

```

Once enabled, the `Fballiano_CssjsMinify` observer automatically processes the merged files. However, developers requiring source maps for debugging purposes must implement alternative solutions, such as external build tools like Webpack or Gulp, as the OpenMage CSS/JS Minify module does not support this feature.

## Summary

- The OpenMage CSS/JS Minify module does **not** generate source maps for minified CSS or JavaScript files.
- The module uses the `MatthiasMullie\Minify` library in [`app/code/community/Fballiano/CssjsMinify/Model/Observer.php`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/app/code/community/Fballiano/CssjsMinify/Model/Observer.php) to process assets.
- Output is limited to [`.min.css`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/.min.css) and [`.min.js`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/.min.js) files in the `skin/` directory without accompanying `.map` files.
- No configuration options exist in [`config.xml`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/config.xml) to enable source map generation.
- Developers requiring source maps must use external build tools rather than this module.

## Frequently Asked Questions

### Can I enable source map generation in the OpenMage CSS/JS Minify module configuration?

No, the module does not provide any configuration options to enable source map generation. The [`app/code/community/Fballiano/CssjsMinify/etc/config.xml`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/app/code/community/Fballiano/CssjsMinify/etc/config.xml) file only contains settings for enabling the observer and defining basic module parameters. There are no nodes or flags related to `.map` file creation, and the `MatthiasMullie\Minify` library is invoked without source map parameters in the observer class.

### Why doesn't the OpenMage CSS/JS Minify module create source maps?

The module was designed specifically for runtime optimization within the OpenMage/Magento 1.x ecosystem, focusing on reducing file sizes through minification rather than supporting development debugging workflows. The implementation in [`Observer.php`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/Observer.php) directly writes minified content to the filesystem after processing through the minification library, without invoking any source map generation APIs. This design choice keeps the module lightweight and avoids additional filesystem overhead during page requests.

### How can I debug minified CSS and JavaScript if source maps are not available?

Without source maps, you must rely on alternative debugging strategies. First, disable the minification module temporarily by setting **Merge JavaScript Files** and **Merge CSS Files** to **No** in the admin panel under Stores → Configuration → Advanced → Developer. This serves the original unminified files for debugging. Alternatively, use browser developer tools to prettify the minified code using the "Pretty Print" feature (usually a `{}` button in Chrome DevTools or Firefox Developer Tools), though variable names will remain obfuscated.

### Does using the MatthiasMullie Minify library mean source maps could be supported in the future?

While the `MatthiasMullie\Minify` library is capable of minification, supporting source maps would require significant architectural changes to the OpenMage CSS/JS Minify module. The current implementation in [`app/code/community/Fballiano/CssjsMinify/Model/Observer.php`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/app/code/community/Fballiano/CssjsMinify/Model/Observer.php) would need to be extended to handle source map file generation, storage, and reference injection into the minified files. Additionally, the module would need new configuration options in [`config.xml`](https://github.com/fballiano/openmage-cssjs-minify/blob/main/config.xml) to control this behavior. Currently, there are no indications in the codebase that such features are planned or implemented.