@rbf/parcel-optimizer-javascript-obfuscator

Optimizer plugin for Parcel v2 to obfuscate JavaScript files using javascript-obfuscator.

Usage no npm install needed!

<script type="module">
  import rbfParcelOptimizerJavascriptObfuscator from 'https://cdn.skypack.dev/@rbf/parcel-optimizer-javascript-obfuscator';
</script>

README

parcel v2 plugin npm version npm downloads npms.io (final)

Parcel v2 Plugin for javascript-obfuscator

Optimizer plugin for Parcel v2 to obfuscate JavaScript files using javascript-obfuscator. This plugin is based on jabuco/parcel-plugin-obfuscate, which as of this writing is only compatible with Parcel v1.

Configuration File

You can specify the options for javascript-obfuscator in a file named javascript-obfuscator.config.json at the root of your project.

Example

{
    "compact": true,
    "controlFlowFlattening": false,
    "deadCodeInjection": false,
    "debugProtection": false,
    "disableConsoleOutput": false,
    "forceTransformStrings": [],
    "inputFileName": "",
    "selfDefending": false,
    "simplify": true,
    "sourceMap": false,
    "splitStrings": true,
    "splitStringsChunkLength": 10,
    "stringArray": true,
    "stringArrayCallsTransform": true,
    "stringArrayCallsTransformThreshold": 0.5,
    "stringArrayEncoding": [
      "base64",
      "rc4"
    ],
    "stringArrayIndexesType": [
        "hexadecimal-number"
    ],
    "stringArrayIndexShift": true,
    "stringArrayRotate": true,
    "stringArrayShuffle": true,
    "stringArrayWrappersCount": 1,
    "stringArrayWrappersChainedCalls": true,
    "stringArrayWrappersParametersMaxCount": 2,
    "stringArrayWrappersType": "variable",
    "stringArrayThreshold": 0.75,
    "target": "browser",
    "unicodeEscapeSequence": false
}

Usage with Parcel

Include the plugin in your .parcelrc and Parcel will automatically download and install it from npm when necessary.

Example

{
  "extends": "@parcel/config-default",
  "optimizers": {
    "*.js": [
      "...",
      "@rbf/parcel-optimizer-javascript-obfuscator"
    ]
  }
}