@@ -128,7 +128,12 @@ const headRegexp = /(^module.exports = \w+;?)/m
128128
129129 , processNextTickImport = [
130130 headRegexp
131- , '$1\n\n/*<replacement>*/\nvar processNextTick = require(\'process-nextick-args\');\n/*</replacement>*/\n'
131+ , `$1
132+
133+ /*<replacement>*/
134+ var processNextTick = require(\'process-nextick-args\');
135+ /*</replacement>*/
136+ `
132137 ]
133138
134139 , processNextTickReplacement = [
@@ -140,7 +145,30 @@ const headRegexp = /(^module.exports = \w+;?)/m
140145 / ^ c o n s t i n t e r n a l U t i l = r e q u i r e \( ' i n t e r n a l \/ u t i l ' \) ; / m
141146 , '\n/*<replacement>*/\nconst internalUtil = {\n deprecate: require(\'util-deprecate\')\n};\n'
142147 + '/*</replacement>*/\n'
148+ ] ,
149+ isNode10 = [
150+ headRegexp
151+ , `$1
152+
153+ /*<replacement>*/
154+ var isNode10 = !process.browser && ['v0.10' , 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1;
155+ /*</replacement>*/
156+ `
143157 ]
158+ , fixSyncWrite = [
159+ / i f \( s y n c \) { \n \s + p r o c e s s N e x t T i c k \( a f t e r W r i t e , s t r e a m , s t a t e , f i n i s h e d , c b \) ; \n \s + } /
160+ , `if (sync) {
161+ /*<replacement>*/
162+ if (isNode10) {
163+ setTimeout(afterWrite, 0, stream, state, finished, cb);
164+ } else {
165+ processNextTick(afterWrite, stream, state, finished, cb);
166+ }
167+ /*</replacement>*/
168+ }
169+
170+ `
171+ ]
144172
145173module . exports [ '_stream_duplex.js' ] = [
146174 requireReplacement
@@ -211,5 +239,7 @@ module.exports['_stream_writable.js'] = [
211239 , processNextTickImport
212240 , processNextTickReplacement
213241 , internalUtilReplacement
242+ , isNode10
243+ , fixSyncWrite
214244
215245]
0 commit comments