# rollup-plugin-jsfuck

> A rollup plugin to fuck you up

Latest version **1.0.3** (published 2021-08-28) · ISC license · 0 weekly downloads

## Install

```sh
npm install rollup-plugin-jsfuck
pnpm add rollup-plugin-jsfuck
yarn add rollup-plugin-jsfuck
bun add rollup-plugin-jsfuck
```

## 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 | 1.0.3 |
| Published | 2021-08-28 |
| First published | 2021-01-16 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 13.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Maintainers | sxxov |
| Keywords | jsfuck, rollup, plugin, minfy, uglify, meme, bruh |

## Links

- npm: https://www.npmjs.com/package/rollup-plugin-jsfuck
- Repository: https://github.com/Sxxov/rollup-plugin-jsfuck
- Homepage: https://github.com/Sxxov/rollup-plugin-jsfuck#readme
- Issues: https://github.com/Sxxov/rollup-plugin-jsfuck/issues
- npm.io page: https://npm.io/package/rollup-plugin-jsfuck

## Dependencies (4)

- [glob](https://npm.io/package/glob.md) ^7.1.6
- [jsfuck](https://npm.io/package/jsfuck.md) ^0.4.0
- [astring](https://npm.io/package/astring.md) ^1.6.0
- [acorn-walk](https://npm.io/package/acorn-walk.md) ^8.0.1

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

- 1.0.3 (latest) — 2021-08-28
- 1.0.2 — 2021-01-16
- 1.0.1 — 2021-01-16
- 1.0.0 — 2021-01-16

## README

# Rollup Plugin JSFuck

A plugin that enables you to integrate [JSFuck](http://jsfuck.com) into your [Rollup](https://github.com/rollup/rollup) workflow.



## What it does

* fucks your js

  

## Usage

### Usage Examples

Example rollup config:

```js
// rollup.config.js
import jsfuck from 'rollup-plugin-jsfuck';

export default {
    input: './foo.js',
    output: {
        format: 'umd',
        dist: 'dist',
    }
    plugins: [
    	// ...
    
    	jsfuck({
            // plugin settings with their default values
    
            wrapWithEval: true, // true to wrap emitted code in an eval statement
            runInParentScope: true, // false to wrap emitted code in an iife
            exclude: [], // an array of glob strings
        });
    ]
}
```

Example output:

```js
[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]](([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!!
// ...
```





### Usage Notes

1. Do not use this.
2. You probably want to integrate a minifier/uglifier into your workflow, as JSFuck isn't that great at being small. (smug)
3. There is experimental ESM support [(see below)](#experimental-esm-support) if you're using ES modules.



### Experimental ESM Support

```js
// rollup.config.js

// ...
output: {
    format: 'esm',
    dist: 'dist',
}
// ...
```

The plugin will (attempt to) modify the original code, then add some of its own boiler code to move exports into `globalThis._f_` before exporting.



## Contributing

* Please don't.
* Go invest in a hobby.

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