opal 0.10.6 → 0.11.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (450) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +19 -0
  3. data/.gitmodules +1 -1
  4. data/.jshintrc +1 -2
  5. data/.travis.yml +26 -18
  6. data/CHANGELOG.md +89 -23
  7. data/{CODE_OF_CONDUCT.md → CONDUCT.md} +0 -0
  8. data/Gemfile +19 -21
  9. data/HACKING.md +2 -0
  10. data/README.md +7 -6
  11. data/Rakefile +1 -1
  12. data/appveyor.yml +21 -4
  13. data/benchmark-ips/bm_case.rb +33 -0
  14. data/benchmark-ips/bm_constants_lookup.rb +13 -0
  15. data/benchmark-ips/bm_is_number.rb +29 -0
  16. data/benchmark-ips/bm_symbol_to_proc.rb +19 -0
  17. data/benchmark/bm_constant_lookup_big.rb +799 -0
  18. data/benchmark/bm_constant_lookup_small.rb +59 -0
  19. data/benchmark/bm_module_definition_big.rb +400 -0
  20. data/benchmark/bm_module_definition_small.rb +30 -0
  21. data/bin/opal-repl +23 -1
  22. data/docs/compiled_ruby.md +16 -14
  23. data/docs/faq.md +3 -3
  24. data/docs/rspec.md +2 -1
  25. data/docs/unsupported_features.md +6 -4
  26. data/examples/rack/Gemfile +1 -0
  27. data/examples/rack/app/application.rb +14 -3
  28. data/examples/rack/app/user.rb +2 -0
  29. data/examples/rack/config.ru +1 -1
  30. data/examples/rack/index.html.erb +1 -0
  31. data/lib/opal.rb +6 -1
  32. data/lib/opal/ast/builder.rb +17 -0
  33. data/lib/opal/ast/node.rb +30 -0
  34. data/lib/opal/builder.rb +14 -3
  35. data/lib/opal/builder_processors.rb +1 -0
  36. data/lib/opal/cli.rb +45 -59
  37. data/lib/opal/cli_options.rb +11 -7
  38. data/lib/opal/cli_runners.rb +1 -0
  39. data/lib/opal/cli_runners/applescript.rb +3 -3
  40. data/lib/opal/cli_runners/nashorn.rb +1 -0
  41. data/lib/opal/cli_runners/nodejs.rb +4 -1
  42. data/lib/opal/cli_runners/phantom.js +1 -2
  43. data/lib/opal/cli_runners/phantomjs.rb +3 -2
  44. data/lib/opal/cli_runners/server.rb +1 -0
  45. data/lib/opal/compiler.rb +145 -94
  46. data/lib/opal/config.rb +1 -0
  47. data/lib/opal/deprecations.rb +18 -0
  48. data/lib/opal/erb.rb +1 -0
  49. data/lib/opal/errors.rb +1 -0
  50. data/lib/opal/fragment.rb +1 -0
  51. data/lib/opal/hike_path_finder.rb +1 -0
  52. data/lib/opal/nodes.rb +3 -0
  53. data/lib/opal/nodes/arglist.rb +2 -1
  54. data/lib/opal/nodes/args/initialize_kwargs.rb +1 -0
  55. data/lib/opal/nodes/args/kwarg.rb +7 -7
  56. data/lib/opal/nodes/args/kwoptarg.rb +6 -7
  57. data/lib/opal/nodes/args/kwrestarg.rb +5 -5
  58. data/lib/opal/nodes/args/mlhsarg.rb +3 -2
  59. data/lib/opal/nodes/args/normarg.rb +6 -7
  60. data/lib/opal/nodes/args/optarg.rb +5 -7
  61. data/lib/opal/nodes/args/post_args.rb +6 -5
  62. data/lib/opal/nodes/args/post_kwargs.rb +1 -0
  63. data/lib/opal/nodes/args/restarg.rb +7 -7
  64. data/lib/opal/nodes/array.rb +1 -0
  65. data/lib/opal/nodes/base.rb +24 -3
  66. data/lib/opal/nodes/call.rb +167 -155
  67. data/lib/opal/nodes/call_special.rb +31 -217
  68. data/lib/opal/nodes/case.rb +36 -22
  69. data/lib/opal/nodes/class.rb +4 -3
  70. data/lib/opal/nodes/constants.rb +28 -48
  71. data/lib/opal/nodes/csend.rb +25 -0
  72. data/lib/opal/nodes/def.rb +49 -16
  73. data/lib/opal/nodes/defined.rb +170 -60
  74. data/lib/opal/nodes/definitions.rb +40 -133
  75. data/lib/opal/nodes/defs.rb +29 -0
  76. data/lib/opal/nodes/for.rb +52 -25
  77. data/lib/opal/nodes/hash.rb +12 -35
  78. data/lib/opal/nodes/helpers.rb +27 -54
  79. data/lib/opal/nodes/if.rb +21 -32
  80. data/lib/opal/nodes/inline_args.rb +12 -13
  81. data/lib/opal/nodes/iter.rb +61 -36
  82. data/lib/opal/nodes/literal.rb +189 -116
  83. data/lib/opal/nodes/logic.rb +20 -25
  84. data/lib/opal/nodes/masgn.rb +20 -18
  85. data/lib/opal/nodes/module.rb +10 -11
  86. data/lib/opal/nodes/node_with_args.rb +14 -17
  87. data/lib/opal/nodes/rescue.rb +37 -70
  88. data/lib/opal/nodes/runtime_helpers.rb +8 -3
  89. data/lib/opal/nodes/scope.rb +9 -5
  90. data/lib/opal/nodes/singleton_class.rb +4 -3
  91. data/lib/opal/nodes/super.rb +115 -87
  92. data/lib/opal/nodes/top.rb +7 -2
  93. data/lib/opal/nodes/variables.rb +46 -35
  94. data/lib/opal/nodes/while.rb +11 -1
  95. data/lib/opal/nodes/yield.rb +1 -17
  96. data/lib/opal/parser.rb +28 -770
  97. data/lib/opal/path_reader.rb +5 -1
  98. data/lib/opal/paths.rb +10 -4
  99. data/lib/opal/regexp_anchors.rb +1 -0
  100. data/lib/opal/rewriter.rb +60 -0
  101. data/lib/opal/rewriters/base.rb +60 -0
  102. data/lib/opal/rewriters/binary_operator_assignment.rb +144 -0
  103. data/lib/opal/rewriters/block_to_iter.rb +17 -0
  104. data/lib/opal/rewriters/break_finder.rb +34 -0
  105. data/lib/opal/rewriters/dot_js_syntax.rb +60 -0
  106. data/lib/opal/rewriters/explicit_writer_return.rb +58 -0
  107. data/lib/opal/rewriters/js_reserved_words.rb +111 -0
  108. data/lib/opal/rewriters/logical_operator_assignment.rb +155 -0
  109. data/lib/opal/rewriters/opal_engine_check.rb +42 -0
  110. data/lib/opal/rewriters/rubyspec/filters_rewriter.rb +67 -0
  111. data/lib/opal/server.rb +4 -0
  112. data/lib/opal/simple_server.rb +100 -0
  113. data/lib/opal/source_map.rb +1 -1
  114. data/lib/opal/util.rb +5 -5
  115. data/lib/opal/version.rb +2 -1
  116. data/lib/tilt/opal.rb +1 -0
  117. data/opal.gemspec +8 -7
  118. data/opal/README.md +1 -1
  119. data/opal/corelib/array.rb +137 -83
  120. data/opal/corelib/basic_object.rb +6 -6
  121. data/opal/corelib/class.rb +14 -11
  122. data/opal/corelib/complex.rb +5 -1
  123. data/opal/corelib/constants.rb +3 -3
  124. data/opal/corelib/enumerable.rb +129 -11
  125. data/opal/corelib/error.rb +35 -17
  126. data/opal/corelib/file.rb +65 -170
  127. data/opal/corelib/hash.rb +128 -13
  128. data/opal/corelib/helpers.rb +12 -15
  129. data/opal/corelib/io.rb +1 -0
  130. data/opal/corelib/kernel.rb +40 -21
  131. data/opal/corelib/marshal/read_buffer.rb +1 -1
  132. data/opal/corelib/method.rb +33 -13
  133. data/opal/corelib/module.rb +133 -81
  134. data/opal/corelib/number.rb +141 -25
  135. data/opal/corelib/numeric.rb +0 -8
  136. data/opal/corelib/process.rb +44 -4
  137. data/opal/corelib/random.rb +117 -0
  138. data/opal/corelib/random/seedrandom.js.rb +15 -0
  139. data/opal/corelib/range.rb +133 -10
  140. data/opal/corelib/regexp.rb +37 -9
  141. data/opal/corelib/runtime.js +601 -390
  142. data/opal/corelib/string.rb +39 -8
  143. data/opal/corelib/string/encoding.rb +51 -7
  144. data/opal/corelib/struct.rb +20 -0
  145. data/opal/corelib/time.rb +3 -3
  146. data/opal/corelib/variables.rb +1 -1
  147. data/opal/opal.rb +1 -0
  148. data/spec/filters/bugs/array.rb +5 -1
  149. data/spec/filters/bugs/basicobject.rb +2 -5
  150. data/spec/filters/bugs/bigdecimal.rb +8 -22
  151. data/spec/filters/bugs/class.rb +2 -1
  152. data/spec/filters/bugs/comparable.rb +5 -0
  153. data/spec/filters/bugs/date.rb +3 -3
  154. data/spec/filters/bugs/enumerable.rb +4 -11
  155. data/spec/filters/bugs/enumerator.rb +2 -4
  156. data/spec/filters/bugs/exception.rb +16 -2
  157. data/spec/filters/bugs/file.rb +8 -0
  158. data/spec/filters/bugs/float.rb +7 -1
  159. data/spec/filters/bugs/hash.rb +6 -2
  160. data/spec/filters/bugs/integer.rb +2 -0
  161. data/spec/filters/bugs/io.rb +8 -0
  162. data/spec/filters/bugs/kernel.rb +9 -138
  163. data/spec/filters/bugs/language.rb +89 -174
  164. data/spec/filters/bugs/marshal.rb +33 -35
  165. data/spec/filters/bugs/method.rb +0 -24
  166. data/spec/filters/bugs/module.rb +19 -55
  167. data/spec/filters/bugs/numeric.rb +0 -119
  168. data/spec/filters/bugs/pathname.rb +2 -0
  169. data/spec/filters/bugs/proc.rb +5 -4
  170. data/spec/filters/bugs/random.rb +7 -0
  171. data/spec/filters/bugs/range.rb +12 -120
  172. data/spec/filters/bugs/rational.rb +1 -1
  173. data/spec/filters/bugs/regexp.rb +2 -40
  174. data/spec/filters/bugs/set.rb +0 -1
  175. data/spec/filters/bugs/string.rb +5 -8
  176. data/spec/filters/bugs/stringscanner.rb +11 -19
  177. data/spec/filters/bugs/time.rb +7 -1
  178. data/spec/filters/bugs/unboundmethod.rb +1 -11
  179. data/spec/filters/unsupported/array.rb +5 -1
  180. data/spec/filters/unsupported/basicobject.rb +1 -1
  181. data/spec/filters/unsupported/bignum.rb +4 -1
  182. data/spec/filters/unsupported/class.rb +1 -1
  183. data/spec/filters/unsupported/delegator.rb +1 -1
  184. data/spec/filters/unsupported/enumerable.rb +1 -1
  185. data/spec/filters/unsupported/enumerator.rb +1 -1
  186. data/spec/filters/unsupported/file.rb +4 -0
  187. data/spec/filters/unsupported/fixnum.rb +1 -1
  188. data/spec/filters/unsupported/float.rb +4 -1
  189. data/spec/filters/unsupported/freeze.rb +27 -5
  190. data/spec/filters/unsupported/hash.rb +7 -15
  191. data/spec/filters/unsupported/integer.rb +1 -1
  192. data/spec/filters/unsupported/kernel.rb +2 -1
  193. data/spec/filters/unsupported/language.rb +6 -1
  194. data/spec/filters/unsupported/marshal.rb +1 -1
  195. data/spec/filters/unsupported/matchdata.rb +4 -1
  196. data/spec/filters/unsupported/math.rb +1 -1
  197. data/spec/filters/unsupported/pathname.rb +1 -1
  198. data/spec/filters/unsupported/privacy.rb +141 -9
  199. data/spec/filters/unsupported/proc.rb +1 -1
  200. data/spec/filters/unsupported/random.rb +4 -0
  201. data/spec/filters/unsupported/range.rb +7 -0
  202. data/spec/filters/unsupported/regexp.rb +25 -15
  203. data/spec/filters/unsupported/set.rb +1 -1
  204. data/spec/filters/unsupported/singleton.rb +1 -1
  205. data/spec/filters/unsupported/string.rb +110 -101
  206. data/spec/filters/unsupported/struct.rb +1 -1
  207. data/spec/filters/unsupported/symbol.rb +2 -1
  208. data/spec/filters/unsupported/taint.rb +22 -7
  209. data/spec/filters/unsupported/thread.rb +1 -1
  210. data/spec/filters/unsupported/time.rb +1 -1
  211. data/spec/lib/builder_spec.rb +17 -0
  212. data/spec/lib/cli_spec.rb +37 -8
  213. data/spec/lib/compiler/call_spec.rb +98 -66
  214. data/spec/lib/compiler_spec.rb +39 -30
  215. data/spec/lib/dependency_resolver_spec.rb +2 -2
  216. data/spec/lib/deprecations_spec.rb +16 -0
  217. data/spec/lib/fixtures/source_location_test.rb +7 -0
  218. data/spec/lib/rewriters/binary_operator_assignment_spec.rb +151 -0
  219. data/spec/lib/rewriters/block_to_iter_spec.rb +28 -0
  220. data/spec/lib/rewriters/dot_js_syntax_spec.rb +108 -0
  221. data/spec/lib/rewriters/explicit_writer_return_spec.rb +186 -0
  222. data/spec/lib/rewriters/js_reserved_words_spec.rb +116 -0
  223. data/spec/lib/rewriters/logical_operator_assignment_spec.rb +202 -0
  224. data/spec/lib/rewriters/opal_engine_check_spec.rb +82 -0
  225. data/spec/lib/rewriters/rubyspec/filters_rewriter_spec.rb +53 -0
  226. data/spec/lib/simple_server_spec.rb +54 -0
  227. data/spec/mspec-opal/formatters.rb +65 -17
  228. data/spec/mspec-opal/runner.rb +47 -67
  229. data/spec/opal/core/date_spec.rb +14 -0
  230. data/spec/opal/core/exception_spec.rb +10 -0
  231. data/spec/opal/core/hash/internals_spec.rb +10 -10
  232. data/spec/opal/core/kernel/rand_spec.rb +0 -4
  233. data/spec/opal/core/kernel/respond_to_spec.rb +5 -2
  234. data/spec/opal/core/language/constant_lookup_spec.rb +38 -0
  235. data/spec/opal/core/language/predefined_spec.rb +1 -1
  236. data/spec/opal/core/language/safe_navigator_spec.rb +7 -0
  237. data/spec/opal/core/language/send_spec.rb +1 -9
  238. data/spec/opal/core/language/string_spec.rb +8 -8
  239. data/spec/opal/core/language/versions/def_2_0_spec.rb +0 -4
  240. data/spec/opal/core/language_spec.rb +32 -0
  241. data/spec/opal/core/module/const_get_spec.rb +1 -1
  242. data/spec/opal/core/runtime/is_a_spec.rb +36 -0
  243. data/spec/opal/core/runtime/rescue_spec.rb +35 -0
  244. data/spec/opal/core/runtime_spec.rb +4 -4
  245. data/spec/opal/core/string_spec.rb +8 -8
  246. data/spec/opal/core/time_spec.rb +26 -17
  247. data/spec/opal/stdlib/erb/quoted.opalerb +1 -1
  248. data/spec/opal/stdlib/json/parse_spec.rb +4 -0
  249. data/spec/opal/stdlib/native/hash_spec.rb +16 -0
  250. data/spec/ruby_specs +2 -1
  251. data/spec/spec_helper.rb +1 -0
  252. data/spec/support/rewriters_helper.rb +24 -0
  253. data/stdlib/base64.rb +4 -2
  254. data/stdlib/bigdecimal/bignumber.js.rb +1 -1
  255. data/stdlib/date.rb +18 -19
  256. data/stdlib/json.rb +16 -4
  257. data/stdlib/nashorn/file.rb +15 -0
  258. data/stdlib/native.rb +21 -12
  259. data/stdlib/nodejs/dir.rb +1 -1
  260. data/stdlib/nodejs/file.rb +49 -20
  261. data/stdlib/nodejs/io.rb +22 -1
  262. data/stdlib/nodejs/{node_modules/js-yaml/dist/js-yaml.js → js-yaml-3-6-1.js} +815 -626
  263. data/stdlib/nodejs/kernel.rb +3 -1
  264. data/stdlib/nodejs/package.json +0 -1
  265. data/stdlib/nodejs/stacktrace.rb +163 -0
  266. data/stdlib/nodejs/yaml.rb +2 -1
  267. data/stdlib/opal-platform.rb +15 -0
  268. data/stdlib/opal/platform.rb +5 -13
  269. data/stdlib/pathname.rb +1 -1
  270. data/stdlib/strscan.rb +15 -1
  271. data/stdlib/yaml.rb +1 -1
  272. data/tasks/benchmarking.rake +9 -0
  273. data/tasks/building.rake +24 -20
  274. data/tasks/linting.rake +24 -13
  275. data/tasks/testing.rake +322 -205
  276. data/tasks/testing/mspec_special_calls.rb +44 -15
  277. data/tasks/testing/opal_rspec_smoketest.Gemfile +13 -0
  278. data/test/nodejs/fixtures/hello.rb +1 -0
  279. data/test/nodejs/test_file.rb +57 -0
  280. data/test/nodejs/test_io.rb +18 -0
  281. data/test/nodejs/test_opal_builder.rb +12 -0
  282. data/test/opal/unsupported_and_bugs.rb +9 -0
  283. metadata +127 -240
  284. data/lib/opal/parser/grammar.rb +0 -6157
  285. data/lib/opal/parser/grammar.y +0 -2011
  286. data/lib/opal/parser/keywords.rb +0 -66
  287. data/lib/opal/parser/lexer.rb +0 -1352
  288. data/lib/opal/parser/parser_scope.rb +0 -28
  289. data/lib/opal/parser/sexp.rb +0 -90
  290. data/lib/opal/sprockets.rb +0 -77
  291. data/lib/opal/sprockets/environment.rb +0 -23
  292. data/lib/opal/sprockets/erb.rb +0 -28
  293. data/lib/opal/sprockets/path_reader.rb +0 -36
  294. data/lib/opal/sprockets/processor.rb +0 -173
  295. data/lib/opal/sprockets/server.rb +0 -133
  296. data/lib/opal/sprockets/source_map_header_patch.rb +0 -41
  297. data/lib/opal/sprockets/source_map_server.rb +0 -117
  298. data/spec/filters/bugs/compiler_opal.rb +0 -5
  299. data/spec/filters/bugs/language_opal.rb +0 -88
  300. data/spec/filters/unsupported/module.rb +0 -8
  301. data/spec/lib/compiler/pre_processed_conditionals_spec.rb +0 -87
  302. data/spec/lib/lexer_spec.rb +0 -110
  303. data/spec/lib/parser/alias_spec.rb +0 -26
  304. data/spec/lib/parser/and_spec.rb +0 -13
  305. data/spec/lib/parser/aref_spec.rb +0 -10
  306. data/spec/lib/parser/attrasgn_spec.rb +0 -28
  307. data/spec/lib/parser/begin_spec.rb +0 -42
  308. data/spec/lib/parser/block_spec.rb +0 -12
  309. data/spec/lib/parser/break_spec.rb +0 -17
  310. data/spec/lib/parser/call_spec.rb +0 -201
  311. data/spec/lib/parser/class_spec.rb +0 -35
  312. data/spec/lib/parser/comments_spec.rb +0 -11
  313. data/spec/lib/parser/def_spec.rb +0 -109
  314. data/spec/lib/parser/if_spec.rb +0 -26
  315. data/spec/lib/parser/iter_spec.rb +0 -59
  316. data/spec/lib/parser/lambda_spec.rb +0 -219
  317. data/spec/lib/parser/literal_spec.rb +0 -118
  318. data/spec/lib/parser/masgn_spec.rb +0 -37
  319. data/spec/lib/parser/module_spec.rb +0 -27
  320. data/spec/lib/parser/not_spec.rb +0 -21
  321. data/spec/lib/parser/op_asgn1_spec.rb +0 -23
  322. data/spec/lib/parser/op_asgn2_spec.rb +0 -23
  323. data/spec/lib/parser/op_asgn_spec.rb +0 -17
  324. data/spec/lib/parser/or_spec.rb +0 -13
  325. data/spec/lib/parser/return_spec.rb +0 -22
  326. data/spec/lib/parser/sclass_spec.rb +0 -21
  327. data/spec/lib/parser/string_spec.rb +0 -286
  328. data/spec/lib/parser/super_spec.rb +0 -20
  329. data/spec/lib/parser/unary_spec.rb +0 -52
  330. data/spec/lib/parser/undef_spec.rb +0 -19
  331. data/spec/lib/parser/unless_spec.rb +0 -13
  332. data/spec/lib/parser/variables_spec.rb +0 -112
  333. data/spec/lib/parser/while_spec.rb +0 -15
  334. data/spec/lib/parser/yield_spec.rb +0 -20
  335. data/spec/lib/sprockets/erb_spec.rb +0 -38
  336. data/spec/lib/sprockets/path_reader_spec.rb +0 -41
  337. data/spec/lib/sprockets/processor_spec.rb +0 -79
  338. data/spec/lib/sprockets/server_spec.rb +0 -102
  339. data/spec/lib/sprockets_spec.rb +0 -39
  340. data/spec/lib/tilt/opal_spec.rb +0 -37
  341. data/spec/opal/core/language/block_spec.rb +0 -538
  342. data/spec/opal/core/language/proc_spec.rb +0 -263
  343. data/spec/opal/core/language/variables_spec.rb +0 -1366
  344. data/spec/opal/core/runtime/block_send_spec.rb +0 -28
  345. data/spec/opal/core/runtime/send_spec.rb +0 -34
  346. data/spec/support/parser_helpers.rb +0 -37
  347. data/stdlib/nodejs/node_modules/js-yaml/HISTORY.md +0 -277
  348. data/stdlib/nodejs/node_modules/js-yaml/LICENSE +0 -21
  349. data/stdlib/nodejs/node_modules/js-yaml/README.md +0 -288
  350. data/stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js +0 -140
  351. data/stdlib/nodejs/node_modules/js-yaml/bower.json +0 -23
  352. data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js +0 -3
  353. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js +0 -102
  354. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml +0 -18
  355. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.js +0 -31
  356. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.json +0 -22
  357. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js +0 -18
  358. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml +0 -197
  359. data/stdlib/nodejs/node_modules/js-yaml/index.js +0 -7
  360. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js +0 -39
  361. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js +0 -62
  362. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js +0 -554
  363. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js +0 -25
  364. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js +0 -1581
  365. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js +0 -78
  366. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js +0 -103
  367. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js +0 -18
  368. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +0 -25
  369. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +0 -28
  370. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +0 -17
  371. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js +0 -25
  372. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js +0 -61
  373. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js +0 -133
  374. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js +0 -37
  375. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js +0 -110
  376. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js +0 -183
  377. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js +0 -85
  378. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +0 -84
  379. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +0 -27
  380. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js +0 -8
  381. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js +0 -12
  382. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js +0 -36
  383. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js +0 -56
  384. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js +0 -61
  385. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js +0 -8
  386. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js +0 -33
  387. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js +0 -8
  388. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +0 -98
  389. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md +0 -115
  390. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE +0 -21
  391. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +0 -239
  392. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +0 -36
  393. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js +0 -22
  394. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js +0 -59
  395. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js +0 -13
  396. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +0 -33
  397. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js +0 -28
  398. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +0 -23
  399. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +0 -49
  400. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js +0 -35
  401. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +0 -270
  402. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js +0 -1
  403. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js +0 -146
  404. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +0 -55
  405. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +0 -47
  406. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +0 -40
  407. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +0 -48
  408. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +0 -50
  409. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +0 -43
  410. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +0 -27
  411. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +0 -26
  412. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +0 -148
  413. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +0 -50
  414. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +0 -481
  415. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +0 -14
  416. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +0 -50
  417. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +0 -54
  418. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +0 -75
  419. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +0 -1168
  420. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js +0 -18
  421. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +0 -88
  422. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +0 -798
  423. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +0 -77
  424. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore +0 -2
  425. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +0 -8
  426. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +0 -825
  427. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json +0 -33
  428. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +0 -11
  429. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js +0 -10
  430. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js +0 -26
  431. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +0 -673
  432. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
  433. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +0 -107
  434. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +0 -23
  435. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +0 -22
  436. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +0 -69
  437. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +0 -6
  438. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +0 -1415
  439. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json +0 -62
  440. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md +0 -73
  441. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +0 -117
  442. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +0 -177
  443. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js +0 -3908
  444. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json +0 -69
  445. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js +0 -239
  446. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js +0 -422
  447. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js +0 -66
  448. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js +0 -387
  449. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js +0 -20238
  450. data/stdlib/nodejs/node_modules/js-yaml/package.json +0 -83
@@ -1,11 +1,11 @@
1
- require 'opal/nodes'
1
+ require 'opal/nodes/call'
2
2
 
3
3
  class Opal::Nodes::CallNode
4
4
  # Rubyspec uses this call to load in language specific features at runtime.
5
5
  # We can't do this at runtime, so handle it during compilation
6
- add_special :language_version do
6
+ add_special :language_version do |compile_default|
7
7
  if scope.top?
8
- lang_type = arglist[2][1]
8
+ lang_type = arglist.children[1].children[0]
9
9
  target = "ruby/language/versions/#{lang_type}_1.9"
10
10
 
11
11
  if File.exist?(target)
@@ -16,29 +16,58 @@ class Opal::Nodes::CallNode
16
16
  end
17
17
  end
18
18
 
19
- add_special :not_supported_on do
20
- unless arglist.flatten.include? :opal
21
- compile_default!
19
+ add_special :not_supported_on do |compile_default|
20
+ unless arglist.children.include?(s(:sym, :opal))
21
+ compile_default.call
22
22
  end
23
23
  end
24
24
 
25
- add_special :not_compliant_on do
26
- unless arglist.flatten.include? :opal
27
- compile_default!
25
+ add_special :not_compliant_on do |compile_default|
26
+ unless arglist.children.include?(s(:sym, :opal))
27
+ compile_default.call
28
28
  end
29
29
  end
30
30
 
31
- add_special :platform_is_not do
32
- unless arglist.flatten.include? :opal
33
- compile_default!
31
+ add_special :platform_is_not do |compile_default|
32
+ unless arglist.children.include?(s(:sym, :opal))
33
+ compile_default.call
34
34
  end
35
35
  end
36
36
 
37
- add_special :platform_is do
38
- if arglist.flatten.include? :opal
39
- compile_default!
37
+ add_special :platform_is do |compile_default|
38
+ if arglist.children.include?(s(:sym, :opal))
39
+ compile_default.call
40
40
  end
41
41
  end
42
+
43
+ add_special :requirable_spec_file do |compile_default|
44
+ str = DependencyResolver.new(compiler, arglist.children[0]).resolve
45
+ compiler.requires << str unless str.nil?
46
+ end
47
+ end
48
+
49
+ require 'opal/rewriters/rubyspec/filters_rewriter'
50
+
51
+ Opal::Rewriter.use Opal::Rubyspec::FiltersRewriter
52
+
53
+ # When a spec is marked as filtered (most probably non-implemented functionality)
54
+ # we need to exclude it from the test suite
55
+ # (except of the case with inverted suite specified using INVERT_RUNNING_MODE=true)
56
+ #
57
+ def opal_filter(filter_name, &block)
58
+ unless ENV['INVERT_RUNNING_MODE']
59
+ Opal::Rubyspec::FiltersRewriter.instance_eval(&block)
60
+ end
42
61
  end
43
62
 
63
+ # When a spec is marked as unsupported we need to exclude it from the test suite.
64
+ #
65
+ # This filter ignores ENV['INVERT_RUNNING_MODE'],
66
+ # unsupported feature is always unsupported.
67
+ #
68
+ def opal_unsupported_filter(filter_name, &block)
69
+ Opal::Rubyspec::FiltersRewriter.instance_eval(&block)
70
+ end
44
71
 
72
+ Dir[File.expand_path('../../../spec/filters/unsupported/**/*.rb', __FILE__)].each { |f| require f }
73
+ Dir[File.expand_path('../../../spec/filters/bugs/**/*.rb', __FILE__)].each { |f| require f }
@@ -0,0 +1,13 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Don't need Capybara, etc.
4
+ gem "rspec", :path => "rspec"
5
+ gem "rspec-support", :path => "rspec-support"
6
+ gem "rspec-core", :path => "rspec-core"
7
+ gem "rspec-mocks", :path => "rspec-mocks"
8
+ gem "rspec-expectations", :path => "rspec-expectations"
9
+ gem "opal-sprockets", github: "opal/opal-sprockets"
10
+ # Using Opal version we are running this from
11
+ gem "opal", :path => '../..'
12
+
13
+ gemspec
@@ -0,0 +1 @@
1
+ puts "Hello world"
@@ -4,6 +4,24 @@ require 'nodejs'
4
4
  require 'nodejs/file'
5
5
 
6
6
  class TestNodejsFile < Test::Unit::TestCase
7
+ def self.windows_platform?
8
+ `process.platform`.start_with?('win')
9
+ end
10
+
11
+ def test_instantiate_without_open_mode
12
+ # By default the open mode is 'r' (read only)
13
+ File.write('tmp/quz', "world")
14
+ file = File.new('tmp/quz')
15
+ assert_equal('tmp/quz', file.path)
16
+ end
17
+
18
+ def test_mtime
19
+ File.write('tmp/qix', "hello")
20
+ file = File.new('tmp/qix', 'r')
21
+ file_mtime = file.mtime
22
+ assert(Time.now >= file_mtime, 'File modification time should be before now')
23
+ end
24
+
7
25
  def test_write_read
8
26
  path = "/tmp/testing_nodejs_file_implementation_#{Time.now.to_i}"
9
27
  contents = 'foobar'
@@ -27,4 +45,43 @@ class TestNodejsFile < Test::Unit::TestCase
27
45
  end
28
46
  assert_equal(lines.length, 2)
29
47
  end
48
+
49
+ def test_read_noexistent_should_raise_io_error
50
+ assert_raise IOError do
51
+ File.read('tmp/nonexistent')
52
+ end
53
+ end
54
+
55
+ def test_mtime_noexistent_should_raise_io_error
56
+ assert_raise IOError do
57
+ File.mtime('tmp/nonexistent')
58
+ end
59
+ end
60
+
61
+ def test_current_directory_should_be_a_directory
62
+ assert(File.directory?('.'))
63
+ end
64
+
65
+ def test_current_directory_should_be_a_directory_using_pathname
66
+ current_dir = Pathname.new('.');
67
+ assert(current_dir.directory?)
68
+ end
69
+
70
+ def test_file_readable
71
+ assert !File.readable?('tmp/nonexistent')
72
+ File.write('tmp/fuz', "hello")
73
+ assert File.readable?('tmp/fuz')
74
+ end
75
+
76
+ def test_linux_separators
77
+ assert_equal('/', File::SEPARATOR)
78
+ assert_equal('/', File::Separator)
79
+ assert_equal(nil, File::ALT_SEPARATOR)
80
+ end unless windows_platform?
81
+
82
+ def test_windows_separators
83
+ assert_equal('\\', File::SEPARATOR)
84
+ assert_equal('\\', File::Separator)
85
+ assert_equal('/', File::ALT_SEPARATOR)
86
+ end if windows_platform?
30
87
  end
@@ -0,0 +1,18 @@
1
+ # Copied from cruby and modified to skip unsupported syntaxes
2
+ require 'test/unit'
3
+ require 'nodejs'
4
+ require 'nodejs/io'
5
+
6
+ class TestNodejsIO < Test::Unit::TestCase
7
+
8
+ def test_binread
9
+ File.write('tmp/foo', 'bar')
10
+ assert_equal("bar", IO.binread('tmp/foo'))
11
+ end
12
+
13
+ def test_binread_noexistent_should_raise_io_error
14
+ assert_raise IOError do
15
+ IO.binread('tmp/nonexistent')
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ require 'test/unit'
2
+ require 'nodejs'
3
+ require 'opal-builder'
4
+
5
+ class TestNodejsOpalBuilder < Test::Unit::TestCase
6
+
7
+ def test_should_build_simple_ruby_file
8
+ builder = Opal::Builder.new
9
+ result = builder.build('test/nodejs/fixtures/hello.rb')
10
+ assert(/self\.\$puts\("Hello world"\)/.match(result.to_s))
11
+ end
12
+ end
@@ -27,4 +27,13 @@ end
27
27
 
28
28
  class TestBase64
29
29
  bug :test_strict_decode64
30
+ bug :test_urlsafe_decode64_unpadded
31
+ end
32
+
33
+ class TestCall
34
+ # They work fine if `"a".sub! "b"` is replaced by `[].slice 1`
35
+ unsupported :test_safe_call_block_command
36
+ unsupported :test_safe_call_block_call
37
+ unsupported :test_safe_call_block_call_brace
38
+ unsupported :test_safe_call_block_call_command
30
39
  end
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.6
4
+ version: 0.11.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
+ - Elia Schito
8
+ - meh.
7
9
  - Adam Beynon
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2018-06-21 00:00:00.000000000 Z
13
+ date: 2017-05-01 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: sourcemap
@@ -25,47 +27,47 @@ dependencies:
25
27
  - !ruby/object:Gem::Version
26
28
  version: 0.1.0
27
29
  - !ruby/object:Gem::Dependency
28
- name: sprockets
30
+ name: hike
29
31
  requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
33
  - - "~>"
32
34
  - !ruby/object:Gem::Version
33
- version: '3.1'
35
+ version: '1.2'
34
36
  type: :runtime
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
40
  - - "~>"
39
41
  - !ruby/object:Gem::Version
40
- version: '3.1'
42
+ version: '1.2'
41
43
  - !ruby/object:Gem::Dependency
42
- name: hike
44
+ name: ast
43
45
  requirement: !ruby/object:Gem::Requirement
44
46
  requirements:
45
- - - "~>"
47
+ - - ">="
46
48
  - !ruby/object:Gem::Version
47
- version: '1.2'
49
+ version: 2.3.0
48
50
  type: :runtime
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
- - - "~>"
54
+ - - ">="
53
55
  - !ruby/object:Gem::Version
54
- version: '1.2'
56
+ version: 2.3.0
55
57
  - !ruby/object:Gem::Dependency
56
- name: tilt
58
+ name: parser
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
- - - ">="
61
+ - - '='
60
62
  - !ruby/object:Gem::Version
61
- version: '1.4'
63
+ version: 2.3.3.1
62
64
  type: :runtime
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
- - - ">="
68
+ - - '='
67
69
  - !ruby/object:Gem::Version
68
- version: '1.4'
70
+ version: 2.3.3.1
69
71
  - !ruby/object:Gem::Dependency
70
72
  name: mspec
71
73
  requirement: !ruby/object:Gem::Requirement
@@ -193,7 +195,7 @@ dependencies:
193
195
  - !ruby/object:Gem::Version
194
196
  version: '0'
195
197
  - !ruby/object:Gem::Dependency
196
- name: coveralls
198
+ name: selenium-webdriver
197
199
  requirement: !ruby/object:Gem::Requirement
198
200
  requirements:
199
201
  - - ">="
@@ -206,8 +208,26 @@ dependencies:
206
208
  - - ">="
207
209
  - !ruby/object:Gem::Version
208
210
  version: '0'
209
- description: Ruby runtime and core library for JavaScript.
210
- email: adam.beynon@gmail.com
211
+ - !ruby/object:Gem::Dependency
212
+ name: benchmark-ips
213
+ requirement: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ type: :development
219
+ prerelease: false
220
+ version_requirements: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - ">="
223
+ - !ruby/object:Gem::Version
224
+ version: '0'
225
+ description: Opal is a Ruby to JavaScript compiler. It is source-to-source, making
226
+ it fast as a runtime. Opal includes a compiler (which can be run in any browser),
227
+ a corelib and runtime implementation. The corelib/runtime is also very small.
228
+ email:
229
+ - elia@schito.me
230
+ - meh@schizofreni.co
211
231
  executables:
212
232
  - opal
213
233
  - opal-build
@@ -216,6 +236,7 @@ executables:
216
236
  extensions: []
217
237
  extra_rdoc_files: []
218
238
  files:
239
+ - ".codeclimate.yml"
219
240
  - ".gitattributes"
220
241
  - ".gitignore"
221
242
  - ".gitmodules"
@@ -225,7 +246,7 @@ files:
225
246
  - ".travis.yml"
226
247
  - ".yardopts"
227
248
  - CHANGELOG.md
228
- - CODE_OF_CONDUCT.md
249
+ - CONDUCT.md
229
250
  - CONTRIBUTING.md
230
251
  - Gemfile
231
252
  - Guardfile
@@ -234,6 +255,10 @@ files:
234
255
  - README.md
235
256
  - Rakefile
236
257
  - appveyor.yml
258
+ - benchmark-ips/bm_case.rb
259
+ - benchmark-ips/bm_constants_lookup.rb
260
+ - benchmark-ips/bm_is_number.rb
261
+ - benchmark-ips/bm_symbol_to_proc.rb
237
262
  - benchmark/benchmarks
238
263
  - benchmark/bm_array_flatten.rb
239
264
  - benchmark/bm_array_intersection_numbers.rb
@@ -252,6 +277,8 @@ files:
252
277
  - benchmark/bm_array_uniq_numbers.rb
253
278
  - benchmark/bm_array_uniq_objects.rb
254
279
  - benchmark/bm_array_uniq_strings.rb
280
+ - benchmark/bm_constant_lookup_big.rb
281
+ - benchmark/bm_constant_lookup_small.rb
255
282
  - benchmark/bm_dispatch_bind_table.rb
256
283
  - benchmark/bm_dispatch_code_gen.rb
257
284
  - benchmark/bm_dispatch_code_gen_if.rb
@@ -326,6 +353,8 @@ files:
326
353
  - benchmark/bm_hash_to_h_string.rb
327
354
  - benchmark/bm_hash_values_object.rb
328
355
  - benchmark/bm_hash_values_string.rb
356
+ - benchmark/bm_module_definition_big.rb
357
+ - benchmark/bm_module_definition_small.rb
329
358
  - benchmark/run.rb
330
359
  - bin/opal
331
360
  - bin/opal-build
@@ -363,6 +392,8 @@ files:
363
392
  - examples/sinatra/app/application.rb
364
393
  - examples/sinatra/config.ru
365
394
  - lib/opal.rb
395
+ - lib/opal/ast/builder.rb
396
+ - lib/opal/ast/node.rb
366
397
  - lib/opal/builder.rb
367
398
  - lib/opal/builder_processors.rb
368
399
  - lib/opal/cli.rb
@@ -376,6 +407,7 @@ files:
376
407
  - lib/opal/cli_runners/server.rb
377
408
  - lib/opal/compiler.rb
378
409
  - lib/opal/config.rb
410
+ - lib/opal/deprecations.rb
379
411
  - lib/opal/erb.rb
380
412
  - lib/opal/errors.rb
381
413
  - lib/opal/fragment.rb
@@ -399,9 +431,11 @@ files:
399
431
  - lib/opal/nodes/case.rb
400
432
  - lib/opal/nodes/class.rb
401
433
  - lib/opal/nodes/constants.rb
434
+ - lib/opal/nodes/csend.rb
402
435
  - lib/opal/nodes/def.rb
403
436
  - lib/opal/nodes/defined.rb
404
437
  - lib/opal/nodes/definitions.rb
438
+ - lib/opal/nodes/defs.rb
405
439
  - lib/opal/nodes/for.rb
406
440
  - lib/opal/nodes/hash.rb
407
441
  - lib/opal/nodes/helpers.rb
@@ -423,24 +457,23 @@ files:
423
457
  - lib/opal/nodes/while.rb
424
458
  - lib/opal/nodes/yield.rb
425
459
  - lib/opal/parser.rb
426
- - lib/opal/parser/grammar.rb
427
- - lib/opal/parser/grammar.y
428
- - lib/opal/parser/keywords.rb
429
- - lib/opal/parser/lexer.rb
430
- - lib/opal/parser/parser_scope.rb
431
- - lib/opal/parser/sexp.rb
432
460
  - lib/opal/path_reader.rb
433
461
  - lib/opal/paths.rb
434
462
  - lib/opal/regexp_anchors.rb
463
+ - lib/opal/rewriter.rb
464
+ - lib/opal/rewriters/base.rb
465
+ - lib/opal/rewriters/binary_operator_assignment.rb
466
+ - lib/opal/rewriters/block_to_iter.rb
467
+ - lib/opal/rewriters/break_finder.rb
468
+ - lib/opal/rewriters/dot_js_syntax.rb
469
+ - lib/opal/rewriters/explicit_writer_return.rb
470
+ - lib/opal/rewriters/js_reserved_words.rb
471
+ - lib/opal/rewriters/logical_operator_assignment.rb
472
+ - lib/opal/rewriters/opal_engine_check.rb
473
+ - lib/opal/rewriters/rubyspec/filters_rewriter.rb
474
+ - lib/opal/server.rb
475
+ - lib/opal/simple_server.rb
435
476
  - lib/opal/source_map.rb
436
- - lib/opal/sprockets.rb
437
- - lib/opal/sprockets/environment.rb
438
- - lib/opal/sprockets/erb.rb
439
- - lib/opal/sprockets/path_reader.rb
440
- - lib/opal/sprockets/processor.rb
441
- - lib/opal/sprockets/server.rb
442
- - lib/opal/sprockets/source_map_header_patch.rb
443
- - lib/opal/sprockets/source_map_server.rb
444
477
  - lib/opal/util.rb
445
478
  - lib/opal/version.rb
446
479
  - lib/tilt/opal.rb
@@ -474,6 +507,8 @@ files:
474
507
  - opal/corelib/numeric.rb
475
508
  - opal/corelib/proc.rb
476
509
  - opal/corelib/process.rb
510
+ - opal/corelib/random.rb
511
+ - opal/corelib/random/seedrandom.js.rb
477
512
  - opal/corelib/range.rb
478
513
  - opal/corelib/rational.rb
479
514
  - opal/corelib/regexp.rb
@@ -494,25 +529,27 @@ files:
494
529
  - spec/filters/bugs/basicobject.rb
495
530
  - spec/filters/bugs/bigdecimal.rb
496
531
  - spec/filters/bugs/class.rb
497
- - spec/filters/bugs/compiler_opal.rb
532
+ - spec/filters/bugs/comparable.rb
498
533
  - spec/filters/bugs/complex.rb
499
534
  - spec/filters/bugs/date.rb
500
535
  - spec/filters/bugs/enumerable.rb
501
536
  - spec/filters/bugs/enumerator.rb
502
537
  - spec/filters/bugs/exception.rb
538
+ - spec/filters/bugs/file.rb
503
539
  - spec/filters/bugs/float.rb
504
540
  - spec/filters/bugs/hash.rb
505
541
  - spec/filters/bugs/inheritance.rb
506
542
  - spec/filters/bugs/integer.rb
543
+ - spec/filters/bugs/io.rb
507
544
  - spec/filters/bugs/kernel.rb
508
545
  - spec/filters/bugs/language.rb
509
- - spec/filters/bugs/language_opal.rb
510
546
  - spec/filters/bugs/marshal.rb
511
547
  - spec/filters/bugs/method.rb
512
548
  - spec/filters/bugs/module.rb
513
549
  - spec/filters/bugs/numeric.rb
514
550
  - spec/filters/bugs/pathname.rb
515
551
  - spec/filters/bugs/proc.rb
552
+ - spec/filters/bugs/random.rb
516
553
  - spec/filters/bugs/range.rb
517
554
  - spec/filters/bugs/rational.rb
518
555
  - spec/filters/bugs/regexp.rb
@@ -530,6 +567,7 @@ files:
530
567
  - spec/filters/unsupported/delegator.rb
531
568
  - spec/filters/unsupported/enumerable.rb
532
569
  - spec/filters/unsupported/enumerator.rb
570
+ - spec/filters/unsupported/file.rb
533
571
  - spec/filters/unsupported/fixnum.rb
534
572
  - spec/filters/unsupported/float.rb
535
573
  - spec/filters/unsupported/freeze.rb
@@ -540,10 +578,11 @@ files:
540
578
  - spec/filters/unsupported/marshal.rb
541
579
  - spec/filters/unsupported/matchdata.rb
542
580
  - spec/filters/unsupported/math.rb
543
- - spec/filters/unsupported/module.rb
544
581
  - spec/filters/unsupported/pathname.rb
545
582
  - spec/filters/unsupported/privacy.rb
546
583
  - spec/filters/unsupported/proc.rb
584
+ - spec/filters/unsupported/random.rb
585
+ - spec/filters/unsupported/range.rb
547
586
  - spec/filters/unsupported/regexp.rb
548
587
  - spec/filters/unsupported/set.rb
549
588
  - spec/filters/unsupported/singleton.rb
@@ -558,10 +597,10 @@ files:
558
597
  - spec/lib/cli_runners/phantomjs_spec.rb
559
598
  - spec/lib/cli_spec.rb
560
599
  - spec/lib/compiler/call_spec.rb
561
- - spec/lib/compiler/pre_processed_conditionals_spec.rb
562
600
  - spec/lib/compiler_spec.rb
563
601
  - spec/lib/config_spec.rb
564
602
  - spec/lib/dependency_resolver_spec.rb
603
+ - spec/lib/deprecations_spec.rb
565
604
  - spec/lib/fixtures/complex_sprockets.js.rb.erb
566
605
  - spec/lib/fixtures/file_with_directives.js
567
606
  - spec/lib/fixtures/jst_file.js.jst
@@ -572,55 +611,26 @@ files:
572
611
  - spec/lib/fixtures/required_tree_test/required_file1.rb
573
612
  - spec/lib/fixtures/required_tree_test/required_file2.rb
574
613
  - spec/lib/fixtures/requires.rb
614
+ - spec/lib/fixtures/source_location_test.rb
575
615
  - spec/lib/fixtures/source_map.rb
576
616
  - spec/lib/fixtures/source_map/subfolder/other_file.rb
577
617
  - spec/lib/fixtures/sprockets_file.js.rb
578
618
  - spec/lib/fixtures/sprockets_require_tree_test.rb
579
619
  - spec/lib/hike_path_finder_spec.rb
580
- - spec/lib/lexer_spec.rb
581
- - spec/lib/parser/alias_spec.rb
582
- - spec/lib/parser/and_spec.rb
583
- - spec/lib/parser/aref_spec.rb
584
- - spec/lib/parser/attrasgn_spec.rb
585
- - spec/lib/parser/begin_spec.rb
586
- - spec/lib/parser/block_spec.rb
587
- - spec/lib/parser/break_spec.rb
588
- - spec/lib/parser/call_spec.rb
589
- - spec/lib/parser/class_spec.rb
590
- - spec/lib/parser/comments_spec.rb
591
- - spec/lib/parser/def_spec.rb
592
- - spec/lib/parser/if_spec.rb
593
- - spec/lib/parser/iter_spec.rb
594
- - spec/lib/parser/lambda_spec.rb
595
- - spec/lib/parser/literal_spec.rb
596
- - spec/lib/parser/masgn_spec.rb
597
- - spec/lib/parser/module_spec.rb
598
- - spec/lib/parser/not_spec.rb
599
- - spec/lib/parser/op_asgn1_spec.rb
600
- - spec/lib/parser/op_asgn2_spec.rb
601
- - spec/lib/parser/op_asgn_spec.rb
602
- - spec/lib/parser/or_spec.rb
603
- - spec/lib/parser/return_spec.rb
604
- - spec/lib/parser/sclass_spec.rb
605
- - spec/lib/parser/string_spec.rb
606
- - spec/lib/parser/super_spec.rb
607
- - spec/lib/parser/unary_spec.rb
608
- - spec/lib/parser/undef_spec.rb
609
- - spec/lib/parser/unless_spec.rb
610
- - spec/lib/parser/variables_spec.rb
611
- - spec/lib/parser/while_spec.rb
612
- - spec/lib/parser/yield_spec.rb
613
620
  - spec/lib/path_reader_spec.rb
614
621
  - spec/lib/paths_spec.rb
622
+ - spec/lib/rewriters/binary_operator_assignment_spec.rb
623
+ - spec/lib/rewriters/block_to_iter_spec.rb
624
+ - spec/lib/rewriters/dot_js_syntax_spec.rb
625
+ - spec/lib/rewriters/explicit_writer_return_spec.rb
626
+ - spec/lib/rewriters/js_reserved_words_spec.rb
627
+ - spec/lib/rewriters/logical_operator_assignment_spec.rb
628
+ - spec/lib/rewriters/opal_engine_check_spec.rb
629
+ - spec/lib/rewriters/rubyspec/filters_rewriter_spec.rb
615
630
  - spec/lib/shared/path_finder_shared.rb
616
631
  - spec/lib/shared/path_reader_shared.rb
632
+ - spec/lib/simple_server_spec.rb
617
633
  - spec/lib/spec_helper.rb
618
- - spec/lib/sprockets/erb_spec.rb
619
- - spec/lib/sprockets/path_reader_spec.rb
620
- - spec/lib/sprockets/processor_spec.rb
621
- - spec/lib/sprockets/server_spec.rb
622
- - spec/lib/sprockets_spec.rb
623
- - spec/lib/tilt/opal_spec.rb
624
634
  - spec/mspec-opal/formatters.rb
625
635
  - spec/mspec-opal/runner.rb
626
636
  - spec/opal/compiler/irb_spec.rb
@@ -701,8 +711,8 @@ files:
701
711
  - spec/opal/core/kernel/send_spec.rb
702
712
  - spec/opal/core/kernel/sprintf_spec.rb
703
713
  - spec/opal/core/language/arguments/mlhs_arg_spec.rb
704
- - spec/opal/core/language/block_spec.rb
705
714
  - spec/opal/core/language/class_spec.rb
715
+ - spec/opal/core/language/constant_lookup_spec.rb
706
716
  - spec/opal/core/language/equal_spec.rb
707
717
  - spec/opal/core/language/fixtures/array.rb
708
718
  - spec/opal/core/language/fixtures/block.rb
@@ -721,13 +731,12 @@ files:
721
731
  - spec/opal/core/language/heredoc_spec.rb
722
732
  - spec/opal/core/language/keyword_arguments_spec.rb
723
733
  - spec/opal/core/language/predefined_spec.rb
724
- - spec/opal/core/language/proc_spec.rb
725
734
  - spec/opal/core/language/regexp_spec.rb
726
735
  - spec/opal/core/language/rescue_spec.rb
736
+ - spec/opal/core/language/safe_navigator_spec.rb
727
737
  - spec/opal/core/language/send_spec.rb
728
738
  - spec/opal/core/language/string_spec.rb
729
739
  - spec/opal/core/language/ternary_operator_spec.rb
730
- - spec/opal/core/language/variables_spec.rb
731
740
  - spec/opal/core/language/versions/array_1.9.rb
732
741
  - spec/opal/core/language/versions/block_1.9.rb
733
742
  - spec/opal/core/language/versions/break_1.9.rb
@@ -800,12 +809,12 @@ files:
800
809
  - spec/opal/core/proc/element_reference_spec.rb
801
810
  - spec/opal/core/proc/proc_tricks_spec.rb
802
811
  - spec/opal/core/runtime/begin_spec.rb
803
- - spec/opal/core/runtime/block_send_spec.rb
804
812
  - spec/opal/core/runtime/block_spec.rb
805
813
  - spec/opal/core/runtime/bridged_classes_spec.rb
806
814
  - spec/opal/core/runtime/constants_spec.rb
807
815
  - spec/opal/core/runtime/donate_spec.rb
808
816
  - spec/opal/core/runtime/eval_spec.rb
817
+ - spec/opal/core/runtime/is_a_spec.rb
809
818
  - spec/opal/core/runtime/main_methods_spec.rb
810
819
  - spec/opal/core/runtime/method_missing_spec.rb
811
820
  - spec/opal/core/runtime/method_spec.rb
@@ -813,7 +822,6 @@ files:
813
822
  - spec/opal/core/runtime/paren_spec.rb
814
823
  - spec/opal/core/runtime/rescue_spec.rb
815
824
  - spec/opal/core/runtime/return_spec.rb
816
- - spec/opal/core/runtime/send_spec.rb
817
825
  - spec/opal/core/runtime/singleton_class_spec.rb
818
826
  - spec/opal/core/runtime/super_spec.rb
819
827
  - spec/opal/core/runtime/truthy_spec.rb
@@ -863,7 +871,7 @@ files:
863
871
  - spec/spec_helper.rb
864
872
  - spec/support/match_helpers.rb
865
873
  - spec/support/mspec_rspec_adapter.rb
866
- - spec/support/parser_helpers.rb
874
+ - spec/support/rewriters_helper.rb
867
875
  - stdlib/README.md
868
876
  - stdlib/base64.rb
869
877
  - stdlib/benchmark.rb
@@ -897,6 +905,7 @@ files:
897
905
  - stdlib/nodejs/fileutils.rb
898
906
  - stdlib/nodejs/io.rb
899
907
  - stdlib/nodejs/irb.rb
908
+ - stdlib/nodejs/js-yaml-3-6-1.js
900
909
  - stdlib/nodejs/kernel.rb
901
910
  - stdlib/nodejs/node_modules/glob/LICENSE
902
911
  - stdlib/nodejs/node_modules/glob/README.md
@@ -976,118 +985,15 @@ files:
976
985
  - stdlib/nodejs/node_modules/glob/node_modules/once/test/once.js
977
986
  - stdlib/nodejs/node_modules/glob/package.json
978
987
  - stdlib/nodejs/node_modules/glob/sync.js
979
- - stdlib/nodejs/node_modules/js-yaml/HISTORY.md
980
- - stdlib/nodejs/node_modules/js-yaml/LICENSE
981
- - stdlib/nodejs/node_modules/js-yaml/README.md
982
- - stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js
983
- - stdlib/nodejs/node_modules/js-yaml/bower.json
984
- - stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.js
985
- - stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js
986
- - stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js
987
- - stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml
988
- - stdlib/nodejs/node_modules/js-yaml/examples/dumper.js
989
- - stdlib/nodejs/node_modules/js-yaml/examples/dumper.json
990
- - stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js
991
- - stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml
992
- - stdlib/nodejs/node_modules/js-yaml/index.js
993
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js
994
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js
995
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js
996
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js
997
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js
998
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js
999
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js
1000
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js
1001
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js
1002
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js
1003
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js
1004
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js
1005
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js
1006
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js
1007
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js
1008
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js
1009
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js
1010
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js
1011
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
1012
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js
1013
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js
1014
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js
1015
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js
1016
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js
1017
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js
1018
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js
1019
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js
1020
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js
1021
- - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js
1022
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md
1023
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE
1024
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md
1025
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js
1026
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js
1027
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js
1028
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js
1029
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js
1030
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js
1031
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js
1032
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js
1033
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js
1034
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js
1035
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js
1036
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js
1037
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js
1038
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js
1039
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js
1040
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js
1041
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js
1042
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js
1043
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js
1044
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js
1045
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js
1046
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js
1047
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js
1048
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js
1049
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js
1050
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js
1051
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js
1052
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js
1053
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js
1054
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js
1055
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js
1056
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js
1057
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore
1058
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml
1059
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown
1060
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json
1061
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json
1062
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js
1063
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js
1064
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js
1065
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log
1066
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json
1067
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE
1068
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md
1069
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json
1070
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js
1071
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js
1072
- - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json
1073
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md
1074
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js
1075
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js
1076
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js
1077
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json
1078
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js
1079
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js
1080
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js
1081
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js
1082
- - stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js
1083
- - stdlib/nodejs/node_modules/js-yaml/package.json
1084
988
  - stdlib/nodejs/package.json
1085
989
  - stdlib/nodejs/require.rb
1086
990
  - stdlib/nodejs/rubygems.rb
991
+ - stdlib/nodejs/stacktrace.rb
1087
992
  - stdlib/nodejs/yaml.rb
1088
993
  - stdlib/observer.rb
1089
994
  - stdlib/opal-builder.rb
1090
995
  - stdlib/opal-parser.rb
996
+ - stdlib/opal-platform.rb
1091
997
  - stdlib/opal-source-maps.rb
1092
998
  - stdlib/opal/platform.rb
1093
999
  - stdlib/ostruct.rb
@@ -1119,9 +1025,13 @@ files:
1119
1025
  - tasks/linting.rake
1120
1026
  - tasks/testing.rake
1121
1027
  - tasks/testing/mspec_special_calls.rb
1028
+ - tasks/testing/opal_rspec_smoketest.Gemfile
1122
1029
  - tasks/testing/sprockets-phantomjs.js
1030
+ - test/nodejs/fixtures/hello.rb
1123
1031
  - test/nodejs/test_dir.rb
1124
1032
  - test/nodejs/test_file.rb
1033
+ - test/nodejs/test_io.rb
1034
+ - test/nodejs/test_opal_builder.rb
1125
1035
  - test/opal/test_keyword.rb
1126
1036
  - test/opal/unsupported_and_bugs.rb
1127
1037
  - vendored-minitest/minitest.rb
@@ -1150,15 +1060,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
1150
1060
  requirements:
1151
1061
  - - ">="
1152
1062
  - !ruby/object:Gem::Version
1153
- version: 1.9.3
1063
+ version: 2.0.0
1154
1064
  required_rubygems_version: !ruby/object:Gem::Requirement
1155
1065
  requirements:
1156
- - - ">="
1066
+ - - ">"
1157
1067
  - !ruby/object:Gem::Version
1158
- version: '0'
1068
+ version: 1.3.1
1159
1069
  requirements: []
1160
1070
  rubyforge_project:
1161
- rubygems_version: 2.7.4
1071
+ rubygems_version: 2.6.8
1162
1072
  signing_key:
1163
1073
  specification_version: 4
1164
1074
  summary: Ruby runtime and core library for JavaScript
@@ -1168,25 +1078,27 @@ test_files:
1168
1078
  - spec/filters/bugs/basicobject.rb
1169
1079
  - spec/filters/bugs/bigdecimal.rb
1170
1080
  - spec/filters/bugs/class.rb
1171
- - spec/filters/bugs/compiler_opal.rb
1081
+ - spec/filters/bugs/comparable.rb
1172
1082
  - spec/filters/bugs/complex.rb
1173
1083
  - spec/filters/bugs/date.rb
1174
1084
  - spec/filters/bugs/enumerable.rb
1175
1085
  - spec/filters/bugs/enumerator.rb
1176
1086
  - spec/filters/bugs/exception.rb
1087
+ - spec/filters/bugs/file.rb
1177
1088
  - spec/filters/bugs/float.rb
1178
1089
  - spec/filters/bugs/hash.rb
1179
1090
  - spec/filters/bugs/inheritance.rb
1180
1091
  - spec/filters/bugs/integer.rb
1092
+ - spec/filters/bugs/io.rb
1181
1093
  - spec/filters/bugs/kernel.rb
1182
1094
  - spec/filters/bugs/language.rb
1183
- - spec/filters/bugs/language_opal.rb
1184
1095
  - spec/filters/bugs/marshal.rb
1185
1096
  - spec/filters/bugs/method.rb
1186
1097
  - spec/filters/bugs/module.rb
1187
1098
  - spec/filters/bugs/numeric.rb
1188
1099
  - spec/filters/bugs/pathname.rb
1189
1100
  - spec/filters/bugs/proc.rb
1101
+ - spec/filters/bugs/random.rb
1190
1102
  - spec/filters/bugs/range.rb
1191
1103
  - spec/filters/bugs/rational.rb
1192
1104
  - spec/filters/bugs/regexp.rb
@@ -1204,6 +1116,7 @@ test_files:
1204
1116
  - spec/filters/unsupported/delegator.rb
1205
1117
  - spec/filters/unsupported/enumerable.rb
1206
1118
  - spec/filters/unsupported/enumerator.rb
1119
+ - spec/filters/unsupported/file.rb
1207
1120
  - spec/filters/unsupported/fixnum.rb
1208
1121
  - spec/filters/unsupported/float.rb
1209
1122
  - spec/filters/unsupported/freeze.rb
@@ -1214,10 +1127,11 @@ test_files:
1214
1127
  - spec/filters/unsupported/marshal.rb
1215
1128
  - spec/filters/unsupported/matchdata.rb
1216
1129
  - spec/filters/unsupported/math.rb
1217
- - spec/filters/unsupported/module.rb
1218
1130
  - spec/filters/unsupported/pathname.rb
1219
1131
  - spec/filters/unsupported/privacy.rb
1220
1132
  - spec/filters/unsupported/proc.rb
1133
+ - spec/filters/unsupported/random.rb
1134
+ - spec/filters/unsupported/range.rb
1221
1135
  - spec/filters/unsupported/regexp.rb
1222
1136
  - spec/filters/unsupported/set.rb
1223
1137
  - spec/filters/unsupported/singleton.rb
@@ -1232,10 +1146,10 @@ test_files:
1232
1146
  - spec/lib/cli_runners/phantomjs_spec.rb
1233
1147
  - spec/lib/cli_spec.rb
1234
1148
  - spec/lib/compiler/call_spec.rb
1235
- - spec/lib/compiler/pre_processed_conditionals_spec.rb
1236
1149
  - spec/lib/compiler_spec.rb
1237
1150
  - spec/lib/config_spec.rb
1238
1151
  - spec/lib/dependency_resolver_spec.rb
1152
+ - spec/lib/deprecations_spec.rb
1239
1153
  - spec/lib/fixtures/complex_sprockets.js.rb.erb
1240
1154
  - spec/lib/fixtures/file_with_directives.js
1241
1155
  - spec/lib/fixtures/jst_file.js.jst
@@ -1246,55 +1160,26 @@ test_files:
1246
1160
  - spec/lib/fixtures/required_tree_test/required_file1.rb
1247
1161
  - spec/lib/fixtures/required_tree_test/required_file2.rb
1248
1162
  - spec/lib/fixtures/requires.rb
1163
+ - spec/lib/fixtures/source_location_test.rb
1249
1164
  - spec/lib/fixtures/source_map.rb
1250
1165
  - spec/lib/fixtures/source_map/subfolder/other_file.rb
1251
1166
  - spec/lib/fixtures/sprockets_file.js.rb
1252
1167
  - spec/lib/fixtures/sprockets_require_tree_test.rb
1253
1168
  - spec/lib/hike_path_finder_spec.rb
1254
- - spec/lib/lexer_spec.rb
1255
- - spec/lib/parser/alias_spec.rb
1256
- - spec/lib/parser/and_spec.rb
1257
- - spec/lib/parser/aref_spec.rb
1258
- - spec/lib/parser/attrasgn_spec.rb
1259
- - spec/lib/parser/begin_spec.rb
1260
- - spec/lib/parser/block_spec.rb
1261
- - spec/lib/parser/break_spec.rb
1262
- - spec/lib/parser/call_spec.rb
1263
- - spec/lib/parser/class_spec.rb
1264
- - spec/lib/parser/comments_spec.rb
1265
- - spec/lib/parser/def_spec.rb
1266
- - spec/lib/parser/if_spec.rb
1267
- - spec/lib/parser/iter_spec.rb
1268
- - spec/lib/parser/lambda_spec.rb
1269
- - spec/lib/parser/literal_spec.rb
1270
- - spec/lib/parser/masgn_spec.rb
1271
- - spec/lib/parser/module_spec.rb
1272
- - spec/lib/parser/not_spec.rb
1273
- - spec/lib/parser/op_asgn1_spec.rb
1274
- - spec/lib/parser/op_asgn2_spec.rb
1275
- - spec/lib/parser/op_asgn_spec.rb
1276
- - spec/lib/parser/or_spec.rb
1277
- - spec/lib/parser/return_spec.rb
1278
- - spec/lib/parser/sclass_spec.rb
1279
- - spec/lib/parser/string_spec.rb
1280
- - spec/lib/parser/super_spec.rb
1281
- - spec/lib/parser/unary_spec.rb
1282
- - spec/lib/parser/undef_spec.rb
1283
- - spec/lib/parser/unless_spec.rb
1284
- - spec/lib/parser/variables_spec.rb
1285
- - spec/lib/parser/while_spec.rb
1286
- - spec/lib/parser/yield_spec.rb
1287
1169
  - spec/lib/path_reader_spec.rb
1288
1170
  - spec/lib/paths_spec.rb
1171
+ - spec/lib/rewriters/binary_operator_assignment_spec.rb
1172
+ - spec/lib/rewriters/block_to_iter_spec.rb
1173
+ - spec/lib/rewriters/dot_js_syntax_spec.rb
1174
+ - spec/lib/rewriters/explicit_writer_return_spec.rb
1175
+ - spec/lib/rewriters/js_reserved_words_spec.rb
1176
+ - spec/lib/rewriters/logical_operator_assignment_spec.rb
1177
+ - spec/lib/rewriters/opal_engine_check_spec.rb
1178
+ - spec/lib/rewriters/rubyspec/filters_rewriter_spec.rb
1289
1179
  - spec/lib/shared/path_finder_shared.rb
1290
1180
  - spec/lib/shared/path_reader_shared.rb
1181
+ - spec/lib/simple_server_spec.rb
1291
1182
  - spec/lib/spec_helper.rb
1292
- - spec/lib/sprockets/erb_spec.rb
1293
- - spec/lib/sprockets/path_reader_spec.rb
1294
- - spec/lib/sprockets/processor_spec.rb
1295
- - spec/lib/sprockets/server_spec.rb
1296
- - spec/lib/sprockets_spec.rb
1297
- - spec/lib/tilt/opal_spec.rb
1298
1183
  - spec/mspec-opal/formatters.rb
1299
1184
  - spec/mspec-opal/runner.rb
1300
1185
  - spec/opal/compiler/irb_spec.rb
@@ -1375,8 +1260,8 @@ test_files:
1375
1260
  - spec/opal/core/kernel/send_spec.rb
1376
1261
  - spec/opal/core/kernel/sprintf_spec.rb
1377
1262
  - spec/opal/core/language/arguments/mlhs_arg_spec.rb
1378
- - spec/opal/core/language/block_spec.rb
1379
1263
  - spec/opal/core/language/class_spec.rb
1264
+ - spec/opal/core/language/constant_lookup_spec.rb
1380
1265
  - spec/opal/core/language/equal_spec.rb
1381
1266
  - spec/opal/core/language/fixtures/array.rb
1382
1267
  - spec/opal/core/language/fixtures/block.rb
@@ -1395,13 +1280,12 @@ test_files:
1395
1280
  - spec/opal/core/language/heredoc_spec.rb
1396
1281
  - spec/opal/core/language/keyword_arguments_spec.rb
1397
1282
  - spec/opal/core/language/predefined_spec.rb
1398
- - spec/opal/core/language/proc_spec.rb
1399
1283
  - spec/opal/core/language/regexp_spec.rb
1400
1284
  - spec/opal/core/language/rescue_spec.rb
1285
+ - spec/opal/core/language/safe_navigator_spec.rb
1401
1286
  - spec/opal/core/language/send_spec.rb
1402
1287
  - spec/opal/core/language/string_spec.rb
1403
1288
  - spec/opal/core/language/ternary_operator_spec.rb
1404
- - spec/opal/core/language/variables_spec.rb
1405
1289
  - spec/opal/core/language/versions/array_1.9.rb
1406
1290
  - spec/opal/core/language/versions/block_1.9.rb
1407
1291
  - spec/opal/core/language/versions/break_1.9.rb
@@ -1474,12 +1358,12 @@ test_files:
1474
1358
  - spec/opal/core/proc/element_reference_spec.rb
1475
1359
  - spec/opal/core/proc/proc_tricks_spec.rb
1476
1360
  - spec/opal/core/runtime/begin_spec.rb
1477
- - spec/opal/core/runtime/block_send_spec.rb
1478
1361
  - spec/opal/core/runtime/block_spec.rb
1479
1362
  - spec/opal/core/runtime/bridged_classes_spec.rb
1480
1363
  - spec/opal/core/runtime/constants_spec.rb
1481
1364
  - spec/opal/core/runtime/donate_spec.rb
1482
1365
  - spec/opal/core/runtime/eval_spec.rb
1366
+ - spec/opal/core/runtime/is_a_spec.rb
1483
1367
  - spec/opal/core/runtime/main_methods_spec.rb
1484
1368
  - spec/opal/core/runtime/method_missing_spec.rb
1485
1369
  - spec/opal/core/runtime/method_spec.rb
@@ -1487,7 +1371,6 @@ test_files:
1487
1371
  - spec/opal/core/runtime/paren_spec.rb
1488
1372
  - spec/opal/core/runtime/rescue_spec.rb
1489
1373
  - spec/opal/core/runtime/return_spec.rb
1490
- - spec/opal/core/runtime/send_spec.rb
1491
1374
  - spec/opal/core/runtime/singleton_class_spec.rb
1492
1375
  - spec/opal/core/runtime/super_spec.rb
1493
1376
  - spec/opal/core/runtime/truthy_spec.rb
@@ -1537,8 +1420,12 @@ test_files:
1537
1420
  - spec/spec_helper.rb
1538
1421
  - spec/support/match_helpers.rb
1539
1422
  - spec/support/mspec_rspec_adapter.rb
1540
- - spec/support/parser_helpers.rb
1423
+ - spec/support/rewriters_helper.rb
1424
+ - test/nodejs/fixtures/hello.rb
1541
1425
  - test/nodejs/test_dir.rb
1542
1426
  - test/nodejs/test_file.rb
1427
+ - test/nodejs/test_io.rb
1428
+ - test/nodejs/test_opal_builder.rb
1543
1429
  - test/opal/test_keyword.rb
1544
1430
  - test/opal/unsupported_and_bugs.rb
1431
+ has_rdoc: