opal 1.3.0.rc1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16782d65a3f9ab801bc44d034562757ea7dc22085099087d310850fce8fe08d4
4
- data.tar.gz: fcf2a3d06b0ea2177e48bc3047efdd4049d8c3a237b53f506fa8a199506cb1c3
3
+ metadata.gz: 0b7a4b076832e2c4f5cf807f40bf1a9d7e1a0328e1ef4b245f1514ae2ff145dd
4
+ data.tar.gz: 5df94eda8d910641c918d913b7421796b5e513b05600e51d1debd0cd3944cf20
5
5
  SHA512:
6
- metadata.gz: 46ebb7477fd100fcd133eedbc284c967be2b9938fa1c6da6bfb82c22c41f99202f577880514c15e3ce31e57c411ef7b213c4bae07b2500a2c30bff34d0bd296c
7
- data.tar.gz: 44ebb97f64ad9586b9b10eb3d2a8d60a2d8f78a8dd4c8766a13c9ecc80548272f2014c4b8aa96b3fba31c34147d094a7fc2832ab18818480e4736d0addd0839f
6
+ metadata.gz: 04050f1589cf7ee4a3be39907e4618434659157968b63f225c6ae27a46da5f9e77c57080ca0c741aa333c3a3e48e2bbe38a3719f8540e55aefe26a3b6c4d3710
7
+ data.tar.gz: 867a69aa3810572ff1636f4b6dc0df14435fa54dc06655101dde8017e71ab1892393e5a61517194f4828d596301097876e36734d9c4039f2d2109c70a011a3cb
data/CHANGELOG.md CHANGED
@@ -15,7 +15,114 @@ Changes are grouped as follows:
15
15
 
16
16
 
17
17
 
18
- ## [1.2.0](https://github.com/opal/opal/compare/v1.1.1...1.2.0) - 2021-07-28
18
+ ## [1.3.0](https://github.com/opal/opal/compare/v1.2.0...v1.3.0) - 2021-10-27
19
+
20
+
21
+ ### Added
22
+
23
+ - Add support for `retry` ([#2264](https://github.com/opal/opal/pull/2264))
24
+ - Modernize Exceptions ([#2264](https://github.com/opal/opal/pull/2264))
25
+ - Add `#cause`, `#backtrace_locations`, `#full_message` to `Exception`
26
+ - Normalize backtraces across platforms
27
+ - Add `Thread::Backtrace::Location`
28
+ - Output Exception#full_message on uncaught exceptions ([#2269](https://github.com/opal/opal/pull/2269))
29
+ - TracePoint `:class` support ([#2049](https://github.com/opal/opal/pull/2049))
30
+ - Implement the Flip-Flop operators ([#2261](https://github.com/opal/opal/pull/2261))
31
+ - Add `JS[]` to access properties on the global object ([#2259](https://github.com/opal/opal/pull/2259))
32
+ - Add `ENV.fetch` to the Nodejs implementation of `ENV` ([#2259](https://github.com/opal/opal/pull/2259))
33
+ - Opal::Cache, an optional compiler cache (enabled by default) (#2242, #2278, #2329)
34
+ - Alias for gvars, alias on main ([#2270](https://github.com/opal/opal/pull/2270))
35
+ - Support for GJS (GNOME's JavaScript runtime) runner ([#2280](https://github.com/opal/opal/pull/2280))
36
+ - Scope variables support for `eval()` ([#2256](https://github.com/opal/opal/pull/2256))
37
+ - Add support for `Kernel#binding` ([#2256](https://github.com/opal/opal/pull/2256))
38
+ - A (mostly) correct support for refinements ([#2256](https://github.com/opal/opal/pull/2256))
39
+ - Add support for ECMAScript modules with an `--esm` CLI option ([#2286](https://github.com/opal/opal/pull/2286))
40
+ - Implement `Regexp#names` and add named captures support ([#2272](https://github.com/opal/opal/pull/2272))
41
+ - REPL improvements: ([#2285](https://github.com/opal/opal/pull/2285))
42
+ - Colored output & history support
43
+ - `ls` to show available constants and variable
44
+ - Add `Method#===` as an alias to `Method#call`, works the same as `Proc#===` ([#2305](https://github.com/opal/opal/pull/2305))
45
+ - Add `IO#gets` and `IO#read_proc` along with other supporting methods ([#2309](https://github.com/opal/opal/pull/2309))
46
+ - Support `#gets` on most platforms, including browsers (via `prompt`)
47
+ - Move the REPL to a `--repl` CLI option of the main executable
48
+ - Completely refactor IO, now supporting methods like `#each_line` throughout the entire IO chain
49
+ - Add a runner for MiniRacer (as `miniracer`)
50
+ - Support Windows on the Chrome runner
51
+ - Support Windows on the REPL
52
+ - Platforms an IO implementations should either set `IO#read_proc` or overwrite `IO#sysread`
53
+ - [experimental] Add support for JavaScript async/await ([#2221](https://github.com/opal/opal/pull/2221))
54
+ - Enable the feature by adding a magic comment: `# await: true`
55
+ - The magic comment can be also used to mark specific method patterns to be awaited
56
+ (e.g. `# await: *_await, sleep` will make any method ending in `_await` or named `sleep` to be awaited)
57
+ - Add `Kernel#__await__` as a bridge to the `await` keyword (inspired by CoffeeScript await support)
58
+ - Require `opal/await` to get additional support
59
+ - Read more on the newly added documentation page
60
+ - Better interoperability between legacy Promise (v1) and native Promise (v2) ([#2221](https://github.com/opal/opal/pull/2221))
61
+ - Add `PromiseV1` as an alias to the original (legacy) Promise class
62
+ - Add `#to_v1` and `#to_v2` to both classes
63
+ - `Promise#to_n` will convert it to a native Promise (v2)
64
+ - Add `Opal::Config.esm` to enable/disable ES modules ([#2316](https://github.com/opal/opal/pull/2316))
65
+ - If Config.esm is enabled, SimpleServer does type="module"
66
+ - Add new rack-esm example
67
+ - Add a QuickJS (https://bellard.org/quickjs/) runner ([#2331](https://github.com/opal/opal/pull/2331))
68
+ - Add `IO#fileno`, `Method#curry`, `Buffer#to_s`, `Pathname.pwd` ([#2332](https://github.com/opal/opal/pull/2332))
69
+ - Add NodeJS support for `ARGF`, `ENV.{inspect,to_h,to_hash,merge}`, `File.{delete,unlink}`, `Kernel#system`, <code>Kernel#\`</code>, `Process::Status` ([#2332](https://github.com/opal/opal/pull/2332))
70
+ - Introduce `__dir__` support ([#2323](https://github.com/opal/opal/pull/2323))
71
+ - Full autoload support ([#2323](https://github.com/opal/opal/pull/2323))
72
+ - Now compatible with `opal-zeitwerk` and `isomorfeus`
73
+ - Allow toplevel autoloads
74
+ - Allow dynamic autoloads (e.g. can be hooked to fetch a URL upon autoload with a custom loader)
75
+ - Allow overwriting `require` (e.g. like rubygems does)
76
+ - Allow autoloading trees with `require_tree "./foo", autoload: true`
77
+ - Add Module#autoload?
78
+ - Autoload parts of the corelib ([#2323](https://github.com/opal/opal/pull/2323))
79
+
80
+ ### Fixed
81
+
82
+ - Fixed multiple line `Regexp` literal to not generate invalid syntax as JavaScript ([#1616](https://github.com/opal/opal/pull/1616))
83
+ - Fix `Kernel#{try,catch}` along with `UncaughtThrowError` ([#2264](https://github.com/opal/opal/pull/2264))
84
+ - Update source-map-support to fix an off-by-one error ([#2264](https://github.com/opal/opal/pull/2264))
85
+ - Source map: lines should start from 1, not 0 ([#2273](https://github.com/opal/opal/pull/2273))
86
+ - Allow for multiple underscored args with the same name in strict mode ([#2292](https://github.com/opal/opal/pull/2292))
87
+ - Show instance variables in `Kernel#inspect` ([#2285](https://github.com/opal/opal/pull/2285))
88
+ - `0.digits` was returning an empty array in strict mode ([#2301](https://github.com/opal/opal/pull/2301))
89
+ - Non Integer numbers were responding to `#digits` ([#2301](https://github.com/opal/opal/pull/2301))
90
+ - Correctly delete hash members when dealing with boxed strings ([#2306](https://github.com/opal/opal/pull/2306))
91
+ - Escape string components in interpolated strings (`dstrs`) correctly ([#2308](https://github.com/opal/opal/pull/2308))
92
+ - Don't try to return the JS `debugger` statement, just return `nil` ([#2307](https://github.com/opal/opal/pull/2307))
93
+ - Retain the `-` while stringifying `-0.0` ([#2304](https://github.com/opal/opal/pull/2304))
94
+ - Fix super support for rest args and re-assignments with implicit arguments ([#2315](https://github.com/opal/opal/pull/2315))
95
+ - Fix calling `Regexp#last_match` when `$~` is nil ([#2328](https://github.com/opal/opal/pull/2328))
96
+ - Windows support for chrome runner ([#2324](https://github.com/opal/opal/pull/2324))
97
+ - Use correct node separator for NODE_PATH on Windows
98
+ - Pass dir and emulate exec a bit on Windows
99
+ - Use Gem.win_platform?, match supported platform to ruby, simplify run
100
+ - NodeJS: Drop the first `--` argument in `ARGV` ([#2332](https://github.com/opal/opal/pull/2332))
101
+ - Fix `Object#require` not pointing to `Kernel#require` ([#2323](https://github.com/opal/opal/pull/2323))
102
+
103
+ ### Changed
104
+
105
+ - Fast-track bad constant names passed to `Struct.new` ([#2259](https://github.com/opal/opal/pull/2259))
106
+ - Renamed internal `super` related helpers,
107
+ `find_super_dispatcher` is now `find_super`, `find_iter_super_dispatcher` is now `find_block_super` ([#2090](https://github.com/opal/opal/pull/2090))
108
+ - The `opal-repl` CLI now requires files to be passed with `--require` (or `-r`) instead of the bare filename ([#2309](https://github.com/opal/opal/pull/2309))
109
+ - `Process` is now a Module, not a Class - just like in MRI ([#2332](https://github.com/opal/opal/pull/2332))
110
+ - `s = StringIO.new("a"); s << "b"; s.string` now returns "b", like MRI, but Opal used to return "ab" ([#2309](https://github.com/opal/opal/pull/2309))
111
+
112
+ ### Deprecated
113
+
114
+ ### Removed
115
+
116
+ ### Internal
117
+
118
+ - Switch from jshint to ESLint ([#2289](https://github.com/opal/opal/pull/2289))
119
+ - Switch from UglifyJS to Terser ([#2318](https://github.com/opal/opal/pull/2318))
120
+ - [CI] Performance regression check (#2276, #2282)
121
+
122
+
123
+
124
+
125
+ ## [1.2.0](https://github.com/opal/opal/compare/v1.1.1...v1.2.0) - 2021-07-28
19
126
 
20
127
 
21
128
  ### Added
data/UNRELEASED.md CHANGED
@@ -1,99 +1,6 @@
1
1
  ### Added
2
-
3
- - Add support for `retry` (#2264)
4
- - Modernize Exceptions (#2264)
5
- - Add `#cause`, `#backtrace_locations`, `#full_message` to `Exception`
6
- - Normalize backtraces across platforms
7
- - Add `Thread::Backtrace::Location`
8
- - Output Exception#full_message on uncaught exceptions (#2269)
9
- - TracePoint `:class` support (#2049)
10
- - Implement the Flip-Flop operators (#2261)
11
- - Add `JS[]` to access properties on the global object (#2259)
12
- - Add `ENV.fetch` to the Nodejs implementation of `ENV` (#2259)
13
- - Opal::Cache, an optional compiler cache (enabled by default) (#2242, #2278, #2329)
14
- - Alias for gvars, alias on main (#2270)
15
- - Support for GJS (GNOME's JavaScript runtime) runner (#2280)
16
- - Scope variables support for `eval()` (#2256)
17
- - Add support for `Kernel#binding` (#2256)
18
- - A (mostly) correct support for refinements (#2256)
19
- - Add support for ECMAScript modules with an `--esm` CLI option (#2286)
20
- - Implement `Regexp#names` and add named captures support (#2272)
21
- - REPL improvements: (#2285)
22
- - Colored output & history support
23
- - `ls` to show available constants and variable
24
- - Add `Method#===` as an alias to `Method#call`, works the same as `Proc#===` (#2305)
25
- - Add `IO#gets` and `IO#read_proc` along with other supporting methods (#2309)
26
- - Support `#gets` on most platforms, including browsers (via `prompt`)
27
- - Move the REPL to a `--repl` CLI option of the main executable
28
- - Completely refactor IO, now supporting
29
- - Add a runner for MiniRacer (as `miniracer`)
30
- - Support Windows on the Chrome runner
31
- - Support Windows on the REPL
32
- - Platforms an IO implementations should either set `IO#read_proc` or overwrite `IO#sysread`
33
- - [experimental] Add support for JavaScript async/await (#2221)
34
- - Enable the feature by adding a magic comment: `# await: true`
35
- - The magic comment can be also used to mark specific method patterns to be awaited
36
- (e.g. `# await: *_await, sleep` will make any method ending in `_await` or named `sleep` to be awaited)
37
- - Add `Kernel#__await__` as a bridge to the `await` keyword (inspired by CoffeeScript await support)
38
- - Require `opal/await` to get additional support
39
- - Read more on the newly added documentation page
40
- - Better interoperability between legacy Promise (v1) and native Promise (v2) (#2221)
41
- - Add `PromiseV1` as an alias to the original (legacy) Promise class
42
- - Add `#to_v1` and `#to_v2` to both classes
43
- - `Promise#to_n` will convert it to a native Promise (v2)
44
- - Add `Opal::Config.esm` to enable/disable ES modules (#2316)
45
- - If Config.esm is enabled, SimpleServer does type="module"
46
- - Add new rack-esm example
47
- - Add a QuickJS (https://bellard.org/quickjs/) runner (#2331)
48
- - Add `IO#fileno`, `Method#curry`, `Buffer#to_s`, `Pathname.pwd` (#2332)
49
- - Add NodeJS support for `ARGF`, `ENV.{inspect,to_h,to_hash,merge}`, `File.{delete,unlink}`, `Kernel#system`, <code>Kernel#`</code>, `Process::Status` (#2332)
50
- - Introduce `__dir__` support (#2323)
51
- - Full autoload support (#2323)
52
- - Now compatible with `opal-zeitwerk` and `isomorfeus`
53
- - Allow toplevel autoloads
54
- - Allow dynamic autoloads (e.g. can be hooked to fetch a URL upon autoload with a custom loader)
55
- - Allow overwriting `require` (e.g. like rubygems does)
56
- - Allow autoloading trees with `require_tree "./foo", autoload: true`
57
- - Add Module#autoload?
58
- - Autoload parts of the corelib (#2323)
59
-
60
2
  ### Fixed
61
-
62
- - Fixed multiple line `Regexp` literal to not generate invalid syntax as JavaScript (#1616)
63
- - Fix `Kernel#{try,catch}` along with `UncaughtThrowError` (#2264)
64
- - Update source-map-support to fix an off-by-one error (#2264)
65
- - Source map: lines should start from 1, not 0 (#2273)
66
- - Allow for multiple underscored args with the same name in strict mode (#2292)
67
- - Show instance variables in `Kernel#inspect` (#2285)
68
- - `0.digits` was returning an empty array in strict mode (#2301)
69
- - Non Integer numbers were responding to `#digits` (#2301)
70
- - Correctly delete hash members when dealing with boxed strings (#2306)
71
- - Escape string components in interpolated strings (`dstrs`) correctly (#2308)
72
- - Don't try to return the JS `debugger` statement, just return `nil` (#2307)
73
- - Retain the `-` while stringifying `-0.0` (#2304)
74
- - Fix super support for rest args and re-assignments with implicit arguments (#2315)
75
- - Fix calling `Regexp#last_match` when `$~` is nil (#2328)
76
- - Windows support for chrome runner (#2324)
77
- - Use correct node separator for NODE_PATH on Windows
78
- - Pass dir and emulate exec a bit on Windows
79
- - Use Gem.win_platform?, match supported platform to ruby, simplify run
80
- - NodeJS: Drop the first `--` argument in `ARGV` (#2332)
81
- - Fix `Object#require` not pointing to `Kernel#require` (#2323)
82
-
83
3
  ### Changed
84
-
85
- - Fast-track bad constant names passed to `Struct.new` (#2259)
86
- - Renamed internal `super` related helpers,
87
- `find_super_dispatcher` is now `find_super`, `find_iter_super_dispatcher` is now `find_block_super` (#2090)
88
- - The `opal-repl` CLI now requires files to be passed with `--require` (or `-r`) instead of the bare filename (#2309)
89
- - `Process` is now a Module, not a Class - just like in MRI (#2332)
90
-
91
4
  ### Deprecated
92
-
93
5
  ### Removed
94
-
95
6
  ### Internal
96
-
97
- - Switch from jshint to ESLint (#2289)
98
- - Switch from UglifyJS to Terser (#2318)
99
- - [CI] Performance regression check (#2276, #2282)
data/lib/opal/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  module Opal
4
4
  # WHEN RELEASING:
5
5
  # Remember to update RUBY_ENGINE_VERSION in opal/corelib/constants.rb too!
6
- VERSION = '1.3.0.rc1'
6
+ VERSION = '1.3.0'
7
7
  end
@@ -1,8 +1,8 @@
1
1
  RUBY_PLATFORM = 'opal'
2
2
  RUBY_ENGINE = 'opal'
3
3
  RUBY_VERSION = '3.0.2'
4
- RUBY_ENGINE_VERSION = '1.3.0.rc1'
5
- RUBY_RELEASE_DATE = '2021-10-20'
4
+ RUBY_ENGINE_VERSION = '1.3.0'
5
+ RUBY_RELEASE_DATE = '2021-10-27'
6
6
  RUBY_PATCHLEVEL = 0
7
7
  RUBY_REVISION = '0'
8
8
  RUBY_COPYRIGHT = 'opal - Copyright (C) 2013-2021 Adam Beynon and the Opal contributors'
@@ -636,7 +636,7 @@ module Kernel
636
636
  if (typeof #{file} !== 'string' && Opal.String && Opal.Array) {
637
637
  #{file = Opal.coerce_to!(file, String, :to_str) }
638
638
  }
639
- Opal.require(#{file})
639
+ return Opal.require(#{file})
640
640
  }
641
641
  end
642
642
 
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.3.0.rc1
4
+ version: 1.3.0
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-10-20 00:00:00.000000000 Z
13
+ date: 2021-10-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ast
@@ -1121,10 +1121,10 @@ licenses:
1121
1121
  metadata:
1122
1122
  homepage_uri: https://opalrb.com/
1123
1123
  bug_tracker_uri: https://github.com/opal/opal/issues
1124
- changelog_uri: https://github.com/opal/opal/blob/v1.3.0.rc1/CHANGELOG.md
1125
- readme_uri: https://github.com/opal/opal/blob/v1.3.0.rc1/README.md
1126
- api_documentation_uri: http://opalrb.com/docs/api/v1.3.0.rc1/index.html
1127
- guides_uri: http://opalrb.com/docs/guides/v1.3.0.rc1/index.html
1124
+ changelog_uri: https://github.com/opal/opal/blob/v1.3.0/CHANGELOG.md
1125
+ readme_uri: https://github.com/opal/opal/blob/v1.3.0/README.md
1126
+ api_documentation_uri: http://opalrb.com/docs/api/v1.3.0/index.html
1127
+ guides_uri: http://opalrb.com/docs/guides/v1.3.0/index.html
1128
1128
  chat_uri: https://gitter.im/opal/opal
1129
1129
  source_code_uri: https://github.com/opal/opal
1130
1130
  post_install_message:
@@ -1138,9 +1138,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1138
1138
  version: '2.3'
1139
1139
  required_rubygems_version: !ruby/object:Gem::Requirement
1140
1140
  requirements:
1141
- - - ">"
1141
+ - - ">="
1142
1142
  - !ruby/object:Gem::Version
1143
- version: 1.3.1
1143
+ version: '0'
1144
1144
  requirements: []
1145
1145
  rubygems_version: 3.2.3
1146
1146
  signing_key: