<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel neccesary.
--->
This Pull Request fixes/closes #1601
It changes the following:
- implements `FormalParameter` using `syntax::ast::node::declaration::Declaration` as
```
pub struct FormalParameter {
declaration: Declaration,
is_rest_param: bool,
}
```
- changes `fn test_formatting(source: &'static str)` in `ast::node` to setup tests based on the new struct definition
- changes in various tests using `FormalParameter`
- changes in files using `FormalParameter`
What it does not change:
- if the function uses `FormalParameter` but does not seem affected due to the changed definition it is not altered while keeping all the required features i.e. if it wasn't affected but ended up giving undesired (not error) behaviour it has been changed
Co-authored-by: Aman Kumar <57605821+am-a-man@users.noreply.github.com>
This PR adds conformance results for the VM branch both for PRs and for the conformance results in GitHub pages (even if these are not currently being shown). I'm not 100% sure how this will really work, as I'm not very used to the syntax to concatenate strings.
Co-authored-by: João Borges <rageknify@gmail.com>
Co-authored-by: RageKnify <RageKnify@gmail.com>
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 6.4.0 to 6.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/webpack-contrib/css-loader/releases">css-loader's releases</a>.</em></p>
<blockquote>
<h2>v6.5.0</h2>
<h2><a href="https://github.com/webpack-contrib/css-loader/compare/v6.4.0...v6.5.0">6.5.0</a> (2021-10-26)</h2>
<h3>Features</h3>
<ul>
<li>support absolute URL in <code>url()</code> when <code>experiments.buildHttp</code> enabled (<a href="https://github-redirect.dependabot.com/webpack-contrib/css-loader/issues/1389">#1389</a>) (<a href="8946be4d0f">8946be4</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>respect <code>nosources</code> in the <code>devtool</code> option (<a href="c60eff2123">c60eff2</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md">css-loader's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/webpack-contrib/css-loader/compare/v6.4.0...v6.5.0">6.5.0</a> (2021-10-26)</h2>
<h3>Features</h3>
<ul>
<li>support absolute URL in <code>url()</code> when <code>experiments.buildHttp</code> enabled (<a href="https://github-redirect.dependabot.com/webpack-contrib/css-loader/issues/1389">#1389</a>) (<a href="8946be4d0f">8946be4</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>respect <code>nosources</code> in the <code>devtool</code> option (<a href="c60eff2123">c60eff2</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="86d77cadf9"><code>86d77ca</code></a> chore(release): 6.5.0</li>
<li><a href="c60eff2123"><code>c60eff2</code></a> fix: respect <code>nosources</code> in the <code>devtool</code> option</li>
<li><a href="897e7dd250"><code>897e7dd</code></a> refactor: future build <code>@import</code> (<a href="https://github-redirect.dependabot.com/webpack-contrib/css-loader/issues/1390">#1390</a>)</li>
<li><a href="8946be4d0f"><code>8946be4</code></a> feat: support absolute URL in <code>url()</code> when <code>experiments.buildHttp</code> enabled (#...</li>
<li><a href="fee058293e"><code>fee0582</code></a> refactor: use new API (<a href="https://github-redirect.dependabot.com/webpack-contrib/css-loader/issues/1387">#1387</a>)</li>
<li>See full diff in <a href="https://github.com/webpack-contrib/css-loader/compare/v6.4.0...v6.5.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=css-loader&package-manager=npm_and_yarn&previous-version=6.4.0&new-version=6.5.0)](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>
Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 5.4.0 to 5.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/jantimon/html-webpack-plugin/blob/main/CHANGELOG.md">html-webpack-plugin's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/jantimon/html-webpack-plugin/compare/v5.4.0...v5.5.0">5.5.0</a> (2021-10-25)</h2>
<h3>Features</h3>
<ul>
<li>Support type=module via scriptLoading option (<a href="1e4262528f">1e42625</a>), closes <a href="https://github-redirect.dependabot.com/jantimon/html-webpack-plugin/issues/1663">#1663</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="873d75bbcb"><code>873d75b</code></a> chore(release): 5.5.0</li>
<li><a href="ddeb77414e"><code>ddeb774</code></a> chore: update examples</li>
<li><a href="1e4262528f"><code>1e42625</code></a> feat: Support type=module via scriptLoading option</li>
<li><a href="7d3645b01a"><code>7d3645b</code></a> Bump pretty-error to 4.0.0 to fix transitive vuln for ansi-regex CVE-2021-3807</li>
<li><a href="79be7799c9"><code>79be779</code></a> [chore] changes actions to run on pull_requests</li>
<li><a href="b7e5859db3"><code>b7e5859</code></a> [chore] fixes CI to avoid race conditions</li>
<li>See full diff in <a href="https://github.com/jantimon/html-webpack-plugin/compare/v5.4.0...v5.5.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=html-webpack-plugin&package-manager=npm_and_yarn&previous-version=5.4.0&new-version=5.5.0)](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>
This Pull Request partially fixes#307.
It changes the following:
- Implements limited `console.trace` functionality by dumping stack trace. Since `console.trace`'s output is supposed to be implementation-specific according to the technical specification, it should be technically correct 😀 Any hints about potential improvements are welcome!
Bumps [webpack](https://github.com/webpack/webpack) from 5.59.1 to 5.60.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p>
<blockquote>
<h2>v5.60.0</h2>
<h1>Features</h1>
<ul>
<li>Allow to pass more options to <code>experiments.lazyCompilation</code>. e. g. port, https stuff</li>
</ul>
<h1>Bugfixes</h1>
<ul>
<li>fix <code>output.hashFunction</code> used to persistent caching too</li>
<li>Initialize <code>buildDependencies</code> Set correctly when loaders are added in <code>beforeLoaders</code> hook</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f0298fe46f"><code>f0298fe</code></a> 5.60.0</li>
<li><a href="c55dbcb5e4"><code>c55dbcb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/webpack/webpack/issues/14236">#14236</a> from cgatian/feat/lazy-compilation-backend-https-su...</li>
<li><a href="866e674114"><code>866e674</code></a> update Cli snapshots</li>
<li><a href="691e37b6f1"><code>691e37b</code></a> add missing descriptions to schema</li>
<li><a href="a8b00f864c"><code>a8b00f8</code></a> nitpicks</li>
<li><a href="4a1d4e6dba"><code>4a1d4e6</code></a> Merge branch 'main' into feat/lazy-compilation-backend-https-support</li>
<li><a href="ba154bc741"><code>ba154bc</code></a> refactor and add test case</li>
<li><a href="b865ecb2db"><code>b865ecb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/webpack/webpack/issues/14557">#14557</a> from JonnyBurger/patch-1</li>
<li><a href="92d5266d22"><code>92d5266</code></a> Update PackFileCacheStrategy.js</li>
<li><a href="6776595f40"><code>6776595</code></a> Honor <code>hashFunction</code> option for createFileSerializer</li>
<li>Additional commits viewable in <a href="https://github.com/webpack/webpack/compare/v5.59.1...v5.60.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpack&package-manager=npm_and_yarn&previous-version=5.59.1&new-version=5.60.0)](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>
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel neccesary.
--->
This pull request is related to #1180.
It changes the following:
- Creates the `Intl` global
- Adds the `Intl.getCanonicalLocales` method
At the moment it does not actually use ICU4X behind the scenes; `Intl.getCanonicalLocales` simply acts as if all the locales passed are canonical locales. This will not be the case in the final PR.
Co-authored-by: RageKnify <RageKnify@gmail.com>
This Pull Request updates some of our CI config and adds config for bors.
It changes the following:
- remove `cargo check` from CI (`cargo test` should be enough)
- change back to `cargo tarpaulin` on Linux to get coverage information
- simplify some of the CI steps' names
- add workflow for bors
##### Working with bors
It's setup so that we need 2 approvals before we can merge like we discussed in Discord.
After the second approval we can write a comment with `bors r+` so that the merge is tested.
bors will only run if `test`, `rustfmt`, `clippy`, `examples` and `doc` are all running error free in the PR's branch. It will then run them again in a `staging` branch that is the equivalent of merging the PR on `main`.
Another option we can consider is `up_to_date_approvals`, so that new commits make previous approvals not count.
The bors reference can be found here: https://bors.tech/documentation/
- Added two new opcodes Inc and Dec to the VM for increment and decrement.
- Implementated compilation for Post/Pre Increment and Decrement operators to VM operations.
- Implemented running the Inc and Dec opcodes on the VM.
* - add trace to VSCode launch
- comment out pushUndefined and Return
- Move call frame to its own file
- heading for code blocks needed to be on its own line
- Show the difference between the VM starting up and a new Call frame being ran
* add back in return opCodes
* Update boa/src/vm/mod.rs
Co-authored-by: João Borges <rageknify@gmail.com>