Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@rbf/parcel-optimizer-javascript-obfuscator

rbf1.1kMIT0.2.2

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

parcel, parceljs, parcel-optimizer, parcel-plugin, obfuscation, javascript-obfuscator

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"
    ]
  }
}

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.2.2 - 2022-02-11

Fixed

  • Explicitly add @parcel/plugin dependency to package.json as suggested by the following warning:

    console: (node:1820) [MODULE_NOT_FOUND] Error:
    @rbf/parcel-optimizer-javascript-obfuscator tried to access @parcel/plugin,
    but it isn't declared in its dependencies; this makes the require call
    ambiguous and unsound.

    Note that its version is unpinned on purpose (i.e. version requirement in package.json is ^2.3.1 instead of 2.3.1) to avoid having to release in sync with Parcel.

0.2.1 - 2022-02-10

Fixed

  • Specify package.json#engines.parcel as per the Parcel documentation as suggested by the following warning:

    @parcel/core: The plugin "@rbf/parcel-optimizer-javascript-obfuscator" needs
    to specify a `package.json#engines.parcel` field with the supported Parcel
    version range.

0.2.0 - 2022-02-10

Changed

  • Remove the dot at the beginning of the expected configuration file, so that now the configuration file has to be named javascript-obfuscator.config.json.

0.1.0 - 2022-02-10

Added