addedInput schema / additionalProperties
Added value: +false
addedInput schema / properties / code / description
Added value: +"JavaScript source to obfuscate (alias: input). Must be non-empty after trimming or the call returns HTTP 400."
addedInput schema / properties / code / examples
Added value: +[
+ "function greet(name){console.log(\"hi \"+name);}"
+]
addedInput schema / properties / options / additionalProperties
Added value: +false
addedInput schema / properties / options / description
Added value: +"Per-technique toggles overriding the strength preset."
addedInput schema / properties / options / properties / compactCode / default
Added value: +true
addedInput schema / properties / options / properties / compactCode / description
Added value: +"Collapse whitespace and tighten punctuation into a single line."
addedInput schema / properties / options / properties / controlFlowFlattening / description
Added value: +"Rewrite simple if-blocks into switch statements. Default true only when strength is heavy, else false; ignored when strength is light."
addedInput schema / properties / options / properties / deadCodeInjection / description
Added value: +"Insert junk statements on every third line. Default true only when strength is heavy, else false; applied only when strength is heavy."
addedInput schema / properties / options / properties / encodeStrings / default
Added value: +true
addedInput schema / properties / options / properties / encodeStrings / description
Added value: +"Replace string literals longer than 2 chars with atob()-decoded Base64."
addedInput schema / properties / options / properties / mangleNames / default
Added value: +true
addedInput schema / properties / options / properties / mangleNames / description
Added value: +"Rename user variables/functions longer than 2 chars (skips reserved words) to short identifiers."
removedInput schema / properties / options / required
Removed value: -[
- "mangleNames",
- "encodeStrings",
- "controlFlowFlattening",
- "deadCodeInjection",
- "compactCode"
-]
addedInput schema / properties / strength / default
Added value: +"medium"
addedInput schema / properties / strength / description
Added value: +"Preset intensity. light skips control-flow flattening; medium adds it; heavy also enables dead-code injection. Unknown values fall back to medium. Individual options override the preset defaults."
addedInput schema / properties / strength / enum
Added value: +[
+ "light",
+ "medium",
+ "heavy"
+]
changedInput schema / required
Previous value: -[
- "code",
- "strength",
- "options"
-]New value: +[
+ "code"
+]
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "input": {
+ "description": "The original JavaScript exactly as submitted.",
+ "type": "string"
+ },
+ "options": {
+ "description": "The fully-resolved boolean toggles actually applied (defaults merged with overrides).",
+ "properties": {
+ "compactCode": {
+ "type": "boolean"
+ },
+ "controlFlowFlattening": {
+ "type": "boolean"
+ },
+ "deadCodeInjection": {
+ "type": "boolean"
+ },
+ "encodeStrings": {
+ "type": "boolean"
+ },
+ "mangleNames": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "output": {
+ "description": "The obfuscated JavaScript.",
+ "type": "string"
+ },
+ "statistics": {
+ "description": "Before/after metrics.",
+ "properties": {
+ "obfuscatedLines": {
+ "description": "Line count of the output.",
+ "type": "integer"
+ },
+ "obfuscatedSize": {
+ "description": "Character count of the output.",
+ "type": "integer"
+ },
+ "originalLines": {
+ "description": "Line count of the input.",
+ "type": "integer"
+ },
+ "originalSize": {
+ "description": "Character count of the input.",
+ "type": "integer"
+ },
+ "stringsEncoded": {
+ "description": "Number of string literals encoded.",
+ "type": "integer"
+ },
+ "variablesRenamed": {
+ "description": "Number of identifiers mangled.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "strength": {
+ "description": "The effective strength preset applied.",
+ "enum": [
+ "light",
+ "medium",
+ "heavy"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+}