opal 0.11.4 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (379) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +42 -10
  3. data/.rubocop.yml +398 -0
  4. data/.rubocop_todo.yml +44 -0
  5. data/.travis.yml +28 -34
  6. data/CHANGELOG.md +363 -142
  7. data/CONTRIBUTING.md +3 -5
  8. data/Gemfile +17 -12
  9. data/Guardfile +0 -1
  10. data/HACKING.md +1 -35
  11. data/LICENSE +2 -2
  12. data/README.md +42 -13
  13. data/Rakefile +1 -4
  14. data/UNRELEASED.md +133 -0
  15. data/benchmark-ips/README.md +6 -0
  16. data/benchmark-ips/bm_block_vs_yield.rb +21 -0
  17. data/benchmark-ips/bm_js_symbols_vs_strings.rb +28 -0
  18. data/benchmark-ips/bm_while_true_vs_loop.rb +19 -0
  19. data/bin/console +14 -0
  20. data/bin/opal +0 -1
  21. data/bin/opal-benchmark-ips +8 -0
  22. data/bin/opal-mspec +9 -1
  23. data/bin/opal-repl +2 -1
  24. data/bin/rake +7 -0
  25. data/bin/setup +8 -0
  26. data/docs/compiled_ruby.md +89 -8
  27. data/docs/compiler.md +3 -20
  28. data/docs/jquery.md +44 -11
  29. data/docs/promises.md +1 -1
  30. data/docs/rails.md +16 -12
  31. data/docs/sinatra.md +15 -8
  32. data/docs/using_sprockets.md +16 -11
  33. data/examples/rack/config.ru +1 -0
  34. data/examples/sinatra/Gemfile +1 -0
  35. data/examples/sinatra/config.ru +2 -11
  36. data/exe/opal-repl +3 -11
  37. data/lib/opal.rb +1 -0
  38. data/lib/opal/ast/builder.rb +4 -1
  39. data/lib/opal/ast/node.rb +1 -0
  40. data/lib/opal/builder.rb +84 -63
  41. data/lib/opal/builder_processors.rb +41 -56
  42. data/lib/opal/cli.rb +33 -49
  43. data/lib/opal/cli_options.rb +27 -17
  44. data/lib/opal/cli_runners.rb +73 -16
  45. data/lib/opal/cli_runners/applescript.rb +4 -4
  46. data/lib/opal/cli_runners/chrome.rb +29 -17
  47. data/lib/opal/cli_runners/nashorn.rb +5 -4
  48. data/lib/opal/cli_runners/nodejs.rb +8 -6
  49. data/lib/opal/cli_runners/server.rb +12 -11
  50. data/lib/opal/compiler.rb +85 -103
  51. data/lib/opal/config.rb +3 -3
  52. data/lib/opal/deprecations.rb +2 -1
  53. data/lib/opal/eof_content.rb +2 -2
  54. data/lib/opal/erb.rb +8 -7
  55. data/lib/opal/errors.rb +72 -1
  56. data/lib/opal/fragment.rb +23 -3
  57. data/lib/opal/hike.rb +305 -0
  58. data/lib/opal/nodes.rb +5 -10
  59. data/lib/opal/nodes/arglist.rb +7 -6
  60. data/lib/opal/nodes/args.rb +36 -0
  61. data/lib/opal/nodes/args/arg.rb +22 -0
  62. data/lib/opal/nodes/args/arity_check.rb +151 -0
  63. data/lib/opal/nodes/args/ensure_kwargs_are_kwargs.rb +28 -0
  64. data/lib/opal/nodes/args/extract_block_arg.rb +34 -0
  65. data/lib/opal/nodes/args/extract_kwarg.rb +32 -0
  66. data/lib/opal/nodes/args/extract_kwargs.rb +28 -0
  67. data/lib/opal/nodes/args/extract_kwoptarg.rb +35 -0
  68. data/lib/opal/nodes/args/extract_kwrestarg.rb +35 -0
  69. data/lib/opal/nodes/args/extract_optarg.rb +35 -0
  70. data/lib/opal/nodes/args/extract_post_arg.rb +28 -0
  71. data/lib/opal/nodes/args/extract_post_optarg.rb +41 -0
  72. data/lib/opal/nodes/args/extract_restarg.rb +40 -0
  73. data/lib/opal/nodes/args/fake_arg.rb +26 -0
  74. data/lib/opal/nodes/args/initialize_iterarg.rb +28 -0
  75. data/lib/opal/nodes/args/initialize_shadowarg.rb +24 -0
  76. data/lib/opal/nodes/args/parameters.rb +63 -0
  77. data/lib/opal/nodes/args/prepare_post_args.rb +22 -0
  78. data/lib/opal/nodes/array.rb +9 -8
  79. data/lib/opal/nodes/base.rb +20 -11
  80. data/lib/opal/nodes/call.rb +24 -25
  81. data/lib/opal/nodes/call_special.rb +4 -3
  82. data/lib/opal/nodes/case.rb +24 -26
  83. data/lib/opal/nodes/class.rb +4 -5
  84. data/lib/opal/nodes/constants.rb +8 -7
  85. data/lib/opal/nodes/csend.rb +2 -3
  86. data/lib/opal/nodes/def.rb +28 -74
  87. data/lib/opal/nodes/defined.rb +36 -36
  88. data/lib/opal/nodes/definitions.rb +10 -7
  89. data/lib/opal/nodes/defs.rb +8 -16
  90. data/lib/opal/nodes/hash.rb +5 -4
  91. data/lib/opal/nodes/helpers.rb +8 -8
  92. data/lib/opal/nodes/if.rb +10 -8
  93. data/lib/opal/nodes/iter.rb +16 -103
  94. data/lib/opal/nodes/lambda.rb +18 -0
  95. data/lib/opal/nodes/literal.rb +29 -63
  96. data/lib/opal/nodes/logic.rb +25 -24
  97. data/lib/opal/nodes/masgn.rb +8 -6
  98. data/lib/opal/nodes/module.rb +4 -4
  99. data/lib/opal/nodes/node_with_args.rb +14 -208
  100. data/lib/opal/nodes/rescue.rb +32 -32
  101. data/lib/opal/nodes/runtime_helpers.rb +5 -4
  102. data/lib/opal/nodes/scope.rb +18 -29
  103. data/lib/opal/nodes/singleton_class.rb +3 -3
  104. data/lib/opal/nodes/super.rb +12 -18
  105. data/lib/opal/nodes/top.rb +10 -8
  106. data/lib/opal/nodes/variables.rb +6 -6
  107. data/lib/opal/nodes/while.rb +7 -6
  108. data/lib/opal/nodes/x_string.rb +139 -0
  109. data/lib/opal/nodes/yield.rb +10 -7
  110. data/lib/opal/parser.rb +9 -46
  111. data/lib/opal/parser/default_config.rb +50 -0
  112. data/lib/opal/parser/patch.rb +26 -0
  113. data/lib/opal/parser/source_buffer.rb +11 -0
  114. data/lib/opal/parser/with_c_lexer.rb +14 -0
  115. data/lib/opal/parser/with_ruby_lexer.rb +6 -0
  116. data/lib/opal/path_reader.rb +6 -5
  117. data/lib/opal/paths.rb +9 -6
  118. data/lib/opal/regexp_anchors.rb +6 -5
  119. data/lib/opal/rewriter.rb +7 -0
  120. data/lib/opal/rewriters/arguments.rb +58 -0
  121. data/lib/opal/rewriters/base.rb +32 -12
  122. data/lib/opal/rewriters/binary_operator_assignment.rb +20 -20
  123. data/lib/opal/rewriters/block_to_iter.rb +2 -1
  124. data/lib/opal/rewriters/break_finder.rb +2 -0
  125. data/lib/opal/rewriters/dot_js_syntax.rb +3 -2
  126. data/lib/opal/rewriters/dump_args.rb +28 -0
  127. data/lib/opal/rewriters/explicit_writer_return.rb +4 -3
  128. data/lib/opal/rewriters/for_rewriter.rb +12 -12
  129. data/lib/opal/rewriters/hashes/key_duplicates_rewriter.rb +2 -1
  130. data/lib/opal/rewriters/inline_args.rb +220 -0
  131. data/lib/opal/rewriters/js_reserved_words.rb +21 -17
  132. data/lib/opal/rewriters/logical_operator_assignment.rb +24 -14
  133. data/lib/opal/rewriters/mlhs_args.rb +128 -0
  134. data/lib/opal/rewriters/opal_engine_check.rb +11 -6
  135. data/lib/opal/rewriters/rubyspec/filters_rewriter.rb +3 -2
  136. data/lib/opal/server.rb +1 -0
  137. data/lib/opal/simple_server.rb +15 -23
  138. data/lib/opal/source_map.rb +7 -70
  139. data/lib/opal/source_map/file.rb +199 -0
  140. data/lib/opal/source_map/index.rb +83 -0
  141. data/lib/opal/source_map/map.rb +26 -0
  142. data/lib/opal/source_map/vlq.rb +98 -0
  143. data/lib/opal/util.rb +7 -5
  144. data/lib/opal/version.rb +2 -1
  145. data/lib/tilt/opal.rb +3 -3
  146. data/opal.gemspec +18 -9
  147. data/opal/corelib/array.rb +135 -117
  148. data/opal/corelib/array/pack.rb +446 -0
  149. data/opal/corelib/basic_object.rb +23 -9
  150. data/opal/corelib/boolean.rb +3 -3
  151. data/opal/corelib/class.rb +4 -10
  152. data/opal/corelib/comparable.rb +36 -23
  153. data/opal/corelib/complex.rb +108 -14
  154. data/opal/corelib/constants.rb +4 -4
  155. data/opal/corelib/enumerable.rb +132 -135
  156. data/opal/corelib/enumerator.rb +47 -50
  157. data/opal/corelib/error.rb +65 -8
  158. data/opal/corelib/file.rb +37 -32
  159. data/opal/corelib/hash.rb +90 -21
  160. data/opal/corelib/helpers.rb +7 -6
  161. data/opal/corelib/kernel.rb +53 -586
  162. data/opal/corelib/kernel/format.rb +544 -0
  163. data/opal/corelib/marshal.rb +1 -13
  164. data/opal/corelib/marshal/read_buffer.rb +20 -23
  165. data/opal/corelib/marshal/write_buffer.rb +23 -15
  166. data/opal/corelib/math.rb +12 -16
  167. data/opal/corelib/method.rb +5 -3
  168. data/opal/corelib/module.rb +80 -109
  169. data/opal/corelib/nil.rb +2 -2
  170. data/opal/corelib/number.rb +177 -43
  171. data/opal/corelib/numeric.rb +22 -16
  172. data/opal/corelib/pack_unpack/format_string_parser.rb +135 -0
  173. data/opal/corelib/proc.rb +3 -4
  174. data/opal/corelib/process.rb +1 -1
  175. data/opal/corelib/random.rb +24 -16
  176. data/opal/corelib/random/MersenneTwister.js +137 -0
  177. data/opal/corelib/random/math_random.js.rb +9 -0
  178. data/opal/corelib/random/mersenne_twister.js.rb +13 -0
  179. data/opal/corelib/random/seedrandom.js.rb +12 -0
  180. data/opal/corelib/range.rb +25 -26
  181. data/opal/corelib/rational.rb +57 -17
  182. data/opal/corelib/regexp.rb +39 -43
  183. data/opal/corelib/runtime.js +806 -683
  184. data/opal/corelib/string.rb +213 -112
  185. data/opal/corelib/string/encoding.rb +14 -17
  186. data/opal/corelib/string/unpack.rb +793 -0
  187. data/opal/corelib/struct.rb +40 -24
  188. data/opal/corelib/time.rb +14 -15
  189. data/opal/corelib/unsupported.rb +26 -4
  190. data/opal/opal.rb +2 -1
  191. data/opal/opal/full.rb +2 -0
  192. data/stdlib/base64.rb +1 -1
  193. data/stdlib/bigdecimal.rb +11 -13
  194. data/stdlib/buffer.rb +9 -8
  195. data/stdlib/buffer/array.rb +46 -48
  196. data/stdlib/buffer/view.rb +85 -47
  197. data/stdlib/console.rb +18 -18
  198. data/stdlib/date.rb +85 -66
  199. data/stdlib/delegate.rb +2 -2
  200. data/stdlib/e2mmap.rb +176 -0
  201. data/stdlib/encoding.rb +1 -1
  202. data/stdlib/erb.rb +1 -1
  203. data/stdlib/forwardable.rb +14 -14
  204. data/stdlib/json.rb +1 -2
  205. data/stdlib/logger.rb +112 -0
  206. data/stdlib/math.rb +1 -1
  207. data/stdlib/matrix.rb +2169 -0
  208. data/stdlib/matrix/eigenvalue_decomposition.rb +883 -0
  209. data/stdlib/matrix/lup_decomposition.rb +219 -0
  210. data/stdlib/nashorn/file.rb +7 -9
  211. data/stdlib/native.rb +69 -63
  212. data/stdlib/nodejs.rb +3 -0
  213. data/stdlib/nodejs/dir.rb +25 -4
  214. data/stdlib/nodejs/env.rb +40 -0
  215. data/stdlib/nodejs/file.rb +184 -34
  216. data/stdlib/nodejs/fileutils.rb +4 -4
  217. data/stdlib/nodejs/io.rb +4 -46
  218. data/stdlib/nodejs/irb.rb +27 -29
  219. data/stdlib/nodejs/kernel.rb +2 -11
  220. data/stdlib/nodejs/node_modules/balanced-match/.npmignore +5 -0
  221. data/stdlib/nodejs/node_modules/balanced-match/LICENSE.md +21 -0
  222. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match → balanced-match}/README.md +13 -2
  223. data/stdlib/nodejs/node_modules/balanced-match/index.js +59 -0
  224. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match → balanced-match}/package.json +46 -42
  225. data/stdlib/nodejs/node_modules/brace-expansion/LICENSE +21 -0
  226. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion → brace-expansion}/README.md +9 -1
  227. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion → brace-expansion}/index.js +12 -2
  228. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion → brace-expansion}/package.json +48 -48
  229. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/.travis.yml +0 -0
  230. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/LICENSE +0 -0
  231. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/README.markdown +0 -0
  232. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/example/map.js +0 -0
  233. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/index.js +0 -0
  234. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/package.json +47 -42
  235. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/test/map.js +0 -0
  236. data/stdlib/nodejs/node_modules/fs.realpath/LICENSE +43 -0
  237. data/stdlib/nodejs/node_modules/fs.realpath/README.md +33 -0
  238. data/stdlib/nodejs/node_modules/fs.realpath/index.js +66 -0
  239. data/stdlib/nodejs/node_modules/fs.realpath/old.js +303 -0
  240. data/stdlib/nodejs/node_modules/fs.realpath/package.json +59 -0
  241. data/stdlib/nodejs/node_modules/glob/README.md +57 -46
  242. data/stdlib/nodejs/node_modules/glob/changelog.md +67 -0
  243. data/stdlib/nodejs/node_modules/glob/common.js +91 -28
  244. data/stdlib/nodejs/node_modules/glob/glob.js +196 -55
  245. data/stdlib/nodejs/node_modules/glob/package.json +55 -51
  246. data/stdlib/nodejs/node_modules/glob/sync.js +116 -39
  247. data/stdlib/nodejs/node_modules/{glob/node_modules/inflight → inflight}/LICENSE +0 -0
  248. data/stdlib/nodejs/node_modules/{glob/node_modules/inflight → inflight}/README.md +0 -0
  249. data/stdlib/nodejs/node_modules/inflight/inflight.js +54 -0
  250. data/stdlib/nodejs/node_modules/inflight/package.json +58 -0
  251. data/stdlib/nodejs/node_modules/{glob/node_modules/inherits → inherits}/LICENSE +0 -0
  252. data/stdlib/nodejs/node_modules/{glob/node_modules/inherits → inherits}/README.md +0 -0
  253. data/stdlib/nodejs/node_modules/inherits/inherits.js +7 -0
  254. data/stdlib/nodejs/node_modules/{glob/node_modules/inherits → inherits}/inherits_browser.js +0 -0
  255. data/stdlib/nodejs/node_modules/inherits/package.json +61 -0
  256. data/stdlib/nodejs/node_modules/{glob/node_modules/inflight/node_modules/wrappy → minimatch}/LICENSE +0 -0
  257. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch → minimatch}/README.md +2 -9
  258. data/stdlib/nodejs/node_modules/{glob/node_modules/minimatch → minimatch}/minimatch.js +284 -206
  259. data/stdlib/nodejs/node_modules/minimatch/package.json +63 -0
  260. data/stdlib/nodejs/node_modules/{glob/node_modules/once/node_modules/wrappy → once}/LICENSE +0 -0
  261. data/stdlib/nodejs/node_modules/{glob/node_modules/once → once}/README.md +28 -0
  262. data/stdlib/nodejs/node_modules/once/once.js +42 -0
  263. data/stdlib/nodejs/node_modules/once/package.json +67 -0
  264. data/stdlib/nodejs/node_modules/path-is-absolute/index.js +20 -0
  265. data/stdlib/nodejs/node_modules/path-is-absolute/license +21 -0
  266. data/stdlib/nodejs/node_modules/path-is-absolute/package.json +75 -0
  267. data/stdlib/nodejs/node_modules/path-is-absolute/readme.md +59 -0
  268. data/stdlib/nodejs/node_modules/unxhr/LICENSE +22 -0
  269. data/stdlib/nodejs/node_modules/unxhr/README.md +41 -0
  270. data/stdlib/nodejs/node_modules/unxhr/lib/XMLHttpRequest.js +598 -0
  271. data/stdlib/nodejs/node_modules/unxhr/lib/browser.js +2 -0
  272. data/stdlib/nodejs/node_modules/unxhr/lib/request.js +63 -0
  273. data/stdlib/nodejs/node_modules/unxhr/package.json +75 -0
  274. data/stdlib/nodejs/node_modules/wrappy/LICENSE +15 -0
  275. data/stdlib/nodejs/node_modules/{glob/node_modules/inflight/node_modules/wrappy → wrappy}/README.md +0 -0
  276. data/stdlib/nodejs/node_modules/wrappy/package.json +59 -0
  277. data/stdlib/nodejs/node_modules/{glob/node_modules/inflight/node_modules/wrappy → wrappy}/wrappy.js +0 -0
  278. data/stdlib/nodejs/open-uri.rb +26 -0
  279. data/stdlib/nodejs/package-lock.json +88 -0
  280. data/stdlib/nodejs/package.json +2 -1
  281. data/stdlib/nodejs/pathname.rb +20 -0
  282. data/stdlib/nodejs/require.rb +3 -3
  283. data/stdlib/nodejs/stacktrace.rb +1 -1
  284. data/stdlib/nodejs/yaml.rb +1 -1
  285. data/stdlib/opal-builder.rb +1 -0
  286. data/stdlib/opal-parser.rb +4 -1
  287. data/stdlib/opal-platform.rb +8 -10
  288. data/stdlib/opal-source-maps.rb +0 -1
  289. data/stdlib/open-uri.rb +349 -0
  290. data/stdlib/ostruct.rb +19 -17
  291. data/stdlib/pathname.rb +22 -22
  292. data/stdlib/pp.rb +5 -5
  293. data/stdlib/promise.rb +30 -26
  294. data/stdlib/rbconfig/sizeof.rb +50 -0
  295. data/stdlib/securerandom.rb +1 -1
  296. data/stdlib/set.rb +21 -23
  297. data/stdlib/singleton.rb +3 -4
  298. data/stdlib/stringio.rb +33 -0
  299. data/stdlib/strscan.rb +55 -55
  300. data/stdlib/template.rb +1 -2
  301. data/stdlib/thread.rb +6 -7
  302. data/tasks/benchmarking.rake +1 -1
  303. data/tasks/building.rake +4 -12
  304. data/tasks/linting.rake +17 -2
  305. data/tasks/releasing.rake +84 -0
  306. data/tasks/testing.rake +57 -15
  307. data/tasks/testing/mspec_special_calls.rb +23 -4
  308. data/vendored-minitest/minitest.rb +1 -1
  309. metadata +169 -168
  310. data/bin/opal-build +0 -3
  311. data/exe/opal-mspec +0 -10
  312. data/lib/opal/nodes/args/initialize_kwargs.rb +0 -29
  313. data/lib/opal/nodes/args/kwarg.rb +0 -31
  314. data/lib/opal/nodes/args/kwoptarg.rb +0 -34
  315. data/lib/opal/nodes/args/kwrestarg.rb +0 -39
  316. data/lib/opal/nodes/args/mlhsarg.rb +0 -78
  317. data/lib/opal/nodes/args/normarg.rb +0 -29
  318. data/lib/opal/nodes/args/optarg.rb +0 -25
  319. data/lib/opal/nodes/args/post_args.rb +0 -201
  320. data/lib/opal/nodes/args/post_kwargs.rb +0 -32
  321. data/lib/opal/nodes/args/restarg.rb +0 -38
  322. data/lib/opal/nodes/inline_args.rb +0 -60
  323. data/opal/corelib/string/inheritance.rb +0 -123
  324. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/.eslintrc +0 -17
  325. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/inflight.js +0 -44
  326. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +0 -52
  327. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +0 -51
  328. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/package.json +0 -61
  329. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/test.js +0 -97
  330. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits.js +0 -1
  331. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/package.json +0 -51
  332. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/test.js +0 -25
  333. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.npmignore +0 -1
  334. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.travis.yml +0 -4
  335. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/LICENSE +0 -23
  336. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/benchmark.js +0 -15
  337. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/browser.js +0 -1181
  338. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +0 -2
  339. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +0 -3
  340. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +0 -8
  341. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +0 -2
  342. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +0 -4
  343. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +0 -6
  344. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +0 -5
  345. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +0 -38
  346. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +0 -56
  347. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +0 -32
  348. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +0 -1075
  349. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +0 -182
  350. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +0 -9
  351. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +0 -10
  352. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +0 -24
  353. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +0 -15
  354. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +0 -16
  355. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +0 -10
  356. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +0 -13
  357. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +0 -7
  358. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +0 -50
  359. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/package.json +0 -60
  360. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/basic.js +0 -399
  361. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/brace-expand.js +0 -45
  362. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/defaults.js +0 -274
  363. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +0 -8
  364. data/stdlib/nodejs/node_modules/glob/node_modules/once/LICENSE +0 -27
  365. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +0 -36
  366. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +0 -52
  367. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +0 -51
  368. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +0 -33
  369. data/stdlib/nodejs/node_modules/glob/node_modules/once/once.js +0 -21
  370. data/stdlib/nodejs/node_modules/glob/node_modules/once/package.json +0 -60
  371. data/stdlib/nodejs/node_modules/glob/node_modules/once/test/once.js +0 -23
  372. data/stdlib/nodejs/rubygems.rb +0 -68
  373. data/stdlib/source_map.rb +0 -5
  374. data/stdlib/source_map/map.rb +0 -220
  375. data/stdlib/source_map/mapping.rb +0 -26
  376. data/stdlib/source_map/offset.rb +0 -88
  377. data/stdlib/source_map/version.rb +0 -3
  378. data/stdlib/source_map/vlq.rb +0 -99
  379. data/stdlib/sourcemap.rb +0 -1
@@ -0,0 +1,63 @@
1
+ {
2
+ "_from": "minimatch@^3.0.4",
3
+ "_id": "minimatch@3.0.4",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
6
+ "_location": "/minimatch",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "range",
10
+ "registry": true,
11
+ "raw": "minimatch@^3.0.4",
12
+ "name": "minimatch",
13
+ "escapedName": "minimatch",
14
+ "rawSpec": "^3.0.4",
15
+ "saveSpec": null,
16
+ "fetchSpec": "^3.0.4"
17
+ },
18
+ "_requiredBy": [
19
+ "/glob"
20
+ ],
21
+ "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
22
+ "_shasum": "5166e286457f03306064be5497e8dbb0c3d32083",
23
+ "_spec": "minimatch@^3.0.4",
24
+ "_where": "/home/guillaume/workspace/opensource/opal/opal/stdlib/nodejs/node_modules/glob",
25
+ "author": {
26
+ "name": "Isaac Z. Schlueter",
27
+ "email": "i@izs.me",
28
+ "url": "http://blog.izs.me"
29
+ },
30
+ "bugs": {
31
+ "url": "https://github.com/isaacs/minimatch/issues"
32
+ },
33
+ "bundleDependencies": false,
34
+ "dependencies": {
35
+ "brace-expansion": "^1.1.7"
36
+ },
37
+ "deprecated": false,
38
+ "description": "a glob matcher in javascript",
39
+ "devDependencies": {
40
+ "tap": "^10.3.2"
41
+ },
42
+ "engines": {
43
+ "node": "*"
44
+ },
45
+ "files": [
46
+ "minimatch.js"
47
+ ],
48
+ "homepage": "https://github.com/isaacs/minimatch#readme",
49
+ "license": "ISC",
50
+ "main": "minimatch.js",
51
+ "name": "minimatch",
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "git://github.com/isaacs/minimatch.git"
55
+ },
56
+ "scripts": {
57
+ "postpublish": "git push origin --all; git push origin --tags",
58
+ "postversion": "npm publish",
59
+ "preversion": "npm test",
60
+ "test": "tap test/*.js --cov"
61
+ },
62
+ "version": "3.0.4"
63
+ }
@@ -49,3 +49,31 @@ function load (cb) {
49
49
  })
50
50
  }
51
51
  ```
52
+
53
+ ## `once.strict(func)`
54
+
55
+ Throw an error if the function is called twice.
56
+
57
+ Some functions are expected to be called only once. Using `once` for them would
58
+ potentially hide logical errors.
59
+
60
+ In the example below, the `greet` function has to call the callback only once:
61
+
62
+ ```javascript
63
+ function greet (name, cb) {
64
+ // return is missing from the if statement
65
+ // when no name is passed, the callback is called twice
66
+ if (!name) cb('Hello anonymous')
67
+ cb('Hello ' + name)
68
+ }
69
+
70
+ function log (msg) {
71
+ console.log(msg)
72
+ }
73
+
74
+ // this will print 'Hello anonymous' but the logical error will be missed
75
+ greet(null, once(msg))
76
+
77
+ // once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
78
+ greet(null, once.strict(msg))
79
+ ```
@@ -0,0 +1,42 @@
1
+ var wrappy = require('wrappy')
2
+ module.exports = wrappy(once)
3
+ module.exports.strict = wrappy(onceStrict)
4
+
5
+ once.proto = once(function () {
6
+ Object.defineProperty(Function.prototype, 'once', {
7
+ value: function () {
8
+ return once(this)
9
+ },
10
+ configurable: true
11
+ })
12
+
13
+ Object.defineProperty(Function.prototype, 'onceStrict', {
14
+ value: function () {
15
+ return onceStrict(this)
16
+ },
17
+ configurable: true
18
+ })
19
+ })
20
+
21
+ function once (fn) {
22
+ var f = function () {
23
+ if (f.called) return f.value
24
+ f.called = true
25
+ return f.value = fn.apply(this, arguments)
26
+ }
27
+ f.called = false
28
+ return f
29
+ }
30
+
31
+ function onceStrict (fn) {
32
+ var f = function () {
33
+ if (f.called)
34
+ throw new Error(f.onceError)
35
+ f.called = true
36
+ return f.value = fn.apply(this, arguments)
37
+ }
38
+ var name = fn.name || 'Function wrapped with `once`'
39
+ f.onceError = name + " shouldn't be called more than once"
40
+ f.called = false
41
+ return f
42
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "_from": "once@^1.3.0",
3
+ "_id": "once@1.4.0",
4
+ "_inBundle": false,
5
+ "_integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
6
+ "_location": "/once",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "range",
10
+ "registry": true,
11
+ "raw": "once@^1.3.0",
12
+ "name": "once",
13
+ "escapedName": "once",
14
+ "rawSpec": "^1.3.0",
15
+ "saveSpec": null,
16
+ "fetchSpec": "^1.3.0"
17
+ },
18
+ "_requiredBy": [
19
+ "/glob",
20
+ "/inflight"
21
+ ],
22
+ "_resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
23
+ "_shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
24
+ "_spec": "once@^1.3.0",
25
+ "_where": "/home/guillaume/workspace/opensource/opal/opal/stdlib/nodejs/node_modules/glob",
26
+ "author": {
27
+ "name": "Isaac Z. Schlueter",
28
+ "email": "i@izs.me",
29
+ "url": "http://blog.izs.me/"
30
+ },
31
+ "bugs": {
32
+ "url": "https://github.com/isaacs/once/issues"
33
+ },
34
+ "bundleDependencies": false,
35
+ "dependencies": {
36
+ "wrappy": "1"
37
+ },
38
+ "deprecated": false,
39
+ "description": "Run a function exactly one time",
40
+ "devDependencies": {
41
+ "tap": "^7.0.1"
42
+ },
43
+ "directories": {
44
+ "test": "test"
45
+ },
46
+ "files": [
47
+ "once.js"
48
+ ],
49
+ "homepage": "https://github.com/isaacs/once#readme",
50
+ "keywords": [
51
+ "once",
52
+ "function",
53
+ "one",
54
+ "single"
55
+ ],
56
+ "license": "ISC",
57
+ "main": "once.js",
58
+ "name": "once",
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "git://github.com/isaacs/once.git"
62
+ },
63
+ "scripts": {
64
+ "test": "tap test/*.js"
65
+ },
66
+ "version": "1.4.0"
67
+ }
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ function posix(path) {
4
+ return path.charAt(0) === '/';
5
+ }
6
+
7
+ function win32(path) {
8
+ // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56
9
+ var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
10
+ var result = splitDeviceRe.exec(path);
11
+ var device = result[1] || '';
12
+ var isUnc = Boolean(device && device.charAt(1) !== ':');
13
+
14
+ // UNC paths are always absolute
15
+ return Boolean(result[2] || isUnc);
16
+ }
17
+
18
+ module.exports = process.platform === 'win32' ? win32 : posix;
19
+ module.exports.posix = posix;
20
+ module.exports.win32 = win32;
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,75 @@
1
+ {
2
+ "_from": "path-is-absolute@^1.0.0",
3
+ "_id": "path-is-absolute@1.0.1",
4
+ "_inBundle": false,
5
+ "_integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
6
+ "_location": "/path-is-absolute",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "range",
10
+ "registry": true,
11
+ "raw": "path-is-absolute@^1.0.0",
12
+ "name": "path-is-absolute",
13
+ "escapedName": "path-is-absolute",
14
+ "rawSpec": "^1.0.0",
15
+ "saveSpec": null,
16
+ "fetchSpec": "^1.0.0"
17
+ },
18
+ "_requiredBy": [
19
+ "/glob"
20
+ ],
21
+ "_resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
22
+ "_shasum": "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f",
23
+ "_spec": "path-is-absolute@^1.0.0",
24
+ "_where": "/home/guillaume/workspace/opensource/opal/opal/stdlib/nodejs/node_modules/glob",
25
+ "author": {
26
+ "name": "Sindre Sorhus",
27
+ "email": "sindresorhus@gmail.com",
28
+ "url": "sindresorhus.com"
29
+ },
30
+ "bugs": {
31
+ "url": "https://github.com/sindresorhus/path-is-absolute/issues"
32
+ },
33
+ "bundleDependencies": false,
34
+ "deprecated": false,
35
+ "description": "Node.js 0.12 path.isAbsolute() ponyfill",
36
+ "devDependencies": {
37
+ "xo": "^0.16.0"
38
+ },
39
+ "engines": {
40
+ "node": ">=0.10.0"
41
+ },
42
+ "files": [
43
+ "index.js"
44
+ ],
45
+ "homepage": "https://github.com/sindresorhus/path-is-absolute#readme",
46
+ "keywords": [
47
+ "path",
48
+ "paths",
49
+ "file",
50
+ "dir",
51
+ "absolute",
52
+ "isabsolute",
53
+ "is-absolute",
54
+ "built-in",
55
+ "util",
56
+ "utils",
57
+ "core",
58
+ "ponyfill",
59
+ "polyfill",
60
+ "shim",
61
+ "is",
62
+ "detect",
63
+ "check"
64
+ ],
65
+ "license": "MIT",
66
+ "name": "path-is-absolute",
67
+ "repository": {
68
+ "type": "git",
69
+ "url": "git+https://github.com/sindresorhus/path-is-absolute.git"
70
+ },
71
+ "scripts": {
72
+ "test": "xo && node test.js"
73
+ },
74
+ "version": "1.0.1"
75
+ }
@@ -0,0 +1,59 @@
1
+ # path-is-absolute [![Build Status](https://travis-ci.org/sindresorhus/path-is-absolute.svg?branch=master)](https://travis-ci.org/sindresorhus/path-is-absolute)
2
+
3
+ > Node.js 0.12 [`path.isAbsolute()`](http://nodejs.org/api/path.html#path_path_isabsolute_path) [ponyfill](https://ponyfill.com)
4
+
5
+
6
+ ## Install
7
+
8
+ ```
9
+ $ npm install --save path-is-absolute
10
+ ```
11
+
12
+
13
+ ## Usage
14
+
15
+ ```js
16
+ const pathIsAbsolute = require('path-is-absolute');
17
+
18
+ // Running on Linux
19
+ pathIsAbsolute('/home/foo');
20
+ //=> true
21
+ pathIsAbsolute('C:/Users/foo');
22
+ //=> false
23
+
24
+ // Running on Windows
25
+ pathIsAbsolute('C:/Users/foo');
26
+ //=> true
27
+ pathIsAbsolute('/home/foo');
28
+ //=> false
29
+
30
+ // Running on any OS
31
+ pathIsAbsolute.posix('/home/foo');
32
+ //=> true
33
+ pathIsAbsolute.posix('C:/Users/foo');
34
+ //=> false
35
+ pathIsAbsolute.win32('C:/Users/foo');
36
+ //=> true
37
+ pathIsAbsolute.win32('/home/foo');
38
+ //=> false
39
+ ```
40
+
41
+
42
+ ## API
43
+
44
+ See the [`path.isAbsolute()` docs](http://nodejs.org/api/path.html#path_path_isabsolute_path).
45
+
46
+ ### pathIsAbsolute(path)
47
+
48
+ ### pathIsAbsolute.posix(path)
49
+
50
+ POSIX specific version.
51
+
52
+ ### pathIsAbsolute.win32(path)
53
+
54
+ Windows specific version.
55
+
56
+
57
+ ## License
58
+
59
+ MIT © [Sindre Sorhus](https://sindresorhus.com)
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2010 passive.ly LLC
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,41 @@
1
+ > Synchronous and asynchronous XMLHttpRequest for Node
2
+
3
+ [![Build Status: Linux](https://travis-ci.org/Mogztter/unxhr.svg?branch=master)](https://travis-ci.org/Mogztter/unxhr) [![install size](https://packagephobia.now.sh/badge?p=unxhr)](https://packagephobia.now.sh/result?p=unxhr)
4
+
5
+ _unxhr_ is a tiny wrapper of the built-in `http` client to emulate the browser `XMLHttpRequest` object.
6
+
7
+ **Important:** This library is a fork of [XMLHttpRequest](https://github.com/driverdan/node-XMLHttpRequest).
8
+ It was created to be compliant with [XMLHttpRequest Level 2](http://www.w3.org/TR/XMLHttpRequest2/).
9
+
10
+ ## Highlights
11
+
12
+ - Dependency free
13
+ - Asynchronous and synchronous requests
14
+ - `GET`, `POST`, `PUT`, and `DELETE` requests
15
+ - Binary data using JavaScript typed arrays
16
+ - Follows redirects
17
+ - Handles `file://` protocol
18
+
19
+ ## Usage
20
+
21
+ Here's how to include the module in your project and use as the browser-based XHR object.
22
+
23
+ ```js
24
+ const XMLHttpRequest = require('unxhr').XMLHttpRequest
25
+ const xhr = new XMLHttpRequest()
26
+ ```
27
+
28
+ ## Known Issues / Missing Features
29
+
30
+ For a list of open issues or to report your own visit the [github issues page](https://github.com/Mogztter/unxhr/issues).
31
+
32
+ * Local file access may have unexpected results for non-UTF8 files
33
+ * Synchronous requests don't set headers properly
34
+ * Synchronous requests freeze node while waiting for response (But that's what you want, right? Stick with async!).
35
+ * Some events are missing, such as abort
36
+ * Cookies aren't persisted between requests
37
+ * Missing XML support
38
+
39
+ ## License
40
+
41
+ MIT license. See LICENSE for full details.