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.
- checksums.yaml +5 -5
- data/.codeclimate.yml +19 -0
- data/.gitmodules +1 -1
- data/.jshintrc +1 -2
- data/.travis.yml +26 -18
- data/CHANGELOG.md +89 -23
- data/{CODE_OF_CONDUCT.md → CONDUCT.md} +0 -0
- data/Gemfile +19 -21
- data/HACKING.md +2 -0
- data/README.md +7 -6
- data/Rakefile +1 -1
- data/appveyor.yml +21 -4
- data/benchmark-ips/bm_case.rb +33 -0
- data/benchmark-ips/bm_constants_lookup.rb +13 -0
- data/benchmark-ips/bm_is_number.rb +29 -0
- data/benchmark-ips/bm_symbol_to_proc.rb +19 -0
- data/benchmark/bm_constant_lookup_big.rb +799 -0
- data/benchmark/bm_constant_lookup_small.rb +59 -0
- data/benchmark/bm_module_definition_big.rb +400 -0
- data/benchmark/bm_module_definition_small.rb +30 -0
- data/bin/opal-repl +23 -1
- data/docs/compiled_ruby.md +16 -14
- data/docs/faq.md +3 -3
- data/docs/rspec.md +2 -1
- data/docs/unsupported_features.md +6 -4
- data/examples/rack/Gemfile +1 -0
- data/examples/rack/app/application.rb +14 -3
- data/examples/rack/app/user.rb +2 -0
- data/examples/rack/config.ru +1 -1
- data/examples/rack/index.html.erb +1 -0
- data/lib/opal.rb +6 -1
- data/lib/opal/ast/builder.rb +17 -0
- data/lib/opal/ast/node.rb +30 -0
- data/lib/opal/builder.rb +14 -3
- data/lib/opal/builder_processors.rb +1 -0
- data/lib/opal/cli.rb +45 -59
- data/lib/opal/cli_options.rb +11 -7
- data/lib/opal/cli_runners.rb +1 -0
- data/lib/opal/cli_runners/applescript.rb +3 -3
- data/lib/opal/cli_runners/nashorn.rb +1 -0
- data/lib/opal/cli_runners/nodejs.rb +4 -1
- data/lib/opal/cli_runners/phantom.js +1 -2
- data/lib/opal/cli_runners/phantomjs.rb +3 -2
- data/lib/opal/cli_runners/server.rb +1 -0
- data/lib/opal/compiler.rb +145 -94
- data/lib/opal/config.rb +1 -0
- data/lib/opal/deprecations.rb +18 -0
- data/lib/opal/erb.rb +1 -0
- data/lib/opal/errors.rb +1 -0
- data/lib/opal/fragment.rb +1 -0
- data/lib/opal/hike_path_finder.rb +1 -0
- data/lib/opal/nodes.rb +3 -0
- data/lib/opal/nodes/arglist.rb +2 -1
- data/lib/opal/nodes/args/initialize_kwargs.rb +1 -0
- data/lib/opal/nodes/args/kwarg.rb +7 -7
- data/lib/opal/nodes/args/kwoptarg.rb +6 -7
- data/lib/opal/nodes/args/kwrestarg.rb +5 -5
- data/lib/opal/nodes/args/mlhsarg.rb +3 -2
- data/lib/opal/nodes/args/normarg.rb +6 -7
- data/lib/opal/nodes/args/optarg.rb +5 -7
- data/lib/opal/nodes/args/post_args.rb +6 -5
- data/lib/opal/nodes/args/post_kwargs.rb +1 -0
- data/lib/opal/nodes/args/restarg.rb +7 -7
- data/lib/opal/nodes/array.rb +1 -0
- data/lib/opal/nodes/base.rb +24 -3
- data/lib/opal/nodes/call.rb +167 -155
- data/lib/opal/nodes/call_special.rb +31 -217
- data/lib/opal/nodes/case.rb +36 -22
- data/lib/opal/nodes/class.rb +4 -3
- data/lib/opal/nodes/constants.rb +28 -48
- data/lib/opal/nodes/csend.rb +25 -0
- data/lib/opal/nodes/def.rb +49 -16
- data/lib/opal/nodes/defined.rb +170 -60
- data/lib/opal/nodes/definitions.rb +40 -133
- data/lib/opal/nodes/defs.rb +29 -0
- data/lib/opal/nodes/for.rb +52 -25
- data/lib/opal/nodes/hash.rb +12 -35
- data/lib/opal/nodes/helpers.rb +27 -54
- data/lib/opal/nodes/if.rb +21 -32
- data/lib/opal/nodes/inline_args.rb +12 -13
- data/lib/opal/nodes/iter.rb +61 -36
- data/lib/opal/nodes/literal.rb +189 -116
- data/lib/opal/nodes/logic.rb +20 -25
- data/lib/opal/nodes/masgn.rb +20 -18
- data/lib/opal/nodes/module.rb +10 -11
- data/lib/opal/nodes/node_with_args.rb +14 -17
- data/lib/opal/nodes/rescue.rb +37 -70
- data/lib/opal/nodes/runtime_helpers.rb +8 -3
- data/lib/opal/nodes/scope.rb +9 -5
- data/lib/opal/nodes/singleton_class.rb +4 -3
- data/lib/opal/nodes/super.rb +115 -87
- data/lib/opal/nodes/top.rb +7 -2
- data/lib/opal/nodes/variables.rb +46 -35
- data/lib/opal/nodes/while.rb +11 -1
- data/lib/opal/nodes/yield.rb +1 -17
- data/lib/opal/parser.rb +28 -770
- data/lib/opal/path_reader.rb +5 -1
- data/lib/opal/paths.rb +10 -4
- data/lib/opal/regexp_anchors.rb +1 -0
- data/lib/opal/rewriter.rb +60 -0
- data/lib/opal/rewriters/base.rb +60 -0
- data/lib/opal/rewriters/binary_operator_assignment.rb +144 -0
- data/lib/opal/rewriters/block_to_iter.rb +17 -0
- data/lib/opal/rewriters/break_finder.rb +34 -0
- data/lib/opal/rewriters/dot_js_syntax.rb +60 -0
- data/lib/opal/rewriters/explicit_writer_return.rb +58 -0
- data/lib/opal/rewriters/js_reserved_words.rb +111 -0
- data/lib/opal/rewriters/logical_operator_assignment.rb +155 -0
- data/lib/opal/rewriters/opal_engine_check.rb +42 -0
- data/lib/opal/rewriters/rubyspec/filters_rewriter.rb +67 -0
- data/lib/opal/server.rb +4 -0
- data/lib/opal/simple_server.rb +100 -0
- data/lib/opal/source_map.rb +1 -1
- data/lib/opal/util.rb +5 -5
- data/lib/opal/version.rb +2 -1
- data/lib/tilt/opal.rb +1 -0
- data/opal.gemspec +8 -7
- data/opal/README.md +1 -1
- data/opal/corelib/array.rb +137 -83
- data/opal/corelib/basic_object.rb +6 -6
- data/opal/corelib/class.rb +14 -11
- data/opal/corelib/complex.rb +5 -1
- data/opal/corelib/constants.rb +3 -3
- data/opal/corelib/enumerable.rb +129 -11
- data/opal/corelib/error.rb +35 -17
- data/opal/corelib/file.rb +65 -170
- data/opal/corelib/hash.rb +128 -13
- data/opal/corelib/helpers.rb +12 -15
- data/opal/corelib/io.rb +1 -0
- data/opal/corelib/kernel.rb +40 -21
- data/opal/corelib/marshal/read_buffer.rb +1 -1
- data/opal/corelib/method.rb +33 -13
- data/opal/corelib/module.rb +133 -81
- data/opal/corelib/number.rb +141 -25
- data/opal/corelib/numeric.rb +0 -8
- data/opal/corelib/process.rb +44 -4
- data/opal/corelib/random.rb +117 -0
- data/opal/corelib/random/seedrandom.js.rb +15 -0
- data/opal/corelib/range.rb +133 -10
- data/opal/corelib/regexp.rb +37 -9
- data/opal/corelib/runtime.js +601 -390
- data/opal/corelib/string.rb +39 -8
- data/opal/corelib/string/encoding.rb +51 -7
- data/opal/corelib/struct.rb +20 -0
- data/opal/corelib/time.rb +3 -3
- data/opal/corelib/variables.rb +1 -1
- data/opal/opal.rb +1 -0
- data/spec/filters/bugs/array.rb +5 -1
- data/spec/filters/bugs/basicobject.rb +2 -5
- data/spec/filters/bugs/bigdecimal.rb +8 -22
- data/spec/filters/bugs/class.rb +2 -1
- data/spec/filters/bugs/comparable.rb +5 -0
- data/spec/filters/bugs/date.rb +3 -3
- data/spec/filters/bugs/enumerable.rb +4 -11
- data/spec/filters/bugs/enumerator.rb +2 -4
- data/spec/filters/bugs/exception.rb +16 -2
- data/spec/filters/bugs/file.rb +8 -0
- data/spec/filters/bugs/float.rb +7 -1
- data/spec/filters/bugs/hash.rb +6 -2
- data/spec/filters/bugs/integer.rb +2 -0
- data/spec/filters/bugs/io.rb +8 -0
- data/spec/filters/bugs/kernel.rb +9 -138
- data/spec/filters/bugs/language.rb +89 -174
- data/spec/filters/bugs/marshal.rb +33 -35
- data/spec/filters/bugs/method.rb +0 -24
- data/spec/filters/bugs/module.rb +19 -55
- data/spec/filters/bugs/numeric.rb +0 -119
- data/spec/filters/bugs/pathname.rb +2 -0
- data/spec/filters/bugs/proc.rb +5 -4
- data/spec/filters/bugs/random.rb +7 -0
- data/spec/filters/bugs/range.rb +12 -120
- data/spec/filters/bugs/rational.rb +1 -1
- data/spec/filters/bugs/regexp.rb +2 -40
- data/spec/filters/bugs/set.rb +0 -1
- data/spec/filters/bugs/string.rb +5 -8
- data/spec/filters/bugs/stringscanner.rb +11 -19
- data/spec/filters/bugs/time.rb +7 -1
- data/spec/filters/bugs/unboundmethod.rb +1 -11
- data/spec/filters/unsupported/array.rb +5 -1
- data/spec/filters/unsupported/basicobject.rb +1 -1
- data/spec/filters/unsupported/bignum.rb +4 -1
- data/spec/filters/unsupported/class.rb +1 -1
- data/spec/filters/unsupported/delegator.rb +1 -1
- data/spec/filters/unsupported/enumerable.rb +1 -1
- data/spec/filters/unsupported/enumerator.rb +1 -1
- data/spec/filters/unsupported/file.rb +4 -0
- data/spec/filters/unsupported/fixnum.rb +1 -1
- data/spec/filters/unsupported/float.rb +4 -1
- data/spec/filters/unsupported/freeze.rb +27 -5
- data/spec/filters/unsupported/hash.rb +7 -15
- data/spec/filters/unsupported/integer.rb +1 -1
- data/spec/filters/unsupported/kernel.rb +2 -1
- data/spec/filters/unsupported/language.rb +6 -1
- data/spec/filters/unsupported/marshal.rb +1 -1
- data/spec/filters/unsupported/matchdata.rb +4 -1
- data/spec/filters/unsupported/math.rb +1 -1
- data/spec/filters/unsupported/pathname.rb +1 -1
- data/spec/filters/unsupported/privacy.rb +141 -9
- data/spec/filters/unsupported/proc.rb +1 -1
- data/spec/filters/unsupported/random.rb +4 -0
- data/spec/filters/unsupported/range.rb +7 -0
- data/spec/filters/unsupported/regexp.rb +25 -15
- data/spec/filters/unsupported/set.rb +1 -1
- data/spec/filters/unsupported/singleton.rb +1 -1
- data/spec/filters/unsupported/string.rb +110 -101
- data/spec/filters/unsupported/struct.rb +1 -1
- data/spec/filters/unsupported/symbol.rb +2 -1
- data/spec/filters/unsupported/taint.rb +22 -7
- data/spec/filters/unsupported/thread.rb +1 -1
- data/spec/filters/unsupported/time.rb +1 -1
- data/spec/lib/builder_spec.rb +17 -0
- data/spec/lib/cli_spec.rb +37 -8
- data/spec/lib/compiler/call_spec.rb +98 -66
- data/spec/lib/compiler_spec.rb +39 -30
- data/spec/lib/dependency_resolver_spec.rb +2 -2
- data/spec/lib/deprecations_spec.rb +16 -0
- data/spec/lib/fixtures/source_location_test.rb +7 -0
- data/spec/lib/rewriters/binary_operator_assignment_spec.rb +151 -0
- data/spec/lib/rewriters/block_to_iter_spec.rb +28 -0
- data/spec/lib/rewriters/dot_js_syntax_spec.rb +108 -0
- data/spec/lib/rewriters/explicit_writer_return_spec.rb +186 -0
- data/spec/lib/rewriters/js_reserved_words_spec.rb +116 -0
- data/spec/lib/rewriters/logical_operator_assignment_spec.rb +202 -0
- data/spec/lib/rewriters/opal_engine_check_spec.rb +82 -0
- data/spec/lib/rewriters/rubyspec/filters_rewriter_spec.rb +53 -0
- data/spec/lib/simple_server_spec.rb +54 -0
- data/spec/mspec-opal/formatters.rb +65 -17
- data/spec/mspec-opal/runner.rb +47 -67
- data/spec/opal/core/date_spec.rb +14 -0
- data/spec/opal/core/exception_spec.rb +10 -0
- data/spec/opal/core/hash/internals_spec.rb +10 -10
- data/spec/opal/core/kernel/rand_spec.rb +0 -4
- data/spec/opal/core/kernel/respond_to_spec.rb +5 -2
- data/spec/opal/core/language/constant_lookup_spec.rb +38 -0
- data/spec/opal/core/language/predefined_spec.rb +1 -1
- data/spec/opal/core/language/safe_navigator_spec.rb +7 -0
- data/spec/opal/core/language/send_spec.rb +1 -9
- data/spec/opal/core/language/string_spec.rb +8 -8
- data/spec/opal/core/language/versions/def_2_0_spec.rb +0 -4
- data/spec/opal/core/language_spec.rb +32 -0
- data/spec/opal/core/module/const_get_spec.rb +1 -1
- data/spec/opal/core/runtime/is_a_spec.rb +36 -0
- data/spec/opal/core/runtime/rescue_spec.rb +35 -0
- data/spec/opal/core/runtime_spec.rb +4 -4
- data/spec/opal/core/string_spec.rb +8 -8
- data/spec/opal/core/time_spec.rb +26 -17
- data/spec/opal/stdlib/erb/quoted.opalerb +1 -1
- data/spec/opal/stdlib/json/parse_spec.rb +4 -0
- data/spec/opal/stdlib/native/hash_spec.rb +16 -0
- data/spec/ruby_specs +2 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/support/rewriters_helper.rb +24 -0
- data/stdlib/base64.rb +4 -2
- data/stdlib/bigdecimal/bignumber.js.rb +1 -1
- data/stdlib/date.rb +18 -19
- data/stdlib/json.rb +16 -4
- data/stdlib/nashorn/file.rb +15 -0
- data/stdlib/native.rb +21 -12
- data/stdlib/nodejs/dir.rb +1 -1
- data/stdlib/nodejs/file.rb +49 -20
- data/stdlib/nodejs/io.rb +22 -1
- data/stdlib/nodejs/{node_modules/js-yaml/dist/js-yaml.js → js-yaml-3-6-1.js} +815 -626
- data/stdlib/nodejs/kernel.rb +3 -1
- data/stdlib/nodejs/package.json +0 -1
- data/stdlib/nodejs/stacktrace.rb +163 -0
- data/stdlib/nodejs/yaml.rb +2 -1
- data/stdlib/opal-platform.rb +15 -0
- data/stdlib/opal/platform.rb +5 -13
- data/stdlib/pathname.rb +1 -1
- data/stdlib/strscan.rb +15 -1
- data/stdlib/yaml.rb +1 -1
- data/tasks/benchmarking.rake +9 -0
- data/tasks/building.rake +24 -20
- data/tasks/linting.rake +24 -13
- data/tasks/testing.rake +322 -205
- data/tasks/testing/mspec_special_calls.rb +44 -15
- data/tasks/testing/opal_rspec_smoketest.Gemfile +13 -0
- data/test/nodejs/fixtures/hello.rb +1 -0
- data/test/nodejs/test_file.rb +57 -0
- data/test/nodejs/test_io.rb +18 -0
- data/test/nodejs/test_opal_builder.rb +12 -0
- data/test/opal/unsupported_and_bugs.rb +9 -0
- metadata +127 -240
- data/lib/opal/parser/grammar.rb +0 -6157
- data/lib/opal/parser/grammar.y +0 -2011
- data/lib/opal/parser/keywords.rb +0 -66
- data/lib/opal/parser/lexer.rb +0 -1352
- data/lib/opal/parser/parser_scope.rb +0 -28
- data/lib/opal/parser/sexp.rb +0 -90
- data/lib/opal/sprockets.rb +0 -77
- data/lib/opal/sprockets/environment.rb +0 -23
- data/lib/opal/sprockets/erb.rb +0 -28
- data/lib/opal/sprockets/path_reader.rb +0 -36
- data/lib/opal/sprockets/processor.rb +0 -173
- data/lib/opal/sprockets/server.rb +0 -133
- data/lib/opal/sprockets/source_map_header_patch.rb +0 -41
- data/lib/opal/sprockets/source_map_server.rb +0 -117
- data/spec/filters/bugs/compiler_opal.rb +0 -5
- data/spec/filters/bugs/language_opal.rb +0 -88
- data/spec/filters/unsupported/module.rb +0 -8
- data/spec/lib/compiler/pre_processed_conditionals_spec.rb +0 -87
- data/spec/lib/lexer_spec.rb +0 -110
- data/spec/lib/parser/alias_spec.rb +0 -26
- data/spec/lib/parser/and_spec.rb +0 -13
- data/spec/lib/parser/aref_spec.rb +0 -10
- data/spec/lib/parser/attrasgn_spec.rb +0 -28
- data/spec/lib/parser/begin_spec.rb +0 -42
- data/spec/lib/parser/block_spec.rb +0 -12
- data/spec/lib/parser/break_spec.rb +0 -17
- data/spec/lib/parser/call_spec.rb +0 -201
- data/spec/lib/parser/class_spec.rb +0 -35
- data/spec/lib/parser/comments_spec.rb +0 -11
- data/spec/lib/parser/def_spec.rb +0 -109
- data/spec/lib/parser/if_spec.rb +0 -26
- data/spec/lib/parser/iter_spec.rb +0 -59
- data/spec/lib/parser/lambda_spec.rb +0 -219
- data/spec/lib/parser/literal_spec.rb +0 -118
- data/spec/lib/parser/masgn_spec.rb +0 -37
- data/spec/lib/parser/module_spec.rb +0 -27
- data/spec/lib/parser/not_spec.rb +0 -21
- data/spec/lib/parser/op_asgn1_spec.rb +0 -23
- data/spec/lib/parser/op_asgn2_spec.rb +0 -23
- data/spec/lib/parser/op_asgn_spec.rb +0 -17
- data/spec/lib/parser/or_spec.rb +0 -13
- data/spec/lib/parser/return_spec.rb +0 -22
- data/spec/lib/parser/sclass_spec.rb +0 -21
- data/spec/lib/parser/string_spec.rb +0 -286
- data/spec/lib/parser/super_spec.rb +0 -20
- data/spec/lib/parser/unary_spec.rb +0 -52
- data/spec/lib/parser/undef_spec.rb +0 -19
- data/spec/lib/parser/unless_spec.rb +0 -13
- data/spec/lib/parser/variables_spec.rb +0 -112
- data/spec/lib/parser/while_spec.rb +0 -15
- data/spec/lib/parser/yield_spec.rb +0 -20
- data/spec/lib/sprockets/erb_spec.rb +0 -38
- data/spec/lib/sprockets/path_reader_spec.rb +0 -41
- data/spec/lib/sprockets/processor_spec.rb +0 -79
- data/spec/lib/sprockets/server_spec.rb +0 -102
- data/spec/lib/sprockets_spec.rb +0 -39
- data/spec/lib/tilt/opal_spec.rb +0 -37
- data/spec/opal/core/language/block_spec.rb +0 -538
- data/spec/opal/core/language/proc_spec.rb +0 -263
- data/spec/opal/core/language/variables_spec.rb +0 -1366
- data/spec/opal/core/runtime/block_send_spec.rb +0 -28
- data/spec/opal/core/runtime/send_spec.rb +0 -34
- data/spec/support/parser_helpers.rb +0 -37
- data/stdlib/nodejs/node_modules/js-yaml/HISTORY.md +0 -277
- data/stdlib/nodejs/node_modules/js-yaml/LICENSE +0 -21
- data/stdlib/nodejs/node_modules/js-yaml/README.md +0 -288
- data/stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js +0 -140
- data/stdlib/nodejs/node_modules/js-yaml/bower.json +0 -23
- data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js +0 -3
- data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js +0 -102
- data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.js +0 -31
- data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.json +0 -22
- data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml +0 -197
- data/stdlib/nodejs/node_modules/js-yaml/index.js +0 -7
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js +0 -39
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js +0 -62
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js +0 -554
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js +0 -25
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js +0 -1581
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js +0 -78
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js +0 -103
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +0 -25
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +0 -28
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +0 -17
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js +0 -25
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js +0 -61
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js +0 -133
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js +0 -37
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js +0 -110
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js +0 -183
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js +0 -85
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +0 -84
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +0 -27
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js +0 -12
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js +0 -36
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js +0 -56
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js +0 -61
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js +0 -33
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +0 -98
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md +0 -115
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE +0 -21
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +0 -239
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +0 -36
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js +0 -22
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js +0 -59
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js +0 -13
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +0 -33
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js +0 -28
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +0 -23
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +0 -49
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js +0 -35
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +0 -270
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js +0 -1
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js +0 -146
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +0 -55
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +0 -47
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +0 -40
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +0 -48
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +0 -50
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +0 -43
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +0 -27
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +0 -26
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +0 -148
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +0 -50
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +0 -481
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +0 -14
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +0 -50
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +0 -54
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +0 -75
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +0 -1168
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +0 -88
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +0 -798
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +0 -77
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore +0 -2
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +0 -825
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json +0 -33
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +0 -11
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js +0 -10
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js +0 -26
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +0 -673
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +0 -107
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +0 -23
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +0 -22
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +0 -69
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +0 -6
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +0 -1415
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json +0 -62
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md +0 -73
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +0 -117
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +0 -177
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js +0 -3908
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json +0 -69
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js +0 -239
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js +0 -422
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js +0 -66
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js +0 -387
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js +0 -20238
- data/stdlib/nodejs/node_modules/js-yaml/package.json +0 -83
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d3c1ac220f86c552e522eaad298f9e4dcce4e8f6
|
4
|
+
data.tar.gz: 5294190e2a015e036d8824126837fb8ead1e219a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c84a1b7d4c5c1e493dcdff3f8823141fac4048b96ac409ded2ce223b4e591d7fccbb00d7edd00f4cc8eafe76385c3caa8d540bf285cada64fc9d24ec5048072
|
7
|
+
data.tar.gz: 8e8a3ec7a272f221856d36787fe8edf774f418694fb28b18f30b3e38d8c10ee059154c2d3218b29300bd8e5818667ba3481bb2b499dfeae19641526477d60ee0
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
engines:
|
2
|
+
duplication:
|
3
|
+
enabled: true
|
4
|
+
config:
|
5
|
+
languages:
|
6
|
+
- ruby
|
7
|
+
ratings:
|
8
|
+
paths:
|
9
|
+
- "**.rb"
|
10
|
+
exclude_paths:
|
11
|
+
- "benchmark/*"
|
12
|
+
- "build/*"
|
13
|
+
- "coverage/*"
|
14
|
+
- "docs/*"
|
15
|
+
- "examples/*"
|
16
|
+
- "tasks/*"
|
17
|
+
- "spec/*"
|
18
|
+
- "test/*"
|
19
|
+
- "vendored-minitest/*"
|
data/.gitmodules
CHANGED
data/.jshintrc
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
"undef" : true, // Prohibit the use of explicitly undeclared variables
|
11
11
|
"unused" : true, // Warn when you define and never use your variables
|
12
12
|
|
13
|
-
"predef" : ["Opal", "JSON", "Java", "callPhantom", "OpalNode"],
|
13
|
+
"predef" : ["Opal", "JSON", "Java", "callPhantom", "OpalNode", "jsyaml"],
|
14
14
|
|
15
15
|
"browser": true,
|
16
16
|
"node": true,
|
@@ -28,7 +28,6 @@
|
|
28
28
|
"-W030": false, // Expected an assignment or function call and instead saw an expression
|
29
29
|
"-W032": false, // Unnecessary semicolon
|
30
30
|
"-W033": false, // Missing semicolon
|
31
|
-
"-W067": false, // Bad invocation
|
32
31
|
"-W083": false, // Don't make functions within a loop
|
33
32
|
"-W093": false, // Did you mean to return a conditional instead of an assignment?
|
34
33
|
"-W098": false, // 'variable' is defined but never used
|
data/.travis.yml
CHANGED
@@ -6,49 +6,53 @@ cache:
|
|
6
6
|
bundler: true
|
7
7
|
directories:
|
8
8
|
- /home/travis/.nvm/
|
9
|
-
|
9
|
+
- smoke_test_opal_rspec
|
10
10
|
|
11
11
|
matrix:
|
12
12
|
fast_finish: true
|
13
13
|
|
14
14
|
include:
|
15
|
-
- rvm: 2.
|
16
|
-
|
15
|
+
# - rvm: 2.4.0
|
16
|
+
# env:
|
17
|
+
# - RUN=browser_test
|
18
|
+
# - SAUCE_USERNAME=elia
|
19
|
+
# # SAUCE_ACCESS_KEY:
|
20
|
+
# - secure: GT13SjzU8vmqKIyY2LAXje+ndqevTsX/w71JkZHRLTrDUl0qcIod7xsfahbzGt2gOZPYZUkKiVaPoUenhc/YeJ2jTJVHeHY9UEl2II+3tOtuvp2jLadA//aBbsB6/09d7lIZMzpa93TL2R/SncPxugYW9v2o8o8Lwd2iIzowT/g=
|
17
21
|
|
18
|
-
- rvm: 2.
|
19
|
-
env: RUN=jshint
|
22
|
+
- rvm: 2.4.0
|
23
|
+
env: RUN=jshint
|
20
24
|
|
21
|
-
- rvm: 2.
|
22
|
-
nvm: "0.10"
|
25
|
+
- rvm: 2.4.0
|
23
26
|
env: RUN=mspec_opal_nodejs
|
24
27
|
|
25
|
-
- rvm: 2.
|
26
|
-
nvm: "0.10"
|
28
|
+
- rvm: 2.4.0
|
27
29
|
env: RUN=mspec_ruby_nodejs TZ="/usr/share/zoneinfo/Pacific/Fiji"
|
28
30
|
|
29
|
-
- rvm: 2.
|
30
|
-
env: RUN=mspec_ruby_sprockets_phantomjs
|
31
|
-
|
32
|
-
- rvm: 2.3.7
|
31
|
+
- rvm: 2.4.0
|
33
32
|
env: RUN=minitest
|
34
33
|
|
35
|
-
- rvm: 2.
|
34
|
+
- rvm: 2.4.0
|
36
35
|
env: RUN=rspec RACK_VERSION='~> 2.0.0' CHECK_COVERAGE=true
|
37
36
|
|
37
|
+
- rvm: 2.4.0
|
38
|
+
env: RUN=smoke_test
|
39
|
+
|
38
40
|
- rvm: ruby-head
|
39
41
|
env: RUN=rspec
|
40
42
|
|
41
|
-
- rvm: 2.
|
43
|
+
- rvm: 2.3.3
|
44
|
+
env: RUN=rspec
|
45
|
+
|
46
|
+
- rvm: 2.2.5
|
42
47
|
env: RUN=rspec TILT_VERSION=2.0.1 SPROCKETS_VERSION='~> 3.7'
|
43
48
|
|
44
49
|
- rvm: 2.1.10
|
45
50
|
env: RUN=rspec RACK_VERSION='< 2.0'
|
46
51
|
|
47
52
|
- rvm: 2.0.0
|
48
|
-
nvm: "0.10"
|
49
53
|
env: RUN="rspec mspec_opal_nodejs" RACK_VERSION='< 2.0'
|
50
54
|
|
51
|
-
- rvm: jruby-9.
|
55
|
+
- rvm: jruby-9.1.7.0
|
52
56
|
env: RUN=rspec
|
53
57
|
|
54
58
|
- rvm: jruby-head
|
@@ -57,6 +61,7 @@ matrix:
|
|
57
61
|
allow_failures:
|
58
62
|
- rvm: ruby-head
|
59
63
|
- rvm: jruby-head
|
64
|
+
- env: RUN=smoke_test
|
60
65
|
|
61
66
|
|
62
67
|
before_install:
|
@@ -66,7 +71,7 @@ before_install:
|
|
66
71
|
- git submodule update --init
|
67
72
|
- npm install -g jshint
|
68
73
|
- npm install -g uglify-js
|
69
|
-
-
|
74
|
+
- type bundle || gem install bundler
|
70
75
|
- bundle config without doc
|
71
76
|
|
72
77
|
script:
|
@@ -77,3 +82,6 @@ notifications:
|
|
77
82
|
webhooks:
|
78
83
|
urls:
|
79
84
|
- https://webhooks.gitter.im/e/2ea12333adebda0c2289
|
85
|
+
|
86
|
+
# addons:
|
87
|
+
# sauce_connect: true
|
data/CHANGELOG.md
CHANGED
@@ -20,60 +20,127 @@ Whitespace conventions:
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
## [0.10.6](https://github.com/opal/opal/compare/v0.10.5...v0.10.6) - 2018-06-21
|
24
23
|
|
24
|
+
## [0.11.0] - Unreleased
|
25
25
|
|
26
|
-
### Changed
|
27
|
-
|
28
|
-
- Strip Regexp flags that are unsupported by browsers (backport), previously they were ignored, lately most of them now raise an error for unknown flags.
|
29
26
|
|
27
|
+
### Added
|
30
28
|
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
- Added support for complex (`0b1110i`) and rational (`0b1111r`) number literals. (#1487)
|
30
|
+
- Added 2.3.0 methods:
|
31
|
+
* `Array#bsearch_index`
|
32
|
+
* `Array#dig`
|
33
|
+
* `Enumerable#chunk_while`
|
34
|
+
* `Enumerable#grep_v`
|
35
|
+
* `Enumerable#slice_after`
|
36
|
+
* `Enumerable#slice_when`
|
37
|
+
* `Hash#>`
|
38
|
+
* `Hash#<`
|
39
|
+
* `Hash#>=`
|
40
|
+
* `Hash#>=`
|
41
|
+
* `Hash#dig`
|
42
|
+
* `Hash#fetch_values`
|
43
|
+
* `Hash#to_proc`
|
44
|
+
* `Struct#dig`
|
45
|
+
* `Kernel#itself`
|
46
|
+
- Added safe navigator (`&.`) support. (#1532)
|
47
|
+
- Added Random class with seed support. The following methods were reworked to use it:
|
48
|
+
* `Kernel.rand`
|
49
|
+
* `Kernel.srand`
|
50
|
+
* `Array#shuffle`
|
51
|
+
* `Array#shuffle!`
|
52
|
+
* `Array#sample`
|
53
|
+
- Added rudimental history support to `opal-repl`, just create the history file (`~/.opal-repl-history`) and it record the last 1000 lines
|
54
|
+
- Added `JS::Error` error class that can be used to catch any JS error.
|
55
|
+
- Added `Method#source_location` and `Method#comments`.
|
56
|
+
- Added a deprecation API that can be set to raise on deprecation with: `Opal.raise_on_deprecation = true`
|
57
|
+
- Added `Opal::SimpleServer` as the quickest way to get up and running with Opal: `rackup -ropal -ropal/simple_server -b 'Opal.append_path("app"); run Opal::SimpleServer.new'`
|
58
|
+
- Added `String#ascii_only?` (#1592)
|
59
|
+
- Added `StringScanner#matched_size` (#1595)
|
60
|
+
- Added `Hash#compare_by_identity` (#1657)
|
34
61
|
|
35
62
|
|
63
|
+
### Removed
|
36
64
|
|
65
|
+
- Dropped support for IE8 and below, and restricted Safari and Opera support to the last two versions
|
37
66
|
|
38
|
-
## [0.10.5](https://github.com/opal/opal/compare/v0.10.4...v0.10.5) - 2017-06-21
|
39
67
|
|
68
|
+
### Changed
|
40
69
|
|
41
|
-
|
70
|
+
- Removed self-written lexer/parser. Now uses parser/ast gems to convert source code to AST. (#1465)
|
71
|
+
- Migrated parser to 2.3. Bump RUBY_VERSION to 2.3.0.
|
72
|
+
- Changed to be 2.3 compliant:
|
73
|
+
* `Enumerable#chunk` (to take only a a block)
|
74
|
+
* `Enumerable#slice_before` (to raise proper argument errors)
|
75
|
+
* `Number#positive?` (to return false for 0)
|
76
|
+
- Use meaningful names for temporary variables in compiled JavaScript (e.g. for `def foo` was `TMP_123`, now `TMP_foo_123`)
|
77
|
+
- Dynamic require severity now defaults to `:ignore` meaning that by default a `LoadError` will be raised at runtime instead of compile time.
|
42
78
|
|
43
|
-
- Fix `Time#zone` for zones expressed numerically
|
44
79
|
|
80
|
+
### Deprecated
|
45
81
|
|
82
|
+
- `require 'opal/server` and `Opal::Server` are deprecated in favor of `require 'opal/sprockets/server'` and `Opal::Sprockets::Server` (now part of the opal-sprockets gem).
|
46
83
|
|
47
84
|
|
48
|
-
|
85
|
+
### Removed
|
49
86
|
|
87
|
+
- Removed `yaml` from stdlib, the older implementation was only available for NodeJS and not tested. Replace with `require 'nodejs/yaml'`
|
88
|
+
- Extracted sprockets support to `opal-sprockets` which should allow for wider support and less coupling (e.g. the `opal` gem will now be able to improve the compiler without worrying about `sprockets` updates). All the old behavior is preserved except for `Opal::Server` that has become `Opal::Sprockets::Server` (see Deprecated section above).
|
50
89
|
|
51
|
-
### Changed
|
52
90
|
|
53
|
-
|
54
|
-
- Always cache source-maps at build-time so they're available once enabled
|
91
|
+
### Fixed
|
55
92
|
|
93
|
+
- Newly compliant with the Ruby Spec Suite:
|
94
|
+
* `Module#class_variables`
|
95
|
+
* `Module#class_variable_get`
|
96
|
+
* `Module#class_variable_set`
|
97
|
+
* `Module#remove_class_variable`
|
98
|
+
* `Module#include?`
|
99
|
+
* `Numeric#step` (#1512)
|
100
|
+
|
101
|
+
- Improvements for Range class (#1486)
|
102
|
+
* Moved private/tainted/untrusted specs to not supported
|
103
|
+
* Conforming `Range#to_s` and `Range#inspect`
|
104
|
+
* Starting `Range#bsearch` implementation
|
105
|
+
* Simple `Range#step` implementation
|
106
|
+
* Fixing `Range#min` for empty Ranges
|
107
|
+
* Fixing `Range#last(n)` `Range#first(n)` and one edge case of `Range#each`
|
108
|
+
* Fixing some `Range#step` issues on String ranges
|
109
|
+
* Simple `Range#bsearch` implementation, passes about half the specs
|
110
|
+
* Minor styling improvements. Fixed size of `Range#step`.
|
111
|
+
* Compile complex ranges to "Range.new" so there will be a check for begin and end to be comparable.
|
112
|
+
|
113
|
+
- Fixed `defined?` for methods raising exceptions
|
114
|
+
- Fixed `Kernel#loop` (to catch `StopIteration` error)
|
115
|
+
- Fixed inheritance from the `Module` class.
|
116
|
+
- Fixed using `--preload` along with `--no-opal` for CLI
|
117
|
+
- Fixed `Integer("0")` raising `ArgumentError` instead of parsing as 0
|
118
|
+
- Fixed `JSON#parse` to raise `JSON::ParserError` for invalid input
|
119
|
+
- `Module#append_features` now detects cyclic includes
|
120
|
+
- `Process.clock_gettime(Process::CLOCK_MONOTONIC)` will now return true monotonic values or raise `Errno::EINVAL` if no monotonic clock is available
|
121
|
+
- Opal::Builder no longer always raises an error when a dependency isn't found and instead respects `dynamic_require_severity` value
|
56
122
|
|
57
123
|
|
58
124
|
|
59
125
|
## [0.10.3] - 2016-10-31
|
60
126
|
|
61
127
|
|
62
|
-
###
|
128
|
+
### Changed
|
129
|
+
|
130
|
+
- Avoid special utf-8 chars in method names, now they start with `$$`
|
63
131
|
|
64
|
-
- Fixed inheritance from the `Module` class (#1476)
|
65
|
-
- Fixed source map server with url-encoded paths
|
66
|
-
- Silence Sprockets 3.7 deprecations, full support for Sprockets 4 will be available in Opal 0.11
|
67
|
-
- Don't print the full stack trace with deprecation messages
|
68
132
|
|
69
133
|
|
70
134
|
|
71
135
|
## [0.10.2] - 2016-09-09
|
72
136
|
|
73
137
|
|
74
|
-
|
138
|
+
## Fixed
|
75
139
|
|
76
|
-
-
|
140
|
+
- Fixed inheritance from the `Module` class (#1476)
|
141
|
+
- Fixed source map server with url-encoded paths
|
142
|
+
- Silence Sprockets 3.7 deprecations, full support for Sprockets 4 will be available in Opal 0.11
|
143
|
+
- Don't print the full stack trace with deprecation messages
|
77
144
|
|
78
145
|
|
79
146
|
|
@@ -916,8 +983,7 @@ Whitespace conventions:
|
|
916
983
|
|
917
984
|
|
918
985
|
|
919
|
-
[0.
|
920
|
-
[0.10.4]: https://github.com/opal/opal/compare/v0.10.3...v0.10.4
|
986
|
+
[0.11.0]: https://github.com/opal/opal/compare/v0.10.3...HEAD
|
921
987
|
[0.10.3]: https://github.com/opal/opal/compare/v0.10.2...v0.10.3
|
922
988
|
[0.10.2]: https://github.com/opal/opal/compare/v0.10.1...v0.10.2
|
923
989
|
[0.10.1]: https://github.com/opal/opal/compare/v0.10.0...v0.10.1
|
File without changes
|
data/Gemfile
CHANGED
@@ -1,35 +1,33 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
gemspec
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
ruby_version = v[RUBY_VERSION]
|
7
|
-
|
8
|
-
tilt_version = ENV['TILT_VERSION']
|
9
|
-
rack_version = ENV['RACK_VERSION']
|
4
|
+
tilt_version = ENV['TILT_VERSION']
|
5
|
+
rack_version = ENV['RACK_VERSION']
|
10
6
|
sprockets_version = ENV['SPROCKETS_VERSION']
|
11
7
|
|
12
8
|
# Stick with older racc until
|
13
9
|
# https://github.com/tenderlove/racc/issues/22
|
14
10
|
# is solved.
|
15
11
|
gem 'racc', '< 1.4.10', platform: :jruby
|
16
|
-
gem 'json', '< 1.8.1', platform: :ruby if
|
12
|
+
gem 'json', '< 1.8.1', platform: :ruby if RUBY_VERSION.to_f == 2.1
|
17
13
|
gem 'rubysl', platform: :rbx
|
18
|
-
gem '
|
19
|
-
|
20
|
-
|
21
|
-
gem '
|
22
|
-
|
23
|
-
gem 'rack', rack_version if rack_version
|
24
|
-
gem 'tilt', tilt_version if tilt_version
|
14
|
+
gem 'coveralls', platform: :mri
|
15
|
+
gem 'puma' # Some browsers have problems with WEBrick
|
16
|
+
gem 'rack', rack_version if rack_version
|
17
|
+
gem 'tilt', tilt_version if tilt_version
|
25
18
|
gem 'sprockets', sprockets_version if sprockets_version
|
19
|
+
gem 'mspec', path: 'spec/mspec'
|
26
20
|
|
27
21
|
group :repl do
|
28
|
-
gem 'therubyracer', platform: :mri, require:
|
29
|
-
gem 'therubyrhino', platform: :jruby
|
22
|
+
gem 'therubyracer', platform: :mri, require: false
|
23
|
+
gem 'therubyrhino', platform: :jruby, require: false
|
30
24
|
end
|
31
25
|
|
32
|
-
|
26
|
+
group :browser do
|
27
|
+
gem 'selenium-webdriver', '>= 3.0.0.beta3.1', platform: :mri
|
28
|
+
end
|
29
|
+
|
30
|
+
group :development do
|
33
31
|
gem 'rb-fsevent'
|
34
32
|
gem 'guard', require: false
|
35
33
|
|
@@ -37,8 +35,8 @@ unless ENV['CI']
|
|
37
35
|
gem 'terminal-notifier-guard'
|
38
36
|
gem 'terminal-notifier'
|
39
37
|
end
|
40
|
-
end
|
38
|
+
end unless ENV['CI']
|
41
39
|
|
42
|
-
|
43
|
-
|
44
|
-
|
40
|
+
group :doc do
|
41
|
+
gem 'redcarpet'
|
42
|
+
end
|
data/HACKING.md
CHANGED
@@ -89,6 +89,8 @@ This command will execute tests marked as "bugs" from every file in the `spec/ru
|
|
89
89
|
|
90
90
|
Note: Opal has some bugs that may cause a shared state between tests. Sometimes green specs are green only in the inverted test suite, so after removing them from `/bugs`, run a regular test suite one more time to verify that everything is fine.
|
91
91
|
|
92
|
+
Also there are some specs in `spec/ruby/language/while_spec.rb` that cause an infinite loop. Make sure to comment them before running a whole inverted test suite.
|
93
|
+
|
92
94
|
## Benchmarking
|
93
95
|
|
94
96
|
There are two ways to benchmark Opal's performance: one way is to write a program (or a set of programs) that takes sufficently long time to execute, then measure the execution time, and the other is to execute a specific Ruby Spec Suite example (or a set of examples) multiple times, then measure the execution time. Let's call the former "Traditional Benchmarking", and the latter "The Ruby Spec Suite Benchmarking".
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Opal
|
2
2
|
|
3
|
-
[![Build Status](http://img.shields.io/travis/opal/opal/master.svg?style=flat)](http://travis-ci.org/opal/opal)
|
3
|
+
[![Build Status (Linux)](http://img.shields.io/travis/opal/opal/master.svg?style=flat)](http://travis-ci.org/opal/opal)
|
4
|
+
[![Build Status (Windows)](https://ci.appveyor.com/api/projects/status/jtsvwl8tfgn3u67n/branch/master?svg=true)](https://ci.appveyor.com/project/elia/opal/branch/master)
|
4
5
|
[![Gem Version](http://img.shields.io/gem/v/opal.svg?style=flat)](http://badge.fury.io/rb/opal)
|
5
6
|
[![Code Climate](http://img.shields.io/codeclimate/github/opal/opal.svg?style=flat)](https://codeclimate.com/github/opal/opal)
|
6
7
|
[![Coverage Status](https://coveralls.io/repos/opal/opal/badge.svg?branch=master&service=github)](https://coveralls.io/github/opal/opal?branch=elia%2Fcoveralls)
|
@@ -154,7 +155,7 @@ Alternatively, you can just load up a rack instance using `rackup`, and
|
|
154
155
|
visit `http://localhost:9292/` in any web browser.
|
155
156
|
|
156
157
|
|
157
|
-
###
|
158
|
+
### RSpec
|
158
159
|
|
159
160
|
[RSpec][] tests can be run with:
|
160
161
|
|
@@ -187,11 +188,11 @@ Holds the **stdlib currently supported by Opal**. This includes `Observable`,
|
|
187
188
|
|
188
189
|
## Browser support
|
189
190
|
|
190
|
-
* Internet Explorer
|
191
|
+
* Internet Explorer 9+
|
191
192
|
* Firefox (Current - 1) or Current
|
192
193
|
* Chrome (Current - 1) or Current
|
193
|
-
* Safari
|
194
|
-
* Opera
|
194
|
+
* Safari (Current - 1) or Current
|
195
|
+
* Opera (Current - 1) or Current
|
195
196
|
|
196
197
|
Any problems encountered using the browsers listed above should be reported as bugs.
|
197
198
|
|
@@ -203,7 +204,7 @@ version of a browser is 24.x, we support the 24.x and 23.x versions.
|
|
203
204
|
as the last 2 versions of Opera. For example, if the current Opera version is 20.x,
|
204
205
|
then we support Opera 12.1x, 19.x and 20.x but not Opera 15.x through 18.x.
|
205
206
|
|
206
|
-
Cross-browser testing is sponsored by [
|
207
|
+
Cross-browser testing is sponsored by [SauceLabs](http://saucelabs.com).
|
207
208
|
|
208
209
|
## License
|
209
210
|
|
data/Rakefile
CHANGED
data/appveyor.yml
CHANGED
@@ -2,12 +2,29 @@ version: '{build}'
|
|
2
2
|
|
3
3
|
skip_tags: true
|
4
4
|
# AppVeyor automatically skips the build if the commit contains [ci skip] or [skip ci]
|
5
|
-
skip_commits:
|
6
|
-
|
5
|
+
#skip_commits:
|
6
|
+
# message: /\[ci skip\]/
|
7
7
|
|
8
|
-
clone_depth:
|
8
|
+
clone_depth: 10
|
9
9
|
|
10
|
+
environment:
|
11
|
+
ruby_version: '23'
|
12
|
+
|
13
|
+
install:
|
14
|
+
- git submodule update --init --recursive
|
15
|
+
# Take default Ruby out of path
|
16
|
+
- SET PATH=%PATH:C:\Ruby193\bin;=%
|
17
|
+
# Add Ruby to path from build matrix
|
18
|
+
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
|
19
|
+
- ruby --version
|
20
|
+
- gem --version
|
21
|
+
- node --version
|
22
|
+
- gem install bundler --quiet --no-ri --no-rdoc
|
23
|
+
- bundler --version
|
24
|
+
- bundle
|
25
|
+
- choco install phantomjs --version 2.0.0 -y
|
26
|
+
|
10
27
|
build: off
|
11
28
|
|
12
29
|
test_script:
|
13
|
-
-
|
30
|
+
- bundle exec rake
|