# awesome-obfuscator-loader

> A webpack loader for obfuscating single modules using javascript-obfuscator

Latest version **2.0.0** (published 2020-04-20) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install awesome-obfuscator-loader
pnpm add awesome-obfuscator-loader
yarn add awesome-obfuscator-loader
bun add awesome-obfuscator-loader
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2020-04-20 |
| First published | 2020-04-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 6.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Valerio Bianchi |
| Maintainers | gurisko |
| Keywords | webpack, obfuscator, webpack, loader, javascript-obfuscator |

## Links

- npm: https://www.npmjs.com/package/awesome-obfuscator-loader
- Repository: https://github.com/gurisko/awesome-obfuscator-loader
- Homepage: https://github.com/gurisko/awesome-obfuscator-loader#readme
- Issues: https://github.com/gurisko/awesome-obfuscator-loader/issues
- npm.io page: https://npm.io/package/awesome-obfuscator-loader

## Dependencies (3)

- [esprima](https://npm.io/package/esprima.md) ^4.0.0
- [loader-utils](https://npm.io/package/loader-utils.md) ^2.0.0
- [javascript-obfuscator](https://npm.io/package/javascript-obfuscator.md) ^0.27.4

## 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

- 2.0.0 (latest) — 2020-04-20

## README

# awesome-obfuscator-loader

Fork of [obfuscator-loader](https://github.com/javascript-obfuscator/obfuscator-loader) with Node 12 support.

This is a module loader for webpack wich obfuscate module source code using [javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator).  

## Installation
```npm install --save-dev awesome-obfuscator-loader```


## Why not a plugin?
Obfuscating code can results in quite large files. It's a good idea to obfuscate only your code leaving third party libraries unobfuscated.
This is simple to achieve using a plugin if you plan to split your code and third party code in different bundles. Take a look at [this plugin](https://github.com/javascript-obfuscator/webpack-obfuscator).  


Sometimes you need to output a single js bundle but you still need to obfuscate the source code of some particular module. In these cases a loader can do the trick.  
For example I happened to had to bundle a big third party library (not a module of any sort, I had to use [script-loader](https://github.com/webpack-contrib/script-loader)) in one of my project and I was requested to obfuscate my code. 

## Usage
Define a rule in your webpack config and use the obfuscator-loader as the last of your loaders for your modules. You can add the **enforce: 'post'** flag to ensure the loader will be called after normal loaders:

```javascript
module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        include: [ path.resolve(__dirname, "justMySources") ],
        enforce: 'post',
        use: { loader: 'obfuscator-loader', options: {/* options here */} }
      },
    ]
  }
};
```

## Options
This loader accepts the same options object of [javascript-obfuscator](https://www.npmjs.com/package/javascript-obfuscator#options)

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