Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/opal/opal

Ruby ♥︎ JavaScript
https://github.com/opal/opal

Remove a warning about incorrect encodings - we support this now

4e8d7fd92e576fafa571f9855136dd15e1dfb71a authored almost 3 years ago by hmdne <[email protected]>
Remove passing filters

edb34fce50424414f9d0f792d0d9be085cb8e2ec authored almost 3 years ago by hmdne <[email protected]>
Update submodules and insert new filters

9014f8a4596aca4db60aff9409ea8807396a2c22 authored almost 3 years ago by hmdne <[email protected]>
Skip versions of Parser that are causing Encoding trouble

127
fails "String#each_line splits strings containing multibyte characters" # Expected ["foo\n",...

60c4bd827f38b5252fba155f09d7c0b4c694ffc1 authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2366 from Mogztter/issue-2348-node-unc-path

resolves #2348 preserve UNC path prefix on File#join (Node.js impl)

4e3c275dfbc852ee925f729240b0343fd5a69127 authored almost 3 years ago by Elia Schito <[email protected]>
resolves #2348 preserve UNC path prefix on File#join (Node.js impl)

2684892068feeb26df6a78343f7508ae7b00a5d1 authored almost 3 years ago by Guillaume Grossetie <[email protected]>
Merge pull request #2356 from opal/hmdne/dont-get-self

Generated code optimization

e14c3ecb780dfa77f10777e4e005c9be7173a600 authored almost 3 years ago by hmdne <[email protected]>
Remove duplicated code

the `else` branch had the same code.

37800c52b08ad1bcd0ff353721753ef1af1dd7f4 authored almost 3 years ago by Elia Schito <[email protected]>
Also skip $parent_nesting if not needed

This is a small one. But this is the last one in this patch series. Let's conclude it with compi...

fb6f33d6d09591f487d55f72799a587df3dbff96 authored almost 3 years ago by hmdne <[email protected]>
Skip empty string literal while building a dstr if first child is a str

What do we do with strings like `"aaaa#{true}"` (also called dstrs)?

Of course, we compile them...

43787511cdc9416ceb272292ad7b4520090ab6c8 authored almost 3 years ago by hmdne <[email protected]>
Make $$ not need $nesting argument.

I came upon an idea, that the `$$` method can be curried. Of course, this moves its definition f...

57b02ef8fc9e21428199bad98fb84697d691e9f9 authored almost 3 years ago by hmdne <[email protected]>
Don't compile $nesting if not needed

Sometimes though, we don't even need `$nesting` to be computed. If our class is small, doesn't h...

965806b9cbd5bd02d91c58ea0e134adee33a3573 authored almost 3 years ago by hmdne <[email protected]>
Next round of ::ization

02b9a7a5402be74e7710199b12dbc810ced983a1 authored almost 3 years ago by hmdne <[email protected]>
Don't output $$ and/or $$$ if not needed

What is `$$$` - I explained in one of the earlier parts. But what is `$$` - I haven't. This is a...

935ec5ce62d4a8e4c693b27decdf3ea316627f6c authored almost 3 years ago by hmdne <[email protected]>
Ensure full_message returns something even if Hash isn't loaded

aaf373c84c9c120345b482da46de37351f20747d authored almost 3 years ago by hmdne <[email protected]>
Decrease size of add_stubs calls

How does `#method_missing` work on Opal? In JavaScript there's no facility for that. Well - we d...

628fceaaffa492b0eec71d7ee53d271026c7e120 authored almost 3 years ago by hmdne <[email protected]>
Optimize Node#top_scope access

Avoid recursing to get to it.

be5d3f87e46526475f49e82045f9bb3a19c2642b authored almost 3 years ago by hmdne <[email protected]>
Try to eliminate closured if statements.

In case we encounter a recv or expr, let's try to create
a ternary operator. This should provide...

9e195ba92e89b97a7591c9a0bd1e3ff0adab4ed5 authored almost 3 years ago by hmdne <[email protected]>
Remove JS eval calls from corelib ({module,instance}_eval

`eval` in JavaScript is considered harmful. Let's at least use a different facility to support R...

61850baa8ccfdea916745191806f7a8d7bccb061 authored almost 3 years ago by hmdne <[email protected]>
Reuse the ret_or_* variables

Some libraries (like `parser`) happen to use `||` a lot. For each usage, we generate a new `$ret...

22cdaca833d725465685bedf2c6a48bcc3df5949 authored almost 3 years ago by hmdne <[email protected]>
A shortpath for empty tops

53fb8cfb0c0a75f3f7743ba94bb049ecbd8f2fe4 authored almost 3 years ago by hmdne <[email protected]>
Helperization across the codebase to assist JS compressors

In compiled Asciidoctor I found a lot of dynamic regexps. And we define them by `Opal.regexp([a,...

b02ca70c1d8e6fde9d87ef2d67d76c39a08b7674 authored almost 3 years ago by hmdne <[email protected]>
Compress unsupported mutable String method definitions

Opal doesn't support mutable strings (we have a plan to support them
in the near future!) - and ...

221efdf7989ab559de02d8e952c626ba4dceaef0 authored almost 3 years ago by hmdne <[email protected]>
Performance check: Also compute mangled sizes

83fb1d77f648eefe17f13535b7e5cd8f7a16c269 authored almost 3 years ago by hmdne <[email protected]>
Optimize self.$$prototype to $proto

For two reasons, we set `@variables` to `nil` by default if they are referenced. The first reaso...

3fe2e725cd4ce33c94efea2fe9544bbaff091930 authored almost 3 years ago by hmdne <[email protected]>
Use `delete scope.$$p` saving one check and a few bytes

Why do we use things like `$$a.$$p`? Well - you may not know, if you aren't too familiar with Op...

0782566bc126e9f0099a4b015878d92f93c1628b authored almost 3 years ago by hmdne <[email protected]>
More corelib ::ization

Go for the fast-path in the corelib.

e0f16c5d264fe3bf8d0227b143d3ff4a0c8f0400 authored almost 3 years ago by hmdne <[email protected]>
Don't needlessly define JS vars for iter/def

Back to our `def a(&block)` empty method. Can we optimize this part even further?

```javascript...

105ff239d2a3a1aa79075991f8bf722e5b0f98f7 authored almost 3 years ago by hmdne <[email protected]>
Optimize splice & slice calls

We use those calls a lot for extracting Ruby rest arguments from the `arguments` array-like obje...

464e2c14ccc0f8ddd8e85d127a38620e7f4a818c authored almost 3 years ago by hmdne <[email protected]>
Optimize unless calls output

Ok - let's take this expression:

```ruby
true unless false
```

What will it compile to?

```ja...

eef6cee0b58c7c728fedf0a1d7961302beee50f8 authored almost 3 years ago by hmdne <[email protected]>
Optimize toplevel constant resolution

What does `::String` compile into? Of course into `$$$("::", "String")`. Why? `"::"` is a specia...

5f48bf0e3feb9e0ed77deece362c2b193311dda6 authored almost 3 years ago by hmdne <[email protected]>
Const access optimization

* Optimize calls like ::Opal.coerce_to[?!] by adding a special case to ConstNode
* Make corelib ...

b5a209ab94a65133789465d7789821454feb8081 authored almost 3 years ago by hmdne <[email protected]>
Simplify compilation for empty-body classes and modules

Do empty classes happen a lot? Well - they do. Mostly when you define exceptions. Like we do:

`...

87cc376f8e74d36cead1517f8663bd9cf1009161 authored almost 3 years ago by hmdne <[email protected]>
Opal.defineProperty -> Opal.prop

8b86963fa410f07d0f286d29a8a5b3ffa2d559a1 authored almost 3 years ago by hmdne <[email protected]>
Helperize Opal.def/Opal.defs

What does "helperize" mean? Well - in Opal compiler we may make a
statement `helper :def` to gen...

6722ed1e43a376c5ed1eb75a90dc1bea4224aff3 authored almost 3 years ago by hmdne <[email protected]>
Make the `Opal.def*` method actually return a method name, not the wrapping.

But why can't `Opal.def` itself return 'a'? If it does, we would be able to get to this form:

`...

2fc7069bb46635b010d77613313e0ffd3099ab89 authored almost 3 years ago by hmdne <[email protected]>
Increase the number of tries for the runtime performance check

a1352587c43835bdbbd03833a9af2494c77e0e7a authored almost 3 years ago by Elia Schito <[email protected]>
Optimize variable creation for block passing

Ok, now for a very simple function:

```ruby
def a(&block)
end
```

You may wonder, what does th...

1df4550d3a6a65c381eb4dba5d0e533897332d5e authored almost 3 years ago by hmdne <[email protected]>
Remove nil from def/defs generated code

The previous versions of Ruby tended to return `nil` for method definition, but later changed to...

715d84aea99e2c5b8361de34c120fa45d100fc22 authored almost 3 years ago by hmdne <[email protected]>
Don't define self = this if it's not needed

In Opal, we always alias `this` to `self`. But, let's consider the
following code. Do we really ...

8c6676feea1dceb5f731736d3502e7a5d3923d26 authored almost 3 years ago by hmdne <[email protected]>
Update UNRELEASED.md

cca7c7fa044e1bb8a46dd50862c5a378d3a16b8d authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2345 from opal/elia/fix-497

Fix defining multiple methods with the same block

2142f71b03367bdc029065d09cd6bdd17085cc18 authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2355 from takaram/string_each_line_chomp

Implement `chomp` option for `String#each_line` and `#lines`

7a800db7142a59bcb8720770ef8c6626e653c806 authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2360 from opal/hmdne/ci-fix

Don't lock Bundler version

1503448f54a6451bf6df87a762a3ad76c367795a authored almost 3 years ago by hmdne <[email protected]>
Don't lock Bundler version

This aims to fix the CI for Ruby <3.0.

63fcd450d40ccb436464a5e7adc4a1e8d94f2e0d authored almost 3 years ago by hmdne <[email protected]>
Release v1.3.2

b1636713ac29e0eded83ed69c648322fd747cfe0 authored almost 3 years ago by Elia Schito <[email protected]>
Update UNRELEASED.md

b3eacf425ab2192a2042a5313e38c58e8d1f210c authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2354 from opal/hmdne/fix-2351

Stop interpreting falsey values as a missing constant in `Module#const_get`

f4d05e2a6c5f40afae7c8bd75f1eecd2360ee783 authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2353 from opal/hmdne/fix-2352

Do not modify `$~` when calling `String#scan` from internal methods

b58067a38256aa663fb95fbcc2416b40b4a0dd1b authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2346 from opal/hmdne/fix-2196

Raise an error if not a string is passed to __send__

36a43bc1c779e22fee59c2d1622cd907bfbcc98f authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2349 from opal/hmdne/fix-gets

Fix IO#gets

2bd5f6662dc005bb548dc71cc57cab1f0931c8d6 authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2350 from opal/hmdne/update-docs

Update documentation

dfbbc6c3cf77df9e239828822c3d123d47583ee0 authored almost 3 years ago by Elia Schito <[email protected]>
Fix #2351

This commit fixes a regression introduced by 9d3a43d. In runtime,
const_get_name had a check lik...

5eddf17a7a3a627baa3df9e023a5689aeadb21b7 authored almost 3 years ago by hmdne <[email protected]>
Fix #2352

Allow String#scan to be called with a private kwarg `no_matchdata`,
which ensures that `$~` isn'...

e61305954ef70eafb44c282f52700a76a2b314c6 authored almost 3 years ago by hmdne <[email protected]>
Implement `chomp` option for `String#each_line` and `#lines`

89f4477a261f1f34c814539a758dc21403c585b9 authored almost 3 years ago by Takuya Aramaki <[email protected]>
Update headless_chrome.md

2cbb034930d9144b7966aa0a169ffadf9c25b466 authored almost 3 years ago by hmdne <[email protected]>
Update opal_parser.md

e9fe29065521bcf3cf73ddba3d02da2cc92fe4f2 authored almost 3 years ago by hmdne <[email protected]>
Update static_applications.md

796638b5221c1d1fb39dce22d7b26ef28903ee9b authored almost 3 years ago by hmdne <[email protected]>
Update jquery.md

4d2e40dbc1fac0ce5f742a9b66a4134a866db941 authored almost 3 years ago by hmdne <[email protected]>
Update source_maps.md

c31e93b0c869d132d3e97abe6bbf14bc93baa74a authored almost 3 years ago by hmdne <[email protected]>
Update roda-sprockets.md

29d54f93901e2e1c280ea591e2fb2824eee82759 authored almost 3 years ago by hmdne <[email protected]>
Update unsupported_features.md

db72f9480ca7b16fbb02f22a18789941e1d599da authored almost 3 years ago by hmdne <[email protected]>
Update promises.md

481e7f4fb0f5dd00fe1ff0187d432324a0674886 authored almost 3 years ago by hmdne <[email protected]>
Update compiled_ruby.md

4d355616b415d411813769bbd4995bff470d2c9d authored almost 3 years ago by hmdne <[email protected]>
Update faq.md

c7334245b74af3a1cfb7b8ecf90edf5098e83aed authored almost 3 years ago by hmdne <[email protected]>
Fix defining multiple methods with the same block

Especially when using `super`.

3eacd508eb55daa34198330bf6820579428d845d authored almost 3 years ago by Elia Schito <[email protected]>
Use the updated name for the super finder

9af19864c34986b61a2fb6c4a476cec16c1f70b1 authored almost 3 years ago by Elia Schito <[email protected]>
Fix globals definition for QuickJS stdlib

9cb891c59181decedbf913f57b60c549b0933c5e authored almost 3 years ago by Elia Schito <[email protected]>
Exit with non-zero if eslint finds issues

16a7f9af2b9a40a0fd95bac38b931366fe5d7a1e authored almost 3 years ago by Elia Schito <[email protected]>
Fix IO#gets

Under certain circumstances gets was getting one more character.
I added extensive tests to find...

694fc2751a53bb48c622e7b62a2b668f5cb490fc authored almost 3 years ago by hmdne <[email protected]>
Raise an error if not a string is passed to __send__

a1f4086e8ef73b75d671730c1cd733980d2f0d1b authored almost 3 years ago by hmdne <[email protected]>
Add instructions on how to do github releases

6ad0f920e49df8e3f280286f01b2f0993f47d759 authored almost 3 years ago by Elia Schito <[email protected]>
Update CHANGELOG.md

3bd0d89c88dc59f4b6605395d7bac0c57fc8e763 authored almost 3 years ago by Elia Schito <[email protected]>
Update UNRELEASED.md

771b686f0bdf2887b5104d6cd96135a9ee3bf713 authored almost 3 years ago by Elia Schito <[email protected]>
Release v3.0.1

9c8ea6dd03949c8519806661924d53a49f7d459b authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2342 from opal/hmdne/corelib-yield1

Fix a few Opal.yield1 issues

b9279ca72c4de21c9e3680aa6ffb328c682ab341 authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2339 from opal/hmdne/chrome-runner-touches

Chrome runner touches

e9d8538487ce34ce89ff68f60f09a7a63690028f authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2341 from opal/hmdne/binding-fix

Implement Proc#binding correctly

314c9b8f76d8124e47b420e31edd1ef7d003605e authored almost 3 years ago by Elia Schito <[email protected]>
String#scan to yield properly

Fixes #1660.

c99cf37e6e4c1fdf7d3dd0fc85aed72d05e823f4 authored almost 3 years ago by hmdne <[email protected]>
Array#zip to yield properly

Fixes #1611.

d0a6db52f9f3d693880849ba7f2de569660d6faf authored almost 3 years ago by hmdne <[email protected]>
Use RbConfig.ruby to locate the Ruby executable

9520d8d444938ca37bf83089ce22b92e2b922587 authored almost 3 years ago by hmdne <[email protected]>
Implement Proc#binding correctly; fixes #2340

82e1e8bc3b27762a855f07846703b8bdf4e08754 authored almost 3 years ago by hmdne <[email protected]>
Why block chrome runner on other Unixes? I'm certain it will work there as well

62091cb2738c5b68b64bd2f1edc53b9989217942 authored almost 3 years ago by hmdne <[email protected]>
Fix chrome runner execution - we used bundle exec

070e99bc9eaa9094f365affdb7e1e29b97c425ee authored almost 3 years ago by hmdne <[email protected]>
Merge pull request #2338 from opal/hmdne/opal-repl-fix

Fix opal-repl execution - we used bundle exec

ac609eed79935711305c957ee6914369391e3bf7 authored almost 3 years ago by Elia Schito <[email protected]>
Fix opal-repl execution - we used bundle exec

641ccc1f75e58a61c6918ab708f7c06008eff2d4 authored almost 3 years ago by hmdne <[email protected]>
Update release instructions

141400a1c4192c59082d086cc90687f85f71f631 authored almost 3 years ago by Elia Schito <[email protected]>
Release v1.3.0

7a2b1eefbf95dcb1a5601711c6e8d51e6e326efd authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2336 from janbiedermann/return_is_required

require must return a result

b4574826fce0cb85d9bab36d8c5cfe48fabbe8db authored almost 3 years ago by Elia Schito <[email protected]>
require must return a result

ddd4a0756e44bdc4990ccad354bcac192c010f66 authored almost 3 years ago by Jan Biedermann <[email protected]>
Merge pull request #2335 from opal/hmdne/changelog

Update UNRELEASED.md

6d50787603f4290bd0e11041e33e3a7d62555d04 authored almost 3 years ago by hmdne <[email protected]>
Update UNRELEASED.md

cb1d64c560322ecab328dd0f2b72a940f33502b6 authored almost 3 years ago by hmdne <[email protected]>
Update UNRELEASED.md

02cd6292df3e95b55dad9045564cf54a2e5c3abb authored almost 3 years ago by hmdne <[email protected]>
Release v1.3.0.rc1

f7db8c230a28c40ceb2b216b0ccac25bbb468655 authored almost 3 years ago by Elia Schito <[email protected]>
Update UNRELEASED.md

9f0fba4028d8cd0b50f84156df48741648477a5a authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2323 from janbiedermann/autoload_refinement

Autoload refinement

ebbeae15ad7bbe68f024b729282a56d9e4993d7f authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2334 from opal/elia/chrome-runner-fixes

Small Chrome runner fixes

6427b6cd885048988560126b0c886e784509962d authored almost 3 years ago by Elia Schito <[email protected]>
Merge pull request #2332 from opal/hmdne/opalinopal-lite

Opal-in-Opal - lite version

3d2e03415a849e462f3d6bcfc783c0c96017ec2e authored almost 3 years ago by Elia Schito <[email protected]>
Let shellwords take care of the escaping for the chrome runner

ffe0dff94b3967792b92508bb6b506a2892ac027 authored almost 3 years ago by Elia Schito <[email protected]>
Don't escape the chrome executable twice

c4261907c9d954616aa022a12dd64f456608eeca authored almost 3 years ago by Elia Schito <[email protected]>