| OLD | NEW |
| 1 // This script rewrites AST to be compatible with JavaScript 1.5 and decompiles | 1 // This script rewrites AST to be compatible with JavaScript 1.5 and decompiles |
| 2 // the modified tree then | 2 // the modified tree then |
| 3 | 3 |
| 4 include("../scripts/astDecompile.js"); | 4 include("../scripts/astDecompile.js"); |
| 5 include("../utils/beautify.js"); | 5 include("../utils/beautify.js"); |
| 6 | 6 |
| 7 let headerPrinted = false; | 7 let headerPrinted = false; |
| 8 | 8 |
| 9 // See https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API for | 9 // See https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API for |
| 10 // AST structure. | 10 // AST structure. |
| (...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 { | 551 { |
| 552 // Wrap the entire module into a function to give it an independent scope. | 552 // Wrap the entire module into a function to give it an independent scope. |
| 553 // Return exported symbols: | 553 // Return exported symbols: |
| 554 // | 554 // |
| 555 // require.scopes["foobar"] = (function() { | 555 // require.scopes["foobar"] = (function() { |
| 556 // var exports = {}; | 556 // var exports = {}; |
| 557 // ... | 557 // ... |
| 558 // return exports; | 558 // return exports; |
| 559 // })(); | 559 // })(); |
| 560 let code = 'require.scopes["' + options.filename + '"] = (function() {\n' + | 560 let code = 'require.scopes["' + options.filename + '"] = (function() {\n' + |
| 561 'var exports = {};\n' + | 561 decompileAST(ast).replace(/^("use strict";\n)?/, |
| 562 decompileAST(ast) + | 562 "$1var exports = {};\n") + |
| 563 'return exports;\n' + | 563 'return exports;\n' + |
| 564 '})();\n'; | 564 '})();\n'; |
| 565 _print(js_beautify(code, options)); | 565 _print(js_beautify(code, options)); |
| 566 } | 566 } |
| 567 else | 567 else |
| 568 _print(js_beautify(decompileAST(ast), options)); | 568 _print(js_beautify(decompileAST(ast), options)); |
| 569 } | 569 } |
| OLD | NEW |