Commit Graph
331 Commits
Author SHA1 Message Date
Timofey Kachalov 44028a147f Fixed transformObjectKeys incorrectly hoisting object literal outsie of loop (#1375) 2026-01-27 22:19:27 +04:00
Timofey Kachalov 3848bca794 Backport some fixes from Pro version (#1374) 2026-01-27 17:20:23 +04:00
Timofey Kachalov 99c635a6d2 Fixed controlFlowFlattening breaking short-circuit evaluation with spread operator and conditional objects (#1373) 2026-01-27 14:04:39 +04:00
Timofey Kachalov 4ee4b219e5 Add prettier (#1339) 2025-12-04 00:09:10 +04:00
Timofey Kachalov b36951af37 Fix control flow flattening + optional chaining compatibility (#1334) 2025-11-30 01:53:25 +04:00
Alex 54cbdf6d27 Add target 'service-worker' (#1134) 2023-09-05 13:26:01 +04:00
Timofey Kachalov 30ba697c55 Fixed cases when dead code is added to the inner code of eval expressions (#1062)
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/1053
2022-02-14 14:34:39 +03:00
Timofey Kachalov b99b6a46ee Improved integration between renameProperties and controlFlowFlattening options (#1060) 2022-02-12 20:35:31 +03:00
Timofey Kachalov 2095d47058 Dead code injection transformer ignores PrivateIdentifier nodes (#1057) 2022-02-09 22:44:16 +03:00
Timofey Kachalov ec4b70f908 String array calls transform fix (#1050)
* Fixed the wrong generation of code that has statements after `ReturnStatment` when `simplify` option is enabled

* Fixed generation of reserved identifier names like `Map` or `Set` for `mangled` and `mangled-shuffled` identifier names generators
2022-02-08 00:02:33 +03:00
Timofey Kachalov 77f64bf5df Fixed wrong generation of code that has statements after ReturnStatment when simplify option is enabled 2022-02-06 21:10:16 +03:00
Timofey Kachalov f075a0e2d1 Added stringArrayCallsTransform and stringArrayCallsTransformThreshold options (#987) 2022-02-05 20:57:39 +03:00
sanex cead12a76f Refactoring 2022-01-31 01:08:00 +03:00
sanex ec1c90a27f Renamed options 2021-10-17 15:25:29 +03:00
sanex faaab45c6a ignoreRequireImports option renamed to ignoreImports 2021-10-17 15:13:24 +03:00
Kevin 30c5e9a937 fix: dynamic import 2021-10-11 03:50:58 +08:00
sanex 6e1ce07b5e Fixed very rare cases when rotateStringArray couldn't rotate array properly 2021-08-02 12:25:45 +03:00
sanex 73fcb350a2 Updated CHANGELOG.md. Fixed tests. 2021-08-01 23:22:06 +03:00
sanex c4abec8c2a Added additional self defending mechanisms. Updated tests 2021-08-01 16:58:04 +03:00
sanex 744cd14f7f Updated supported node versions. Added support for rename of property definitions 2021-07-23 23:42:10 +03:00
sanex ba3e4d6897 Sync with dev 2021-07-23 22:29:00 +03:00
sanex 1dbfd24237 renameProperties option now won't generate duplicated property names in some cases 2021-07-16 18:46:50 +03:00
sanex a1dc2df04f stringArrayWrappersType: 'function' now generates different indexes between each wrapper inside the same lexical scope 2021-07-16 02:47:32 +03:00
sanex 3a71c78304 * stringArrayWrappersType: 'function' now appends FunctionDeclaration functions instead of FunctionExpression functions. This allows to append these wrappers at random positions inside each scope 2021-07-15 21:24:44 +03:00
sanex fdd03c15c5 To increase performance and prevent possible runtime errors transformObjectKeys option now completely ignores objects with NewExpression nodes 2021-07-15 11:44:08 +03:00
sanex d62bf3d377 To increase performance and prevent possible runtime errors transformObjectKeys option now completely ignores objects with CallExpression nodes 2021-07-15 10:52:44 +03:00
sanex f6d865d6e9 Renamed MethodDefinitionTransformer => ClassFieldTransformer. Added tests. 2021-07-03 16:53:12 +03:00
sanex 899456f553 Dead code injection unwrap stage now runs before string array transformers 2021-06-16 09:43:56 +03:00
sanex 65bc30790d Added more tests for sequence expression and this reference 2021-06-13 11:59:35 +03:00
sanex 3cf94b7152 Fixed invalid behaviour of transformObjectKeys option when object values contains this references 2021-06-13 11:23:31 +03:00
sanex eee15456ed Dependencies update. Added tests for property identifier names cache. 2021-05-31 11:56:31 +03:00
sanex f32bcf29a8 Changed identifier names cache structure to store multiple identifier caches 2021-05-30 18:43:36 +03:00
sanex e7d9c71964 Added more tests for identifier names cache code generation 2021-05-30 15:49:55 +03:00
sanex b62f49369c Added ScopeThroughIdentifiersTransformer tests 2021-05-30 03:42:41 +03:00
sanex a13c764fc6 Fixed invalid code generation for start/middle rest arguments when controlFlowFlattenig option is enabled
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/920
2021-05-23 11:06:04 +03:00
sanex 85ee48bca7 Fixed DirectivePlacementTransformer test 2021-04-11 00:09:06 +03:00
sanex 4f9df91320 stringArray calls wrappers now inserted as FunctionDeclaration nodes at random indexes 2021-04-10 23:28:12 +03:00
sanex e2b231e2a0 Updated renameProperties transformer tests 2021-03-07 14:11:27 +03:00
sanex dd328b3c22 Fixed invalid code generation for rest arguments when controlFlowFlattening option is enabled
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/887
2021-02-28 18:14:11 +03:00
sanex 9c5b289fdd Fixed invalid behaviour of extractIntegerAndDecimalParts for negative numbers 2021-02-25 10:39:30 +03:00
sanex 61d98966b1 Fixed invalid behaviour of numbersToExpressions option for float numbers
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/882
2021-02-23 23:47:31 +03:00
sanex 1847bcc5ac Fixed simplify option regression after 2.10.2
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/864
2021-01-20 09:20:48 +03:00
sanex 5289dcc834 Fixed behaviour of simplify options when node with a single-statement body is inside simplified IfStatement node
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/860
2021-01-17 19:53:16 +03:00
sanex 04be75e27b Removed padding characters from all base64 encoded strings.
Removed RegExp that trims padding characters from `base64` encoded strings from `atob` code helper to prevent mutation of `RegExp.$1` value during calls to the `stringArray`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/829
2021-01-01 16:47:44 +03:00
sanex 81ff464320 Added runtime StringArrayRotateFunctionTransformer tests 2020-12-31 13:01:29 +03:00
sanex 358244be39 Merge branch 'master' into rotate-string-array-improvements
# Conflicts:
#	dist/index.browser.js
#	dist/index.cli.js
#	dist/index.js
2020-12-30 10:46:57 +03:00
sanex 89db80a32c Updated DirectivePlacementTransformer tests with all function scope types 2020-12-30 10:07:04 +03:00
sanex b71b39f5e7 Merge branch 'master' into rotate-string-array-improvements
# Conflicts:
#	CHANGELOG.md
#	dist/index.browser.js
#	dist/index.cli.js
#	dist/index.js
#	package.json
2020-12-30 00:42:26 +03:00
sanex 2927fa0ab8 Preventing move of "use strict"; directive during obfuscation 2020-12-29 23:29:16 +03:00
sanex 3f5b2c6811 Added tests for StringArrayRotateFunction transformer, code helper, and template 2020-12-29 17:17:26 +03:00