opal 1.2.0 → 1.3.0.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.eslintrc.await.js +6 -0
- data/.eslintrc.js +34 -0
- data/.github/workflows/build.yml +8 -0
- data/.rubocop.yml +9 -0
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/Rakefile +1 -0
- data/UNRELEASED.md +64 -38
- data/docs/async.md +109 -0
- data/docs/roda-sprockets.md +0 -2
- data/exe/opal +2 -0
- data/exe/opal-repl +2 -2
- data/lib/opal/builder.rb +5 -1
- data/lib/opal/builder_processors.rb +7 -2
- data/lib/opal/cache/file_cache.rb +119 -0
- data/lib/opal/cache.rb +71 -0
- data/lib/opal/cli.rb +35 -1
- data/lib/opal/cli_options.rb +21 -0
- data/lib/opal/cli_runners/chrome.rb +21 -14
- data/lib/opal/cli_runners/chrome_cdp_interface.js +30285 -0
- data/lib/opal/cli_runners/{chrome.js → chrome_cdp_interface.rb} +27 -6
- data/lib/opal/cli_runners/compiler.rb +2 -1
- data/lib/opal/cli_runners/gjs.rb +27 -0
- data/lib/opal/cli_runners/mini_racer.rb +36 -0
- data/lib/opal/cli_runners/source-map-support-browser.js +276 -91
- data/lib/opal/cli_runners/source-map-support-node.js +276 -91
- data/lib/opal/cli_runners/source-map-support.js +60 -18
- data/lib/opal/cli_runners.rb +2 -0
- data/lib/opal/compiler.rb +99 -10
- data/lib/opal/fragment.rb +77 -14
- data/lib/opal/nodes/args/extract_kwrestarg.rb +6 -4
- data/lib/opal/nodes/args/extract_restarg.rb +10 -12
- data/lib/opal/nodes/args.rb +28 -0
- data/lib/opal/nodes/base.rb +29 -5
- data/lib/opal/nodes/call.rb +123 -2
- data/lib/opal/nodes/case.rb +7 -1
- data/lib/opal/nodes/class.rb +12 -2
- data/lib/opal/nodes/def.rb +3 -23
- data/lib/opal/nodes/definitions.rb +21 -4
- data/lib/opal/nodes/helpers.rb +2 -2
- data/lib/opal/nodes/if.rb +39 -9
- data/lib/opal/nodes/iter.rb +15 -3
- data/lib/opal/nodes/lambda.rb +3 -1
- data/lib/opal/nodes/literal.rb +13 -7
- data/lib/opal/nodes/logic.rb +2 -2
- data/lib/opal/nodes/module.rb +12 -2
- data/lib/opal/nodes/rescue.rb +59 -34
- data/lib/opal/nodes/scope.rb +88 -6
- data/lib/opal/nodes/super.rb +52 -25
- data/lib/opal/nodes/top.rb +13 -7
- data/lib/opal/nodes/while.rb +7 -1
- data/lib/opal/parser/patch.rb +2 -1
- data/lib/opal/repl.rb +137 -49
- data/lib/opal/rewriters/binary_operator_assignment.rb +10 -10
- data/lib/opal/rewriters/block_to_iter.rb +3 -3
- data/lib/opal/rewriters/for_rewriter.rb +7 -7
- data/lib/opal/rewriters/js_reserved_words.rb +5 -3
- data/lib/opal/source_map/file.rb +7 -4
- data/lib/opal/source_map/map.rb +17 -3
- data/lib/opal/version.rb +1 -1
- data/opal/corelib/array.rb +2 -2
- data/opal/corelib/binding.rb +46 -0
- data/opal/corelib/boolean.rb +54 -4
- data/opal/corelib/class.rb +2 -0
- data/opal/corelib/constants.rb +2 -2
- data/opal/corelib/error.rb +98 -12
- data/opal/corelib/io.rb +250 -38
- data/opal/corelib/kernel/format.rb +5 -2
- data/opal/corelib/kernel.rb +44 -23
- data/opal/corelib/main.rb +5 -0
- data/opal/corelib/method.rb +1 -0
- data/opal/corelib/module.rb +28 -0
- data/opal/corelib/number.rb +12 -1
- data/opal/corelib/random/seedrandom.js.rb +2 -2
- data/opal/corelib/regexp.rb +47 -3
- data/opal/corelib/runtime.js +152 -12
- data/opal/corelib/string/encoding.rb +17 -17
- data/opal/corelib/string.rb +2 -0
- data/opal/corelib/struct.rb +10 -3
- data/opal/corelib/trace_point.rb +57 -0
- data/opal/opal/full.rb +2 -0
- data/package.json +3 -2
- data/spec/filters/bugs/array.rb +0 -1
- data/spec/filters/bugs/basicobject.rb +0 -1
- data/spec/filters/bugs/binding.rb +27 -0
- data/spec/filters/bugs/enumerator.rb +132 -0
- data/spec/filters/bugs/exception.rb +70 -93
- data/spec/filters/bugs/float.rb +0 -1
- data/spec/filters/bugs/kernel.rb +3 -9
- data/spec/filters/bugs/language.rb +15 -58
- data/spec/filters/bugs/main.rb +16 -0
- data/spec/filters/bugs/matrix.rb +39 -0
- data/spec/filters/bugs/method.rb +0 -2
- data/spec/filters/bugs/module.rb +36 -79
- data/spec/filters/bugs/proc.rb +0 -1
- data/spec/filters/bugs/regexp.rb +0 -16
- data/spec/filters/bugs/trace_point.rb +12 -0
- data/spec/filters/bugs/warnings.rb +0 -4
- data/spec/filters/unsupported/freeze.rb +2 -0
- data/spec/filters/unsupported/privacy.rb +4 -0
- data/spec/lib/compiler_spec.rb +7 -1
- data/spec/lib/repl_spec.rb +4 -2
- data/spec/lib/source_map/file_spec.rb +1 -1
- data/spec/mspec-opal/formatters.rb +18 -4
- data/spec/mspec-opal/runner.rb +2 -2
- data/spec/opal/core/boolean_spec.rb +44 -0
- data/spec/opal/core/hash_spec.rb +8 -0
- data/spec/opal/core/number/to_s_spec.rb +11 -0
- data/spec/opal/stdlib/json/ext_spec.rb +3 -3
- data/spec/opal/stdlib/logger/logger_spec.rb +10 -1
- data/spec/ruby_specs +18 -0
- data/stdlib/await.rb +83 -0
- data/stdlib/base64.rb +4 -4
- data/stdlib/bigdecimal/bignumber.js.rb +4 -2
- data/stdlib/bigdecimal.rb +1 -0
- data/stdlib/gjs/io.rb +33 -0
- data/stdlib/gjs/kernel.rb +5 -0
- data/stdlib/gjs.rb +2 -0
- data/stdlib/js.rb +4 -0
- data/stdlib/json.rb +3 -3
- data/stdlib/logger.rb +1 -1
- data/stdlib/nashorn/file.rb +2 -0
- data/stdlib/nodejs/env.rb +7 -0
- data/stdlib/nodejs/file.rb +6 -41
- data/stdlib/nodejs/io.rb +21 -5
- data/stdlib/nodejs/js-yaml-3-6-1.js +2 -2
- data/stdlib/opal/miniracer.rb +6 -0
- data/stdlib/opal/platform.rb +4 -0
- data/stdlib/opal/repl_js.rb +5 -0
- data/stdlib/opal/replutils.rb +271 -0
- data/stdlib/opal-parser.rb +24 -11
- data/stdlib/opal-platform.rb +8 -0
- data/stdlib/promise/v2.rb +16 -4
- data/stdlib/promise.rb +14 -0
- data/stdlib/stringio.rb +13 -110
- data/stdlib/thread.rb +29 -0
- data/tasks/building.rake +10 -4
- data/tasks/linting-parse-eslint-results.js +39 -0
- data/tasks/linting.rake +38 -28
- data/tasks/performance/asciidoctor_test.rb.erb +6 -0
- data/tasks/performance/optimization_status.rb +77 -0
- data/tasks/performance.rake +149 -0
- data/tasks/testing.rake +9 -1
- data/test/nodejs/test_await.rb +169 -0
- data/test/opal/promisev2/test_error.rb +9 -3
- data/test/opal/unsupported_and_bugs.rb +5 -0
- data/vendored-minitest/minitest/benchmark.rb +9 -7
- data/vendored-minitest/minitest/test.rb +14 -12
- data/vendored-minitest/minitest.rb +19 -16
- data/yarn.lock +686 -117
- metadata +60 -23
- data/.jshintrc +0 -41
- data/spec/filters/unsupported/refinements.rb +0 -8
- data/vendored-minitest/minitest/hell.rb +0 -11
- data/vendored-minitest/minitest/parallel.rb +0 -65
- data/vendored-minitest/minitest/pride.rb +0 -4
- data/vendored-minitest/minitest/pride_plugin.rb +0 -142
- data/vendored-minitest/minitest/unit.rb +0 -45
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0.alpha1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elia Schito
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-09-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ast
|
@@ -236,6 +236,8 @@ extensions: []
|
|
236
236
|
extra_rdoc_files: []
|
237
237
|
files:
|
238
238
|
- ".codeclimate.yml"
|
239
|
+
- ".eslintrc.await.js"
|
240
|
+
- ".eslintrc.js"
|
239
241
|
- ".gitattributes"
|
240
242
|
- ".github/FUNDING.yml"
|
241
243
|
- ".github/ISSUE_TEMPLATE/bug-report.md"
|
@@ -244,7 +246,6 @@ files:
|
|
244
246
|
- ".gitignore"
|
245
247
|
- ".gitmodules"
|
246
248
|
- ".inch.yml"
|
247
|
-
- ".jshintrc"
|
248
249
|
- ".overcommit.yml"
|
249
250
|
- ".rspec"
|
250
251
|
- ".rubocop.yml"
|
@@ -382,6 +383,7 @@ files:
|
|
382
383
|
- bin/setup
|
383
384
|
- bin/yarn
|
384
385
|
- config.ru
|
386
|
+
- docs/async.md
|
385
387
|
- docs/compiled_ruby.md
|
386
388
|
- docs/compiler.md
|
387
389
|
- docs/compiler_directives.md
|
@@ -423,13 +425,18 @@ files:
|
|
423
425
|
- lib/opal/ast/node.rb
|
424
426
|
- lib/opal/builder.rb
|
425
427
|
- lib/opal/builder_processors.rb
|
428
|
+
- lib/opal/cache.rb
|
429
|
+
- lib/opal/cache/file_cache.rb
|
426
430
|
- lib/opal/cli.rb
|
427
431
|
- lib/opal/cli_options.rb
|
428
432
|
- lib/opal/cli_runners.rb
|
429
433
|
- lib/opal/cli_runners/applescript.rb
|
430
|
-
- lib/opal/cli_runners/chrome.js
|
431
434
|
- lib/opal/cli_runners/chrome.rb
|
435
|
+
- lib/opal/cli_runners/chrome_cdp_interface.js
|
436
|
+
- lib/opal/cli_runners/chrome_cdp_interface.rb
|
432
437
|
- lib/opal/cli_runners/compiler.rb
|
438
|
+
- lib/opal/cli_runners/gjs.rb
|
439
|
+
- lib/opal/cli_runners/mini_racer.rb
|
433
440
|
- lib/opal/cli_runners/nashorn.rb
|
434
441
|
- lib/opal/cli_runners/node_modules/chrome-remote-interface/LICENSE
|
435
442
|
- lib/opal/cli_runners/node_modules/chrome-remote-interface/README.md
|
@@ -580,6 +587,7 @@ files:
|
|
580
587
|
- opal/corelib/array.rb
|
581
588
|
- opal/corelib/array/pack.rb
|
582
589
|
- opal/corelib/basic_object.rb
|
590
|
+
- opal/corelib/binding.rb
|
583
591
|
- opal/corelib/boolean.rb
|
584
592
|
- opal/corelib/class.rb
|
585
593
|
- opal/corelib/comparable.rb
|
@@ -624,6 +632,7 @@ files:
|
|
624
632
|
- opal/corelib/string/unpack.rb
|
625
633
|
- opal/corelib/struct.rb
|
626
634
|
- opal/corelib/time.rb
|
635
|
+
- opal/corelib/trace_point.rb
|
627
636
|
- opal/corelib/unsupported.rb
|
628
637
|
- opal/corelib/variables.rb
|
629
638
|
- opal/opal.rb
|
@@ -636,6 +645,7 @@ files:
|
|
636
645
|
- spec/filters/bugs/base64.rb
|
637
646
|
- spec/filters/bugs/basicobject.rb
|
638
647
|
- spec/filters/bugs/bigdecimal.rb
|
648
|
+
- spec/filters/bugs/binding.rb
|
639
649
|
- spec/filters/bugs/class.rb
|
640
650
|
- spec/filters/bugs/complex.rb
|
641
651
|
- spec/filters/bugs/date.rb
|
@@ -650,8 +660,10 @@ files:
|
|
650
660
|
- spec/filters/bugs/io.rb
|
651
661
|
- spec/filters/bugs/kernel.rb
|
652
662
|
- spec/filters/bugs/language.rb
|
663
|
+
- spec/filters/bugs/main.rb
|
653
664
|
- spec/filters/bugs/marshal.rb
|
654
665
|
- spec/filters/bugs/math.rb
|
666
|
+
- spec/filters/bugs/matrix.rb
|
655
667
|
- spec/filters/bugs/method.rb
|
656
668
|
- spec/filters/bugs/module.rb
|
657
669
|
- spec/filters/bugs/nilclass.rb
|
@@ -672,6 +684,7 @@ files:
|
|
672
684
|
- spec/filters/bugs/struct.rb
|
673
685
|
- spec/filters/bugs/symbol.rb
|
674
686
|
- spec/filters/bugs/time.rb
|
687
|
+
- spec/filters/bugs/trace_point.rb
|
675
688
|
- spec/filters/bugs/unboundmethod.rb
|
676
689
|
- spec/filters/bugs/warnings.rb
|
677
690
|
- spec/filters/unsupported/array.rb
|
@@ -697,7 +710,6 @@ files:
|
|
697
710
|
- spec/filters/unsupported/proc.rb
|
698
711
|
- spec/filters/unsupported/random.rb
|
699
712
|
- spec/filters/unsupported/range.rb
|
700
|
-
- spec/filters/unsupported/refinements.rb
|
701
713
|
- spec/filters/unsupported/regexp.rb
|
702
714
|
- spec/filters/unsupported/set.rb
|
703
715
|
- spec/filters/unsupported/singleton.rb
|
@@ -762,6 +774,7 @@ files:
|
|
762
774
|
- spec/opal/core/array/minus_spec.rb
|
763
775
|
- spec/opal/core/array/union_spec.rb
|
764
776
|
- spec/opal/core/array/uniq_spec.rb
|
777
|
+
- spec/opal/core/boolean_spec.rb
|
765
778
|
- spec/opal/core/class/inherited_spec.rb
|
766
779
|
- spec/opal/core/enumerable/all_break_spec.rb
|
767
780
|
- spec/opal/core/enumerable/any_break_spec.rb
|
@@ -798,6 +811,7 @@ files:
|
|
798
811
|
- spec/opal/core/fixtures/require_tree_with_dot/file 3.rb
|
799
812
|
- spec/opal/core/fixtures/require_tree_with_dot/index.rb
|
800
813
|
- spec/opal/core/hash/internals_spec.rb
|
814
|
+
- spec/opal/core/hash_spec.rb
|
801
815
|
- spec/opal/core/helpers_spec.rb
|
802
816
|
- spec/opal/core/iterable_props_spec.rb
|
803
817
|
- spec/opal/core/kernel/at_exit_spec.rb
|
@@ -824,6 +838,7 @@ files:
|
|
824
838
|
- spec/opal/core/marshal/load_spec.rb
|
825
839
|
- spec/opal/core/module_spec.rb
|
826
840
|
- spec/opal/core/number/to_i_spec.rb
|
841
|
+
- spec/opal/core/number/to_s_spec.rb
|
827
842
|
- spec/opal/core/object_id_spec.rb
|
828
843
|
- spec/opal/core/regexp/interpolation_spec.rb
|
829
844
|
- spec/opal/core/regexp/match_spec.rb
|
@@ -895,6 +910,7 @@ files:
|
|
895
910
|
- spec/support/rewriters_helper.rb
|
896
911
|
- spec/support/source_map_helper.rb
|
897
912
|
- stdlib/README.md
|
913
|
+
- stdlib/await.rb
|
898
914
|
- stdlib/base64.rb
|
899
915
|
- stdlib/benchmark.rb
|
900
916
|
- stdlib/bigdecimal.rb
|
@@ -914,6 +930,9 @@ files:
|
|
914
930
|
- stdlib/file.rb
|
915
931
|
- stdlib/fileutils.rb
|
916
932
|
- stdlib/forwardable.rb
|
933
|
+
- stdlib/gjs.rb
|
934
|
+
- stdlib/gjs/io.rb
|
935
|
+
- stdlib/gjs/kernel.rb
|
917
936
|
- stdlib/headless_chrome.rb
|
918
937
|
- stdlib/iconv.rb
|
919
938
|
- stdlib/js.rb
|
@@ -1007,7 +1026,10 @@ files:
|
|
1007
1026
|
- stdlib/opal-parser.rb
|
1008
1027
|
- stdlib/opal-platform.rb
|
1009
1028
|
- stdlib/opal-source-maps.rb
|
1029
|
+
- stdlib/opal/miniracer.rb
|
1010
1030
|
- stdlib/opal/platform.rb
|
1031
|
+
- stdlib/opal/repl_js.rb
|
1032
|
+
- stdlib/opal/replutils.rb
|
1011
1033
|
- stdlib/open-uri.rb
|
1012
1034
|
- stdlib/ostruct.rb
|
1013
1035
|
- stdlib/pathname.rb
|
@@ -1031,7 +1053,11 @@ files:
|
|
1031
1053
|
- tasks/benchmarking.rake
|
1032
1054
|
- tasks/building.rake
|
1033
1055
|
- tasks/github.rake
|
1056
|
+
- tasks/linting-parse-eslint-results.js
|
1034
1057
|
- tasks/linting.rake
|
1058
|
+
- tasks/performance.rake
|
1059
|
+
- tasks/performance/asciidoctor_test.rb.erb
|
1060
|
+
- tasks/performance/optimization_status.rb
|
1035
1061
|
- tasks/releasing.rake
|
1036
1062
|
- tasks/testing.rake
|
1037
1063
|
- tasks/testing/mspec_special_calls.rb
|
@@ -1041,6 +1067,7 @@ files:
|
|
1041
1067
|
- test/nodejs/fixtures/iso88591.txt
|
1042
1068
|
- test/nodejs/fixtures/utf8.txt
|
1043
1069
|
- test/nodejs/fixtures/win1258.txt
|
1070
|
+
- test/nodejs/test_await.rb
|
1044
1071
|
- test/nodejs/test_dir.rb
|
1045
1072
|
- test/nodejs/test_env.rb
|
1046
1073
|
- test/nodejs/test_error.rb
|
@@ -1069,14 +1096,9 @@ files:
|
|
1069
1096
|
- vendored-minitest/minitest/autorun.rb
|
1070
1097
|
- vendored-minitest/minitest/benchmark.rb
|
1071
1098
|
- vendored-minitest/minitest/expectations.rb
|
1072
|
-
- vendored-minitest/minitest/hell.rb
|
1073
1099
|
- vendored-minitest/minitest/mock.rb
|
1074
|
-
- vendored-minitest/minitest/parallel.rb
|
1075
|
-
- vendored-minitest/minitest/pride.rb
|
1076
|
-
- vendored-minitest/minitest/pride_plugin.rb
|
1077
1100
|
- vendored-minitest/minitest/spec.rb
|
1078
1101
|
- vendored-minitest/minitest/test.rb
|
1079
|
-
- vendored-minitest/minitest/unit.rb
|
1080
1102
|
- vendored-minitest/test/unit.rb
|
1081
1103
|
- yarn.lock
|
1082
1104
|
homepage: https://opalrb.com
|
@@ -1085,10 +1107,10 @@ licenses:
|
|
1085
1107
|
metadata:
|
1086
1108
|
homepage_uri: https://opalrb.com/
|
1087
1109
|
bug_tracker_uri: https://github.com/opal/opal/issues
|
1088
|
-
changelog_uri: https://github.com/opal/opal/blob/v1.
|
1089
|
-
readme_uri: https://github.com/opal/opal/blob/v1.
|
1090
|
-
api_documentation_uri: http://opalrb.com/docs/api/v1.
|
1091
|
-
guides_uri: http://opalrb.com/docs/guides/v1.
|
1110
|
+
changelog_uri: https://github.com/opal/opal/blob/v1.3.0.alpha1/CHANGELOG.md
|
1111
|
+
readme_uri: https://github.com/opal/opal/blob/v1.3.0.alpha1/README.md
|
1112
|
+
api_documentation_uri: http://opalrb.com/docs/api/v1.3.0.alpha1/index.html
|
1113
|
+
guides_uri: http://opalrb.com/docs/guides/v1.3.0.alpha1/index.html
|
1092
1114
|
chat_uri: https://gitter.im/opal/opal
|
1093
1115
|
source_code_uri: https://github.com/opal/opal
|
1094
1116
|
post_install_message:
|
@@ -1102,9 +1124,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1102
1124
|
version: '2.3'
|
1103
1125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1104
1126
|
requirements:
|
1105
|
-
- - "
|
1127
|
+
- - ">"
|
1106
1128
|
- !ruby/object:Gem::Version
|
1107
|
-
version:
|
1129
|
+
version: 1.3.1
|
1108
1130
|
requirements: []
|
1109
1131
|
rubygems_version: 3.2.3
|
1110
1132
|
signing_key:
|
@@ -1112,6 +1134,8 @@ specification_version: 4
|
|
1112
1134
|
summary: Ruby runtime and core library for JavaScript
|
1113
1135
|
test_files:
|
1114
1136
|
- ".codeclimate.yml"
|
1137
|
+
- ".eslintrc.await.js"
|
1138
|
+
- ".eslintrc.js"
|
1115
1139
|
- ".gitattributes"
|
1116
1140
|
- ".github/FUNDING.yml"
|
1117
1141
|
- ".github/ISSUE_TEMPLATE/bug-report.md"
|
@@ -1120,7 +1144,6 @@ test_files:
|
|
1120
1144
|
- ".gitignore"
|
1121
1145
|
- ".gitmodules"
|
1122
1146
|
- ".inch.yml"
|
1123
|
-
- ".jshintrc"
|
1124
1147
|
- ".overcommit.yml"
|
1125
1148
|
- ".rspec"
|
1126
1149
|
- ".rubocop.yml"
|
@@ -1258,6 +1281,7 @@ test_files:
|
|
1258
1281
|
- bin/setup
|
1259
1282
|
- bin/yarn
|
1260
1283
|
- config.ru
|
1284
|
+
- docs/async.md
|
1261
1285
|
- docs/compiled_ruby.md
|
1262
1286
|
- docs/compiler.md
|
1263
1287
|
- docs/compiler_directives.md
|
@@ -1299,13 +1323,18 @@ test_files:
|
|
1299
1323
|
- lib/opal/ast/node.rb
|
1300
1324
|
- lib/opal/builder.rb
|
1301
1325
|
- lib/opal/builder_processors.rb
|
1326
|
+
- lib/opal/cache.rb
|
1327
|
+
- lib/opal/cache/file_cache.rb
|
1302
1328
|
- lib/opal/cli.rb
|
1303
1329
|
- lib/opal/cli_options.rb
|
1304
1330
|
- lib/opal/cli_runners.rb
|
1305
1331
|
- lib/opal/cli_runners/applescript.rb
|
1306
|
-
- lib/opal/cli_runners/chrome.js
|
1307
1332
|
- lib/opal/cli_runners/chrome.rb
|
1333
|
+
- lib/opal/cli_runners/chrome_cdp_interface.js
|
1334
|
+
- lib/opal/cli_runners/chrome_cdp_interface.rb
|
1308
1335
|
- lib/opal/cli_runners/compiler.rb
|
1336
|
+
- lib/opal/cli_runners/gjs.rb
|
1337
|
+
- lib/opal/cli_runners/mini_racer.rb
|
1309
1338
|
- lib/opal/cli_runners/nashorn.rb
|
1310
1339
|
- lib/opal/cli_runners/node_modules/chrome-remote-interface/LICENSE
|
1311
1340
|
- lib/opal/cli_runners/node_modules/chrome-remote-interface/README.md
|
@@ -1456,6 +1485,7 @@ test_files:
|
|
1456
1485
|
- opal/corelib/array.rb
|
1457
1486
|
- opal/corelib/array/pack.rb
|
1458
1487
|
- opal/corelib/basic_object.rb
|
1488
|
+
- opal/corelib/binding.rb
|
1459
1489
|
- opal/corelib/boolean.rb
|
1460
1490
|
- opal/corelib/class.rb
|
1461
1491
|
- opal/corelib/comparable.rb
|
@@ -1500,6 +1530,7 @@ test_files:
|
|
1500
1530
|
- opal/corelib/string/unpack.rb
|
1501
1531
|
- opal/corelib/struct.rb
|
1502
1532
|
- opal/corelib/time.rb
|
1533
|
+
- opal/corelib/trace_point.rb
|
1503
1534
|
- opal/corelib/unsupported.rb
|
1504
1535
|
- opal/corelib/variables.rb
|
1505
1536
|
- opal/opal.rb
|
@@ -1508,6 +1539,7 @@ test_files:
|
|
1508
1539
|
- opal/opal/mini.rb
|
1509
1540
|
- package.json
|
1510
1541
|
- stdlib/README.md
|
1542
|
+
- stdlib/await.rb
|
1511
1543
|
- stdlib/base64.rb
|
1512
1544
|
- stdlib/benchmark.rb
|
1513
1545
|
- stdlib/bigdecimal.rb
|
@@ -1527,6 +1559,9 @@ test_files:
|
|
1527
1559
|
- stdlib/file.rb
|
1528
1560
|
- stdlib/fileutils.rb
|
1529
1561
|
- stdlib/forwardable.rb
|
1562
|
+
- stdlib/gjs.rb
|
1563
|
+
- stdlib/gjs/io.rb
|
1564
|
+
- stdlib/gjs/kernel.rb
|
1530
1565
|
- stdlib/headless_chrome.rb
|
1531
1566
|
- stdlib/iconv.rb
|
1532
1567
|
- stdlib/js.rb
|
@@ -1620,7 +1655,10 @@ test_files:
|
|
1620
1655
|
- stdlib/opal-parser.rb
|
1621
1656
|
- stdlib/opal-platform.rb
|
1622
1657
|
- stdlib/opal-source-maps.rb
|
1658
|
+
- stdlib/opal/miniracer.rb
|
1623
1659
|
- stdlib/opal/platform.rb
|
1660
|
+
- stdlib/opal/repl_js.rb
|
1661
|
+
- stdlib/opal/replutils.rb
|
1624
1662
|
- stdlib/open-uri.rb
|
1625
1663
|
- stdlib/ostruct.rb
|
1626
1664
|
- stdlib/pathname.rb
|
@@ -1644,7 +1682,11 @@ test_files:
|
|
1644
1682
|
- tasks/benchmarking.rake
|
1645
1683
|
- tasks/building.rake
|
1646
1684
|
- tasks/github.rake
|
1685
|
+
- tasks/linting-parse-eslint-results.js
|
1647
1686
|
- tasks/linting.rake
|
1687
|
+
- tasks/performance.rake
|
1688
|
+
- tasks/performance/asciidoctor_test.rb.erb
|
1689
|
+
- tasks/performance/optimization_status.rb
|
1648
1690
|
- tasks/releasing.rake
|
1649
1691
|
- tasks/testing.rake
|
1650
1692
|
- tasks/testing/mspec_special_calls.rb
|
@@ -1654,13 +1696,8 @@ test_files:
|
|
1654
1696
|
- vendored-minitest/minitest/autorun.rb
|
1655
1697
|
- vendored-minitest/minitest/benchmark.rb
|
1656
1698
|
- vendored-minitest/minitest/expectations.rb
|
1657
|
-
- vendored-minitest/minitest/hell.rb
|
1658
1699
|
- vendored-minitest/minitest/mock.rb
|
1659
|
-
- vendored-minitest/minitest/parallel.rb
|
1660
|
-
- vendored-minitest/minitest/pride.rb
|
1661
|
-
- vendored-minitest/minitest/pride_plugin.rb
|
1662
1700
|
- vendored-minitest/minitest/spec.rb
|
1663
1701
|
- vendored-minitest/minitest/test.rb
|
1664
|
-
- vendored-minitest/minitest/unit.rb
|
1665
1702
|
- vendored-minitest/test/unit.rb
|
1666
1703
|
- yarn.lock
|
data/.jshintrc
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
{
|
2
|
-
// http://jshint.com/docs/options
|
3
|
-
|
4
|
-
"curly" : true, // Require curly braces around blocks in loops and conditionals
|
5
|
-
"eqeqeq" : true, // Prohibit the use of == and != in favor of === and !==
|
6
|
-
"es3" : true, // Adhere to ECMAScript 3 specification
|
7
|
-
"forin" : true, // Require all for in loops to filter object's items (hasOwnProperty)
|
8
|
-
"latedef" : "nofunc", // Prohibit the use of a variable before it was defined (allow function declarations to be ignored)
|
9
|
-
"noarg" : true, // Prohibit the use of arguments.caller and arguments.callee
|
10
|
-
"undef" : true, // Prohibit the use of explicitly undeclared variables
|
11
|
-
"unused" : true, // Warn when you define and never use your variables
|
12
|
-
|
13
|
-
"predef" : ["Opal", "JSON", "Java", "OpalNode", "jsyaml", "globalThis", "FinalizationRegistry", "WeakMap"],
|
14
|
-
|
15
|
-
"browser": true,
|
16
|
-
"node": true,
|
17
|
-
|
18
|
-
// Currently the following checks are failing:
|
19
|
-
|
20
|
-
// To investigate:
|
21
|
-
"-W053": false, // Do not use String as a constructor
|
22
|
-
"-W069": false, // ['prop'] is better written in dot notation
|
23
|
-
"-W089": false, // The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype
|
24
|
-
|
25
|
-
// Compiler:
|
26
|
-
"-W021": false, // '$ClassName' is a function
|
27
|
-
"-W027": false, // Unreachable ';' after 'return'
|
28
|
-
"-W030": false, // Expected an assignment or function call and instead saw an expression
|
29
|
-
"-W032": false, // Unnecessary semicolon
|
30
|
-
"-W033": false, // Missing semicolon
|
31
|
-
"-W083": false, // Don't make functions within a loop
|
32
|
-
"-W093": false, // Did you mean to return a conditional instead of an assignment?
|
33
|
-
"-W098": false, // 'variable' is defined but never used
|
34
|
-
"-W116": false, // Expected '===' and instead saw '=='
|
35
|
-
"-W120": false, // You might be leaking a variable ($ClassName) here
|
36
|
-
|
37
|
-
// Keeping these:
|
38
|
-
"-W061": false, // eval can be harmful
|
39
|
-
"-W086": false, // Expected a 'break' statement before 'case'
|
40
|
-
"-W100": false // This character may get silently deleted by one or more browsers
|
41
|
-
}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
# NOTE: run bin/format-filters after changing this file
|
2
|
-
opal_unsupported_filter "Refinements" do
|
3
|
-
fails "Kernel#eval with refinements activates refinements from the binding" # NoMethodError: undefined method `refine' for #<Module:0x7ad6a>
|
4
|
-
fails "Kernel#eval with refinements activates refinements from the eval scope" # NoMethodError: undefined method `refine' for #<Module:0x7ad6e>
|
5
|
-
fails "Pattern matching refinements are used for #=== in constant pattern" # NoMethodError: undefined method `refine' for #<Module:0x46556>
|
6
|
-
fails "Pattern matching refinements are used for #deconstruct" # NoMethodError: undefined method `refine' for #<Module:0x4655e>
|
7
|
-
fails "Pattern matching refinements are used for #deconstruct_keys" # NoMethodError: undefined method `refine' for #<Module:0x4655a>
|
8
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
module Minitest
|
2
|
-
module Parallel
|
3
|
-
|
4
|
-
##
|
5
|
-
# The engine used to run multiple tests in parallel.
|
6
|
-
|
7
|
-
class Executor
|
8
|
-
|
9
|
-
##
|
10
|
-
# The size of the pool of workers.
|
11
|
-
|
12
|
-
attr_reader :size
|
13
|
-
|
14
|
-
##
|
15
|
-
# Create a parallel test executor of with +size+ workers.
|
16
|
-
|
17
|
-
def initialize size
|
18
|
-
@size = size
|
19
|
-
@queue = Queue.new
|
20
|
-
# @pool = size.times.map {
|
21
|
-
# Thread.new(@queue) do |queue|
|
22
|
-
# Thread.current.abort_on_exception = true
|
23
|
-
# while job = queue.pop
|
24
|
-
# klass, method, reporter = job
|
25
|
-
# result = Minitest.run_one_method klass, method
|
26
|
-
# reporter.synchronize { reporter.record result }
|
27
|
-
# end
|
28
|
-
# end
|
29
|
-
# }
|
30
|
-
end
|
31
|
-
|
32
|
-
##
|
33
|
-
# Add a job to the queue
|
34
|
-
|
35
|
-
def << work; @queue << work; end
|
36
|
-
|
37
|
-
##
|
38
|
-
# Shuts down the pool of workers by signalling them to quit and
|
39
|
-
# waiting for them all to finish what they're currently working
|
40
|
-
# on.
|
41
|
-
|
42
|
-
def shutdown
|
43
|
-
# size.times { @queue << nil }
|
44
|
-
# @pool.each(&:join)
|
45
|
-
@queue.each do |job|
|
46
|
-
klass, method, reporter = job
|
47
|
-
result = Minitest.run_one_method klass, method
|
48
|
-
reporter.record result
|
49
|
-
# reporter.synchronize { reporter.record result }
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
module Test
|
55
|
-
def _synchronize; Test.io_lock.synchronize { yield }; end # :nodoc:
|
56
|
-
|
57
|
-
module ClassMethods
|
58
|
-
def run_one_method klass, method_name, reporter # :nodoc:
|
59
|
-
Minitest.parallel_executor << [klass, method_name, reporter]
|
60
|
-
end
|
61
|
-
def test_order; :parallel; end # :nodoc:
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -1,142 +0,0 @@
|
|
1
|
-
require "minitest"
|
2
|
-
|
3
|
-
module Minitest
|
4
|
-
def self.plugin_pride_options opts, options # :nodoc:
|
5
|
-
opts.on "-p", "--pride", "Pride. Show your testing pride!" do
|
6
|
-
PrideIO.pride!
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.plugin_pride_init options # :nodoc:
|
11
|
-
if PrideIO.pride? then
|
12
|
-
klass = ENV["TERM"] =~ /^xterm|-256color$/ ? PrideLOL : PrideIO
|
13
|
-
io = klass.new options[:io]
|
14
|
-
|
15
|
-
self.reporter.reporters.grep(Minitest::Reporter).each do |rep|
|
16
|
-
rep.io = io
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
##
|
22
|
-
# Show your testing pride!
|
23
|
-
|
24
|
-
class PrideIO
|
25
|
-
##
|
26
|
-
# Activate the pride plugin. Called from both -p option and minitest/pride
|
27
|
-
|
28
|
-
def self.pride!
|
29
|
-
@pride = true
|
30
|
-
end
|
31
|
-
|
32
|
-
##
|
33
|
-
# Are we showing our testing pride?
|
34
|
-
|
35
|
-
def self.pride?
|
36
|
-
@pride ||= false
|
37
|
-
end
|
38
|
-
|
39
|
-
# Start an escape sequence
|
40
|
-
ESC = "\e["
|
41
|
-
|
42
|
-
# End the escape sequence
|
43
|
-
NND = "#{ESC}0m"
|
44
|
-
|
45
|
-
# The IO we're going to pipe through.
|
46
|
-
attr_reader :io
|
47
|
-
|
48
|
-
def initialize io # :nodoc:
|
49
|
-
@io = io
|
50
|
-
# stolen from /System/Library/Perl/5.10.0/Term/ANSIColor.pm
|
51
|
-
# also reference http://en.wikipedia.org/wiki/ANSI_escape_code
|
52
|
-
@colors ||= (31..36).to_a
|
53
|
-
@size = @colors.size
|
54
|
-
@index = 0
|
55
|
-
end
|
56
|
-
|
57
|
-
##
|
58
|
-
# Wrap print to colorize the output.
|
59
|
-
|
60
|
-
def print o
|
61
|
-
case o
|
62
|
-
when "." then
|
63
|
-
io.print pride o
|
64
|
-
when "E", "F" then
|
65
|
-
io.print "#{ESC}41m#{ESC}37m#{o}#{NND}"
|
66
|
-
when "S" then
|
67
|
-
io.print pride o
|
68
|
-
else
|
69
|
-
io.print o
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def puts(*o) # :nodoc:
|
74
|
-
o.map! { |s|
|
75
|
-
s.to_s.sub(/Finished/) {
|
76
|
-
@index = 0
|
77
|
-
'Fabulous run'.split(//).map { |c|
|
78
|
-
pride(c)
|
79
|
-
}.join
|
80
|
-
}
|
81
|
-
}
|
82
|
-
|
83
|
-
io.puts(*o)
|
84
|
-
end
|
85
|
-
|
86
|
-
##
|
87
|
-
# Color a string.
|
88
|
-
|
89
|
-
def pride string
|
90
|
-
string = "*" if string == "."
|
91
|
-
c = @colors[@index % @size]
|
92
|
-
@index += 1
|
93
|
-
"#{ESC}#{c}m#{string}#{NND}"
|
94
|
-
end
|
95
|
-
|
96
|
-
def method_missing msg, *args # :nodoc:
|
97
|
-
io.send(msg, *args)
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
##
|
102
|
-
# If you thought the PrideIO was colorful...
|
103
|
-
#
|
104
|
-
# (Inspired by lolcat, but with clean math)
|
105
|
-
|
106
|
-
class PrideLOL < PrideIO
|
107
|
-
PI_3 = Math::PI / 3 # :nodoc:
|
108
|
-
|
109
|
-
def initialize io # :nodoc:
|
110
|
-
# walk red, green, and blue around a circle separated by equal thirds.
|
111
|
-
#
|
112
|
-
# To visualize, type this into wolfram-alpha:
|
113
|
-
#
|
114
|
-
# plot (3*sin(x)+3), (3*sin(x+2*pi/3)+3), (3*sin(x+4*pi/3)+3)
|
115
|
-
|
116
|
-
# 6 has wide pretty gradients. 3 == lolcat, about half the width
|
117
|
-
@colors = (0...(6 * 7)).map { |n|
|
118
|
-
n *= 1.0 / 6
|
119
|
-
r = (3 * Math.sin(n ) + 3).to_i
|
120
|
-
g = (3 * Math.sin(n + 2 * PI_3) + 3).to_i
|
121
|
-
b = (3 * Math.sin(n + 4 * PI_3) + 3).to_i
|
122
|
-
|
123
|
-
# Then we take rgb and encode them in a single number using base 6.
|
124
|
-
# For some mysterious reason, we add 16... to clear the bottom 4 bits?
|
125
|
-
# Yes... they're ugly.
|
126
|
-
|
127
|
-
36 * r + 6 * g + b + 16
|
128
|
-
}
|
129
|
-
|
130
|
-
super
|
131
|
-
end
|
132
|
-
|
133
|
-
##
|
134
|
-
# Make the string even more colorful. Damnit.
|
135
|
-
|
136
|
-
def pride string
|
137
|
-
c = @colors[@index % @size]
|
138
|
-
@index += 1
|
139
|
-
"#{ESC}38;5;#{c}m#{string}#{NND}"
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# :stopdoc:
|
2
|
-
|
3
|
-
unless defined?(Minitest) then
|
4
|
-
# all of this crap is just to avoid circular requires and is only
|
5
|
-
# needed if a user requires "minitest/unit" directly instead of
|
6
|
-
# "minitest/autorun", so we also warn
|
7
|
-
|
8
|
-
from = caller.reject { |s| s =~ /rubygems/ }.join("\n ")
|
9
|
-
warn "Warning: you should require 'minitest/autorun' instead."
|
10
|
-
warn %(Warning: or add 'gem "minitest"' before 'require "minitest/autorun"')
|
11
|
-
warn "From:\n #{from}"
|
12
|
-
|
13
|
-
module Minitest; end
|
14
|
-
MiniTest = Minitest # prevents minitest.rb from requiring back to us
|
15
|
-
require "minitest"
|
16
|
-
end
|
17
|
-
|
18
|
-
MiniTest = Minitest unless defined?(MiniTest)
|
19
|
-
|
20
|
-
module Minitest
|
21
|
-
class Unit
|
22
|
-
VERSION = Minitest::VERSION
|
23
|
-
class TestCase < Minitest::Test
|
24
|
-
def self.inherited klass # :nodoc:
|
25
|
-
from = caller.first
|
26
|
-
warn "MiniTest::Unit::TestCase is now Minitest::Test. From #{from}"
|
27
|
-
super
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.autorun # :nodoc:
|
32
|
-
from = caller.first
|
33
|
-
warn "MiniTest::Unit.autorun is now Minitest.autorun. From #{from}"
|
34
|
-
Minitest.autorun
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.after_tests(&b)
|
38
|
-
from = caller.first
|
39
|
-
warn "MiniTest::Unit.after_tests is now Minitest.after_run. From #{from}"
|
40
|
-
Minitest.after_run(&b)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# :startdoc:
|