Rust编写的JavaScript引擎,该项目是一个试验性质的项目。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.0 KiB

[package]
name = "boa_icu_provider"
description = "ICU4X data provider for the Boa JavaScript engine."
keywords = ["javascript", "cldr", "unicode"]
categories = ["internationalization", "no-std"]
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
icu_provider = { version = "1.1.0", features = ["serde", "sync"] }
icu_provider_blob = "1.1.0"
icu_provider_adapters = { version = "1.1.0", features = ["serde"] }
Bump once_cell from 1.17.0 to 1.17.1 (#2602) Bumps [once_cell](https://github.com/matklad/once_cell) from 1.17.0 to 1.17.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p> <blockquote> <h2>1.17.1</h2> <ul> <li>Make <code>OnceRef</code> implementation compliant with <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/95228">strict provenance</a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/matklad/once_cell/commit/35148638c54c6233545c65d1a5e09d5ba0661806"><code>3514863</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/222">#222</a></li> <li><a href="https://github.com/matklad/once_cell/commit/f0ad5f083d4a6a51a61a0fa5ee9cdf0ed562178a"><code>f0ad5f0</code></a> Bump version to 1.17.1 and update the changelog.</li> <li><a href="https://github.com/matklad/once_cell/commit/78ab172105ef089c1568d1be11432c916694b64b"><code>78ab172</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/219">#219</a></li> <li><a href="https://github.com/matklad/once_cell/commit/6e351e5204e223f25baf4f63aefa861610ee3649"><code>6e351e5</code></a> Use AtomicPtr for race::OnceRef to avoid ptr-int-ptr casts (keeping</li> <li><a href="https://github.com/matklad/once_cell/commit/d706539c6f7cd47d0e8037d832c0c95214fb5f91"><code>d706539</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/214">#214</a></li> <li><a href="https://github.com/matklad/once_cell/commit/cc07949250ed44b208ff3d19af8f6b6577fea1e2"><code>cc07949</code></a> Explain safety of <code>unsync::OnceCell::get(&amp;self)</code> in more detail</li> <li><a href="https://github.com/matklad/once_cell/commit/af9d29c966beb51e53b419cad65c949d7744de21"><code>af9d29c</code></a> drop useless arg</li> <li>See full diff in <a href="https://github.com/matklad/once_cell/compare/v1.17.0...v1.17.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=cargo&previous-version=1.17.0&new-version=1.17.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
once_cell = {version = "1.17.1", default-features = false, features = ["critical-section"]}
Initial version of a JS -> Rust conversion trait. (#2276) This Pull Request closes #1975. It's still a work in progress, but tries to go in that direction. It changes the following: - Adds a new `TryFromJs` trait, that can be derived using a new `boa_derive` crate. - Adds a new `try_js_into()` function that, similarly to the standard library `TryInto` trait Things to think about: - Should the `boa_derive` crate be re-exported in `boa_engine` using a `derive` feature, similar to how it's done in `serde`? - The current implementation only converts perfectly valid values. So, if we try to convert a big integer into an `i8`, or any floating point number to an `f32`. So, you cannot derive `TryFromJs` for structures that contain an `f32` for example (you can still manually implement the trait, though, and decide in favour of a loss of precision). Should we also provide some traits for transparent loss of precision? - Currently, you cannot convert between types, so if the JS struct has an integer, you cannot cast it to a boolean, for example. Should we provide a `TryConvertJs` trait, for example to force conversions? - Currently we only have basic types and object conversions. Should add `Array` to `Vec` conversion, for example, right? Should we also add `TypedArray` conversions? What about `Map` and `Set`? Does this step over the fine grained APIs that we were creating? Note that this still requires a bunch of documentation, tests, and validation from the dev team and from the users that requested this feature. I'm particularly interested in @lastmjs's thoughts on this API. I already added an usage example in `boa_examples/src/bin/derive.rs`. Co-authored-by: jedel1043 <jedel0124@gmail.com>
2 years ago
icu_datagen = { version = "1.1.2", optional = true }
log = { version = "0.4.17", optional = true }
Bump simple_logger from 4.0.0 to 4.1.0 (#2713) Bumps [simple_logger](https://github.com/borntyping/rust-simple_logger) from 4.0.0 to 4.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/borntyping/rust-simple_logger/releases">simple_logger's releases</a>.</em></p> <blockquote> <h2>v4.1.0</h2> <h2>What's Changed</h2> <ul> <li>Customizable timestamps format by <a href="https://github.com/ctaoist"><code>@​ctaoist</code></a> in <a href="https://redirect.github.com/borntyping/rust-simple_logger/pull/79">borntyping/rust-simple_logger#79</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0">https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/3a78bcf7ab4f4b594c0b55290afe42a50b6a295f"><code>3a78bcf</code></a> Add missing required-features to example</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/cdab359515dd6069f0d8eff806bb24d0ec89a960"><code>cdab359</code></a> Update documentation and bump version</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/cc011a8c92ab44939b181f28f4724f6f1118e1b8"><code>cc011a8</code></a> Rename with_custom_timestamps to with_timestamp_format</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/404005c660c81ae69a4a163ab39d9137dfd22d4a"><code>404005c</code></a> Test new method</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/7a4df08e657973c890c4bc0cbe60b1dc547419c8"><code>7a4df08</code></a> Make Simplelogger.timeformat an Option</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/168c403c1ca82dd66295e2190d6e6cd932c9b70f"><code>168c403</code></a> Merge branch 'main' of <a href="https://github.com/borntyping/rust-simple_logger">https://github.com/borntyping/rust-simple_logger</a></li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/c32992bd7e746bb0214c384d7c4b45bd36768964"><code>c32992b</code></a> Merge pull request <a href="https://redirect.github.com/borntyping/rust-simple_logger/issues/79">#79</a> from ctaoist/main</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/36ad1aceb03564c65e620fd39e0c8d08ae89cd43"><code>36ad1ac</code></a> Ignore IDE files</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/0939c3da8065f8ea63cb94dba0d17651c814fe83"><code>0939c3d</code></a> fix bug</li> <li><a href="https://github.com/borntyping/rust-simple_logger/commit/5998a660063a2e814cda34db8362415fea829672"><code>5998a66</code></a> 1. added examples/timestamps_format.rs</li> <li>Additional commits viewable in <a href="https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=simple_logger&package-manager=cargo&previous-version=4.0.0&new-version=4.1.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>
2 years ago
simple_logger = { version = "4.1.0", optional = true }
[features]
default = ["std"]
std = ["once_cell/std"]
bin = ["dep:icu_datagen", "dep:simple_logger", "dep:log"]
[[bin]]
name = "boa-datagen"
path = "src/bin/datagen.rs"
required-features = ["bin"]