master
ïŒæŽæ°åïŒãŸãã¯ãã©ã³ãbug-updating-deps
äœãèµ·ãããšæããŸãããïŒ
ãã¹ãŠã®ãã¹ãã¯ãã¹ãŠã®ç°å¢ã§åæ ŒããŸãã
å®éã«äœãèµ·ããã
1ã€ã®ãã¹ãã倱æããŸãã
1360 passing (919ms)
4 pending
1 failing
1) fakeTimers.clock
.useFakeTimers
fakes provided methods:
AssertionError: [refute.same] function onNextTick() {} expected not to be the same object as function onNextTick() {}
at Object.fail (node_modules/@sinonjs/referee/lib/create-fail.js:5)
at Object.fail (node_modules/@sinonjs/referee/lib/define-assertion.js:46)
at assertion (node_modules/@sinonjs/referee/lib/define-assertion.js:68)
at Function.referee.<computed>.<computed> [as same] (node_modules/@sinonjs/referee/lib/define-assertion.js:93)
at Context.<anonymous> (test/util/fake-timers-test.js:1075)
åçŸããæ¹æ³
master
ïŒ671330ceïŒããã§ãã¯ããŠãã ããã npm update && npm test
å®è¡ããŸãã
ãŸããæŽæ°ãããã·ã¥ããŸããïŒ https ïŒ
éãã確èªããã«ãäžåºŠã«1ã€ã®ããã±ãŒãžãæåã§å ã«æ»ãããšããŸããïŒbrowserifyãrollupã++ãè©ŠããŸããïŒã
ä»åºŠã¯ãäžåºŠã«1ã€ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããŠãã¹ãããã ãã§ãã¹ã¯ãªããã䜿çšããŠéã®ããšãè©Šã¿ãŸãã
æåã [email protected]
ã¯äœãéãããšãããŸãã
$ cat test-script.sh
#!/bin/bash
set -e # exit on error
pkgs=([email protected] [email protected] [email protected] [email protected] [email protected])
for pkg in $pkgs; do
git reset --hard
npm install $pkg
npm test
done
å·®åã«çããããã®ãèŠã€ãããŸããïŒ https ïŒ
ã¢ããããŒãã®package-lock.json
ã«ã¯ãå·®åã®èå³æ·±ãéšåã1ã€å«ãŸããŠããŸãã
"process-nextick-args": {
"version": "2.0.1",
},
å®å
šãªå·®åïŒ
git diff package-lock.json | egrep -v 'resolved|integrity|"dev"'
ïŒ
diff --git a/package-lock.json b/package-lock.json
index e12873c6..23ea8984 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -409,29 +409,29 @@
},
"acorn-node": {
- "version": "1.6.2",
+ "version": "1.7.0",
"requires": {
- "acorn": "^6.0.2",
+ "acorn": "^6.1.1",
"acorn-dynamic-import": "^4.0.0",
- "acorn-walk": "^6.1.0",
+ "acorn-walk": "^6.1.1",
"xtend": "^4.0.1"
},
"dependencies": {
"acorn": {
- "version": "6.0.4",
+ "version": "6.2.1",
}
}
},
"acorn-walk": {
- "version": "6.1.1",
+ "version": "6.2.0",
},
"agent-base": {
@@ -607,12 +607,30 @@
}
},
"assert": {
- "version": "1.4.1",
+ "version": "1.5.0",
"requires": {
+ "object-assign": "^4.1.1",
"util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ },
+ "util": {
+ "version": "0.10.3",
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
}
},
"assign-symbols": {
@@ -627,15 +645,6 @@
},
- "astw": {
- "version": "2.2.0",
- "requires": {
- "acorn": "^4.0.3"
- }
- },
"async": {
"version": "2.6.1",
@@ -761,9 +770,9 @@
}
},
"base64-js": {
- "version": "1.2.1",
+ "version": "1.3.1",
},
"binary-extensions": {
@@ -881,9 +890,9 @@
},
"browser-resolve": {
- "version": "1.11.2",
+ "version": "1.11.3",
"requires": {
"resolve": "1.1.7"
@@ -904,9 +913,9 @@
},
"browserify": {
- "version": "16.2.3",
+ "version": "16.3.0",
"requires": {
"JSONStream": "^1.0.3",
@@ -971,13 +980,19 @@
"typedarray": "^0.0.6"
}
},
+ "safe-buffer": {
+ "version": "5.2.0",
+ },
"string_decoder": {
- "version": "1.1.1",
+ "version": "1.3.0",
"requires": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "~5.2.0"
}
}
}
@@ -1064,9 +1079,9 @@
}
},
"buffer": {
- "version": "5.0.7",
+ "version": "5.2.1",
"requires": {
"base64-js": "^1.0.2",
@@ -1690,6 +1705,12 @@
"randombytes": "^2.0.0"
}
},
+ "dash-ast": {
+ "version": "1.0.0",
+ },
"date-fns": {
"version": "1.29.0",
@@ -3332,6 +3353,12 @@
}
}
},
+ "get-assigned-identifiers": {
+ "version": "1.2.0",
+ },
"get-caller-file": {
"version": "2.0.5",
@@ -3652,9 +3679,9 @@
},
"ieee754": {
- "version": "1.1.8",
+ "version": "1.1.13",
},
"ignore": {
@@ -3793,19 +3820,47 @@
}
},
"insert-module-globals": {
- "version": "7.0.1",
+ "version": "7.2.0",
"requires": {
"JSONStream": "^1.0.3",
- "combine-source-map": "~0.7.1",
- "concat-stream": "~1.5.1",
+ "acorn-node": "^1.5.2",
+ "combine-source-map": "^0.8.0",
+ "concat-stream": "^1.6.1",
"is-buffer": "^1.1.0",
- "lexical-scope": "^1.2.0",
+ "path-is-absolute": "^1.0.1",
"process": "~0.11.0",
"through2": "^2.0.0",
+ "undeclared-identifiers": "^1.1.2",
"xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "combine-source-map": {
+ "version": "0.8.0",
+ "requires": {
+ "convert-source-map": "~1.1.0",
+ "inline-source-map": "~0.6.0",
+ "lodash.memoize": "~3.0.3",
+ "source-map": "~0.5.3"
+ }
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ }
}
},
"invert-kv": {
@@ -4343,13 +4398,12 @@
}
},
"labeled-stream-splicer": {
- "version": "2.0.0",
+ "version": "2.0.2",
"requires": {
"inherits": "^2.0.1",
- "isarray": "~0.0.1",
"stream-splicer": "^2.0.0"
}
},
@@ -4592,15 +4646,6 @@
"type-check": "~0.3.2"
}
},
- "lexical-scope": {
- "version": "1.2.0",
- "requires": {
- "astw": "^2.0.0"
- }
- },
"linkify-it": {
"version": "2.0.3",
@@ -5768,14 +5813,14 @@
}
},
"module-deps": {
- "version": "6.2.0",
+ "version": "6.2.1",
"requires": {
"JSONStream": "^1.0.3",
"browser-resolve": "^1.7.0",
- "cached-path-relative": "^1.0.0",
+ "cached-path-relative": "^1.0.2",
"concat-stream": "~1.6.0",
"defined": "^1.0.0",
"detective": "^5.0.2",
@@ -5803,12 +5848,12 @@
}
},
"detective": {
- "version": "5.1.0",
+ "version": "5.2.0",
"requires": {
- "acorn-node": "^1.3.0",
+ "acorn-node": "^1.6.1",
"defined": "^1.0.0",
"minimist": "^1.1.1"
}
@@ -6607,9 +6652,9 @@
}
},
"pako": {
- "version": "1.0.6",
+ "version": "1.0.10",
},
"parent-module": {
@@ -6666,9 +6711,9 @@
},
"path-browserify": {
- "version": "0.0.0",
+ "version": "0.0.1",
},
"path-dirname": {
@@ -8221,6 +8266,12 @@
},
+ "simple-concat": {
+ "version": "1.0.0",
+ },
"slash": {
"version": "1.0.0",
@@ -8509,9 +8560,9 @@
}
},
"stream-browserify": {
- "version": "2.0.1",
+ "version": "2.0.2",
"requires": {
"inherits": "~2.0.1",
@@ -8529,22 +8580,60 @@
}
},
"stream-http": {
- "version": "2.7.2",
+ "version": "2.8.3",
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
- "readable-stream": "^2.2.6",
+ "readable-stream": "^2.3.6",
"to-arraybuffer": "^1.0.0",
"xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
}
},
"stream-splicer": {
- "version": "2.0.0",
+ "version": "2.0.1",
"requires": {
"inherits": "^2.0.1",
@@ -8679,12 +8768,12 @@
},
"syntax-error": {
- "version": "1.3.0",
+ "version": "1.4.0",
"requires": {
- "acorn": "^4.0.3"
+ "acorn-node": "^1.2.0"
}
},
"table": {
@@ -8987,6 +9076,19 @@
},
+ "undeclared-identifiers": {
+ "version": "1.1.3",
+ "requires": {
+ "acorn-node": "^1.3.0",
+ "dash-ast": "^1.0.0",
+ "get-assigned-identifiers": "^1.2.0",
+ "simple-concat": "^1.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
"union-value": {
"version": "1.0.1",
@@ -9105,20 +9207,12 @@
},
"util": {
- "version": "0.10.3",
+ "version": "0.10.4",
"requires": {
- "inherits": "2.0.1"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- }
+ "inherits": "2.0.3"
}
},
"util-deprecate": {
ãããé¢é£ããŠããå¯èœæ§ããããã©ããçåã«æããŸãïŒã·ãã³ãšãã¬ãã¯ã¹ã®åœã®ã¿ã€ããŒã«ã€ããŠèšåããŸãïŒïŒ
https://github.com/calvinmetcalf/process-nextick-args/commit/108596de940c73e78e0378a4084ab73ac846aed0
process-nextick-args
ãã°ãä¿®æ£ãããããã§ãã ããäžåºŠããçŽããŸããïŒ
ãã®ãããžã§ã¯ãã§ã¯1幎以äžäœãèµ·ãããªãã£ãã®ã§ãããã§ã倱æããã¯ãã§ãã ä»ã®ãã¹ãŠã®ããã±ãŒãžãæŽæ°ããããšã¯ã§ããŸãããããã¯browserifyãæŽæ°ããããã®ãããã«ãŒã®ãŸãŸã§ãã
ãã®ãã°ã¯åœã®ã¿ã€ããŒã³ãŒãã«çŸããã®ã§ããã°ã¯Lolexã«ãããšæããŸããããæ®å¿µãªãããåããã¹ããlolexã«è¿œå ããBrowserifyïŒ=> Chokidar => fsevents => process-nextick-argsïŒãã¢ããã°ã¬ãŒããããšãã°ãæããã«ããŸããã åãprocess-nextick-argsããŒãžã§ã³ïŒ2.0.0ïŒãïŒLolexã«ïŒãããŸããã ããã¯ããããSinonèªèº«ã®fake-timers.js
åºæã®å°ããªã³ãŒãã§ããããšã瀺ããŠããŸãã module.exports
ã³ãŒãã«ã€ããŠã®ç§ã®æšæž¬ã
以äžã®åºåã§ã¯ãã³ã³ãœãŒã«åºåãããã€ãè¿œå ããŸããã
$ git diff test/
diff --git a/test/util/fake-timers-test.js b/test/util/fake-timers-test.js
index 97965647..27944a18 100644
--- a/test/util/fake-timers-test.js
+++ b/test/util/fake-timers-test.js
@@ -1068,10 +1068,15 @@ describe("fakeTimers.clock", function() {
});
it("fakes provided methods", function() {
+ console.log("setImmediate", setImmediate);
+ console.log("fakeTimers.timers.setImmediate", fakeTimers.timers.setImmediate);
this.clock = fakeTimers.useFakeTimers({ toFake: ["setTimeout", "Date", "setImmediate"] });
refute.same(setTimeout, fakeTimers.timers.setTimeout);
refute.same(Date, fakeTimers.timers.Date);
+ console.log("setImmediate", setImmediate);
+ console.log("fakeTimers.timers.setImmediate", fakeTimers.timers.setImmediate);
refute.same(setImmediate, fakeTimers.timers.setImmediate);
});
Browserify / process-nextick-argsãã¢ããã°ã¬ãŒãããåã®åºå
# chromium:
fakeTimers.clock
...
.setImmediate
â returns numeric id or object with numeric id
â calls the given callback immediately
â throws if no arguments
â manages separate timers per clock instance
â passes extra parameters through to the callback
.clearImmediate
â removes immediate callbacks
.tick
â triggers immediately without specified delay
â does not trigger without sufficient delay
â triggers after sufficient delay
â triggers simultaneous timers
â triggers multiple simultaneous timers
â triggers multiple simultaneous timers with zero callAt
â waits after setTimeout was called
â mini integration test
â triggers even when some throw
â calls function with global object or null (strict mode) as this
â triggers in the order scheduled
â creates updated Date while ticking
â fires timer in intervals of 13
â fires timers in correct order
â triggers timeouts and intervals in the order scheduled
â does not fire canceled intervals
â passes 6 seconds
â passes 1 minute
â passes 2 hours, 34 minutes and 12 seconds (63ms)
â throws for invalid format
â throws for invalid minutes
â throws for negative minutes
â treats missing argument as 0
â fires nested setTimeout calls properly
â does not silently catch exceptions
â returns the current now value
.useFakeTimers
â returns clock object
â has clock property
â sets initial timestamp
â replaces global setTimeout
â global fake setTimeout should return id
â replaces global clearTimeout
â restores global setTimeout
â restores global clearTimeout
â replaces global setInterval
â replaces global clearInterval
â restores global setInterval
â restores global clearInterval
â deletes global property on restore if it was inherited onto the global object
â restores global property on restore if it is present on the global object itself
â fakes Date constructor
â fake Date constructor should mirror Date's properties
â decide on Date.now support at call-time when supported
â decide on Date.now support at call-time when unsupported
â mirrors custom Date properties
â restores Date constructor
setImmediate undefined
fakeTimers.timers.setImmediate undefined
setImmediate function () {
return clock[method].apply(clock, arguments);
}
fakeTimers.timers.setImmediate undefined
â fakes provided methods
èå³æ·±ããããïŒ setImmediate
ã¯ããã¹ããå®è¡ããåã¯undefined
ãããã¹ãã¯å®è¡ãããŸãã
Browserify / process-nextick-argsãã¢ããã°ã¬ãŒãããåã«åºåããŸãããåäžã®ãã¹ããå®è¡ããã ãã§ã
$ mochify test/util/fake-timers-test.js --grep "fakes provided methods" > output_pre.txt
# chromium:
fakeTimers.clock
.useFakeTimers
1) fakes provided methods
0 passing (32ms)
1 failing
1) fakeTimers.clock
.useFakeTimers
fakes provided methods:
ReferenceError: setImmediate is not defined
at Context.<anonymous> (test/util/fake-timers-test.js:1072)
èå³æ·±ãïŒãã®1åã®å®è¡ã§setImmediate is not defined
ãšãããšã©ãŒã衚瀺ãããŸããã€ãŸãããã¹ãã¹ã€ãŒãå
šäœãå®è¡ãããšãããã«ãªãã£ãã°ããŒãã«ãè¿œå ãããŸãïŒ undefined
èšå®ããå Žåã§ãïŒã ããã¯ããã¹ããã°ããŒãã«ã¹ã³ãŒãã«åœ±é¿ãäžããããšãæå³ããŸãã ããã¯ããªãç§ãã¡ãçªç¶æã£ãŠç解ããäžã§éåžžã«éèŠã§ãããããããªãsetImmediate
ã¢ããã°ã¬ãŒãããåŸã«å®è£
ãprocess-nextick-args
ã å€åããã¯å€æ°ãå®çŸ©ãããŠãããã©ãããã©ãããããããã§ãã¯ã
Browserify / process-nextick-argsãã¢ããã°ã¬ãŒãããåŸã®åºåïŒåäžã®ãã¹ãå®è¡ïŒ
$ cat output_post.txt
# chromium:
fakeTimers.clock
.useFakeTimers
setImmediate function(fn) {
var id = nextImmediateId++;
var args = arguments.length < 2 ? false : slice.call(arguments, 1);
immediateIds[id] = true;
nextTick(function onNextTick() {
if (immediateIds[id]) {
// fn.call() is faster so we optimize for the common use-case
// <strong i="28">@see</strong> http://jsperf.com/call-apply-segu
if (args) {
fn.apply(null, args);
} else {
fn.call(null);
}
// Prevent ids from leaking
exports.clearImmediate(id);
}
});
return id;
}
fakeTimers.timers.setImmediate function(fn) {
var id = nextImmediateId++;
var args = arguments.length < 2 ? false : slice.call(arguments, 1);
immediateIds[id] = true;
nextTick(function onNextTick() {
if (immediateIds[id]) {
// fn.call() is faster so we optimize for the common use-case
// <strong i="29">@see</strong> http://jsperf.com/call-apply-segu
if (args) {
fn.apply(null, args);
} else {
fn.call(null);
}
// Prevent ids from leaking
exports.clearImmediate(id);
}
});
return id;
}
setImmediate function(fn) {
var id = nextImmediateId++;
var args = arguments.length < 2 ? false : slice.call(arguments, 1);
immediateIds[id] = true;
nextTick(function onNextTick() {
if (immediateIds[id]) {
// fn.call() is faster so we optimize for the common use-case
// <strong i="30">@see</strong> http://jsperf.com/call-apply-segu
if (args) {
fn.apply(null, args);
} else {
fn.call(null);
}
// Prevent ids from leaking
exports.clearImmediate(id);
}
});
return id;
}
fakeTimers.timers.setImmediate function(fn) {
var id = nextImmediateId++;
var args = arguments.length < 2 ? false : slice.call(arguments, 1);
immediateIds[id] = true;
nextTick(function onNextTick() {
if (immediateIds[id]) {
// fn.call() is faster so we optimize for the common use-case
// <strong i="31">@see</strong> http://jsperf.com/call-apply-segu
if (args) {
fn.apply(null, args);
} else {
fn.call(null);
}
// Prevent ids from leaking
exports.clearImmediate(id);
}
});
return id;
}
1) fakes provided methods
0 passing (79ms)
1 failing
1) fakeTimers.clock
.useFakeTimers
fakes provided methods:
AssertionError: [refute.same] function onNextTick() {} expected not to be the same object as function onNextTick() {}
at Object.fail (node_modules/@sinonjs/referee/lib/create-fail.js:5)
at Object.fail (node_modules/@sinonjs/referee/lib/define-assertion.js:46)
at assertion (node_modules/@sinonjs/referee/lib/define-assertion.js:68)
at Function.referee.<computed>.<computed> [as same] (node_modules/@sinonjs/referee/lib/define-assertion.js:93)
at Context.<anonymous> (test/util/fake-timers-test.js:1080)
ããã§èå³æ·±ãã®ã¯ã
setImmediate
ã¯ããã¹ãåã«ïŒãŠãŒã¶ãŒå®çŸ©ã®ïŒé¢æ°ãšããŠå®çŸ©ãããŠããŸãsetImmediate
ã®å€ã¯ããã¹ãäžã«_å€æŽãããŸãã_Browserify16.3ã«æŽæ°ããå¿
èŠã¯ãããŸããã npm install [email protected]
ãå®è¡ããã ãã§ååã§ããããã®ããŒãžã§ã³ã®ãã¹ãŠã®depãæŽæ°ãããåããã°ã衚瀺ãããŸãã
ããã¯package-lock.jsonã®å·®åã§ã
git diff package-lock.json
diff --git a/package-lock.json b/package-lock.json
index c2290730..92060702 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -403,12 +403,6 @@
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
},
- "acorn-dynamic-import": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
- "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
- "dev": true
- },
"acorn-jsx": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
@@ -416,29 +410,34 @@
"dev": true
},
"acorn-node": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.6.2.tgz",
- "integrity": "sha512-rIhNEZuNI8ibQcL7ANm/mGyPukIaZsRNX9psFNQURyJW0nu6k8wjSDld20z6v2mDBWqX13pIEnk9gGZJHIlEXg==",
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
"dev": true,
"requires": {
- "acorn": "^6.0.2",
- "acorn-dynamic-import": "^4.0.0",
- "acorn-walk": "^6.1.0",
- "xtend": "^4.0.1"
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
},
"dependencies": {
"acorn": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
- "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz",
+ "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true
}
}
},
"acorn-walk": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz",
- "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz",
+ "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==",
"dev": true
},
"agent-base": {
@@ -614,12 +613,30 @@
}
},
"assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
"dev": true,
"requires": {
+ "object-assign": "^4.1.1",
"util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
}
},
"assign-symbols": {
@@ -634,15 +651,6 @@
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
- "astw": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz",
- "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=",
- "dev": true,
- "requires": {
- "acorn": "^4.0.3"
- }
- },
"async": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
@@ -768,9 +776,9 @@
}
},
"base64-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz",
- "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
"dev": true
},
"binary-extensions": {
@@ -888,9 +896,9 @@
"dev": true
},
"browser-resolve": {
- "version": "1.11.2",
- "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
- "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
"dev": true,
"requires": {
"resolve": "1.1.7"
@@ -978,13 +986,19 @@
"typedarray": "^0.0.6"
}
},
+ "safe-buffer": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
+ "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+ "dev": true
+ },
"string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "~5.2.0"
}
}
}
@@ -1071,9 +1085,9 @@
}
},
"buffer": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.7.tgz",
- "integrity": "sha512-NeeHXWh5pCbPQCt2/6rLvXqapZfVsqw/YgRgaHpT3H9Uzgs+S0lSg5SQzouIuDvcmlQRqBe8hOO2scKCu3cxrg==",
+ "version": "5.4.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz",
+ "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==",
"dev": true,
"requires": {
"base64-js": "^1.0.2",
@@ -1697,6 +1711,12 @@
"randombytes": "^2.0.0"
}
},
+ "dash-ast": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
+ "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==",
+ "dev": true
+ },
"date-fns": {
"version": "1.29.0",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz",
@@ -3392,6 +3412,12 @@
}
}
},
+ "get-assigned-identifiers": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
+ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
+ "dev": true
+ },
"get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -3712,9 +3738,9 @@
"dev": true
},
"ieee754": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
- "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
"dev": true
},
"ignore": {
@@ -3853,19 +3879,47 @@
}
},
"insert-module-globals": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz",
- "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz",
+ "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==",
"dev": true,
"requires": {
"JSONStream": "^1.0.3",
- "combine-source-map": "~0.7.1",
- "concat-stream": "~1.5.1",
+ "acorn-node": "^1.5.2",
+ "combine-source-map": "^0.8.0",
+ "concat-stream": "^1.6.1",
"is-buffer": "^1.1.0",
- "lexical-scope": "^1.2.0",
+ "path-is-absolute": "^1.0.1",
"process": "~0.11.0",
"through2": "^2.0.0",
+ "undeclared-identifiers": "^1.1.2",
"xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "combine-source-map": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
+ "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "~1.1.0",
+ "inline-source-map": "~0.6.0",
+ "lodash.memoize": "~3.0.3",
+ "source-map": "~0.5.3"
+ }
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ }
}
},
"invert-kv": {
@@ -4403,13 +4457,12 @@
}
},
"labeled-stream-splicer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
- "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
+ "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
- "isarray": "~0.0.1",
"stream-splicer": "^2.0.0"
}
},
@@ -4652,15 +4705,6 @@
"type-check": "~0.3.2"
}
},
- "lexical-scope": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
- "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=",
- "dev": true,
- "requires": {
- "astw": "^2.0.0"
- }
- },
"linkify-it": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz",
@@ -5829,14 +5873,14 @@
}
},
"module-deps": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.0.tgz",
- "integrity": "sha512-hKPmO06so6bL/ZvqVNVqdTVO8UAYsi3tQWlCa+z9KuWhoN4KDQtb5hcqQQv58qYiDE21wIvnttZEPiDgEbpwbA==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz",
+ "integrity": "sha512-UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A==",
"dev": true,
"requires": {
"JSONStream": "^1.0.3",
"browser-resolve": "^1.7.0",
- "cached-path-relative": "^1.0.0",
+ "cached-path-relative": "^1.0.2",
"concat-stream": "~1.6.0",
"defined": "^1.0.0",
"detective": "^5.0.2",
@@ -5864,12 +5908,12 @@
}
},
"detective": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz",
- "integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
+ "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
"dev": true,
"requires": {
- "acorn-node": "^1.3.0",
+ "acorn-node": "^1.6.1",
"defined": "^1.0.0",
"minimist": "^1.1.1"
}
@@ -6668,9 +6712,9 @@
}
},
"pako": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
+ "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
"dev": true
},
"parent-module": {
@@ -6727,9 +6771,9 @@
"dev": true
},
"path-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
"dev": true
},
"path-dirname": {
@@ -8282,6 +8326,12 @@
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
+ "simple-concat": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
+ "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
+ "dev": true
+ },
"slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
@@ -8570,9 +8620,9 @@
}
},
"stream-browserify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
- "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
"dev": true,
"requires": {
"inherits": "~2.0.1",
@@ -8590,22 +8640,60 @@
}
},
"stream-http": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz",
- "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==",
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
"dev": true,
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
- "readable-stream": "^2.2.6",
+ "readable-stream": "^2.3.6",
"to-arraybuffer": "^1.0.0",
"xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
}
},
"stream-splicer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
- "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
+ "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
@@ -8740,12 +8828,12 @@
"dev": true
},
"syntax-error": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz",
- "integrity": "sha1-HtkmbE1AvnXcVb+bsct3Biu5bKE=",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
"dev": true,
"requires": {
- "acorn": "^4.0.3"
+ "acorn-node": "^1.2.0"
}
},
"table": {
@@ -9048,6 +9136,19 @@
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
"dev": true
},
+ "undeclared-identifiers": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
+ "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^1.3.0",
+ "dash-ast": "^1.0.0",
+ "get-assigned-identifiers": "^1.2.0",
+ "simple-concat": "^1.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
"union-value": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -9166,20 +9267,12 @@
"dev": true
},
"util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
"dev": true,
"requires": {
- "inherits": "2.0.1"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
- "dev": true
- }
+ "inherits": "2.0.3"
}
},
"util-deprecate": {
å€åããã¯node_modules
æ眪ã®å®¹çè
ãèŠã€ããããã«äœ¿çšãããå¯èœæ§ããããŸãïŒ
grep -rl setImmediate node_modules/
node_modules/inquirer/node_modules/rxjs/_esm2015/internal/util/Immediate.js
node_modules/inquirer/node_modules/rxjs/_esm2015/internal/scheduler/AsapAction.js
node_modules/inquirer/node_modules/rxjs/src/internal/util/Immediate.ts
node_modules/inquirer/node_modules/rxjs/src/internal/scheduler/AsapAction.ts
node_modules/inquirer/node_modules/rxjs/internal/util/Immediate.js
node_modules/inquirer/node_modules/rxjs/internal/util/Immediate.d.ts
node_modules/inquirer/node_modules/rxjs/internal/scheduler/AsapAction.js
node_modules/inquirer/node_modules/rxjs/_esm5/internal/util/Immediate.js
node_modules/inquirer/node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js
node_modules/inquirer/node_modules/rxjs/bundles/rxjs.umd.min.js
node_modules/inquirer/node_modules/rxjs/bundles/rxjs.umd.js
node_modules/inquirer/node_modules/rxjs/bundles/rxjs.umd.js.map
node_modules/inquirer/node_modules/rxjs/bundles/rxjs.umd.min.js.map
node_modules/@types/node/index.d.ts
node_modules/@types/node/README.md
node_modules/@sinonjs/samsam/node_modules/lodash/lodash.js
node_modules/uglify-js/tools/domprops.json
node_modules/uglify-js/tools/exit.js
node_modules/mochify/node_modules/mocha/mocha.js
node_modules/mochify/node_modules/mocha/CHANGELOG.md
node_modules/mochify/node_modules/mocha/lib/runner.js
node_modules/mochify/lib/mochify.js
node_modules/readable-stream/lib/_stream_writable.js
node_modules/stream-splicer/index.js
node_modules/levelup/CHANGELOG.md
node_modules/levelup/lib/write-stream.js
node_modules/external-editor/main/index.js
node_modules/rxjs/util/Immediate.js.map
node_modules/rxjs/util/Immediate.js
node_modules/rxjs/util/Immediate.d.ts
node_modules/rxjs/_esm2015/util/Immediate.js
node_modules/rxjs/_esm2015/scheduler/AsapAction.js
node_modules/rxjs/scheduler/AsapAction.js.map
node_modules/rxjs/scheduler/AsapAction.js
node_modules/rxjs/src/util/Immediate.ts
node_modules/rxjs/src/scheduler/AsapAction.ts
node_modules/rxjs/_esm5/util/Immediate.js
node_modules/rxjs/_esm5/scheduler/AsapAction.js
node_modules/rxjs/bundles/Rx.js.map
node_modules/rxjs/bundles/Rx.min.js
node_modules/rxjs/bundles/Rx.js
node_modules/rxjs/bundles/Rx.min.js.map
node_modules/native-promise-only/npo.js
node_modules/native-promise-only/lib/npo.src.js
node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
node_modules/es6-promise/CHANGELOG.md
node_modules/path-type/node_modules/pify/readme.md
node_modules/globals/globals.json
node_modules/timers-browserify/CHANGELOG.md
node_modules/timers-browserify/README.md
node_modules/timers-browserify/main.js
node_modules/neo-async/async.js
node_modules/neo-async/README.md
node_modules/neo-async/async.min.js
node_modules/neo-async/setImmediate.js
node_modules/readdirp/stream-api.js
node_modules/readdirp/readdirp.js
node_modules/level-blobs/node_modules/readable-stream/float.patch
node_modules/transformify/node_modules/readable-stream/float.patch
node_modules/mocha/mocha.js
node_modules/mocha/CHANGELOG.md
node_modules/mocha/lib/runner.js
node_modules/mocaccino/node_modules/readable-stream/lib/_stream_writable.js
node_modules/mocaccino/node_modules/mocha/mocha.js
node_modules/mocaccino/node_modules/mocha/CHANGELOG.md
node_modules/mocaccino/node_modules/mocha/lib/runner.js
node_modules/esm/esm/loader.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/toolbox.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/devtools_compatibility.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/console/console_module.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/heap_snapshot_worker.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/text_editor/text_editor_module.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/audits_worker/audits_worker_module.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/network/network_module.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/formatter_worker.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/sources/sources_module.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/shell.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources.pak
node_modules/load-json-file/node_modules/pify/readme.md
node_modules/async/memoize.js
node_modules/async/wrapSync.js
node_modules/async/nextTick.js
node_modules/async/CHANGELOG.md
node_modules/async/asyncify.js
node_modules/async/dist/async.min.map
node_modules/async/dist/async.js
node_modules/async/dist/async.min.js
node_modules/async/internal/queue.js
node_modules/async/internal/setImmediate.js
node_modules/async/transform.js
node_modules/async/priorityQueue.js
node_modules/async/index.js
node_modules/async/setImmediate.js
node_modules/async/ensureAsync.js
node_modules/lodash/lodash.js
node_modules/stream-http/node_modules/readable-stream/lib/_stream_writable.js
node_modules/lolex/lolex.js
node_modules/lolex/CHANGELOG.md
node_modules/lolex/src/lolex-src.js
node_modules/lolex/README.md
node_modules/prettier/bin-prettier.js
node_modules/prettier/index.js
node_modules/insert-module-globals/readme.markdown
node_modules/insert-module-globals/index.js
node_modules/insert-module-globals/test/immediate/main.js
node_modules/rollup-plugin-node-builtins/src/es6/timers.js
node_modules/rollup-plugin-node-builtins/src/es6/setimmediate.js
node_modules/lint-staged/node_modules/pify/readme.md
node_modules/fd-slicer/CHANGELOG.md
node_modules/fd-slicer/index.js
node_modules/nise/nise.js
node_modules/source-map-resolve/lib/source-map-resolve-node.js
node_modules/source-map-resolve/readme.md
node_modules/source-map-resolve/source-map-resolve.js
node_modules/yauzl/index.js
node_modules/yauzl/README.md
node_modules/rollup-plugin-node-globals/readme.md
node_modules/pify/readme.md
node_modules/extract-zip/index.js
ãããã¯äž¡æ¹ãšãèšåãããŠãããã¡ã€ã«setImmediate
ãšäœ¿çšprocess-nextick-args
ã Sinonã®å€éšã®äœããnextTick
ã䜿çšããŠsetImmediate
ãå®çŸ©ããŠããã®ãèŠãŠãåé¡ã¯ãããã«é¢é£ããŠãããšæããŸãã
$ grep -l process-nextick-args $(cat setImm_hits )
node_modules/mochify/node_modules/mocha/mocha.js
node_modules/readable-stream/lib/_stream_writable.js
node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
node_modules/mocha/mocha.js
node_modules/mocaccino/node_modules/readable-stream/lib/_stream_writable.js
node_modules/mocaccino/node_modules/mocha/mocha.js
node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/resources/inspector/audits_worker/audits_worker_module.js
node_modules/stream-http/node_modules/readable-stream/lib/_stream_writable.js
Mochifyãšã¹ããªãŒã ã«é¢é£ãããã®ããããããããŸãã@ mantoniã æ ¹æ¬çãªåå ãäœã§ãããã«ã€ããŠäœãèãããããŸããïŒ
ã¢ããã°ã¬ãŒãåã¯ãéå±€ã«ã¯2ã€ã®äŸåé¢ä¿ãããããŸããã
$ find node_modules/ -regex '.*/process-nextick-args/package.json'
node_modules/process-nextick-args/package.json
node_modules/mocaccino/node_modules/process-nextick-args/package.json
$ find node_modules/ -regex '.*/process-nextick-args/package.json' | xargs jq .version
"1.0.7"
"2.0.1"
ã¢ããã°ã¬ãŒãåŸã3ã€ãããŸãïŒæ°ããã®ã¯stream-http
ïŒã
$ find node_modules/ -regex '.*/process-nextick-args/package.json'
node_modules/process-nextick-args/package.json
node_modules/mocaccino/node_modules/process-nextick-args/package.json
node_modules/stream-http/node_modules/process-nextick-args/package.json
carlerik at diffia9350 in /mnt/dev/sinon (2072-upgrade-browserify-bug)
$ find node_modules/ -regex '.*/process-nextick-args/package.json' | xargs jq .version
"1.0.7"
"2.0.1"
"2.0.1"
ç§ã¯ãããæãäžããã®ã«30åãè²»ãããŸããã ãªããããèµ·ãã£ãã®ã説æããããšã¯ã§ããŸããããç§ã¯SinonãsetImmediate
ã«é¢ããŠééã£ãããšãããŠããïŒãããŠããããåžžã«ããããŠããïŒãšããçµè«ã«éããŸããã
äœãã¢ããã°ã¬ãŒãããã«ãçŸåšã®ãã¹ã¿ãŒãã©ã³ãã§ã次ã®ã³ã³ãã³ãã䜿çšããŠissue.js
ãäœæããŸãã
'use strict';
console.log(String(window.setImmediate));
require('.').useFakeTimers();
console.log(String(window.setImmediate));
node_modules/.bin/mochify issue.js
ããªã³ãã§å®è¡ãã
# chromium:
undefined
function () {
return clock[method].apply(clock, arguments);
}
0 passing (1ms)
ã芧ã®ãšãããChromiumã¯setImmediate
ãå®è£
ããŠããŸããã ã¯ãã ã®ãã°ã¬ããŒããèŠã€ããŸãããã¡ã³ããã¯ãããå®è£
ããã€ããã¯ãªããšè¿°ã¹ãŠããŸãïŒ https ïŒ
åé¡ã¯ã setImmediate
ãé©åã«åŸ©å
ãããŠããªãããšã§ã¯ãªããããããã€ã³ã¹ããŒã«ãããã¹ãã§ã¯ãªããšæããŸãã çŸåšããã©ãŠã¶ç°å¢ã§Sinonã®åœã®ã¿ã€ããŒã䜿çšãããšãå®éã«ã¯æ©èœããªãã¯ããªã®ã«setImmediate
æ©èœããŸãã
åé¡ã瀺ããã¹ãã±ãŒã¹ã倱æãããã«ãªã¯ãšã¹ããäœæããŸããã æ®å¿µãªãããä»æ¥ã¯äœæ¥ãç¶ããæéããããŸããã
ããã¯å®çšçãªã¢ãããŒãã§ããSinonã«setImmediateãã€ã³ã¹ããŒã«ããªãããã«ãããšããã°ããªããªããã©ããã確èªããŠãã ããã å®éã®ä¿®æ£ã¯Lolexã§è¡ãå¿ èŠããããããããŸããã
ç§ã¯åŸã§ãããlolexã§ãã¹ãããŸããã ããã§ã¯åçŸã§ããªãã®ã§ãã¿ã€ããŒã®Sinonã€ã³ã¹ããŒã«ã³ãŒãã«ãã§ãã¯ãè¿œå ããå¿ èŠããããŸãã
ææ¡ãããä¿®æ£ïŒsinonjs / lolexïŒ268ããã³sinonjs / lolexïŒ269ïŒãåé¡ãä¿®æ£ããªãã£ãã®ãèŠãŠã眪人ãèŠã€ããŸããã ãããè¡ãã®ã¯browserifyãã©ã³ã¹ãã©ãŒã ã®ããã§ãïŒ https ïŒ
test/util/fake-timers-test.js
ã€ã®ãã¹ãã§mochify
ãå®è¡ããã ãã§ããããŸããã æèšãäœæããè¡ãã³ã¡ã³ãã¢ãŠããããšã setImmediate
ã¯æªå®çŸ©ã®ãŸãŸã«ãªããŸãã ã³ã¡ã³ããããšå®çŸ©ãããŸããã
Lolex 5ïŒïŒ2131ã®äŸåé¢ä¿ïŒã§setImmediateãäœæããããšãé¿ããŠããããšãç¥ã£ãŠããã®ã§ãLolexã責任ãè² ããªãããšãç¥ã£ãŠããŸããã ããã§ãsetImmediateã®æåååãããå®çŸ©ããããã€ãã®è¡ãã°ãŒã°ã«ã§æ€çŽ¢ããBrowserifyã®äŸåé¢ä¿ã§ããinsert-module-globalsã§é¢æ°å®çŸ©ãèŠã€ããŸããã BrowserifyãæŽæ°ããããšã«ããããã®äŸåé¢ä¿ã®v7.0.1ãã7.3.0ã«ç§»è¡ããv7.2ã§setImmediate
è¿œå ãéå§ããŸããã
setImmediateã䜿çš/åç §ãããŠããããšãæ€åºããå Žåããã®browserifyãã©ã³ã¹ãã©ãŒã ã¯ãã®ã°ããŒãã«ãã€ã³ã¹ããŒã«ããããã«èŠããŸããïŒ ãããã«ãããç§ãã¡ã¯ããã§éé£ãããŠããªãããã§ãã
ããããå¥åŠãªããšã1ã€ãããŸãã Mochifyãé¢çœãããžãã¹ãããŠããã®ã ããã...
äžèšã®å€æãmochifyããã»ã¹ã«å«ãŸããŠããããšãããããŸãïŒ mochify --bundle bundle.js --consolify test/util/fake-timers-test.js
ã§ãããSinonãã³ãã«ãæ§ç¯ãããšãã«å«ãŸããŠããŸããïŒ npm run build
ã
@mantoni ãéåžžã®ãBrowserifyãå®è¡ããªãå€æãMochifyã«åŒãèµ·ããå¯èœæ§ãããã®ã¯äœã§ããïŒ
ãã æ確ã«ããŸãïŒ
ãã®å Žåã®åé¡ã¯ãäœãïŒBrowserifyïŒãsetImmediate
ãã°ããŒãã«ã¹ã³ãŒãã«è¿œå ããããšã§ããæ€åºã³ãŒãããã§ã«å®è¡ãããåŸãå€ãã®ä»®å®ãç ŽãããŸãã setImmediate
ã¯æåã¯æªå®çŸ©ã§ãæåŸã«ãæªå®çŸ©ã«ãªããšäºæ³ãããŸããããã®éã«ã©ããã«èšå®ãããŠããŸãã
ããã調æ»ããŠããã ãããããšãããããŸãð¯
å°ãéåæã ã£ããšããŠããäœããã®åœ¢ã§ããã«ãœã³ã®é±æ«ã«åå ããå¿ èŠããããŸããðã€ãã«ããã®æ žå¿ã«ãã©ãçãããšãã§ããŠããããã§ãã
ç§ã¯ããã§åºæ¬çãªä¿®æ£ãç¥ã£ãŠãããšæãopts.insertGlobalVars
å®çŸ©ããŸãïŒãã @ mantoniã¯mochify
ãããã§ç§ãå°ãå©ããå¿
èŠããããŸãã
mochify
ã³ãã³ãã©ã€ã³ã§Browserifyãã©ã°ãæž¡ãæ¹æ³ãããããŸããã mochifyã®ããã¥ã¡ã³ãããç§ãèŠãŠããã®ã¯ããã§ãïŒ
mochifyé¢æ°ã¯Browserifyã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãã 詳现ã«ã€ããŠã¯ãBrowserifyAPIãåç §ããŠãã ããã
ã€ãŸããçŸåšã®CLIã§ã®Mochifyã®äœ¿çšã眮ãæããŠãJavaScriptïŒ build.js
ïŒã«çœ®ãæããå¿
èŠããããšããããšã§ããïŒ ãŸããè¿ãããbrowserifyã€ã³ã¹ã¿ã³ã¹ã¯ãè¿œå ã®ãªãã·ã§ã³ã䜿çšããŠæ§æã§ããããšãæå³ãããšæããŸããïŒ åèãŸã§ã«ãããäºéã«æçš¿ãããããããŸãã...
@ fatso83Mochifyã«Browserifyãªãã·ã§ã³ãè¿œå ã§ããŠããããã§ã:)
ãšã«ãããåé¡ã¯Mochifyã®éåžžã«å€ãéšåã§ããbrout
å
ã«ãããšæããŸãã mochaã®process
ãªããžã§ã¯ããã·ã ããstdout / stderrã§write
åŒã³åºãããªãã€ã¬ã¯ãããŸãã ããã¯ãbrowserifyãprocess
ãªããžã§ã¯ãã䜿çšãããŠããããšãæ€åºãããã®ã°ããŒãã«ã·ã ãè¿œå ããããšãæå³ããŸãã Mochifyã§å
éšbrowserifyãã€ãã©ã€ã³ã--no-insert-globals
ã§å®è¡ãã代ããã«brout
ã«ã¹ã¿ã process
ã·ã ãæäŸããããšããå§ãããŸãã
_ç·šéïŒ_ãããŠãã®é¢é£è¡ã¯æ¬¡ã®ãšããã§ãïŒ https ïŒ
ããŒãPRãããã®ã§ãããã©ãããããããããªãã®ã§âŠ
å¿é ãªãã ç§ã¯ãããä¿®æ£ããçŸåšã®ãã®ãããç解ãããã解決çãèãåºãããã«ããŸãã ã§ãæéãèŠã€ãããŸã§æ°æ¥ããããŸãã