Browse Source

Added support of `top-level await`
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/884

sanex 4 năm trước cách đây
mục cha
commit
72a89a1357

+ 4 - 0
CHANGELOG.md

@@ -1,5 +1,9 @@
 Change Log
 
+v2.10.6
+---
+* Added support of `top-level await`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/884
+
 v2.10.5
 ---
 * Fixed invalid code generation for rest arguments when `controlFlowFlattening` option is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/887

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/index.browser.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/index.cli.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/index.js


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "javascript-obfuscator",
-  "version": "2.10.5",
+  "version": "2.10.6",
   "description": "JavaScript obfuscator",
   "keywords": [
     "obfuscator",

+ 1 - 0
src/ASTParserFacade.ts

@@ -65,6 +65,7 @@ export class ASTParserFacade {
         const comments: ESTree.Comment[] = [];
         const config: acorn.Options = {
             ...inputConfig,
+            allowAwaitOutsideFunction: true,
             onComment: comments,
             sourceType
         };

+ 21 - 0
test/functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec.ts

@@ -779,6 +779,27 @@ describe('JavaScriptObfuscator', () => {
             });
         });
 
+        describe('Top-level await support', () => {
+            const regExp: RegExp = /await 0x1;/;
+
+            let obfuscatedCode: string;
+
+            beforeEach(() => {
+                const code: string = readFileAsString(__dirname + '/fixtures/top-level-await-support.js');
+
+                obfuscatedCode = JavaScriptObfuscator.obfuscate(
+                    code,
+                    {
+                        ...NO_ADDITIONAL_NODES_PRESET
+                    }
+                ).getObfuscatedCode();
+            });
+
+            it('should support top-level await', () => {
+                assert.match(obfuscatedCode, regExp);
+            });
+        });
+
         describe('mangled identifier names generator', () => {
             const regExp: RegExp = /var c *= *0x1/;
 

+ 1 - 0
test/functional-tests/javascript-obfuscator/fixtures/top-level-await-support.js

@@ -0,0 +1 @@
+await 1;

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác