mirror of https://github.com/boa-dev/boa.git
Tree:
75b86477e5
add-vhs-ci
benchmarks
control-flow-graph
dependabot/cargo/rust-dependencies-50dc4690b8
expect-lints
feature/node_span
feature/snapshot
features
gh-readonly-queue/main/pr-2877-b0ddf5eed00a53281d67fc7d846233fc0d99ce9c
gh-readonly-queue/main/pr-3144-8e48cec73fae708420b9af88813d4870243c491a
local-parameters-if-mapped-arguments-object-not-accessed
main
nan-boxing
optimization/static-shapes
patch-pdt-since
real_conformance
refactor/interner
refactor/register-vm
releases/0.17
releases/0.19
semver_checks
tco
utility-crate
wasm-debugger
nightly
v0.10
v0.11
v0.12
v0.13
v0.14
v0.15
v0.16
v0.17
v0.17.1
v0.17.2
v0.17.3
v0.18
v0.19
v0.19.1
v0.2.0
v0.2.1
v0.20
v0.3.0
v0.4.0
v0.5.0
v0.5.1
v0.6.0
v0.7.0
v0.8.0
v0.9.0
${ noResults }
2065 Commits (75b86477e5d5663261fb6056542034c2811b6ec0)
Author | SHA1 | Message | Date |
---|---|---|---|
dependabot[bot] | 8c58339b38 |
Bump test262 from `b5d3192` to `85373b4` (#2397)
Bumps [test262](https://github.com/tc39/test262) from `b5d3192` to `85373b4`. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Halid Odat | bc2dd9c4bd |
Fix order dependent execution in assignment. (#2378)
Fixes #1917 (fixes the code example given with the hashes) Fixes the order dependent execution of assignment, so the following code works correctly: ```javascript function f(x) { console.log(x) } // used to check the order of execution let a = [[]] (f(1), a)[(f(2), 0)][(f(3), 0)] = (f(4), 123) // 🤮 ``` Prints out: ```bash 1 2 3 4 123 ``` As expected This introduces some opcodes: - ~~`Swap3`: currently used only to keep some previous code working that needs refactoring.~~ - ~~`RotateRight n`: Rotates the `n` top values from the top of the stack to the right by `1`.~~ Already added by #2390 ~~Besides the new opcodes,~~ Some opcodes pop and push order of values on the stack have been changed. To eliminate many swaps and to make this change easier. ~~This PR is still a WIP and needs more refactoring~~ This is now ready for review/merge :) |
2 years ago |
José Julián Espina | 18824baba8 |
Generate `Opcode` impl using macro (#2391)
This reduces a lot of the repetition from the `Opcode` functions and makes it easier to add a new Op. |
2 years ago |
José Julián Espina | 4b892a931d |
Implement optional chains (#2390)
This Pull Request implements optional chains.
Example:
```Javascript
const adventurer = {
name: 'Alice',
cat: {
name: 'Dinah'
}
};
console.log(adventurer.cat?.name); // Dinah
console.log(adventurer.dog?.name); // undefined
```
Since I needed to implement `Opcode::RotateLeft`, and #2378 had an implementation for `Opcode::RotateRight`, I took the opportunity to integrate both ops into this PR (big thanks to @HalidOdat for the original implementation!).
This PR almost has 100% conformance for the `optional-chaining` test suite. However, there's this one [test](
|
2 years ago |
raskad | f446c0970f |
Remove invalid optimization in addition (#2387)
This Pull Request changes the following: - Remove invalid optimization in addition where `ToPrimitive` calls where skipped. |
2 years ago |
raskad | b67596bc9b |
Add named evaluation of logical assignments (#2389)
This Pull Request changes the following: - Add named evaluation of logical assignments |
2 years ago |
raskad | 203c1961bb |
Skip prototype field definition for arrow function (#2388)
This Pull Request changes the following: - Skip prototype field definition for arrow function - Add `GetArrowFunction` opcode |
2 years ago |
raskad | 786357919f |
Set `in` to `true` when parsing AssignmentExpression in ConditionalExpression (#2386)
This Pull Request fixes the following: - Set `in` to `true` when parsing AssignmentExpression in ConditionalExpression |
2 years ago |
Kevin | f026f2005a |
Implement `JsGenerator` and wrapper docs clean up (#2380)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> This Pull Request is related to #2098. It changes the following: - Implements a wrapper for the `Generator` built-in object - Adds to some of the documentation across the builtin wrappers with the goal of trying to clean up the documentation by making it a bit more consistent [on boa's docs](https://boa-dev.github.io/boa/doc/boa_engine/object/builtins/index.html) |
2 years ago |
José Julián Espina | 762dd93d44 |
Fix var collisions in strict eval calls (#2382)
This Pull Request allows collisions of var declarations with already existing lexical bindings if the `eval` call is strict or occurs within strict code. In short, it allows: ```Javascript { let x; { eval('"use strict"; var x;'); } } ``` and ```Javascript "use strict"; { let x; { eval('var x;'); } } ``` This is valid since in strict code all `eval` calls get their own function environment, making it impossible to declare a new var in the outer function environment. This change also skips poisoning environments on strict code, because `eval` cannot add new declarations for the current environment in that situation. |
2 years ago |
José Julián Espina | 8a5f141125 |
Reduce documentation size in blog (#2383)
The documentation page of our blog is a whooping 532 MB in size. This is because we're uploading the whole documentation of all our deps instead of only our crates. This PR modifies our CI to only upload a lightweight version of our documentation, which excludes all deps (replaces all hyperlinks with crates.io links) and only builds our crates docs. This brings the total size of our docs down to 87 MB. |
2 years ago |
José Julián Espina | 447fca4cc0 |
Implement member accessors in initializer of for loops (#2381)
This Pull Request implements member accessors in `for ... in` and `for ... of` loops. This unlocks patterns like: ```Javascript let obj = {a: 0, b: 1}; for (obj.a of [1,2,3]) { } console.log(obj.a) // 3 ``` |
2 years ago |
José Julián Espina | 89e3081672 |
Document the AST (#2377)
As promised in https://github.com/boa-dev/boa/pull/2319#issuecomment-1280095047. There are still some style inconsistencies (which require a bit more time and effort), but having the whole module documented is a lot better for clarity. |
2 years ago |
Iban Eguia Moraza | 6a43878b04 |
Updated the Code of Conduct (#2365)
This updates the Code of Conduct to the Contributor Covenant v2.1 version (we were using the 2.0 version until now). Changes are very minor. As far as I can tell, the only content difference is the explicit mention of _caste_ and _color_ among the potential traits that could cause harassment. Then it just changes the format a bit to make links a bit more user friendly, by not posting URLs directly. But I have a question: should we update the contact method? It currently says the following: > Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [discord](https://discord.gg/tUFFk9Y) by contacting _JaseW_. Maybe we should mention the `@boa-dev` group, and that they can contact anyone there. What do you think? I would also like to update this before https://github.com/boa-dev/ryu-js/pull/22 |
2 years ago |
João Borges | 48e6513564 |
Cleanup and speed-up CI (#2376)
Currently we run 7 different jobs: - tests linux - tests macos - tests windows - rustfmt - clippy - examples - documentation With this change I reduced them to 4 and hopefully sped them up. The total execution time is limited by the tests, especially linux that calculates coverage. Having separate jobs for clippy and rustfmt (which take a very small amount of time) is a waste of energy. With this PR: Introduced a new cargo profile, `ci`, that should create smaller sized binaries and reduce the our cache usage. I changed the test runner for macos and windows to [nextest](https://nexte.st/), which should be faster and is specifically designed for CI. I merged all smaller tasks in a single job, misc, the steps clearly identify what is being tested so it shouldn't affect clarity. Switched to using the [rust-cache](https://github.com/Swatinem/rust-cache) GH action, this simplifies our work by no longer having to worry about which directories to cache, rust-cache handles all that for us. ~~The bors task should also be modified, I'll get to it as soon as I have time. I believe it should be possible for us to have a single workflow described and have it both be the normal CI and the bors test.~~ |
2 years ago |
dependabot[bot] | 946a4ddf74 |
Bump serde from 1.0.145 to 1.0.147 (#2374)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.145 to 1.0.147. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.147</h2> <ul> <li>Add <code>serde:🇩🇪:value::EnumAccessDeserializer</code> which transforms an <code>EnumAccess</code> into a <code>Deserializer</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2305">#2305</a>)</li> </ul> <h2>v1.0.146</h2> <ul> <li>Allow internally tagged newtype variant to contain unit (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2303">#2303</a>, thanks <a href="https://github.com/tage64"><code>@tage64</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | d10df0221c |
Bump serde_yaml from 0.9.13 to 0.9.14 (#2373)
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.9.13 to 0.9.14. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/serde-yaml/releases">serde_yaml's releases</a>.</em></p> <blockquote> <h2>0.9.14</h2> <ul> <li>Implement <code>Deserializer</code> for <code>TaggedValue</code> and <code>&TaggedValue</code> (<a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/339">#339</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | b9335b72ac |
Bump boa-dev/criterion-compare-action from 3.2.3 to 3.2.4 (#2372)
Bumps [boa-dev/criterion-compare-action](https://github.com/boa-dev/criterion-compare-action) from 3.2.3 to 3.2.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/boa-dev/criterion-compare-action/releases">boa-dev/criterion-compare-action's releases</a>.</em></p> <blockquote> <h2>v3.2.4</h2> <p>This release fixes an issue that could happen in some cases when checking out the base branch. It also updates dependencies.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 5ba101d4bc |
Bump test262 from `ee7c379` to `b5d3192` (#2375)
Bumps [test262](https://github.com/tc39/test262) from `ee7c379` to `b5d3192`. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
raskad | de231df63a |
Allow LineTerminator before Semicolon in `continue` (#2371)
This Pull Request changes the following: - Check if there is a Semicolon after a LineTerminator is found in a `continue` statement. |
2 years ago |
Kevin | af5970e8e7 |
Changes neccesary -> necessary (#2370)
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel neccesary.
--->
Just a small fix to a typo in the comment on the PR template 😄
|
2 years ago |
Iban Eguia Moraza | f4cef141b0 |
Removed some duplicate code, added `ToIndentedString` (#2367)
In most cases, the `ToInternedString` was just calling `self.to_indented_string(interner, 0)`. This avoids all this duplicate code by adding a new trait, `ToIndentedString`. Any type implementing that automatically implements `ToInternedString`. I have also added a bunch of `#[inline]` in one-liners, and some one-line documentations for some functions. I have noticed that we also use `contains()` and `contains_arguments()` a lot. Would it make sense to create traits for this? |
2 years ago |
Kevin | 9a05b1ef81 |
Split vm/opcode into modules (#2343)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> Hi! This isn't really related to a pull request that I know of. I was trying to better wrap my head around Boa's VM and thought I'd break it apart so that the file wasn't 2500+ lines. I figured I'd submit it as a draft and get feedback/see if anyone was interested in it. The way the modules were broken apart was primarily based off the opcode name (`GetFunction` & `GetFunctionAsync` -> `./get/function.rs`). It changes the following: - Adds an `Operation` trait to opcode/mod.rs - Implements `Operation` for each Opcode variant, moving the executable instruction code from `vm/mod.rs` to the respective module Co-authored-by: raskad <32105367+raskad@users.noreply.github.com> |
2 years ago |
raskad | 80017fdf15 |
Fix error in `Proxy` set implementation (#2369)
This Pull Request changes the following: - Fix error in `Proxy` set implementation After this all other failing `Proxy` tests fail because of us missing the `with` implementation. Co-authored-by: RageKnify <RageKnify@gmail.com> |
2 years ago |
José Julián Espina | d4c220a70b |
Implement `LabelledStatement` (#2349)
This Pull Request changes the following: - Implements the `LabelledStatement` Parse node. - Removes `label` from all label-able items (switch, blocks and loop statements). - Adjusts parsing to the new AST. #2295 isn't fixed by this, but with this change it should be easier to fix. |
2 years ago |
Choongwoo Han | 904e422d36 |
Fix Regex literal parsing in MemberExpression (#2328)
This Pull Request fixes/closes #2327 It changes the following: - set_goal(RegExp) for PrimaryExpression parsing |
2 years ago |
Iban Eguia Moraza | a47d9ec732 |
Modified the `loadfile` example to show how Boa can read bytes (#2363)
Boa's `Context::eval()` and `Context::parse()` functions allow reading a byte slice directly, apart from a string. We were not showing this properly in our examples, so this modifies the `loadfile.rs` example to use a byte vector instead of a string, which allows us to use UTF-16 files, if I'm not mistaken. |
2 years ago |
Iban Eguia Moraza | 5e75cf68ff |
Removed the "VM Implementation" headline for Test262 (#2364)
We were always getting a "VM Implementation" headline in Test262 results for PRs. This was a leftover from the time when we had 2 distinct implementations for the execution. This is no longer the case, so we can remove it to reduce clutter. |
2 years ago |
Iban Eguia Moraza | f708a764c2 |
Fixed some documentation and clippy warnings in tests (#2362)
This Pull Request fixes a small error in the documentation of `Context::register_global_function()` method, and a few clippy errors we were getting in the tests. |
2 years ago |
dependabot[bot] | 2c559392f1 |
Bump clap from 4.0.17 to 4.0.18 (#2360)
Bumps [clap](https://github.com/clap-rs/clap) from 4.0.17 to 4.0.18. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.0.18</h2> <h2>[4.0.18] - 2022-10-20</h2> <h3>Fixes</h3> <ul> <li><em>(derive)</em> Allow <code>#[command(skip)]</code> to also work with enum variants with a value</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.0.18] - 2022-10-20</h2> <h3>Fixes</h3> <ul> <li><em>(derive)</em> Allow <code>#[command(skip)]</code> to also work with enum variants with a value</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | f6e189e628 |
Bump getrandom from 0.2.7 to 0.2.8 (#2359)
Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.7 to 0.2.8. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md">getrandom's changelog</a>.</em></p> <blockquote> <h2>[0.2.8] - 2022-10-20</h2> <h3>Changed</h3> <ul> <li>The <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API">Web Cryptography API</a> will now be preferred on <code>wasm32-unknown-unknown</code> when using the <code>"js"</code> feature, even on Node.js <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/284">#284</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/295">#295</a></li> </ul> <h3>Added</h3> <ul> <li>Added benchmarks to track buffer initialization cost <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/272">#272</a></li> </ul> <h3>Fixed</h3> <ul> <li>Use <code>$crate</code> in <code>register_custom_getrandom!</code> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/270">#270</a></li> </ul> <h3>Documentation</h3> <ul> <li>Add information about enabling <code>"js"</code> feature <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/280">#280</a></li> <li>Fix link to <code>wasm-bindgen</code> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/278">#278</a></li> <li>Document the varied implementations for underlying randomness sources <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/276">#276</a></li> </ul> <p><a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/284">#284</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/284">rust-random/getrandom#284</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/295">#295</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/295">rust-random/getrandom#295</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/272">#272</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/272">rust-random/getrandom#272</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/270">#270</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/270">rust-random/getrandom#270</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/280">#280</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/280">rust-random/getrandom#280</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/278">#278</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/278">rust-random/getrandom#278</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/276">#276</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/276">rust-random/getrandom#276</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 96d4ed8d70 |
Bump syn from 1.0.102 to 1.0.103 (#2358)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.102 to 1.0.103. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>1.0.103</h2> <ul> <li>Implement <code>PartialOrd</code> for <code>Cursor</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1236">#1236</a>, <a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1237">#1237</a>, thanks <a href="https://github.com/CAD97"><code>@CAD97</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | e07f79254c |
Bump anyhow from 1.0.65 to 1.0.66 (#2361)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.65 to 1.0.66. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p> <blockquote> <h2>1.0.66</h2> <ul> <li>Reduce unhelpful backtrace frames in backtraces captured during a <code>context</code> call (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/279">#279</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | d51fee7237 |
Bump serde_json from 1.0.86 to 1.0.87 (#2355)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.86 to 1.0.87. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.87</h2> <ul> <li>Add <code>write_i128</code> and <code>write_u128</code> methods to <code>serde_json::Formatter</code> to control the formatting of 128-bit integers (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/940">#940</a>, thanks <a href="https://github.com/Lucretiel"><code>@Lucretiel</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | dc9c1cb275 |
Create new lazy Error type (#2283)
This is an experiment that tries to migrate the codebase from eager `Error` objects to lazy ones. In short words, this redefines `JsResult = Result<JsValue, JsError>`, where `JsError` is a brand new type that stores only the essential part of an error type, and only transforms those errors to `JsObject`s on demand (when having to pass them as arguments to functions or store them inside async/generators). This change is pretty big, because it unblocks a LOT of code from having to take a `&mut Context` on each call. It also paves the road for possibly making `JsError` a proper variant of `JsValue`, which can be a pretty big optimization for try/catch. A downside of this is that it exposes some brand new error types to our public API. However, we can now implement `Error` on `JsError`, making our `JsResult` type a bit more inline with Rust's best practices. ~Will mark this as draft, since it's missing some documentation and a lot of examples, but~ it's pretty much feature complete. As always, any comments about the design are very much appreciated! Note: Since there are a lot of changes which are essentially just rewriting `context.throw` to `JsNativeError::%type%`, I'll leave an "index" of the most important changes here: - [boa_engine/src/error.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-f15f2715655440626eefda5c46193d29856f4949ad37380c129a8debc6b82f26) - [boa_engine/src/builtins/error/mod.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-3eb1e4b4b5c7210eb98192a5277f5a239148423c6b970c4ae05d1b267f8f1084) - [boa_tester/src/exec/mod.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-fc3d7ad7b5e64574258c9febbe56171f3309b74e0c8da35238a76002f3ee34d9) |
2 years ago |
dependabot[bot] | 4601b928e0 |
Bump clap from 4.0.16 to 4.0.17 (#2354)
Bumps [clap](https://github.com/clap-rs/clap) from 4.0.16 to 4.0.17. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.0.17</h2> <h2>[4.0.17] - 2022-10-18</h2> <h3>Fixes</h3> <ul> <li>Allow using <code>Arg::last(true)</code> with <code>Arg::value_hint(ValueHint::CommandWithArguments)</code></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.0.17] - 2022-10-18</h2> <h3>Fixes</h3> <ul> <li>Allow using <code>Arg::last(true)</code> with <code>Arg::value_hint(ValueHint::CommandWithArguments)</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | deb9ec208c |
Bump crazy-max/ghaction-github-pages from 3.0.0 to 3.1.0 (#2353)
Bumps [crazy-max/ghaction-github-pages](https://github.com/crazy-max/ghaction-github-pages) from 3.0.0 to 3.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crazy-max/ghaction-github-pages/releases">crazy-max/ghaction-github-pages's releases</a>.</em></p> <blockquote> <h2>v3.1.0</h2> <ul> <li>Bump <code>@actions/core</code> from 1.6.0 to 1.10.0 (<a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/177">#177</a> <a href="https://github-redirect.dependabot.com/crazy-max/ghaction-github-pages/issues/178">#178</a>)</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/crazy-max/ghaction-github-pages/compare/v3.0.0...v3.1.0">https://github.com/crazy-max/ghaction-github-pages/compare/v3.0.0...v3.1.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 427bd17941 |
Bump test262 from `eb67a76` to `ee7c379` (#2348)
Bumps [test262](https://github.com/tc39/test262) from `eb67a76` to `ee7c379`. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | b0cf873a46 |
Bump monaco-editor from 0.34.0 to 0.34.1 (#2351)
Bumps [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.34.0 to 0.34.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md">monaco-editor's changelog</a>.</em></p> <blockquote> <h2>[0.34.1]</h2> <ul> <li>Adds API to register global actions, commands, or keybinding rules</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/microsoft/monaco-editor/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=monaco-editor&package-manager=npm_and_yarn&previous-version=0.34.0&new-version=0.34.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> |
2 years ago |
dependabot[bot] | c51382ae75 |
Bump clap from 4.0.12 to 4.0.16 (#2352)
Bumps [clap](https://github.com/clap-rs/clap) from 4.0.12 to 4.0.16. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.0.16</h2> <h2>[4.0.16] - 2022-10-18</h2> <h3>Fixes</h3> <ul> <li><code>Arg::exclusive(true)</code> should not be exclusive with the argument's own <code>ArgGroup</code></li> </ul> <h2>v4.0.15</h2> <h2>[4.0.15] - 2022-10-13</h2> <h3>Fixes</h3> <ul> <li><em>(error)</em> Don't suggest <code>--</code> when it doesn't help</li> <li><em>(error)</em> Be more consistent in quoting, punctuation, and indentation in errors</li> </ul> <h2>v4.0.14</h2> <h2>[4.0.14] - 2022-10-12</h2> <h3>Fixes</h3> <ul> <li>Only put <code>ArgGroup</code> in <code>ArgMatches</code> when explicitly specified, fixing derives handling of option-flattened fields (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4375">#4375</a>)</li> </ul> <h2>v4.0.13</h2> <h2>[4.0.13] - 2022-10-11</h2> <h3>Features</h3> <ul> <li><em>(derive)</em> Allow <code>()</code> for fields to mean "don't read" (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4371">#4371</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.0.16] - 2022-10-18</h2> <h3>Fixes</h3> <ul> <li><code>Arg::exclusive(true)</code> should not be exclusive with the argument's own <code>ArgGroup</code></li> </ul> <h2>[4.0.15] - 2022-10-13</h2> <h3>Fixes</h3> <ul> <li><em>(error)</em> Don't suggest <code>--</code> when it doesn't help</li> <li><em>(error)</em> Be more consistent in quoting, punctuation, and indentation in errors</li> </ul> <h2>[4.0.14] - 2022-10-12</h2> <h3>Fixes</h3> <ul> <li>Only put <code>ArgGroup</code> in <code>ArgMatches</code> when explicitly specified, fixing derives handling of option-flattened fields (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4375">#4375</a>)</li> </ul> <h2>[4.0.13] - 2022-10-11</h2> <h3>Features</h3> <ul> <li><em>(derive)</em> Allow <code>()</code> for fields to mean "don't read" (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4371">#4371</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | e592a8234e |
Bump boa-dev/criterion-compare-action from 3.2.2 to 3.2.3 (#2347)
Bumps [boa-dev/criterion-compare-action](https://github.com/boa-dev/criterion-compare-action) from 3.2.2 to 3.2.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/boa-dev/criterion-compare-action/releases">boa-dev/criterion-compare-action's releases</a>.</em></p> <blockquote> <h2>v3.2.3</h2> <p>This release updates the used dependencies.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | 959b9f1b6d |
Split `Node` into `Statement`, `Expression` and `Declaration` (#2319)
This Pull Request fixes #1371. And yeah, the number of file changes is real... It changes the following: - Split the ast `Node` into `Statement` and `Expression`. - Rewrite the parser and bytecompiler to conform to this change. - Refactor some ast nodes into reusable structures. - Rewrite `contains_arguments` and `contains` to ease the transition into a future ast visitor. List of things that were apparently fixed by this refactor?: - Implement read-assign operation for private accessors (e.g. `this.#field ||= 5`). - `var await` declaration now allowed outside `async` functions and inside functions nested in async functions. - Reject redeclarations of variables declared in the init list of a for loop. Still missing some documentation adjustments, will try to do it ASAP. |
2 years ago |
Kevin | 13dcdd4a97 |
Implement `JsRegExp` (#2326)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> This Pull Request is related to #2098. It changes the following: - Implements `JsRegExp` - Adds a brief `JsRegExp` example under `boa_examples` |
2 years ago |
Iban Eguia | 9998a6787c |
Upgrade clap to 4.0, add value hints for zsh and fish (#2336)
This Pull Request fixes/closes #2330. It changes the following: - Upgrades from clap 3 to clap 4 (note that criterion still uses clap 3, tracked here: https://github.com/bheisler/criterion.rs/issues/596) - Updates the derive syntax with the new 4.0 syntax - Adds hints for fish & zsh Co-authored-by: José Julián Espina <jedel0124@gmail.com> |
2 years ago |
José Julián Espina | c645f8530e |
Bump serde_json from 1.0.85 to 1.0.86 (#2341)
Replaces #2339 since dependabot has a small bug. |
2 years ago |
José Julián Espina | df70302194 |
First prototype for new `JsString` using UTF-16 (#1659)
I think it's time to address the elephant in the room. This Pull Request will (hopefully!) solve part of #736. This is a complete rewrite of `JsString`, but instead of storing `u8` bytes it stores `u16` words. The `encode!` macro (renamed to `utf16!` for simplicity) from the `const-utf16` crate allows us to create UTF-16 encoded arrays at compilation time. `JsString` implements `Deref<Target=[u16]>` to unlock the slice methods and possibly make some manipulations easier. However, we would need to create our own library of utilities for `JsString`. |
2 years ago |
dependabot[bot] | 07389cbad1 |
Bump test262 from `58b7a23` to `eb67a76` (#2334)
Bumps [test262](https://github.com/tc39/test262) from `58b7a23` to `eb67a76`. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Calli | c8f6f85d61 |
Separate JsObjectType implementors to their own module (#2324)
This Pull Request closes #2080. It moves all implementors of the `JsObjectType` trait into their own `js_object` module. This should simplify documentation and by doing a `pub(crate)` export in `object` little to no imports within the crate need to be changed, simplifying the usage of this module within the boa_engine crate. Documentation within the `object` module has been updated to reflect this change and in a way that it is shown on the home page of the documentation. |
2 years ago |
Iban Eguia | 18ab56eaf3 |
Fixing the output for the test diffs in PRs (#2320)
This PR fixes PR comments where negative numbers from 100 to 999 would be shown as `-,999` instead of `-999` |
2 years ago |
dependabot[bot] | d0808de092 |
Bump test262 from `e849d40` to `58b7a23` (#2323)
Bumps [test262](https://github.com/tc39/test262) from `e849d40` to `58b7a23`. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |