dragonfly_chrome_headless 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (228) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.travis.yml +12 -0
  4. data/Gemfile +4 -0
  5. data/README.md +53 -0
  6. data/Rakefile +10 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/dragonfly_chrome_headless.gemspec +27 -0
  10. data/lib/dragonfly_chrome_headless.rb +9 -0
  11. data/lib/dragonfly_chrome_headless/plugin.rb +17 -0
  12. data/lib/dragonfly_chrome_headless/processors/rasterize.rb +33 -0
  13. data/lib/dragonfly_chrome_headless/version.rb +3 -0
  14. data/node_modules/.bin/chrome-remote-interface +1 -0
  15. data/node_modules/.bin/mkdirp +1 -0
  16. data/node_modules/.bin/rimraf +1 -0
  17. data/node_modules/@types/core-js/LICENSE +21 -0
  18. data/node_modules/@types/core-js/README.md +16 -0
  19. data/node_modules/@types/core-js/index.d.ts +2452 -0
  20. data/node_modules/@types/core-js/package.json +85 -0
  21. data/node_modules/@types/mkdirp/README.md +18 -0
  22. data/node_modules/@types/mkdirp/index.d.ts +14 -0
  23. data/node_modules/@types/mkdirp/package.json +77 -0
  24. data/node_modules/@types/mkdirp/types-metadata.json +25 -0
  25. data/node_modules/@types/node/README.md +16 -0
  26. data/node_modules/@types/node/index.d.ts +4132 -0
  27. data/node_modules/@types/node/package.json +84 -0
  28. data/node_modules/balanced-match/.npmignore +5 -0
  29. data/node_modules/balanced-match/LICENSE.md +21 -0
  30. data/node_modules/balanced-match/README.md +91 -0
  31. data/node_modules/balanced-match/index.js +59 -0
  32. data/node_modules/balanced-match/package.json +112 -0
  33. data/node_modules/brace-expansion/README.md +123 -0
  34. data/node_modules/brace-expansion/index.js +201 -0
  35. data/node_modules/brace-expansion/package.json +114 -0
  36. data/node_modules/chrome-launcher/.clang-format +6 -0
  37. data/node_modules/chrome-launcher/.npmignore +11 -0
  38. data/node_modules/chrome-launcher/README.md +123 -0
  39. data/node_modules/chrome-launcher/ask.js +32 -0
  40. data/node_modules/chrome-launcher/ask.ts +35 -0
  41. data/node_modules/chrome-launcher/chrome-finder.js +157 -0
  42. data/node_modules/chrome-launcher/chrome-finder.ts +186 -0
  43. data/node_modules/chrome-launcher/chrome-launcher.js +245 -0
  44. data/node_modules/chrome-launcher/chrome-launcher.ts +312 -0
  45. data/node_modules/chrome-launcher/compiled-check.js +14 -0
  46. data/node_modules/chrome-launcher/flags.js +27 -0
  47. data/node_modules/chrome-launcher/flags.ts +26 -0
  48. data/node_modules/chrome-launcher/index.js +7 -0
  49. data/node_modules/chrome-launcher/index.ts +1 -0
  50. data/node_modules/chrome-launcher/manual-chrome-launcher.js +30 -0
  51. data/node_modules/chrome-launcher/package.json +116 -0
  52. data/node_modules/chrome-launcher/random-port.js +24 -0
  53. data/node_modules/chrome-launcher/random-port.ts +23 -0
  54. data/node_modules/chrome-launcher/tsconfig.json +19 -0
  55. data/node_modules/chrome-launcher/utils.js +52 -0
  56. data/node_modules/chrome-launcher/utils.ts +44 -0
  57. data/node_modules/chrome-launcher/yarn.lock +1486 -0
  58. data/node_modules/chrome-remote-interface/LICENSE +18 -0
  59. data/node_modules/chrome-remote-interface/README.md +849 -0
  60. data/node_modules/chrome-remote-interface/bin/client.js +337 -0
  61. data/node_modules/chrome-remote-interface/chrome-remote-interface.js +11 -0
  62. data/node_modules/chrome-remote-interface/index.js +39 -0
  63. data/node_modules/chrome-remote-interface/lib/api.js +84 -0
  64. data/node_modules/chrome-remote-interface/lib/chrome.js +307 -0
  65. data/node_modules/chrome-remote-interface/lib/defaults.js +4 -0
  66. data/node_modules/chrome-remote-interface/lib/devtools.js +245 -0
  67. data/node_modules/chrome-remote-interface/lib/external-request.js +28 -0
  68. data/node_modules/chrome-remote-interface/lib/protocol.json +13780 -0
  69. data/node_modules/chrome-remote-interface/lib/websocket-wrapper.js +32 -0
  70. data/node_modules/chrome-remote-interface/package.json +128 -0
  71. data/node_modules/chrome-remote-interface/webpack.config.js +55 -0
  72. data/node_modules/commander/Readme.md +195 -0
  73. data/node_modules/commander/index.js +851 -0
  74. data/node_modules/commander/package.json +92 -0
  75. data/node_modules/concat-map/.travis.yml +4 -0
  76. data/node_modules/concat-map/LICENSE +18 -0
  77. data/node_modules/concat-map/README.markdown +62 -0
  78. data/node_modules/concat-map/example/map.js +6 -0
  79. data/node_modules/concat-map/index.js +13 -0
  80. data/node_modules/concat-map/package.json +117 -0
  81. data/node_modules/concat-map/test/map.js +39 -0
  82. data/node_modules/debug/.coveralls.yml +1 -0
  83. data/node_modules/debug/.eslintrc +11 -0
  84. data/node_modules/debug/.npmignore +9 -0
  85. data/node_modules/debug/.travis.yml +14 -0
  86. data/node_modules/debug/CHANGELOG.md +357 -0
  87. data/node_modules/debug/LICENSE +19 -0
  88. data/node_modules/debug/Makefile +50 -0
  89. data/node_modules/debug/Readme.md +312 -0
  90. data/node_modules/debug/component.json +19 -0
  91. data/node_modules/debug/karma.conf.js +70 -0
  92. data/node_modules/debug/node.js +1 -0
  93. data/node_modules/debug/package.json +124 -0
  94. data/node_modules/debug/src/browser.js +185 -0
  95. data/node_modules/debug/src/debug.js +202 -0
  96. data/node_modules/debug/src/index.js +10 -0
  97. data/node_modules/debug/src/node.js +246 -0
  98. data/node_modules/fs.realpath/LICENSE +43 -0
  99. data/node_modules/fs.realpath/README.md +33 -0
  100. data/node_modules/fs.realpath/index.js +66 -0
  101. data/node_modules/fs.realpath/old.js +303 -0
  102. data/node_modules/fs.realpath/package.json +94 -0
  103. data/node_modules/glob/LICENSE +15 -0
  104. data/node_modules/glob/README.md +368 -0
  105. data/node_modules/glob/changelog.md +67 -0
  106. data/node_modules/glob/common.js +240 -0
  107. data/node_modules/glob/glob.js +790 -0
  108. data/node_modules/glob/package.json +112 -0
  109. data/node_modules/glob/sync.js +486 -0
  110. data/node_modules/html-pdf-chrome/.npmignore +9 -0
  111. data/node_modules/html-pdf-chrome/LICENSE +21 -0
  112. data/node_modules/html-pdf-chrome/README.md +165 -0
  113. data/node_modules/html-pdf-chrome/lib/src/ChromePrintOptions.d.ts +87 -0
  114. data/node_modules/html-pdf-chrome/lib/src/ChromePrintOptions.js +4 -0
  115. data/node_modules/html-pdf-chrome/lib/src/ChromePrintOptions.js.map +1 -0
  116. data/node_modules/html-pdf-chrome/lib/src/CompletionTrigger.d.ts +120 -0
  117. data/node_modules/html-pdf-chrome/lib/src/CompletionTrigger.js +206 -0
  118. data/node_modules/html-pdf-chrome/lib/src/CompletionTrigger.js.map +1 -0
  119. data/node_modules/html-pdf-chrome/lib/src/CreateResult.d.ts +70 -0
  120. data/node_modules/html-pdf-chrome/lib/src/CreateResult.js +98 -0
  121. data/node_modules/html-pdf-chrome/lib/src/CreateResult.js.map +1 -0
  122. data/node_modules/html-pdf-chrome/lib/src/index.d.ts +72 -0
  123. data/node_modules/html-pdf-chrome/lib/src/index.js +123 -0
  124. data/node_modules/html-pdf-chrome/lib/src/index.js.map +1 -0
  125. data/node_modules/html-pdf-chrome/package.json +133 -0
  126. data/node_modules/html-pdf-chrome/src/ChromePrintOptions.ts +99 -0
  127. data/node_modules/html-pdf-chrome/src/CompletionTrigger.ts +201 -0
  128. data/node_modules/html-pdf-chrome/src/CreateResult.ts +100 -0
  129. data/node_modules/html-pdf-chrome/src/index.ts +179 -0
  130. data/node_modules/inflight/LICENSE +15 -0
  131. data/node_modules/inflight/README.md +37 -0
  132. data/node_modules/inflight/inflight.js +54 -0
  133. data/node_modules/inflight/package.json +105 -0
  134. data/node_modules/inherits/LICENSE +16 -0
  135. data/node_modules/inherits/README.md +42 -0
  136. data/node_modules/inherits/inherits.js +7 -0
  137. data/node_modules/inherits/inherits_browser.js +23 -0
  138. data/node_modules/inherits/package.json +97 -0
  139. data/node_modules/lighthouse-logger/README.md +4 -0
  140. data/node_modules/lighthouse-logger/index.js +212 -0
  141. data/node_modules/lighthouse-logger/package.json +69 -0
  142. data/node_modules/lighthouse-logger/yarn.lock +13 -0
  143. data/node_modules/minimatch/LICENSE +15 -0
  144. data/node_modules/minimatch/README.md +209 -0
  145. data/node_modules/minimatch/minimatch.js +923 -0
  146. data/node_modules/minimatch/package.json +99 -0
  147. data/node_modules/minimist/.travis.yml +4 -0
  148. data/node_modules/minimist/LICENSE +18 -0
  149. data/node_modules/minimist/example/parse.js +2 -0
  150. data/node_modules/minimist/index.js +187 -0
  151. data/node_modules/minimist/package.json +101 -0
  152. data/node_modules/minimist/readme.markdown +73 -0
  153. data/node_modules/minimist/test/dash.js +24 -0
  154. data/node_modules/minimist/test/default_bool.js +20 -0
  155. data/node_modules/minimist/test/dotted.js +16 -0
  156. data/node_modules/minimist/test/long.js +31 -0
  157. data/node_modules/minimist/test/parse.js +318 -0
  158. data/node_modules/minimist/test/parse_modified.js +9 -0
  159. data/node_modules/minimist/test/short.js +67 -0
  160. data/node_modules/minimist/test/whitespace.js +8 -0
  161. data/node_modules/mkdirp/.travis.yml +8 -0
  162. data/node_modules/mkdirp/LICENSE +21 -0
  163. data/node_modules/mkdirp/bin/cmd.js +33 -0
  164. data/node_modules/mkdirp/bin/usage.txt +12 -0
  165. data/node_modules/mkdirp/examples/pow.js +6 -0
  166. data/node_modules/mkdirp/index.js +98 -0
  167. data/node_modules/mkdirp/package.json +93 -0
  168. data/node_modules/mkdirp/readme.markdown +100 -0
  169. data/node_modules/mkdirp/test/chmod.js +41 -0
  170. data/node_modules/mkdirp/test/clobber.js +38 -0
  171. data/node_modules/mkdirp/test/mkdirp.js +28 -0
  172. data/node_modules/mkdirp/test/opts_fs.js +29 -0
  173. data/node_modules/mkdirp/test/opts_fs_sync.js +27 -0
  174. data/node_modules/mkdirp/test/perm.js +32 -0
  175. data/node_modules/mkdirp/test/perm_sync.js +36 -0
  176. data/node_modules/mkdirp/test/race.js +37 -0
  177. data/node_modules/mkdirp/test/rel.js +32 -0
  178. data/node_modules/mkdirp/test/return.js +25 -0
  179. data/node_modules/mkdirp/test/return_sync.js +24 -0
  180. data/node_modules/mkdirp/test/root.js +19 -0
  181. data/node_modules/mkdirp/test/sync.js +32 -0
  182. data/node_modules/mkdirp/test/umask.js +28 -0
  183. data/node_modules/mkdirp/test/umask_sync.js +32 -0
  184. data/node_modules/ms/README.md +51 -0
  185. data/node_modules/ms/index.js +152 -0
  186. data/node_modules/ms/license.md +21 -0
  187. data/node_modules/ms/package.json +109 -0
  188. data/node_modules/once/LICENSE +15 -0
  189. data/node_modules/once/README.md +79 -0
  190. data/node_modules/once/once.js +42 -0
  191. data/node_modules/once/package.json +101 -0
  192. data/node_modules/path-is-absolute/index.js +20 -0
  193. data/node_modules/path-is-absolute/license +21 -0
  194. data/node_modules/path-is-absolute/package.json +111 -0
  195. data/node_modules/path-is-absolute/readme.md +59 -0
  196. data/node_modules/rimraf/LICENSE +15 -0
  197. data/node_modules/rimraf/README.md +101 -0
  198. data/node_modules/rimraf/bin.js +50 -0
  199. data/node_modules/rimraf/package.json +99 -0
  200. data/node_modules/rimraf/rimraf.js +363 -0
  201. data/node_modules/ultron/LICENSE +22 -0
  202. data/node_modules/ultron/index.js +138 -0
  203. data/node_modules/ultron/package.json +112 -0
  204. data/node_modules/wrappy/LICENSE +15 -0
  205. data/node_modules/wrappy/README.md +36 -0
  206. data/node_modules/wrappy/package.json +97 -0
  207. data/node_modules/wrappy/wrappy.js +33 -0
  208. data/node_modules/ws/LICENSE +21 -0
  209. data/node_modules/ws/README.md +259 -0
  210. data/node_modules/ws/SECURITY.md +33 -0
  211. data/node_modules/ws/index.js +15 -0
  212. data/node_modules/ws/lib/BufferUtil.fallback.js +56 -0
  213. data/node_modules/ws/lib/BufferUtil.js +15 -0
  214. data/node_modules/ws/lib/ErrorCodes.js +28 -0
  215. data/node_modules/ws/lib/EventTarget.js +158 -0
  216. data/node_modules/ws/lib/Extensions.js +69 -0
  217. data/node_modules/ws/lib/PerMessageDeflate.js +339 -0
  218. data/node_modules/ws/lib/Receiver.js +520 -0
  219. data/node_modules/ws/lib/Sender.js +438 -0
  220. data/node_modules/ws/lib/Validation.fallback.js +9 -0
  221. data/node_modules/ws/lib/Validation.js +17 -0
  222. data/node_modules/ws/lib/WebSocket.js +705 -0
  223. data/node_modules/ws/lib/WebSocketServer.js +336 -0
  224. data/node_modules/ws/package.json +122 -0
  225. data/package.json +26 -0
  226. data/samples/sample.html +13 -0
  227. data/script/rasterize.js +18 -0
  228. metadata +325 -0
@@ -0,0 +1 @@
1
+ module.exports = require('./src/node');
@@ -0,0 +1,124 @@
1
+ {
2
+ "_args": [
3
+ [
4
+ {
5
+ "raw": "debug@^2.6.8",
6
+ "scope": null,
7
+ "escapedName": "debug",
8
+ "name": "debug",
9
+ "rawSpec": "^2.6.8",
10
+ "spec": ">=2.6.8 <3.0.0",
11
+ "type": "range"
12
+ },
13
+ "/Users/tomascelizna/Devel/dragonfly_chrome_headless/node_modules/lighthouse-logger"
14
+ ]
15
+ ],
16
+ "_from": "debug@>=2.6.8 <3.0.0",
17
+ "_id": "debug@2.6.8",
18
+ "_inCache": true,
19
+ "_location": "/debug",
20
+ "_nodeVersion": "7.10.0",
21
+ "_npmOperationalInternal": {
22
+ "host": "packages-12-west.internal.npmjs.com",
23
+ "tmp": "tmp/debug-2.6.8.tgz_1495138020906_0.5965513256378472"
24
+ },
25
+ "_npmUser": {
26
+ "name": "tootallnate",
27
+ "email": "nathan@tootallnate.net"
28
+ },
29
+ "_npmVersion": "4.2.0",
30
+ "_phantomChildren": {},
31
+ "_requested": {
32
+ "raw": "debug@^2.6.8",
33
+ "scope": null,
34
+ "escapedName": "debug",
35
+ "name": "debug",
36
+ "rawSpec": "^2.6.8",
37
+ "spec": ">=2.6.8 <3.0.0",
38
+ "type": "range"
39
+ },
40
+ "_requiredBy": [
41
+ "/lighthouse-logger"
42
+ ],
43
+ "_resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
44
+ "_shasum": "e731531ca2ede27d188222427da17821d68ff4fc",
45
+ "_shrinkwrap": null,
46
+ "_spec": "debug@^2.6.8",
47
+ "_where": "/Users/tomascelizna/Devel/dragonfly_chrome_headless/node_modules/lighthouse-logger",
48
+ "author": {
49
+ "name": "TJ Holowaychuk",
50
+ "email": "tj@vision-media.ca"
51
+ },
52
+ "browser": "./src/browser.js",
53
+ "bugs": {
54
+ "url": "https://github.com/visionmedia/debug/issues"
55
+ },
56
+ "component": {
57
+ "scripts": {
58
+ "debug/index.js": "browser.js",
59
+ "debug/debug.js": "debug.js"
60
+ }
61
+ },
62
+ "contributors": [
63
+ {
64
+ "name": "Nathan Rajlich",
65
+ "email": "nathan@tootallnate.net",
66
+ "url": "http://n8.io"
67
+ },
68
+ {
69
+ "name": "Andrew Rhyne",
70
+ "email": "rhyneandrew@gmail.com"
71
+ }
72
+ ],
73
+ "dependencies": {
74
+ "ms": "2.0.0"
75
+ },
76
+ "description": "small debugging utility",
77
+ "devDependencies": {
78
+ "browserify": "9.0.3",
79
+ "chai": "^3.5.0",
80
+ "concurrently": "^3.1.0",
81
+ "coveralls": "^2.11.15",
82
+ "eslint": "^3.12.1",
83
+ "istanbul": "^0.4.5",
84
+ "karma": "^1.3.0",
85
+ "karma-chai": "^0.1.0",
86
+ "karma-mocha": "^1.3.0",
87
+ "karma-phantomjs-launcher": "^1.0.2",
88
+ "karma-sinon": "^1.0.5",
89
+ "mocha": "^3.2.0",
90
+ "mocha-lcov-reporter": "^1.2.0",
91
+ "rimraf": "^2.5.4",
92
+ "sinon": "^1.17.6",
93
+ "sinon-chai": "^2.8.0"
94
+ },
95
+ "directories": {},
96
+ "dist": {
97
+ "shasum": "e731531ca2ede27d188222427da17821d68ff4fc",
98
+ "tarball": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz"
99
+ },
100
+ "gitHead": "52e1f21284322f167839e5d3a60f635c8b2dc842",
101
+ "homepage": "https://github.com/visionmedia/debug#readme",
102
+ "keywords": [
103
+ "debug",
104
+ "log",
105
+ "debugger"
106
+ ],
107
+ "license": "MIT",
108
+ "main": "./src/index.js",
109
+ "maintainers": [
110
+ {
111
+ "name": "thebigredgeek",
112
+ "email": "rhyneandrew@gmail.com"
113
+ }
114
+ ],
115
+ "name": "debug",
116
+ "optionalDependencies": {},
117
+ "readme": "ERROR: No README data found!",
118
+ "repository": {
119
+ "type": "git",
120
+ "url": "git://github.com/visionmedia/debug.git"
121
+ },
122
+ "scripts": {},
123
+ "version": "2.6.8"
124
+ }
@@ -0,0 +1,185 @@
1
+ /**
2
+ * This is the web browser implementation of `debug()`.
3
+ *
4
+ * Expose `debug()` as the module.
5
+ */
6
+
7
+ exports = module.exports = require('./debug');
8
+ exports.log = log;
9
+ exports.formatArgs = formatArgs;
10
+ exports.save = save;
11
+ exports.load = load;
12
+ exports.useColors = useColors;
13
+ exports.storage = 'undefined' != typeof chrome
14
+ && 'undefined' != typeof chrome.storage
15
+ ? chrome.storage.local
16
+ : localstorage();
17
+
18
+ /**
19
+ * Colors.
20
+ */
21
+
22
+ exports.colors = [
23
+ 'lightseagreen',
24
+ 'forestgreen',
25
+ 'goldenrod',
26
+ 'dodgerblue',
27
+ 'darkorchid',
28
+ 'crimson'
29
+ ];
30
+
31
+ /**
32
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
33
+ * and the Firebug extension (any Firefox version) are known
34
+ * to support "%c" CSS customizations.
35
+ *
36
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
37
+ */
38
+
39
+ function useColors() {
40
+ // NB: In an Electron preload script, document will be defined but not fully
41
+ // initialized. Since we know we're in Chrome, we'll just detect this case
42
+ // explicitly
43
+ if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {
44
+ return true;
45
+ }
46
+
47
+ // is webkit? http://stackoverflow.com/a/16459606/376773
48
+ // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
49
+ return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
50
+ // is firebug? http://stackoverflow.com/a/398120/376773
51
+ (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
52
+ // is firefox >= v31?
53
+ // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
54
+ (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
55
+ // double check webkit in userAgent just in case we are in a worker
56
+ (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
57
+ }
58
+
59
+ /**
60
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
61
+ */
62
+
63
+ exports.formatters.j = function(v) {
64
+ try {
65
+ return JSON.stringify(v);
66
+ } catch (err) {
67
+ return '[UnexpectedJSONParseError]: ' + err.message;
68
+ }
69
+ };
70
+
71
+
72
+ /**
73
+ * Colorize log arguments if enabled.
74
+ *
75
+ * @api public
76
+ */
77
+
78
+ function formatArgs(args) {
79
+ var useColors = this.useColors;
80
+
81
+ args[0] = (useColors ? '%c' : '')
82
+ + this.namespace
83
+ + (useColors ? ' %c' : ' ')
84
+ + args[0]
85
+ + (useColors ? '%c ' : ' ')
86
+ + '+' + exports.humanize(this.diff);
87
+
88
+ if (!useColors) return;
89
+
90
+ var c = 'color: ' + this.color;
91
+ args.splice(1, 0, c, 'color: inherit')
92
+
93
+ // the final "%c" is somewhat tricky, because there could be other
94
+ // arguments passed either before or after the %c, so we need to
95
+ // figure out the correct index to insert the CSS into
96
+ var index = 0;
97
+ var lastC = 0;
98
+ args[0].replace(/%[a-zA-Z%]/g, function(match) {
99
+ if ('%%' === match) return;
100
+ index++;
101
+ if ('%c' === match) {
102
+ // we only are interested in the *last* %c
103
+ // (the user may have provided their own)
104
+ lastC = index;
105
+ }
106
+ });
107
+
108
+ args.splice(lastC, 0, c);
109
+ }
110
+
111
+ /**
112
+ * Invokes `console.log()` when available.
113
+ * No-op when `console.log` is not a "function".
114
+ *
115
+ * @api public
116
+ */
117
+
118
+ function log() {
119
+ // this hackery is required for IE8/9, where
120
+ // the `console.log` function doesn't have 'apply'
121
+ return 'object' === typeof console
122
+ && console.log
123
+ && Function.prototype.apply.call(console.log, console, arguments);
124
+ }
125
+
126
+ /**
127
+ * Save `namespaces`.
128
+ *
129
+ * @param {String} namespaces
130
+ * @api private
131
+ */
132
+
133
+ function save(namespaces) {
134
+ try {
135
+ if (null == namespaces) {
136
+ exports.storage.removeItem('debug');
137
+ } else {
138
+ exports.storage.debug = namespaces;
139
+ }
140
+ } catch(e) {}
141
+ }
142
+
143
+ /**
144
+ * Load `namespaces`.
145
+ *
146
+ * @return {String} returns the previously persisted debug modes
147
+ * @api private
148
+ */
149
+
150
+ function load() {
151
+ var r;
152
+ try {
153
+ r = exports.storage.debug;
154
+ } catch(e) {}
155
+
156
+ // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
157
+ if (!r && typeof process !== 'undefined' && 'env' in process) {
158
+ r = process.env.DEBUG;
159
+ }
160
+
161
+ return r;
162
+ }
163
+
164
+ /**
165
+ * Enable namespaces listed in `localStorage.debug` initially.
166
+ */
167
+
168
+ exports.enable(load());
169
+
170
+ /**
171
+ * Localstorage attempts to return the localstorage.
172
+ *
173
+ * This is necessary because safari throws
174
+ * when a user disables cookies/localstorage
175
+ * and you attempt to access it.
176
+ *
177
+ * @return {LocalStorage}
178
+ * @api private
179
+ */
180
+
181
+ function localstorage() {
182
+ try {
183
+ return window.localStorage;
184
+ } catch (e) {}
185
+ }
@@ -0,0 +1,202 @@
1
+
2
+ /**
3
+ * This is the common logic for both the Node.js and web browser
4
+ * implementations of `debug()`.
5
+ *
6
+ * Expose `debug()` as the module.
7
+ */
8
+
9
+ exports = module.exports = createDebug.debug = createDebug['default'] = createDebug;
10
+ exports.coerce = coerce;
11
+ exports.disable = disable;
12
+ exports.enable = enable;
13
+ exports.enabled = enabled;
14
+ exports.humanize = require('ms');
15
+
16
+ /**
17
+ * The currently active debug mode names, and names to skip.
18
+ */
19
+
20
+ exports.names = [];
21
+ exports.skips = [];
22
+
23
+ /**
24
+ * Map of special "%n" handling functions, for the debug "format" argument.
25
+ *
26
+ * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
27
+ */
28
+
29
+ exports.formatters = {};
30
+
31
+ /**
32
+ * Previous log timestamp.
33
+ */
34
+
35
+ var prevTime;
36
+
37
+ /**
38
+ * Select a color.
39
+ * @param {String} namespace
40
+ * @return {Number}
41
+ * @api private
42
+ */
43
+
44
+ function selectColor(namespace) {
45
+ var hash = 0, i;
46
+
47
+ for (i in namespace) {
48
+ hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
49
+ hash |= 0; // Convert to 32bit integer
50
+ }
51
+
52
+ return exports.colors[Math.abs(hash) % exports.colors.length];
53
+ }
54
+
55
+ /**
56
+ * Create a debugger with the given `namespace`.
57
+ *
58
+ * @param {String} namespace
59
+ * @return {Function}
60
+ * @api public
61
+ */
62
+
63
+ function createDebug(namespace) {
64
+
65
+ function debug() {
66
+ // disabled?
67
+ if (!debug.enabled) return;
68
+
69
+ var self = debug;
70
+
71
+ // set `diff` timestamp
72
+ var curr = +new Date();
73
+ var ms = curr - (prevTime || curr);
74
+ self.diff = ms;
75
+ self.prev = prevTime;
76
+ self.curr = curr;
77
+ prevTime = curr;
78
+
79
+ // turn the `arguments` into a proper Array
80
+ var args = new Array(arguments.length);
81
+ for (var i = 0; i < args.length; i++) {
82
+ args[i] = arguments[i];
83
+ }
84
+
85
+ args[0] = exports.coerce(args[0]);
86
+
87
+ if ('string' !== typeof args[0]) {
88
+ // anything else let's inspect with %O
89
+ args.unshift('%O');
90
+ }
91
+
92
+ // apply any `formatters` transformations
93
+ var index = 0;
94
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {
95
+ // if we encounter an escaped % then don't increase the array index
96
+ if (match === '%%') return match;
97
+ index++;
98
+ var formatter = exports.formatters[format];
99
+ if ('function' === typeof formatter) {
100
+ var val = args[index];
101
+ match = formatter.call(self, val);
102
+
103
+ // now we need to remove `args[index]` since it's inlined in the `format`
104
+ args.splice(index, 1);
105
+ index--;
106
+ }
107
+ return match;
108
+ });
109
+
110
+ // apply env-specific formatting (colors, etc.)
111
+ exports.formatArgs.call(self, args);
112
+
113
+ var logFn = debug.log || exports.log || console.log.bind(console);
114
+ logFn.apply(self, args);
115
+ }
116
+
117
+ debug.namespace = namespace;
118
+ debug.enabled = exports.enabled(namespace);
119
+ debug.useColors = exports.useColors();
120
+ debug.color = selectColor(namespace);
121
+
122
+ // env-specific initialization logic for debug instances
123
+ if ('function' === typeof exports.init) {
124
+ exports.init(debug);
125
+ }
126
+
127
+ return debug;
128
+ }
129
+
130
+ /**
131
+ * Enables a debug mode by namespaces. This can include modes
132
+ * separated by a colon and wildcards.
133
+ *
134
+ * @param {String} namespaces
135
+ * @api public
136
+ */
137
+
138
+ function enable(namespaces) {
139
+ exports.save(namespaces);
140
+
141
+ exports.names = [];
142
+ exports.skips = [];
143
+
144
+ var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
145
+ var len = split.length;
146
+
147
+ for (var i = 0; i < len; i++) {
148
+ if (!split[i]) continue; // ignore empty strings
149
+ namespaces = split[i].replace(/\*/g, '.*?');
150
+ if (namespaces[0] === '-') {
151
+ exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
152
+ } else {
153
+ exports.names.push(new RegExp('^' + namespaces + '$'));
154
+ }
155
+ }
156
+ }
157
+
158
+ /**
159
+ * Disable debug output.
160
+ *
161
+ * @api public
162
+ */
163
+
164
+ function disable() {
165
+ exports.enable('');
166
+ }
167
+
168
+ /**
169
+ * Returns true if the given mode name is enabled, false otherwise.
170
+ *
171
+ * @param {String} name
172
+ * @return {Boolean}
173
+ * @api public
174
+ */
175
+
176
+ function enabled(name) {
177
+ var i, len;
178
+ for (i = 0, len = exports.skips.length; i < len; i++) {
179
+ if (exports.skips[i].test(name)) {
180
+ return false;
181
+ }
182
+ }
183
+ for (i = 0, len = exports.names.length; i < len; i++) {
184
+ if (exports.names[i].test(name)) {
185
+ return true;
186
+ }
187
+ }
188
+ return false;
189
+ }
190
+
191
+ /**
192
+ * Coerce `val`.
193
+ *
194
+ * @param {Mixed} val
195
+ * @return {Mixed}
196
+ * @api private
197
+ */
198
+
199
+ function coerce(val) {
200
+ if (val instanceof Error) return val.stack || val.message;
201
+ return val;
202
+ }