opal 1.3.0.rc1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|