webfuscator 0.9.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,82 +1,63 @@
1
1
  # webfuscator
2
2
 
3
- `webfuscator` is a Babel-based JavaScript obfuscator. It parses source code, applies an ordered transform pipeline, and returns JavaScript.
3
+ `webfuscator` is a Babel-based JavaScript obfuscator. It parses a JavaScript source string, applies configurable transforms, and returns JavaScript source.
4
4
 
5
- ## Features
6
-
7
- - Renames variables, functions, and labels
8
- - Mangles selected property names
9
- - Inlines functions and folds constants
10
- - Rewrites loops, conditionals, and switch statements
11
- - Turns numbers and other literals into string-based expressions
12
- - Removes dead code
13
- - Generates short, hexadecimal, random, keyword-like, or numbered names
14
- - Seeds built-in randomization for reproducible output
5
+ [Read the documentation](./docs/index.mdx) for the quickstart, configuration guides, API details, and a reference page for every transform.
15
6
 
16
7
  ## Install
17
8
 
18
9
  ```sh
19
- npm install webfuscator
10
+ npm install --save-dev webfuscator
20
11
  ```
21
12
 
13
+ The package is ESM-only, includes TypeScript declarations, and requires Node.js `^22.18.0 || >=24.11.0`.
14
+
22
15
  ## Usage
23
16
 
24
17
  ```js
25
18
  import { obfuscate } from 'webfuscator'
26
19
 
27
- const code = obfuscate(source, {
28
- stringGeneratorMode: 'mangled', // Other modes: hexadecimal, randomized, zeroWidth, number
20
+ const source = `export default function square(value) {
21
+ return value * value
22
+ }`
23
+
24
+ const output = obfuscate(source, {
25
+ minify: true,
29
26
  seed: 0,
30
- transforms: { dropConsole: false }, // Disable individual transforms by name
27
+ transforms: {
28
+ renameIdentifiers: true,
29
+ },
31
30
  })
32
31
  ```
33
32
 
34
- `obfuscate(code, options?)` takes source code as a string and returns transformed source code. The package includes TypeScript declarations, requires Node.js `^22.18.0 || >=24.11.0`, and supports ESM only.
33
+ `obfuscate(code, options?)` is synchronous. It does not execute the input or write files.
35
34
 
36
- ### Property mangling
35
+ Configurable transforms are disabled by default; preparation passes always run.
37
36
 
38
- Property mangling is off by default. The transform cannot find property uses
39
- outside its input, so unrestricted mangling can break callers. Use `regex` to
40
- limit mangling to private application properties, such as names ending in `_`:
37
+ ## Documentation
41
38
 
42
- ```js
43
- const propertyCache = new Map()
39
+ - [Quickstart](./docs/getting-started/quickstart.mdx)
40
+ - [JavaScript API](./docs/reference/api.mdx)
41
+ - [Configure transforms](./docs/guides/configure-transforms.mdx)
42
+ - [Obfuscator options](./docs/reference/options.mdx)
43
+ - [Property mangling](./docs/reference/property-mangling-options.mdx)
44
+ - [String generator modes](./docs/reference/string-generator-modes.mdx)
45
+ - [Report a bug](./docs/troubleshooting/report-a-bug.mdx)
44
46
 
45
- const code = obfuscate(source, {
46
- transforms: {
47
- mangleProperties: {
48
- regex: /_$/,
49
- reserved: ['public_api_'],
50
- cache: propertyCache,
51
- },
52
- },
53
- })
47
+ ## Development
48
+
49
+ ```sh
50
+ pnpm install
51
+ pnpm test
52
+ pnpm check
53
+ pnpm docs:check
54
54
  ```
55
55
 
56
- The options match Terser's property mangler, with camel-case names:
57
-
58
- - `regex` selects property names. `reserved` excludes names from that selection.
59
- - `builtins` defaults to `false`, which protects Terser's JavaScript and DOM
60
- property set. Setting it to `true` may rename runtime or browser APIs.
61
- - `cache` is a mutable `Map<string, string>` that reuses mappings across separate
62
- inputs. `onlyCache` limits mangling to keys already in that map.
63
- - `nameGenerator(index)` receives a zero-based ordinal and returns the next name.
64
- Without it, the transform uses its own `stringGeneratorMode` or the top-level
65
- mode.
66
- - `debug: true` emits names in the form `_$source$_`. A string value becomes the
67
- suffix.
68
- - `keepQuoted: true` reserves quoted property names everywhere. `'strict'` keeps
69
- quoted occurrences unchanged but allows unquoted occurrences of the same name
70
- to be mangled.
71
- - `onlyAnnotated` limits mangling to names marked with
72
- `/*@__MANGLE_PROP__*/`. `/*@__KEY__*/` marks a string literal as a use of the
73
- selected property name. Either annotation may use `#` instead of `@`.
74
- - `undeclared` includes unquoted member accesses rooted at identifiers that are
75
- not declared in the input. Bracket-string accesses are considered either way.
76
-
77
- ## Issues and pull requests
78
-
79
- Both are open. For bugs, include the input and options you used.
56
+ Read [AGENTS.md](./AGENTS.md) before changing transforms or analysis code.
57
+
58
+ ## Responsible use
59
+
60
+ Use `webfuscator` only on software you own or are authorized to modify. Read [DISCLOSURE](./DISCLOSURE) for the project's dual-use policy.
80
61
 
81
62
  ## License
82
63
 
@@ -1 +1 @@
1
- {"version":3,"file":"obfuscator.d.ts","sourceRoot":"","sources":["../src/obfuscator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAmC,MAAM,aAAa,CAAA;AAsIrF,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAkD/E"}
1
+ {"version":3,"file":"obfuscator.d.ts","sourceRoot":"","sources":["../src/obfuscator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAmC,MAAM,aAAa,CAAA;AAsIrF,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAsD/E"}
@@ -158,14 +158,11 @@ export function obfuscate(code, options = {}) {
158
158
  }
159
159
  run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)));
160
160
  }
161
- return run(log, 'generate', () => generate(ast, { shouldPrintComment }).code);
161
+ return run(log, 'generate', () => generate(ast, { minified: options.minify ?? false, shouldPrintComment }).code);
162
162
  }
163
163
  function isEnabled(name, options) {
164
- if (name === 'mangleProperties') {
165
- return (options.transforms?.mangleProperties !== undefined &&
166
- options.transforms.mangleProperties !== false);
167
- }
168
- return options.transforms?.[name] !== false;
164
+ const entry = options.transforms?.[name];
165
+ return entry !== undefined && entry !== false;
169
166
  }
170
167
  // Boolean entries inherit the base. An override replaces its string mode.
171
168
  function ctxFor(name, options, base) {
@@ -1 +1 @@
1
- {"version":3,"file":"obfuscator.js","sourceRoot":"","sources":["../src/obfuscator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"obfuscator.js","sourceRoot":"","sources":["../src/obfuscator.ts"],"names":[],"mappings":"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"}
package/dist/options.d.ts CHANGED
@@ -47,12 +47,13 @@ type TransformsMap = Partial<Record<SimpleTransform, boolean>> & {
47
47
  specialsToStrings?: TransformEntry;
48
48
  };
49
49
  export interface ObfuscatorOptions {
50
+ /** Print Babel's minified output instead of its standard formatted output. */
51
+ minify?: boolean;
50
52
  /** Logs each pipeline step and its elapsed milliseconds to stderr. */
51
53
  verbose?: boolean;
52
54
  /**
53
- * Per-transform toggles and string-generator overrides. `mangleProperties` is
54
- * opt-in because property names can cross the program boundary. Other omitted
55
- * transforms default to enabled.
55
+ * Per-transform toggles and string-generator overrides. Omitted transforms
56
+ * are disabled. Preparation passes always run and are not configurable.
56
57
  */
57
58
  transforms?: TransformsMap;
58
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAE3E;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,uBAAuB,GACvB,wBAAwB,GACxB,eAAe,GACf,oBAAoB,GACpB,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,kBAAkB,GAClB,8BAA8B,GAC9B,wBAAwB,GACxB,iBAAiB,GACjB,iCAAiC,GACjC,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,2BAA2B,GAC3B,4BAA4B,GAC5B,kBAAkB,GAClB,aAAa,GACb,gCAAgC,GAChC,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,CAAA;AAGvB,KAAK,cAAc,GAAG,OAAO,GAAG;IAAE,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;CAAE,CAAA;AAEnF,2DAA2D;AAC3D,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAE7D,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC/B,sFAAsF;IACtF,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,eAAe,GAAG,OAAO,CAC5B,aAAa,EACb,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAC/D,CAAA;AAED,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IAC/D,gBAAgB,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;IACpD,iBAAiB,CAAC,EAAE,cAAc,CAAA;IAClC,iBAAiB,CAAC,EAAE,cAAc,CAAA;CACnC,CAAA;AAED,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,EAAE,yBAAyB,CAAA;CAC/C"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAE3E;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,uBAAuB,GACvB,wBAAwB,GACxB,eAAe,GACf,oBAAoB,GACpB,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,kBAAkB,GAClB,8BAA8B,GAC9B,wBAAwB,GACxB,iBAAiB,GACjB,iCAAiC,GACjC,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,2BAA2B,GAC3B,4BAA4B,GAC5B,kBAAkB,GAClB,aAAa,GACb,gCAAgC,GAChC,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,CAAA;AAGvB,KAAK,cAAc,GAAG,OAAO,GAAG;IAAE,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;CAAE,CAAA;AAEnF,2DAA2D;AAC3D,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAE7D,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC/B,sFAAsF;IACtF,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,eAAe,GAAG,OAAO,CAC5B,aAAa,EACb,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAC/D,CAAA;AAED,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IAC/D,gBAAgB,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;IACpD,iBAAiB,CAAC,EAAE,cAAc,CAAA;IAClC,iBAAiB,CAAC,EAAE,cAAc,CAAA;CACnC,CAAA;AAED,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,EAAE,yBAAyB,CAAA;CAC/C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webfuscator",
3
- "version": "0.9.4",
3
+ "version": "1.0.0",
4
4
  "description": "JavaScript obfuscator built on Babel",
5
5
  "keywords": [
6
6
  "babel",
@@ -22,7 +22,8 @@
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "git+https://github.com/esoware/webfuscator.git"
25
+ "url": "git+https://github.com/esoware/webfuscator.git",
26
+ "directory": "packages/webfuscator"
26
27
  },
27
28
  "files": [
28
29
  "DISCLOSURE",
@@ -42,17 +43,12 @@
42
43
  }
43
44
  },
44
45
  "scripts": {
45
- "prepublishOnly": "pnpm check",
46
- "prepare": "pnpm run build",
46
+ "prepublishOnly": "pnpm --workspace-root check",
47
+ "prepack": "pnpm run build",
47
48
  "build": "node --eval \"require('node:fs').rmSync('dist', { force: true, recursive: true })\" && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
48
- "lint": "oxlint src tests",
49
- "lint:fix": "oxlint --fix src tests",
50
- "format": "oxfmt \"src/**/*.ts\" \"tests/**/*.ts\"",
51
- "format:check": "oxfmt --check \"src/**/*.ts\" \"tests/**/*.ts\"",
52
- "typecheck": "tsc --noEmit",
53
- "knip": "knip",
49
+ "check": "pnpm run typecheck && pnpm run test",
54
50
  "test": "vitest run",
55
- "check": "pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run knip && pnpm run test"
51
+ "typecheck": "tsc --noEmit"
56
52
  },
57
53
  "dependencies": {
58
54
  "@babel/generator": "^8.0.0",
@@ -62,15 +58,11 @@
62
58
  },
63
59
  "devDependencies": {
64
60
  "@types/node": "^26.2.0",
65
- "knip": "^6.32.2",
66
- "oxfmt": "^0.64.0",
67
- "oxlint": "^1.79.0",
68
61
  "tsc-alias": "^1.9.2",
69
62
  "typescript": "^7.0.2",
70
63
  "vitest": "^4.1.11"
71
64
  },
72
65
  "engines": {
73
66
  "node": "^22.18.0 || >=24.11.0"
74
- },
75
- "packageManager": "pnpm@11.22.0"
67
+ }
76
68
  }
package/src/obfuscator.ts CHANGED
@@ -187,17 +187,16 @@ export function obfuscate(code: string, options: ObfuscatorOptions = {}): string
187
187
  run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)))
188
188
  }
189
189
 
190
- return run(log, 'generate', () => generate(ast, { shouldPrintComment }).code)
190
+ return run(
191
+ log,
192
+ 'generate',
193
+ () => generate(ast, { minified: options.minify ?? false, shouldPrintComment }).code,
194
+ )
191
195
  }
192
196
 
193
197
  function isEnabled(name: TransformName, options: ObfuscatorOptions): boolean {
194
- if (name === 'mangleProperties') {
195
- return (
196
- options.transforms?.mangleProperties !== undefined &&
197
- options.transforms.mangleProperties !== false
198
- )
199
- }
200
- return options.transforms?.[name] !== false
198
+ const entry = options.transforms?.[name]
199
+ return entry !== undefined && entry !== false
201
200
  }
202
201
 
203
202
  // Boolean entries inherit the base. An override replaces its string mode.
package/src/options.ts CHANGED
@@ -88,12 +88,13 @@ type TransformsMap = Partial<Record<SimpleTransform, boolean>> & {
88
88
  }
89
89
 
90
90
  export interface ObfuscatorOptions {
91
+ /** Print Babel's minified output instead of its standard formatted output. */
92
+ minify?: boolean
91
93
  /** Logs each pipeline step and its elapsed milliseconds to stderr. */
92
94
  verbose?: boolean
93
95
  /**
94
- * Per-transform toggles and string-generator overrides. `mangleProperties` is
95
- * opt-in because property names can cross the program boundary. Other omitted
96
- * transforms default to enabled.
96
+ * Per-transform toggles and string-generator overrides. Omitted transforms
97
+ * are disabled. Preparation passes always run and are not configurable.
97
98
  */
98
99
  transforms?: TransformsMap
99
100
  /**