File tree Expand file tree Collapse file tree 3 files changed +32
-5
lines changed Expand file tree Collapse file tree 3 files changed +32
-5
lines changed Original file line number Diff line number Diff line change 6868 "console" : true ,
6969 "exports" : true ,
7070 "module" : true ,
71+ "process" : false ,
7172 "Promise" : false ,
7273 "require" : false ,
74+ "setTimeout" : false ,
7375 "TextDecoder" : false ,
7476 "Uint8Array" : false
7577 }
Original file line number Diff line number Diff line change 11var _ = require ( "underscore" ) ;
2- var bluebird = require ( "bluebird/js/release/promise" ) ( ) ;
32
43exports . defer = defer ;
54exports . extend = extend ;
@@ -115,6 +114,33 @@ function forEachSeries(array, func) {
115114 * added.
116115 */
117116function toExternalPromise ( promise ) {
118- // TODO: stop using bluebird.
119- return bluebird . resolve ( promise ) ;
117+ var externalPromise = Promise . resolve ( promise ) ;
118+
119+ externalPromise . done = function ( resolve , reject ) {
120+ return promise . then ( resolve , reject ) . catch ( function ( error ) {
121+ if ( isNode ( ) ) {
122+ var stack = error instanceof Error ? error . stack : error ;
123+ process . stderr . write ( "Fatal " + stack + "\n" ) ;
124+ process . exit ( 2 ) ;
125+ } else {
126+ setTimeout ( function ( ) {
127+ throw error ;
128+ } , 0 ) ;
129+ }
130+ } ) ;
131+ } ;
132+
133+ return externalPromise ;
134+ }
135+
136+ /**
137+ * Detect whether we're running in node.js. This uses the same logic as in
138+ * bluebird for consistency with previous versions of Mammoth.
139+ */
140+ function isNode ( ) {
141+ if ( typeof process === "undefined" ) {
142+ return false ;
143+ }
144+
145+ return { } . toString . call ( process ) . toLowerCase ( ) === "[object process]" ;
120146}
Original file line number Diff line number Diff line change 22 "globals" : {
33 "__dirname" : false ,
44 "describe" : false ,
5- "it" : false ,
6- "setTimeout" : false
5+ "it" : false
76 }
87}
You can’t perform that action at this time.
0 commit comments