# unminified-webpack-plugin

> A `webpack` plugin for generating un-minified JavaScript files along with minimize.

Latest version **3.0.0** (published 2021-05-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install unminified-webpack-plugin
pnpm add unminified-webpack-plugin
yarn add unminified-webpack-plugin
bun add unminified-webpack-plugin
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2021-05-07 |
| First published | 2016-05-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=10.0.0 |
| Dependencies | 0 |
| Unpacked size | 11.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 59 |
| Author | Howard.Zuo |
| Maintainers | howard.zuo |
| Keywords | unminified, webpack |

## Links

- npm: https://www.npmjs.com/package/unminified-webpack-plugin
- Repository: https://github.com/leftstick/unminified-webpack-plugin
- Homepage: https://github.com/leftstick/unminified-webpack-plugin#readme
- Issues: https://github.com/leftstick/unminified-webpack-plugin/issues
- npm.io page: https://npm.io/package/unminified-webpack-plugin

## Alternatives

- [raw-loader](https://npm.io/package/raw-loader.md) — 4.3M weekly downloads
- [plop](https://npm.io/package/plop.md) — 1.4M weekly downloads
- [webpack-deadcode-plugin](https://npm.io/package/webpack-deadcode-plugin.md) — 80.3K weekly downloads
- [@storybook/preact-vite](https://npm.io/package/@storybook/preact-vite.md) — 54.2K weekly downloads
- [vite-plugin-transform](https://npm.io/package/vite-plugin-transform.md) — 2.4K weekly downloads

## Recent versions

- 3.0.0 (latest) — 2021-05-07
- 2.0.0 — 2018-03-06
- 1.4.2 — 2017-11-10
- 1.4.1 — 2017-10-11
- 1.4.0 — 2017-10-09
- 1.3.0 — 2017-10-07
- 1.2.0 — 2016-12-19
- 1.1.1 — 2016-09-23
- 1.1.0 — 2016-06-24
- 1.0.1 — 2016-06-16
- 1.0.0 — 2016-05-12

## README

unminified-webpack-plugin
=======================

[![NPM version][npm-image]][npm-url]
![][travis-url]
![][david-url]
![][dt-url]
![][license-url]

> `webpack@4` and `webpack@5` is now supported.


A `webpack` plugin for generating un-minified JavaScript files along with `minimize`.

>This plugin should only be used while you are developing standalone library

## Why unminified-webpack-plugin ##

Maybe you are encountering the same issue as mine, once you are developing a standalone library via `webpack`, it's not possible to generate the uncompressed file along with the minified version at one time. [Here](http://stackoverflow.com/questions/25956937/how-to-build-minified-and-uncompressed-bundle-with-webpack) is the question i found at `stackoverflow`, it seems many people are suffering for this.

As a workaround, you may do something like `webpack && webpack --config webpack.config.prod.js`, but the solution is really ugly and inelegant.

That's why i am here! ^^

## Installation ##

```bash
npm install --save-dev unminified-webpack-plugin
```

## Usage ##

```javascript
const path = require('path');
const webpack = require('webpack');
const UnminifiedWebpackPlugin = require('unminified-webpack-plugin');

module.exports = {
    mode: 'production',
    entry: {
        index: './src/index.js'
    },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'library.min.js'
    },
    plugins: [
        new UnminifiedWebpackPlugin()
    ]
};
```

By doing as above, you will get two files `library.min.js` and `library.js`. No need execute `webpack` twice, it just works!^^

>`filename` includes `min`, such as: `ad-min.js`, `ad-min-1.0.js`, will be treated as minified name as well. See [cope with 'min' in names like 'Admin'](https://github.com/leftstick/unminified-webpack-plugin/pull/8)

## Configuration ##

`postfix`: you can specify the `nomin` part as you wish. `nomin` is the default postfix once you haven't specify `min` in `output.filename`. And it can be customized by specifying this option, following is example:

```javascript
const path = require('path');
const webpack = require('webpack');
const UnminifiedWebpackPlugin = require('unminified-webpack-plugin');

module.exports = {
    entry: {
        index: './src/index.js'
    },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'library.js'//no "min" specified
    },
    plugins: [
        new UnminifiedWebpackPlugin({
            postfix: 'unmin',//specify "nomin" postfix
            include: /polyfill.*/,
            exclude: /test.*/
        })
    ]
};
```

>By doing as above, you will get two files `library.js` and `library.unmin.js`

>`include`, `exclude` just work the same way as `UglifyJsPlugin`

>Check [working-example](https://github.com/leftstick/unminified-webpack-plugin/blob/master/example/css-pack/README.md) for css assets support

## LICENSE ##

[MIT License](https://raw.githubusercontent.com/leftstick/unminified-webpack-plugin/master/LICENSE)


[npm-url]: https://npmjs.org/package/unminified-webpack-plugin
[npm-image]: https://badge.fury.io/js/unminified-webpack-plugin.png
[travis-url]: https://travis-ci.com/leftstick/unminified-webpack-plugin.svg?branch=master
[david-url]: https://david-dm.org/leftstick/unminified-webpack-plugin.png
[dt-url]:https://img.shields.io/npm/dt/unminified-webpack-plugin.svg
[license-url]:https://img.shields.io/npm/l/unminified-webpack-plugin.svg

---
_Source: https://npm.io/package/unminified-webpack-plugin · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
