@@ -24,37 +24,39 @@ const mkdirp = require("./util/mkdirp");
2424const find = require ( "./util/find" ) ;
2525const EOL = process . platform === "win32" ? "\r\n" : "\n" ;
2626const SEP = process . platform === "win32" ? "\\" : "/" ;
27+ const binaryen = global . Binaryen || ( global . Binaryen = require ( "binaryen" ) ) ;
2728
28- // global.Binaryen = require("../lib/binaryen");
29+ // Proxy Binaryen's ready event
30+ Object . defineProperty ( exports , "ready" , {
31+ get : function ( ) { return binaryen . ready ; }
32+ } ) ;
2933
3034// Emscripten adds an `uncaughtException` listener to Binaryen that results in an additional
3135// useless code fragment on top of an actual error. suppress this:
3236if ( process . removeAllListeners ) process . removeAllListeners ( "uncaughtException" ) ;
3337
3438// Use distribution files if present, otherwise run the sources directly
3539var assemblyscript , isDev = false ;
36- ( ( ) => {
37- try { // `asc` on the command line
38- assemblyscript = require ( "../dist/assemblyscript.js" ) ;
39- } catch ( e ) {
40- try { // `asc` on the command line without dist files
41- require ( "ts-node" ) . register ( {
42- project : path . join ( __dirname , ".." , "src" , "tsconfig.json" ) ,
43- skipIgnore : true ,
44- compilerOptions : { target : "ES2016" }
45- } ) ;
46- require ( "../src/glue/js" ) ;
47- assemblyscript = require ( "../src" ) ;
48- isDev = true ;
49- } catch ( e_ts ) {
50- try { // `require("dist/asc.js")` in explicit browser tests
51- assemblyscript = eval ( "require('./assemblyscript')" ) ;
52- } catch ( e ) {
53- throw Error ( e_ts . stack + "\n---\n" + e . stack ) ;
54- }
40+ try { // `asc` on the command line
41+ assemblyscript = require ( "../dist/assemblyscript.js" ) ;
42+ } catch ( e ) {
43+ try { // `asc` on the command line without dist files
44+ require ( "ts-node" ) . register ( {
45+ project : path . join ( __dirname , ".." , "src" , "tsconfig.json" ) ,
46+ skipIgnore : true ,
47+ compilerOptions : { target : "ES2016" }
48+ } ) ;
49+ require ( "../src/glue/js" ) ;
50+ assemblyscript = require ( "../src" ) ;
51+ isDev = true ;
52+ } catch ( e_ts ) {
53+ try { // `require("dist/asc.js")` in explicit browser tests
54+ assemblyscript = eval ( "require('./assemblyscript')" ) ;
55+ } catch ( e ) {
56+ throw Error ( e_ts . stack + "\n---\n" + e . stack ) ;
5557 }
5658 }
57- } ) ( ) ;
59+ }
5860
5961/** Whether this is a webpack bundle or not. */
6062exports . isBundle = typeof BUNDLE_VERSION === "string" ;
0 commit comments