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 +4 -4
- data/CHANGELOG.md +108 -1
- data/UNRELEASED.md +0 -93
- data/lib/opal/version.rb +1 -1
- data/opal/corelib/constants.rb +2 -2
- data/opal/corelib/kernel.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b7a4b076832e2c4f5cf807f40bf1a9d7e1a0328e1ef4b245f1514ae2ff145dd
|
4
|
+
data.tar.gz: 5df94eda8d910641c918d913b7421796b5e513b05600e51d1debd0cd3944cf20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
data/opal/corelib/constants.rb
CHANGED
@@ -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
|
5
|
-
RUBY_RELEASE_DATE = '2021-10-
|
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'
|
data/opal/corelib/kernel.rb
CHANGED
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
|
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-
|
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
|
1125
|
-
readme_uri: https://github.com/opal/opal/blob/v1.3.0
|
1126
|
-
api_documentation_uri: http://opalrb.com/docs/api/v1.3.0
|
1127
|
-
guides_uri: http://opalrb.com/docs/guides/v1.3.0
|
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:
|
1143
|
+
version: '0'
|
1144
1144
|
requirements: []
|
1145
1145
|
rubygems_version: 3.2.3
|
1146
1146
|
signing_key:
|