dev.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. 'use strict';
  2. import { NO_ADDITIONAL_NODES_PRESET } from '../../src/options/presets/NoCustomNodes';
  3. (function () {
  4. const JavaScriptObfuscator: any = require('../../index');
  5. let obfuscationResult = JavaScriptObfuscator.obfuscate(
  6. `
  7. function foo () {
  8. console.log('foo', 1);
  9. console.log('foo', 2);
  10. console.log('foo', 3);
  11. function bar() {
  12. console.log('bar', 1);
  13. console.log('bar', 2);
  14. console.log('bar', 3);
  15. function baz() {
  16. console.log('baz', 1);
  17. console.log('baz', 2);
  18. console.log('baz', 3);
  19. }
  20. baz();
  21. }
  22. bar();
  23. }
  24. foo();
  25. `,
  26. {
  27. ...NO_ADDITIONAL_NODES_PRESET,
  28. seed: 1,
  29. compact: false,
  30. simplify: false,
  31. stringArray: true,
  32. stringArrayThreshold: 1,
  33. stringArrayIndexShift: true,
  34. stringArrayWrappersChainedCalls: true,
  35. stringArrayWrappersCount: 3,
  36. stringArrayWrappersType: 'function',
  37. stringArrayWrappersParametersMaxCount: 5,
  38. identifierNamesGenerator: 'mangled'
  39. }
  40. );
  41. let obfuscatedCode: string = obfuscationResult.getObfuscatedCode();
  42. let identifierNamesCache = obfuscationResult.getIdentifierNamesCache();
  43. console.log(obfuscatedCode);
  44. console.log(eval(obfuscatedCode));
  45. console.log(identifierNamesCache);
  46. })();