José Julián Espina
0babe195fb
Implement `escape` and `unescape` ( #2768 )
...
<!---
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 implements the [`escape`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/escape ) and [`unescape`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/unescape ) functions.
Both are technically deprecated, but they're also part of the [Additional ECMAScript Features for Web Browsers](https://tc39.es/ecma262/#sec-additional-ecmascript-features-for-web-browsers ) section, so it is preferable to have them in place.
2 years ago
Iban Eguia Moraza
3f9f6f0fce
Module parsing ( #2411 )
...
I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :)
The main thing here is that I have divided `eval()`, `parse()` and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts.
Then, I was checking the import & export parsing, and I noticed we are using `TokenKind::Identifier` for `IdentifierName`, so I changed that name. An `Identifier` is an `IdentifierName` that isn't a `ReservedWord`. This means we should probably also adapt all `IdentifierReference`, `BindingIdentifier` and so on parsing. I already created an `Identifier` parser.
Something interesting there is that `await` is not a valid `Identifier` if the goal symbol is `Module`, as you can see in the [spec](https://tc39.es/ecma262/#prod-LabelIdentifier ), but currently we don't have that information in the `InputElement` enumeration, we only have `Div`, `RegExp` and `TemplateTail`. How could we approach this?
Co-authored-by: jedel1043 <jedel0124@gmail.com>
2 years ago
dependabot[bot]
845a7f468d
Bump wasm-bindgen from 0.2.83 to 0.2.84 ( #2585 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.83 to 0.2.84.
<details>
<summary>Commits</summary>
<ul>
<li><a href="cea8cc3d29
"><code>cea8cc3</code></a> Bump to 0.2.84 (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3274 ">#3274</a>)</li>
<li><a href="995adac992
"><code>995adac</code></a> Remove explicit allocator (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3273 ">#3273</a>)</li>
<li><a href="1f3c76bca6
"><code>1f3c76b</code></a> fix: Make maplike <code>set</code> and setlike <code>add</code> return <code>this</code>, not <code>undefined</code> (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3270 ">#3270</a>)</li>
<li><a href="e1b44b7570
"><code>e1b44b7</code></a> Add support for linked modules (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3069 ">#3069</a>)</li>
<li><a href="d6964278b5
"><code>d696427</code></a> Implement <code>ImageBitmapOptions</code> (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3269 ">#3269</a>)</li>
<li><a href="8fc0e2b085
"><code>8fc0e2b</code></a> Add support for setlike interfaces (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3268 ">#3268</a>)</li>
<li><a href="5fff0a9846
"><code>5fff0a9</code></a> Add WebGL extension type for 16-bit normalized formats (EXT_texture_norm16) (...</li>
<li><a href="79cbace568
"><code>79cbace</code></a> Fix typos in futures/src/stream.rs documentation (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3264 ">#3264</a>)</li>
<li><a href="a4788cac0f
"><code>a4788ca</code></a> Lazily initialize memory views (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3253 ">#3253</a>)</li>
<li><a href="979b335e4e
"><code>979b335</code></a> Add <code>js_sys::Array::set_length</code> (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3246 ">#3246</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.83...0.2.84 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wasm-bindgen&package-manager=cargo&previous-version=0.2.83&new-version=0.2.84 )](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
José Julián Espina
515d28f0a2
Create `Source` to abstract JS code sources ( #2579 )
...
Slightly related to #2411 since we need an API to pass module files, but more useful for #1760 , #1313 and other error reporting issues.
It changes the following:
- Introduces a new `Source` API to store the path of a provided file or `None` if the source is a plain string.
- Improves the display of `boa_tester` to show the path of the tests being run. This also enables hyperlinks to directly jump to the tested file from the VS terminal.
- Adjusts the repo to this change.
Hopefully, this will improve our error display in the future.
2 years ago
raskad
a5e8111fa2
Restructure lints in multiple crates ( #2447 )
...
This Pull Request restructures the lint deny/warn/allow lists in almost all crates. `boa_engine` will be done in a follow up PR as the changes there are pretty extensive.
2 years ago
José Julián Espina
91235c77fe
Rewrite some patterns with let-else and ok_or_else ( #2404 )
...
This Pull Request updates the codebase to the newest version of rustc (1.65.0).
It changes the following:
- Bumps `rust-version` to 1.65.0.
- Rewrites some snippets to use the new let else, ok_or_else and some other utils.
- Removes the `rustdoc::missing_doc_code_examples` allow lint from our codebase. (Context: https://github.com/rust-lang/rust/pull/101732 )
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="5c1bb00b74
"><code>5c1bb00</code></a> Release v0.2.8 (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/294 ">#294</a>)</li>
<li><a href="353d0ca157
"><code>353d0ca</code></a> Update docs for wasm32-unknown-unknown implementation (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/295 ">#295</a>)</li>
<li><a href="cfdad53dce
"><code>cfdad53</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/284 ">#284</a> from rust-random/webcrypto</li>
<li><a href="9962c706c9
"><code>9962c70</code></a> Update Module::require internal comments</li>
<li><a href="e0c93b10d5
"><code>e0c93b1</code></a> Catch call to module.require</li>
<li><a href="0503000381
"><code>0503000</code></a> Fix link typo</li>
<li><a href="0579fe3014
"><code>0579fe3</code></a> Update documentation and error messages</li>
<li><a href="d69e8e003b
"><code>d69e8e0</code></a> Rework JS feature detection</li>
<li><a href="d3aa089bbd
"><code>d3aa089</code></a> Add description about Cargo js feature for WebAssembly section (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/280 ">#280</a>)</li>
<li><a href="0b71d50b49
"><code>0b71d50</code></a> Fix link to wasm-bindgen (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/278 ">#278</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rust-random/getrandom/compare/v0.2.7...v0.2.8 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=getrandom&package-manager=cargo&previous-version=0.2.7&new-version=0.2.8 )](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
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
José Julián Espina
e9e85f5a49
Switch to workspace inherited properties ( #2297 )
...
This Pull Request switches our codebase to the brand new [workspace inherited keys](https://doc.rust-lang.org/cargo/reference/workspaces.html#the-package-table ), which allows us to define common package options that are usable within each crate's Cargo.toml file.
It also allows to share dependency versions between crates, but I defined only shared versions for our workspace members. It would be a good follow-up to lift all the shared dependencies between crates into the global Cargo.toml.
2 years ago
Iban Eguia
f5be60975b
Updated dependencies for 0.16 release ( #2300 )
...
This Pull Request updates the dependencies for the 0.16 release.
Co-authored-by: José Julián Espina <jedel0124@gmail.com>
2 years ago
dependabot[bot]
1d5ec2555e
Bump wasm-bindgen from 0.2.82 to 0.2.83 ( #2280 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.82 to 0.2.83.
<details>
<summary>Commits</summary>
<ul>
<li><a href="eba691f38c
"><code>eba691f</code></a> Bumped crate versions (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3079 ">#3079</a>)</li>
<li><a href="893812fa05
"><code>893812f</code></a> web-sys: include VideoFrame in texImage* functions (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3077 ">#3077</a>)</li>
<li><a href="eac9722f99
"><code>eac9722</code></a> Export <code>initSync</code> for no-module builds (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3075 ">#3075</a>)</li>
<li><a href="595b04b24a
"><code>595b04b</code></a> Trigger warnings for unused wasm-bindgen attributes (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3073 ">#3073</a>)</li>
<li><a href="f82f5c5852
"><code>f82f5c5</code></a> Refactor: normalized encoding of ImportModule (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3068 ">#3068</a>)</li>
<li><a href="edc5adf436
"><code>edc5adf</code></a> Put FontFace constructor to Immutable slice whitelist (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3072 ">#3072</a>)</li>
<li><a href="5c28993bec
"><code>5c28993</code></a> Update WebGPU's webidl (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3067 ">#3067</a>)</li>
<li><a href="e47dda5c86
"><code>e47dda5</code></a> web-sys: Added Streams API (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3065 ">#3065</a>)</li>
<li><a href="699e78811e
"><code>699e788</code></a> Revert "web-sys: Added full Streams WebIDL (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3046 ">#3046</a>)" (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3064 ">#3064</a>)</li>
<li><a href="cb94b43596
"><code>cb94b43</code></a> Add <code>TryFrom\<JsValue></code> for <code>[iu](64|128)</code> (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3058 ">#3058</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.82...0.2.83 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wasm-bindgen&package-manager=cargo&previous-version=0.2.82&new-version=0.2.83 )](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]
4235c15e8e
Bump wasm-bindgen from 0.2.81 to 0.2.82 ( #2204 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.81 to 0.2.82.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md ">wasm-bindgen's changelog</a>.</em></p>
<blockquote>
<h1><code>wasm-bindgen</code> Change Log</h1>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="59883eaca6
"><code>59883ea</code></a> Bump to 0.2.82 (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3002 ">#3002</a>)</li>
<li><a href="a8e934df82
"><code>a8e934d</code></a> Added inspectable generation to .d.ts file (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3000 ">#3000</a>) (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/3001 ">#3001</a>)</li>
<li><a href="1790a28f77
"><code>1790a28</code></a> Add a bit more detail about how non-primitive types are represented in FFI (#...</li>
<li><a href="0aa23f0897
"><code>0aa23f0</code></a> Don't attempt to update rustup in CI (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2998 ">#2998</a>)</li>
<li><a href="1bb1ab1ea1
"><code>1bb1ab1</code></a> Remove obsolete documentation about Stack. (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2997 ">#2997</a>)</li>
<li><a href="e322e6fb8b
"><code>e322e6f</code></a> Use <code>Closure::new</code> in examples (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2991 ">#2991</a>)</li>
<li><a href="9a7732f7a7
"><code>9a7732f</code></a> Add support for exporting static getters and setters (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2986 ">#2986</a>)</li>
<li><a href="9fafcf3cfa
"><code>9fafcf3</code></a> Don't copy doc comments on imported functions to generated <code>extern</code> blocks (#...</li>
<li><a href="bc95e13485
"><code>bc95e13</code></a> chore(guide): fix entry to raytracing example (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2988 ">#2988</a>)</li>
<li><a href="4e72af28a0
"><code>4e72af2</code></a> Respect <code>#[wasm_bindgen(skip_typescript)]</code> on structs (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2985 ">#2985</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.81...0.2.82 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wasm-bindgen&package-manager=cargo&previous-version=0.2.81&new-version=0.2.82 )](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]
7f6d44ea01
Bump wasm-bindgen from 0.2.80 to 0.2.81 ( #2123 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.80 to 0.2.81.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md ">wasm-bindgen's changelog</a>.</em></p>
<blockquote>
<h2>0.2.81</h2>
<p>Released 2022-06-14.</p>
<p><a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.80...0.2.81 ">changes</a></p>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="062aa5f70a
"><code>062aa5f</code></a> Bump to 0.2.81 (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2935 ">#2935</a>)</li>
<li><a href="ed58b791e7
"><code>ed58b79</code></a> fix(guide): missing ] (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2933 ">#2933</a>)</li>
<li><a href="3822e67149
"><code>3822e67</code></a> Expose helpers to allow synchronous initialization (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2924 ">#2924</a>)</li>
<li><a href="b7b4ef3fd4
"><code>b7b4ef3</code></a> Add mediasession api (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2926 ">#2926</a>)</li>
<li><a href="0c7126c9c3
"><code>0c7126c</code></a> Use <code>bigint</code> instead of <code>BigInt</code> in generated TypeScript (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2925 ">#2925</a>)</li>
<li><a href="a81983b884
"><code>a81983b</code></a> add SubmitEvent to web_sys Event types (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2922 ">#2922</a>)</li>
<li><a href="cbcf3e78ac
"><code>cbcf3e7</code></a> feat(cli-support): <code>Bindgen</code> - support providing bytes input (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2916 ">#2916</a>)</li>
<li><a href="96eca588e6
"><code>96eca58</code></a> fix(typescript) Getters correctly define the inner results. (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2909 ">#2909</a>)</li>
<li><a href="6ec0ce1b3f
"><code>6ec0ce1</code></a> test(ci) Remove duplicate actions. (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2918 ">#2918</a>)</li>
<li><a href="be961acaca
"><code>be961ac</code></a> feat(cli-support): expose more properties on <code>Output</code> (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2913 ">#2913</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.80...0.2.81 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wasm-bindgen&package-manager=cargo&previous-version=0.2.80&new-version=0.2.81 )](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]
31edb264d0
Bump getrandom from 0.2.6 to 0.2.7 ( #2121 )
...
Bumps [getrandom](https://github.com/rust-random/getrandom ) from 0.2.6 to 0.2.7.
<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.7] - 2022-06-14</h2>
<h3>Changed</h3>
<ul>
<li>Update <code>wasi</code> dependency to <code>0.11</code> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/253 ">#253</a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Use <code>AtomicPtr</code> instead of <code>AtomicUsize</code> for Strict Provenance compatibility. <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/263 ">#263</a></li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add comments explaining use of fallback mechanisms <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/257 ">#257</a> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/260 ">#260</a></li>
</ul>
<p><a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/263 ">#263</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/263 ">rust-random/getrandom#263</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/260 ">#260</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/260 ">rust-random/getrandom#260</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/253 ">#253</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/253 ">rust-random/getrandom#253</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/257 ">#257</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/257 ">rust-random/getrandom#257</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="63f861c684
"><code>63f861c</code></a> Release v0.2.7 (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/264 ">#264</a>)</li>
<li><a href="c82a522713
"><code>c82a522</code></a> Use AtomicPtr instead of AtomicUsize for Weak (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/263 ">#263</a>)</li>
<li><a href="9e2c896e65
"><code>9e2c896</code></a> bsd_arandom: fix typo in comment (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/260 ">#260</a>)</li>
<li><a href="2d65a40cc5
"><code>2d65a40</code></a> Update to wasi 0.11 (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/253 ">#253</a>)</li>
<li><a href="4882ac8a4c
"><code>4882ac8</code></a> Add notes when various functions were added (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/257 ">#257</a>)</li>
<li>See full diff in <a href="https://github.com/rust-random/getrandom/compare/v0.2.6...v0.2.7 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=getrandom&package-manager=cargo&previous-version=0.2.6&new-version=0.2.7 )](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
Iban Eguia
1dbd31e2b7
Added changelog, updated dependencies, bumped version number for 0.15 ( #2102 )
...
This Pull Request bumps the version number to 0.15, adds the changelog for this new versions and updates all dependencies to the latest versions.
2 years ago
jedel1043
518bad8109
Integrate ICU4X into `Intl` module ( #2083 )
...
<!---
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 integrates an `ICU4X` data provider API in our codebase, to make use of the internationalization APIs that this crate provides.
It changes the following:
- Creates an API for pluggable icu data providers at `Context` creation, adding an `Icu` struct to store the provider (and some other internationalization tools) at runtime.
- Slightly changes locale related functions to preserve the `Locale` type and ensure correctness. (Will make some other changes related to this).
- Integrates the `sys_locale` crate to fetch the current default locale of an user instead of always returning `en-US`.
2 years ago
Jason Williams
01bd50fa72
cargo workspaces fixes #2001 ( #2026 )
...
This adds cargo-workspaces to our repo for easier publishing.
(I think we may need to do a dry run of this first to test)
fixes https://github.com/boa-dev/boa/issues/2001
3 years ago
Iban Eguia
8d746ecc0b
Upgraded wasm-bindgen ( #2020 )
...
This Pull Request supersedes #2018 and #2017 .
It changes the following:
- Updates the wasm-bindgen dependency now that a new version without the clippy bug has been released
- Updates all dependencies to their latest versions
3 years ago
dependabot[bot]
c23d32b977
Bump getrandom from 0.2.5 to 0.2.6 ( #1986 )
...
Bumps [getrandom](https://github.com/rust-random/getrandom ) from 0.2.5 to 0.2.6.
<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.6] - 2022-03-28</h2>
<h3>Added</h3>
<ul>
<li>Nintendo 3DS (<code>armv6k-nintendo-3ds</code>) support <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/248 ">#248</a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Retry <code>open</code> when interrupted <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/252 ">#252</a></li>
</ul>
<p><a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/248 ">#248</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/248 ">rust-random/getrandom#248</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/252 ">#252</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/252 ">rust-random/getrandom#252</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fcece06dd5
"><code>fcece06</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/255 ">#255</a> from rust-random/release/v0.2.6</li>
<li><a href="0830ba66be
"><code>0830ba6</code></a> Disable Solaris CI job</li>
<li><a href="2630158149
"><code>2630158</code></a> Release v0.2.6</li>
<li><a href="fcae1d2626
"><code>fcae1d2</code></a> libc: retry open when interrupted (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/252 ">#252</a>)</li>
<li><a href="d40ec2c7e4
"><code>d40ec2c</code></a> Add support for the Nintendo 3DS (armv6k-nintendo-3ds) (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/248 ">#248</a>)</li>
<li><a href="157d6f23dc
"><code>157d6f2</code></a> Fix v0.2.5 release date (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/250 ">#250</a>)</li>
<li>See full diff in <a href="https://github.com/rust-random/getrandom/compare/v0.2.5...v0.2.6 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=getrandom&package-manager=cargo&previous-version=0.2.5&new-version=0.2.6 )](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>
3 years ago
jedel1043
f25ce46a1e
Migrate to NPM and cleanup Playground ( #1951 )
...
This Pull Request closes #1912 by migrating to a NPM based build, hopefully making it easier to contribute to the Playground.
Also, reduces the number of features of the editor, since most of them were support for other languages or features that don't make sense in a playground environment. This considerably reduces the number of fetched files per page load and the total size of the playground.
3 years ago
Aaron Ross
520b81ea66
add README for crates.io publish ( #1952 )
...
This Pull Request closes #1948 .
It changes the following:
- set `readme` in `boa_engine` so `README.md` will be published to crates.io
- remove unnecessary `exclude` field from `Cargo.toml` in all apps
I was unsure whether using a path outside of the workspace root was allowed for `readme` since it [doesn't get included in the release tarball](https://github.com/rust-lang/cargo/issues/5911 ), but this exact path is used by [juniper](https://github.com/graphql-rust/juniper/blob/master/juniper/Cargo.toml#L13 ) and [seems to work there](https://crates.io/crates/juniper ). I believe `cargo publish` does a bit more than just uploading the tarball, including pulling the `readme` from any arbitrary path.
The default behaviour of `cargo package`/`cargo publish` if neither `exclude` or `include` is specified is to include all files from the package root, excluding
- dotfiles
- .gitignore'd files
- subpackages (any subdirectory with a `Cargo.toml` file)
- the `/target` directory
There's no need to explicitly exclude files from the parent directory since they're already excluded by default. This can be verified by running `cargo package --list` inside any workspace app:
```plain
$ cd boa_wasm
$ cargo package --list
.gitignore
Cargo.toml
Cargo.toml.orig
src/lib.rs
```
You can read more [here](https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields ).
3 years ago
jasonwilliams
16f3a0bd29
give everything a version
3 years ago
Jason Williams
be901735e5
generated changelog for 0.14 ( #1882 )
...
Co-authored-by: João Borges <rageknify@gmail.com>
3 years ago
dependabot[bot]
d07945ddf3
Bump getrandom from 0.2.4 to 0.2.5 ( #1863 )
...
Bumps [getrandom](https://github.com/rust-random/getrandom ) from 0.2.4 to 0.2.5.
<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.5] - 2022-02-22</h2>
<h3>Added</h3>
<ul>
<li>ESP-IDF targets (<code>*‑espidf</code>) support <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/245 ">#245</a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Webpack warning caused by dynamic require <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/234 ">#234</a></li>
<li>Error checking on iOS for <code>SecRandomCopyBytes</code> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/244 ">#244</a></li>
</ul>
<p><a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/234 ">#234</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/234 ">rust-random/getrandom#234</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/244 ">#244</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/244 ">rust-random/getrandom#244</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/245 ">#245</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/245 ">rust-random/getrandom#245</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="cd3a987b9b
"><code>cd3a987</code></a> Release v0.2.5 (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/247 ">#247</a>)</li>
<li><a href="cf02327ac9
"><code>cf02327</code></a> Enable support for espidf (esp32 family of microcontrollers) (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/245 ">#245</a>)</li>
<li><a href="e1a9c9e740
"><code>e1a9c9e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/246 ">#246</a> from rust-random/cross_fix</li>
<li><a href="f49f083412
"><code>f49f083</code></a> fix cross tests</li>
<li><a href="21e03e8056
"><code>21e03e8</code></a> ios: Fix Error checking for SecRandomCopyBytes (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/244 ">#244</a>)</li>
<li><a href="e6e7dd6048
"><code>e6e7dd6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/234 ">#234</a> from mjhanninen/fix-webpack-dynamic-require-error</li>
<li><a href="8fad7c5ab4
"><code>8fad7c5</code></a> js: Add comment explaining why we do this hack</li>
<li><a href="8372c165af
"><code>8372c16</code></a> Fix Webpack warning caused by dynamic require</li>
<li>See full diff in <a href="https://github.com/rust-random/getrandom/compare/v0.2.4...v0.2.5 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=getrandom&package-manager=cargo&previous-version=0.2.4&new-version=0.2.5 )](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>
3 years ago
Iban Eguia
4d2772d6a0
Rename "Boa" to boa_engine, moved GC and profiler to their crates ( #1844 )
...
* Separated GC and Profiler
* Fixed prettierignore
* Removed re-exports, fixed benchmarks, added some caches
* Removed empty line
* Update boa_engine/Cargo.toml
Co-authored-by: raskad <32105367+raskad@users.noreply.github.com>
* Fixed the profiler
* Removed empty file
Co-authored-by: raskad <32105367+raskad@users.noreply.github.com>
3 years ago
Iban Eguia
748465d17b
Unwrap removal ( #1842 )
...
This removes all the calls to `unwrap()` in the codebase, which made me found a couple of places where it wasn't needed, and could be improved. I also noticed we don't have dependabot updates for the test262 submodule and the interner dependencies, so I added those.
I added lints so that no new unwraps are added.
3 years ago
Iban Eguia
60b7eb8934
General code clean-up and new lint addition ( #1809 )
...
This PR adds some Clippy lints. Mainly, it adds the list of pedantic lints excluding some lints that were causing too many warnings. I also denied some useful restriction and pedantic lints, to make sure we use `Self` all the possible times (for better maintainability), and that we pass elements by reference where possible, for example, or that the documentation is properly written.
This might even have some small performance gains.
I also added a perfect hash function for the CLI keywords, which should be more efficient than a `HashSet`. This is something we could use elsewhere too.
3 years ago
Iban Eguia
e37cb6c9f6
Updated dependencies ( #1803 )
...
The main idea behind this is to upgrade the Unicode version from 13 to 14. I also upgraded the rest of the dependencies, so this closes #1802 , #1800 and #1799 .
3 years ago
Iban Eguia
e92cff5920
Interner support in the parser ( #1765 )
...
This builds on top of #1758 to try to bring #1763 to life.
Something that should probably be done here would be to convert `JsString` to a `Sym` internally. Then, further optimizations could be done adding common strings to a custom interner type (those that we know statically).
This is definitely work in progress, but I would like to have feedback on the API, and feel free to contribute.
Co-authored-by: raskad <32105367+raskad@users.noreply.github.com>
3 years ago
Iban Eguia
48185f393d
Lexer string interning ( #1758 )
...
This Pull Request is part of #279 .
It adds a string interner to Boa, which allows many types to not contain heap-allocated strings, and just contain a `NonZeroUsize` instead. This can move types to the stack (hopefully I'll be able to move `Token`, for example, maybe some `Node` types too.
Note that the internet is for now only available in the lexer. Next steps (in this PR or future ones) would include also using interning in the parser, and finally in execution. The idea is that strings should be represented with a `Sym` until they are displayed.
Talking about display. I have changed the `ParseError` type in order to not contain anything that could contain a `Sym` (basically tokens), which might be a bit faster, but what is important is that we don't depend on the interner when displaying errors.
The issue I have now is in order to display tokens. This requires the interner if we want to know identifiers, for example. The issue here is that Rust doesn't allow using a `fmt::Formatter` (only in nightly), which is making my head hurt. Maybe someone of you can find a better way of doing this.
Then, about `cursor.expect()`, this is the only place where we don't have the expected token type as a static string, so it's failing to compile. We have the option of changing the type definition of `ParseError` to contain an owned string, but maybe we can avoid this by having a `&'static str` come from a `TokenKind` with the default values, such as "identifier" for an identifier. I wanted for you to think about it and maybe we can just add that and avoid allocations there.
Oh, and this depends on the VM-only branch, so that has to be merged before :)
Another thing to check: should the interner be in its own module?
3 years ago
dependabot[bot]
76a27ce2a5
Bump wasm-bindgen from 0.2.78 to 0.2.79 ( #1789 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.78 to 0.2.79.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md ">wasm-bindgen's changelog</a>.</em></p>
<blockquote>
<h2>0.2.79</h2>
<p>Released 2022-01-19.</p>
<p><a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.78...0.2.79 ">changes</a></p>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9b0d40c7a9
"><code>9b0d40c</code></a> Version bump (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2772 ">#2772</a>)</li>
<li><a href="3e507e649c
"><code>3e507e6</code></a> Fix missing wasm_bindgen attribute (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2773 ">#2773</a>)</li>
<li><a href="3701c9d6be
"><code>3701c9d</code></a> Implement OptionIntoWasmAbi for Closure references (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2768 ">#2768</a>)</li>
<li><a href="c25c1f4b09
"><code>c25c1f4</code></a> Typo (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2765 ">#2765</a>)</li>
<li><a href="39423ed01a
"><code>39423ed</code></a> Fix some more tests</li>
<li><a href="d68ceed956
"><code>d68ceed</code></a> spellcheck (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2762 ">#2762</a>)</li>
<li><a href="f158a75e9e
"><code>f158a75</code></a> Update test expectations</li>
<li><a href="8aa58ac019
"><code>8aa58ac</code></a> Fix macro hygiene in wasm_bindgen_test (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2748 ">#2748</a>)</li>
<li><a href="c515cbf568
"><code>c515cbf</code></a> Documentation link updated. (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2749 ">#2749</a>)</li>
<li><a href="ac87c8215b
"><code>ac87c82</code></a> Fix <code>fn () -> Result\<T, JsValue></code> leaking stack space (<a href="https://github-redirect.dependabot.com/rustwasm/wasm-bindgen/issues/2710 ">#2710</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rustwasm/wasm-bindgen/compare/0.2.78...0.2.79 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wasm-bindgen&package-manager=cargo&previous-version=0.2.78&new-version=0.2.79 )](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>
3 years ago
dependabot[bot]
4bae3bbe99
Bump getrandom from 0.2.3 to 0.2.4 ( #1783 )
...
Bumps [getrandom](https://github.com/rust-random/getrandom ) from 0.2.3 to 0.2.4.
<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.4] - 2021-12-13</h2>
<h3>Changed</h3>
<ul>
<li>Use explicit imports in the <code>js</code> backend <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/220 ">#220</a></li>
<li>Use <code>/dev/urandom</code> on Redox instead of <code>rand:</code> <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/222 ">#222</a></li>
<li>Use <code>NonZeroU32::new_unchecked</code> to convert wasi error <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/233 ">#233</a></li>
</ul>
<h3>Added</h3>
<ul>
<li>SOLID targets (<code>*-kmc-solid_*</code>) support <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/235 ">#235</a></li>
<li>Limited Hermit (<code>x86_64-unknown-hermit</code>) support <a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/236 ">#236</a></li>
</ul>
<p><a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/220 ">#220</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/220 ">rust-random/getrandom#220</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/222 ">#222</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/222 ">rust-random/getrandom#222</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/233 ">#233</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/233 ">rust-random/getrandom#233</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/235 ">#235</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/235 ">rust-random/getrandom#235</a>
<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/236 ">#236</a>: <a href="https://github-redirect.dependabot.com/rust-random/getrandom/pull/236 ">rust-random/getrandom#236</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b9c7c0c13d
"><code>b9c7c0c</code></a> Release v0.2.4 (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/238 ">#238</a>)</li>
<li><a href="9110af54d1
"><code>9110af5</code></a> Fix get_rng_fd comment typo (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/240 ">#240</a>)</li>
<li><a href="ec445bb0ac
"><code>ec445bb</code></a> Added x86_64-unknown-hermit support (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/236 ">#236</a>)</li>
<li><a href="f5e33009ed
"><code>f5e3300</code></a> Add SOLID target support (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/235 ">#235</a>)</li>
<li><a href="0d0404be5a
"><code>0d0404b</code></a> Use <code>NonZeroU32::new_unchecked</code> to convert wasi error (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/233 ">#233</a>)</li>
<li><a href="e4004f41fa
"><code>e4004f4</code></a> redox: Switch to /dev/urandom (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/222 ">#222</a>)</li>
<li><a href="30308ae845
"><code>30308ae</code></a> js: Explictly list all dependancies used with the "js" feature (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/220 ">#220</a>)</li>
<li><a href="dcf452bb14
"><code>dcf452b</code></a> fix some typos (<a href="https://github-redirect.dependabot.com/rust-random/getrandom/issues/218 ">#218</a>)</li>
<li>See full diff in <a href="https://github.com/rust-random/getrandom/compare/v0.2.3...v0.2.4 ">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=getrandom&package-manager=cargo&previous-version=0.2.3&new-version=0.2.4 )](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>
3 years ago
Jason Williams
dfb3df5bf2
Start removing non-VM path ( #1747 )
3 years ago
Halid Odat
3269c1b901
Generic `JsResult<R>` in `context.throw_` methods ( #1734 )
...
Previously when we had the `context.throw_` methods (like `context.thtrow_type_error()`) they were limited as to where we could call them, e.i. a function that returned `JsResult<JsValue>`. So we had to call the `context.construct_` methods with an explicit `Err()` enum wrap to throw in functions that returned non-jsvalues (which happens a lot).
Now, with this PR the throw methods have a generic `JsResult<R>` return that can return in any `JsResult<T>` returning function. Which cleans the API and makes the user experience a bit better.
```rust
return Err(context.construct_type_error("..."));
// to
return context.throw_type_error("...");
```
3 years ago
Iban Eguia
a5c85708a2
Clean-up contribution guidelines, dependencies, Test262, MSRV ( #1683 )
3 years ago
João Borges
8aeef422ed
Respect rust 1.56 ( #1681 )
...
* Style: Respect rust1.56
* Chore: Change to 2021 edition
3 years ago
Jason Williams
c977b8e5aa
changelog v0.13 ( #1590 )
...
Co-authored-by: Iban Eguia <iban.eguia@cern.ch>
3 years ago
dependabot[bot]
7195e7db02
Bump wasm-bindgen from 0.2.77 to 0.2.78 ( #1582 )
3 years ago
dependabot[bot]
ed01575a3e
Bump wasm-bindgen from 0.2.76 to 0.2.77 ( #1565 )
3 years ago
dependabot[bot]
d4e6f4eb02
Bump wasm-bindgen from 0.2.75 to 0.2.76 ( #1487 )
3 years ago
dependabot[bot]
e0ec7af88b
Bump wasm-bindgen from 0.2.74 to 0.2.75 ( #1454 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.74 to 0.2.75.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.74...0.2.75 )
---
updated-dependencies:
- dependency-name: wasm-bindgen
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
dependabot[bot]
6d36220f38
Bump getrandom from 0.2.2 to 0.2.3 ( #1267 )
4 years ago
dependabot[bot]
c0e1d4cfef
Bump wasm-bindgen from 0.2.73 to 0.2.74 ( #1247 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.73 to 0.2.74.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.73...0.2.74 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 years ago
dependabot[bot]
f294dd294e
Bump wasm-bindgen from 0.2.72 to 0.2.73 ( #1195 )
4 years ago
dependabot[bot]
4d9374397a
Bump wasm-bindgen from 0.2.71 to 0.2.72 ( #1182 )
4 years ago
dependabot[bot]
4d0002ce29
Bump wasm-bindgen from 0.2.70 to 0.2.71 ( #1148 )
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.70 to 0.2.71.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.70...0.2.71 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 years ago
dependabot[bot]
69d1f4a790
Bump wasm-bindgen from 0.2.69 to 0.2.70 ( #1098 )
4 years ago
dependabot[bot]
777c3659ae
Bump getrandom from 0.2.1 to 0.2.2 ( #1090 )
4 years ago
Jason Williams
9160b89edf
Changelog v0.11 ( #1052 )
...
v0.11
Co-authored-by: João Borges <rageknify@gmail.com>
Co-authored-by: Iban Eguia <iban.eguia@cern.ch>
4 years ago
Iban Eguia
624d03d2a2
Fixed a bunch of test262 panics ( #817 ) ( #1046 )
...
* Fixed a bunch of test262 panics (#817 )
This also implements a spec-compliant `parseInt()` function.
* Reverted a test
* Addressed long comments from review
4 years ago