diff --git a/.github/actions/download-ofl/action.yml b/.github/actions/download-ofl/action.yml new file mode 100644 index 000000000..403c68561 --- /dev/null +++ b/.github/actions/download-ofl/action.yml @@ -0,0 +1,16 @@ +name: download ofl +description: Download the ofl artifact for the current runner. + +runs: + using: composite + steps: + - uses: actions/download-artifact@v4 + with: + name: ofl-${{ runner.os }} + path: bin/ + # Artifact downloads do not preserve executable bits, so restore the Unix + # bit here rather than spreading that implementation detail through jobs. + - name: restore ofl executable bit + if: runner.os != 'Windows' + shell: bash + run: chmod +x bin/ofl diff --git a/.github/actions/setup-project-tools/action.yml b/.github/actions/setup-project-tools/action.yml new file mode 100644 index 000000000..d861df354 --- /dev/null +++ b/.github/actions/setup-project-tools/action.yml @@ -0,0 +1,40 @@ +name: setup project tools +description: Install host packages and mise-managed project tools. + +runs: + using: composite + steps: + # Keep this OS package list intentionally tiny. Every package here is outside + # mise and makes the CI runner image part of the build contract, so prefer + # project manifests, .mise/config.toml, or tool-managed installs whenever + # possible. Only add packages that are true header/linker/runtime requirements + # for current CI jobs and cannot reasonably be provisioned by project tools. + - name: install Linux system dependencies + if: runner.os == 'Linux' + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y libssl-dev + # mise installs Rust through rustup, but rustup stores toolchains and + # components outside mise's install metadata by default. Keep rustup's state + # under mise's OS-specific data dir here so jdx/mise-action's cache restores + # the clippy/rustfmt/target components that the project tool config requests. + # The Rust backend also shares a cached rustup-init binary across all Rust + # entries, so install serially to avoid concurrent first-run permission races. + - name: configure mise-managed rustup cache + shell: bash + run: | + if [[ "$RUNNER_OS" == "Windows" ]]; then + rustup_home="${LOCALAPPDATA}\\mise\\rustup" + else + rustup_home="${HOME}/.local/share/mise/rustup" + fi + + { + echo "MISE_RUSTUP_HOME=$rustup_home" + echo "RUSTUP_HOME=$rustup_home" + echo "MISE_JOBS=1" + } >> "$GITHUB_ENV" + - uses: jdx/mise-action@v4 + with: + cache_key_prefix: mise-v3 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5e784a346..447b9ebe7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,8 +1,5 @@ env: RUSTFLAGS: -D warnings - # coverage collection depends on unstable features. - # we want the CI results to all be from the same toolchain, so we set it up here. - RUSTUP_TOOLCHAIN: nightly-2021-10-30 on: push: branches: @@ -17,11 +14,11 @@ jobs: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@master - - run: rustup install ${{ env.RUSTUP_TOOLCHAIN }} - - uses: actions/cache@v2 + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-project-tools + - uses: actions/cache@v4 with: - key: ${{ runner.os }}-ofl-${{ hashFiles('ofl/Cargo.lock') }}-${{ env.RUSTUP_TOOLCHAIN }}-2 + key: ${{ runner.os }}-ofl-${{ hashFiles('ofl/Cargo.lock') }}-${{ hashFiles('.mise/config.toml') }}-3 path: | ~/.cargo/git ~/.cargo/registry @@ -30,7 +27,7 @@ jobs: working-directory: ofl - run: cargo test --release working-directory: ofl - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: ofl-${{ runner.os }} path: ofl/target/release/ofl* @@ -42,22 +39,13 @@ jobs: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@master - - run: rustup install ${{ env.RUSTUP_TOOLCHAIN }} - - run: rustup component add llvm-tools-preview - - uses: actions/download-artifact@v2 - with: - name: ofl-${{ runner.os }} - path: bin/ - # TODO(actions/download-artifact#14) undo hack - - run: chmod +x bin/ofl - if: runner.os != 'Windows' + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-project-tools + - uses: ./.github/actions/download-ofl - - name: ensure lockfile up to date - run: cargo generate-lockfile - - uses: actions/cache@v2 + - uses: actions/cache@v4 with: - key: ${{ runner.os }}-coverage-${{ hashFiles('Cargo.lock') }}-${{ env.RUSTUP_TOOLCHAIN }}-2 + key: ${{ runner.os }}-coverage-${{ hashFiles('Cargo.lock') }}-${{ hashFiles('.mise/config.toml') }}-3 path: | ~/.cargo/git ~/.cargo/registry @@ -70,7 +58,7 @@ jobs: - run: bin/ofl coverage report - run: bin/ofl coverage cleanup - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v5 with: file: ./target/coverage/lcov.info @@ -81,21 +69,13 @@ jobs: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@master - - run: rustup install ${{ env.RUSTUP_TOOLCHAIN }} - - uses: actions/download-artifact@v2 - with: - name: ofl-${{ runner.os }} - path: bin/ - # TODO(actions/download-artifact#14) undo hack - - run: chmod +x bin/ofl - if: runner.os != 'Windows' + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-project-tools + - uses: ./.github/actions/download-ofl - - name: ensure lockfile up to date - run: cargo generate-lockfile - - uses: actions/cache@v2 + - uses: actions/cache@v4 with: - key: ${{ runner.os }}-dom-${{ hashFiles('Cargo.lock') }}-${{ env.RUSTUP_TOOLCHAIN }}-2 + key: ${{ runner.os }}-dom-${{ hashFiles('Cargo.lock') }}-${{ hashFiles('.mise/config.toml') }}-3 path: | ~/.cargo/git ~/.cargo/registry @@ -123,21 +103,13 @@ jobs: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@master - - run: rustup install ${{ env.RUSTUP_TOOLCHAIN }} - - uses: actions/download-artifact@v2 - with: - name: ofl-${{ runner.os }} - path: bin/ - # TODO(actions/download-artifact#14) undo hack - - run: chmod +x bin/ofl - if: runner.os != 'Windows' + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-project-tools + - uses: ./.github/actions/download-ofl - - name: ensure lockfile up to date - run: cargo generate-lockfile - - uses: actions/cache@v2 + - uses: actions/cache@v4 with: - key: ${{ runner.os }}-website-${{ hashFiles('Cargo.lock') }}-${{ env.RUSTUP_TOOLCHAIN }}-2 + key: ${{ runner.os }}-website-${{ hashFiles('Cargo.lock') }}-${{ hashFiles('.mise/config.toml') }}-3 path: | ~/.cargo/git ~/.cargo/registry @@ -151,7 +123,7 @@ jobs: - run: cargo docs-all - run: cargo docs-ofl - run: bin/ofl website build target/website - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 if: runner.os == 'Linux' with: name: website @@ -161,15 +133,9 @@ jobs: needs: ofl runs-on: ubuntu-latest steps: - - uses: actions/checkout@master - - run: rustup install ${{ env.RUSTUP_TOOLCHAIN }} - - run: rustup component add rustfmt - - uses: actions/download-artifact@v2 - with: - name: ofl-${{ runner.os }} - path: bin/ - # TODO(actions/download-artifact#14) undo hack - - run: chmod +x bin/ofl + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-project-tools + - uses: ./.github/actions/download-ofl - run: bin/ofl fmt --check clippy: @@ -178,33 +144,53 @@ jobs: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@master - - run: rustup install ${{ env.RUSTUP_TOOLCHAIN }} - - run: rustup component add clippy + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-project-tools - run: cargo clippy-ofl - run: cargo clippy-core - run: cargo clippy-dom + blocking-ci: + name: blocking CI + if: always() + needs: [clippy, coverage, dom, fmt, ofl, website] + runs-on: ubuntu-latest + steps: + - name: report CI results + run: | + echo "clippy: ${{ needs.clippy.result }}" + echo "coverage: ${{ needs.coverage.result }}" + echo "dom: ${{ needs.dom.result }}" + echo "fmt: ${{ needs.fmt.result }}" + echo "ofl: ${{ needs.ofl.result }}" + echo "website: ${{ needs.website.result }}" + - name: require successful CI + run: | + if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then + exit 1 + fi + if [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then + exit 1 + fi + if [[ "${{ contains(needs.*.result, 'skipped') }}" == "true" ]]; then + exit 1 + fi + publish: if: github.ref == 'refs/heads/main' - needs: [clippy, coverage, dom, fmt, ofl, website] + needs: blocking-ci runs-on: ubuntu-latest steps: - - uses: actions/checkout@master - - run: rustup install ${{ env.RUSTUP_TOOLCHAIN }} - - uses: actions/download-artifact@v2 - with: - name: ofl-${{ runner.os }} - path: bin/ - # TODO(actions/download-artifact#14) undo hack - - run: chmod +x bin/ofl - - uses: actions/download-artifact@v2 + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-project-tools + - uses: ./.github/actions/download-ofl + - uses: actions/download-artifact@v4 with: name: website path: target/website - name: promote website to prod, ensure crates published run: | - npx netlify-cli deploy --prod --auth ${{ secrets.NETLIFY_AUTH_TOKEN }} + netlify deploy --prod --auth ${{ secrets.NETLIFY_AUTH_TOKEN }} cargo login ${{ secrets.CARGO_API_TOKEN }} bin/ofl published git push origin --tags diff --git a/.gitignore b/.gitignore index 6a829dbe4..01174dd4d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ bin/ target/ **/*.rs.bk -/Cargo.lock *.log *.new node_modules/ @@ -9,4 +8,4 @@ node_modules/ pkg/ cargo-timing*.html **/cypress/screenshots -**/cypress/videos \ No newline at end of file +**/cypress/videos diff --git a/.mise/config.toml b/.mise/config.toml new file mode 100644 index 000000000..457633279 --- /dev/null +++ b/.mise/config.toml @@ -0,0 +1,35 @@ +[tools] +# Canonical Rust toolchains for this project. The first entry is the active +# project toolchain; the additional stable toolchains are used to install older +# cargo-managed CLIs below. +rust = [ + { version = "nightly-2021-10-30", components = "clippy,rustfmt,llvm-tools-preview", targets = "wasm32-unknown-unknown", profile = "minimal" }, + { version = "1.75.0", profile = "minimal" }, + { version = "1.65.0", profile = "minimal" }, +] + +# The TodoMVC e2e lockfile is npm v6-era and pins Cypress 5.2.0. Node 16 is the +# oldest practical LTS here with official darwin-arm64 builds, avoiding a local +# Node-from-source compile on Apple Silicon. +node = "16.20.2" + +# External cargo subcommands used by project aliases such as `cargo core-flow`, +# `cargo dom-flow`, `cargo server`, and `cargo ofl-flow`. cargo-watch's locked +# deps require Rust 1.75.0. +"cargo:cargo-watch" = { version = "8.5.3", depends = [ + "rust@1.75.0", +], install_env = { RUSTUP_TOOLCHAIN = "1.75.0" } } + +# wasm-pack 0.9.1 needs wasm-bindgen-cli 0.2.69 for this toolchain. Install it +# with Rust 1.65.0: new enough for mise's cargo backend syntax, old enough for +# this wasm-bindgen release. Vendored OpenSSL keeps this old transitive +# openssl-sys version building on modern Linux runners. +"cargo:wasm-bindgen-cli" = { version = "0.2.69", depends = [ + "rust@1.65.0", +], features = "vendored-openssl", install_env = { RUSTUP_TOOLCHAIN = "1.65.0" } } + +# Node CLIs referenced by repo docs/CI. The TodoMVC e2e package still has its +# own package-lock.json; run `npm ci` from dom/examples/todo/e2e for that app's +# local test dependencies. +"npm:cypress" = { version = "5.2.0", npm_args = "--ignore-scripts=false" } +"npm:netlify-cli" = "12.14.0" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 798ca44b0..183222cb9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,9 +31,10 @@ GitHub now offers an option to require that a branch is up-to-date before it is ### Requirements -* [rustup](https://rustup.rs) - * `rustup component add clippy rustfmt` -* [cargo-watch](https://crates.io/crates/cargo-watch) +* [mise](https://mise.jdx.dev) + * Rust, Node, cargo subcommands, and npm CLIs are pinned in + [`.mise/config.toml`](./.mise/config.toml); run `mise install` from the + project root to install them. ### Workflows @@ -45,7 +46,7 @@ From the project root, this command will run the default development loop: $ cargo core-flow ``` -See [its definition](./.cargo/config) for details. +See [its definition](./.cargo/config.toml) for details. #### moxie-dom diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 000000000..51a97f3a3 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,2480 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ahash" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0453232ace82dee0dd0b4c87a59bd90f7b53b314f3e0f61fe2ee7c8a16482289" + +[[package]] +name = "aho-corasick" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" +dependencies = [ + "memchr", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi 0.3.8", +] + +[[package]] +name = "anyhow" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee67c11feeac938fae061b232e38e0b6d94f97a9df10e6271319325ac4c56a86" + +[[package]] +name = "arrayvec" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1154a1f6c2d8ca95194edbee2380f23f2a51ba321a1217ea00e78166636b2a0" +dependencies = [ + "nodrop", + "odds", +] + +[[package]] +name = "async-stream" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3670df70cbc01729f901f94c887814b3c68db038aad1329a418bae178bc5295c" +dependencies = [ + "async-stream-impl", + "futures-core", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3548b8efc9f8e8a5a0a2808c5bd8451a9031b9e5b879a79590304ae928b0a70" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "atty" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c758f338ea6a45e862595912cfc309e7349096e006e74d6dd62d344d957db5dd" +dependencies = [ + "kernel32-sys", + "libc", + "winapi 0.2.8", +] + +[[package]] +name = "augdom" +version = "0.2.0-pre" +dependencies = [ + "futures", + "gloo-timers", + "illicit", + "js-sys", + "paste", + "prettiest", + "quick-xml", + "static_assertions", + "tracing", + "wasm-bindgen", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "autocfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23213af7601f0f2d929f73d2a772804562cb09063f50bba9c361f86d6a0376f8" + +[[package]] +name = "autocfg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" + +[[package]] +name = "base-x" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9ad92e7876f320bf1ba3325acb19d1bfcfdfdf52d15cbe7bd38314cf81854d" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bincode" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda13183df33055cbb84b847becce220d392df502ebe7a4a78d7021771ed94d0" +dependencies = [ + "byteorder", + "serde", +] + +[[package]] +name = "bitflags" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5cde24d1b2e2216a726368b2363a273739c91f4e3eb4e0dd12d672d396ad989" + +[[package]] +name = "borrow-bag" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a81f981b8ef527251cf84b62c73331637431d5d34820d7f166ed28ea97afd6" + +[[package]] +name = "bstr" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ae9db68ad7fac5fe51304d20f016c911539251075a214f8e663babefa35187" + +[[package]] +name = "byteorder" +version = "1.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d" + +[[package]] +name = "bytes" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38" + +[[package]] +name = "bytes" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1f8e949d755f9d79112b5bb46938e0ef9d3804a0b16dfab13aafcaa5f0fa72" + +[[package]] +name = "c2-chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" +dependencies = [ + "lazy_static", + "ppv-lite86", +] + +[[package]] +name = "cast" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1665bed21c8708b1683ab1b71486d75e9689b781d041f0f6dba88d8aa8cab9c" + +[[package]] +name = "cc" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48" + +[[package]] +name = "cfg-if" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" +dependencies = [ + "num", + "time 0.1.36", +] + +[[package]] +name = "clap" +version = "2.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" +dependencies = [ + "bitflags", + "textwrap", + "unicode-width", +] + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +dependencies = [ + "bitflags", +] + +[[package]] +name = "console" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "terminal_size", + "winapi 0.3.8", +] + +[[package]] +name = "console_error_panic_hook" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211" +dependencies = [ + "cfg-if 0.1.6", + "wasm-bindgen", +] + +[[package]] +name = "console_log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494" +dependencies = [ + "log", + "web-sys", +] + +[[package]] +name = "const_fn" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce90df4c658c62f12d78f7508cf92f9173e5184a539c10bfe54a3107b3ffd0f2" + +[[package]] +name = "cookie" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf8865bac3d9a3bde5bde9088ca431b11f5d37c7a578b8086af77248b76627" +dependencies = [ + "time 0.2.17", + "version_check 0.9.0", +] + +[[package]] +name = "counter-moxie-dom-fn" +version = "0.1.0" +dependencies = [ + "mox", + "moxie", + "moxie-dom", + "wasm-bindgen", +] + +[[package]] +name = "criterion" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "938703e165481c8d612ea3479ac8342e5615185db37765162e762ec3523e2fc6" +dependencies = [ + "atty", + "cast", + "clap", + "criterion-plot", + "csv", + "itertools 0.8.0", + "lazy_static", + "num-traits", + "rand_core 0.5.0", + "rand_os", + "rand_xoshiro", + "rayon", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eccdc6ce8bbe352ca89025bee672aa6d24f4eb8c53e3a8b5d1bc58011da072a2" +dependencies = [ + "cast", + "itertools 0.8.0", +] + +[[package]] +name = "crossbeam-deque" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13" +dependencies = [ + "crossbeam-epoch 0.7.0", + "crossbeam-utils 0.6.0", +] + +[[package]] +name = "crossbeam-deque" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" +dependencies = [ + "crossbeam-epoch 0.8.2", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f10a4f8f409aaac4b16a5474fb233624238fcdeefb9ba50d5ea059aab63ba31c" +dependencies = [ + "arrayvec", + "cfg-if 0.1.6", + "crossbeam-utils 0.6.0", + "lazy_static", + "memoffset 0.2.0", + "scopeguard 0.3.1", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +dependencies = [ + "autocfg 1.0.0", + "cfg-if 0.1.6", + "crossbeam-utils 0.7.2", + "lazy_static", + "maybe-uninit", + "memoffset 0.5.4", + "scopeguard 1.1.0", +] + +[[package]] +name = "crossbeam-queue" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700" +dependencies = [ + "crossbeam-utils 0.7.2", +] + +[[package]] +name = "crossbeam-utils" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6efda20eef4ccf2a862d442a1e0319d568f9133e16a085a1f8126fe9b6da852d" +dependencies = [ + "cfg-if 0.1.6", +] + +[[package]] +name = "crossbeam-utils" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +dependencies = [ + "autocfg 1.0.0", + "cfg-if 0.1.6", + "lazy_static", +] + +[[package]] +name = "csv" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d58633299b24b515ac72a3f869f8b91306a3cec616a602843a383acd6f9e97" +dependencies = [ + "bstr", + "csv-core", + "itoa 0.4.8", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +dependencies = [ + "memchr", +] + +[[package]] +name = "ctor" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b4c17619643c1252b5f690084b82639dd7fac141c57c8e77a00e0148132092c" +dependencies = [ + "quote 0.6.10", + "syn 0.15.22", +] + +[[package]] +name = "darling" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11947000d710ff98138229f633039982f0fef2d9a3f546c21d610fee5f8631d5" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae53b4d9cc89c40314ccf2bf9e6ff1eb19c31e3434542445a41893dbf041aec2" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2 1.0.75", + "quote 1.0.35", + "strsim", + "syn 1.0.58", +] + +[[package]] +name = "darling_macro" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9cd9ac4d50d023af5e710cae1501afb063efcd917bd3fc026e8ed6493cc9755" +dependencies = [ + "darling_core", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "derive_builder" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ef25735c9f0d0c547d2794701600c94abf030ecb740fad1673fa64461f3573" +dependencies = [ + "derive_builder_core", + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3150f1e84602847b99d3eeb702487fc364f7d6c94f634e944a68fdbaea09e457" +dependencies = [ + "darling", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "derive_builder_macro" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca1008bddefdc08d1e734aeb27b94f384390af261b4d1a8fb51fe19c577f05c" +dependencies = [ + "derive_builder_core", + "syn 1.0.58", +] + +[[package]] +name = "diff" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499" + +[[package]] +name = "dom-builder-moxie-dom-fn" +version = "0.1.0" +dependencies = [ + "moxie", + "moxie-dom", + "wasm-bindgen", +] + +[[package]] +name = "dom-hacking" +version = "0.1.0-pre" +dependencies = [ + "augdom", + "console_log", + "mox", + "moxie-dom", + "topo", + "tracing", + "wasm-bindgen", + "wasm-bindgen-test", +] + +[[package]] +name = "downcast-rs" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ba6eb47c2131e784a38b726eb54c1e1484904f013e576a25354d0124161af6" + +[[package]] +name = "drivertest" +version = "0.1.0" +dependencies = [ + "augdom", + "mox", + "moxie", + "moxie-dom", + "topo", + "wasm-bindgen", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "dtoa" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5edd69c67b2f8e0911629b7e6b8a34cb3956613cd7c6e6414966dee349c2db4f" + +[[package]] +name = "dyn-cache" +version = "0.12.2" +dependencies = [ + "downcast-rs", + "hash_hasher", + "hashbrown", + "illicit", + "parking_lot", + "paste", + "scopeguard 1.1.0", +] + +[[package]] +name = "either" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5845bf77d497f79416df39462df26d4a8b71dd6440246848ee63709476dbb9a6" + +[[package]] +name = "encode_unicode" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8927c1166f271b9c3950500ffada737e31321b43fba0ac2100d954974d2020b5" + +[[package]] +name = "fnv" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" + +[[package]] +name = "fuchsia-cprng" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81f7f8eb465745ea9b02e2704612a9946a59fa40572086c6fd49d6ddcf30bf31" + +[[package]] +name = "futures" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fa4cc29d25b0687b8570b0da86eac698dcb525110ad8b938fe6712baa711ec" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0cb59f15119671c94cd9cc543dc9a50b8d5edc468b4ff5f0bb8567f66c6b48a" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 2.0.52", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generator" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872276f48cbbcb137d8a3ab9428ec050b8afb2745c00556113c7b7516cc0915c" +dependencies = [ + "cc", + "libc", + "log", + "rustc_version", + "winapi 0.3.8", +] + +[[package]] +name = "getrandom" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e738b1f02e4d17217cae7648e774c03a19cd9de18bc294c538cc3e780f8c3bbd" +dependencies = [ + "cloudabi", + "fuchsia-cprng", + "libc", + "winapi 0.3.8", +] + +[[package]] +name = "getrandom" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8025cf36f917e6a52cce185b7c7177689b838b7ec138364e50cc2277a56cf4" +dependencies = [ + "cfg-if 0.1.6", + "libc", + "wasi", +] + +[[package]] +name = "gloo-timers" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gotham" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52aeb8c70641bedbf18466e0537af9aff917a23468004b5ecca210116a2bfbbc" +dependencies = [ + "anyhow", + "base64", + "bincode", + "borrow-bag", + "bytes 1.0.0", + "chrono", + "cookie", + "futures", + "http", + "httpdate", + "hyper", + "itertools 0.10.0", + "linked-hash-map", + "log", + "mime", + "mime_guess", + "num_cpus", + "percent-encoding", + "pin-project 1.0.2", + "rand 0.8.0", + "rand_chacha 0.3.0", + "regex", + "serde", + "serde_derive", + "tokio", + "tokio-rustls", + "uuid", +] + +[[package]] +name = "gotham_derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759a0e44326c652a7535f1ded7a9df63238e2dd601def67f6ca940d04af3a547" +dependencies = [ + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "h2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b67e66362108efccd8ac053abafc8b7a8d86a37e6e48fc4f6f7485eb5e9e6a5" +dependencies = [ + "bytes 1.0.0", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", + "tracing-futures", +] + +[[package]] +name = "hash_hasher" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c" + +[[package]] +name = "hashbrown" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +dependencies = [ + "ahash", +] + +[[package]] +name = "http" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b" +dependencies = [ + "bytes 0.5.3", + "fnv", + "itoa 0.4.8", +] + +[[package]] +name = "http-body" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2861bd27ee074e5ee891e8b539837a9430012e249d7f0ca2d795650f579c1994" +dependencies = [ + "bytes 1.0.0", + "http", +] + +[[package]] +name = "httparse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49bd72a7f04d020d0f22e20a0cd80ac7d745d2023d1f35929497780ea06dbef8" + +[[package]] +name = "httpdate" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeba69f4ee421f9530076beb8257e35cf51f85c862b42e1ab90289d3da10ae00" + +[[package]] +name = "hyper" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee5fc98172988e4394a3094002a75125e8fb864a88318732e8b613ec5adbda3" +dependencies = [ + "bytes 1.0.0", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa 0.4.8", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "ident_case" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c9826188e666f2ed92071d2dadef6edc430b11b158b5b2b3f4babbcc891eaaa" + +[[package]] +name = "illicit" +version = "1.1.2" +dependencies = [ + "criterion", + "illicit-macro", + "insta", + "owning_ref", + "scopeguard 1.1.0", +] + +[[package]] +name = "illicit-macro" +version = "1.0.0" +dependencies = [ + "proc-macro-error", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "indexmap" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b9378f1f3923647a9aea6af4c6b5de68cc8a71415459ad25ef191191c48f5b7" + +[[package]] +name = "insta" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da408b722765c64aad796c666b756aa1dda2a6c1b44f98797f2d8ea8f197746f" +dependencies = [ + "console", + "once_cell", + "serde", + "serde_json", + "serde_yaml", + "similar", +] + +[[package]] +name = "instant" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7777a24a1ce5de49fcdde84ec46efa487c3af49d5b6e6e0a50367cc5c1096182" +dependencies = [ + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "itertools" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f3e61cf687687b30c9e6ddf0fc36cf15f035e66d491e6da968fa49ffa9a378" + +[[package]] +name = "js-sys" +version = "0.3.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3d7383929f7c9c7c2d0fa596f325832df98c3704f2c60553080f7127a58175" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1ca084b49bfd975182288e1a5f1d27ea34ff2d6ae084ae5e66e1652427eada" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "lazy_static" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" + +[[package]] +name = "libc" +version = "0.2.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" + +[[package]] +name = "linked-hash-map" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" + +[[package]] +name = "lock_api" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de302ce1fe7482db13738fbaf2e21cfb06a986b89c0bf38d88abf16681aada4e" +dependencies = [ + "scopeguard 1.1.0", +] + +[[package]] +name = "log" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" +dependencies = [ + "cfg-if 0.1.6", +] + +[[package]] +name = "loom" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18474311cdc526b800e7fa167080db36916a555c916150793ba97839815954f9" +dependencies = [ + "cfg-if 0.1.6", + "generator", + "scoped-tls 0.1.2", + "serde", + "serde_json", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" + +[[package]] +name = "memoffset" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3978914322794e89d430f150d27986fe4a3fcc0050945cd7008dee145c1cb9c6" + +[[package]] +name = "memoffset" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8" +dependencies = [ + "autocfg 1.0.0", +] + +[[package]] +name = "mime" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61ab7b690f26f7b22cc1e6a5306da408904b75a0c833b9b0f7b3dfab3c8405d1" + +[[package]] +name = "mime_guess" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "mio" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f33bc887064ef1fd66020c9adfc45bb9f33d75a42096c81e7c56c65b75dd1a8b" +dependencies = [ + "libc", + "log", + "miow", + "ntapi", + "winapi 0.3.8", +] + +[[package]] +name = "miow" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897" +dependencies = [ + "socket2", + "winapi 0.3.8", +] + +[[package]] +name = "mox" +version = "0.12.0" +dependencies = [ + "derive_builder", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", + "syn-rsx", +] + +[[package]] +name = "moxie" +version = "0.7.1" +dependencies = [ + "criterion", + "dyn-cache", + "futures", + "illicit", + "parking_lot", + "scopeguard 1.1.0", + "topo", + "tracing", + "tracing-subscriber 0.3.1", +] + +[[package]] +name = "moxie-dom" +version = "0.3.0-pre" +dependencies = [ + "augdom", + "futures", + "illicit", + "mox", + "moxie", + "paste", + "pretty_assertions", + "raf", + "scopeguard 1.1.0", + "topo", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test", +] + +[[package]] +name = "nodrop" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dbbadd3f4c98dea0bd3d9b4be4c0cdaf1ab57035cb2e41fce3983db5add7cc5" +dependencies = [ + "odds", +] + +[[package]] +name = "ntapi" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcdaac6150484ca8fed0f2ba30c2970d05da1ceac10d1beefae91ff4ada7928f" +dependencies = [ + "winapi 0.3.8", +] + +[[package]] +name = "num" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4251ea00b7fa74610f0685b55495fcc86e4971b1951cb732b91d817f71bcae7c" + +[[package]] +name = "num-traits" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7de20f146db9d920c45ee8ed8f71681fd9ade71909b48c3acbd766aa504cf10" + +[[package]] +name = "num_cpus" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" +dependencies = [ + "libc", +] + +[[package]] +name = "odds" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04630a62b3f1cc8c58b4d8f2555a40136f02b420e158242936ef286a72d33a0" + +[[package]] +name = "once_cell" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" + +[[package]] +name = "output_vt100" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9" +dependencies = [ + "winapi 0.3.8", +] + +[[package]] +name = "owning_ref" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "parking_lot" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4893845fa2ca272e647da5d0e46660a314ead9c2fdd9a883aabc32e481a8733" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c6d9b8427445284a09c55be860a15855ab580a417ccad9da88f5a06787ced0" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi 0.3.8", +] + +[[package]] +name = "paste" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ddc8e145de01d9180ac7b78b9676f95a9c2447f6a88b2c2a04702211bc5d71" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pin-project" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909" +dependencies = [ + "pin-project-internal 0.4.29", +] + +[[package]] +name = "pin-project" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ccc2237c2c489783abd8c4c80e5450fc0e98644555b1364da68cc29aa151ca7" +dependencies = [ + "pin-project-internal 1.0.2", +] + +[[package]] +name = "pin-project-internal" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8e8d2bf0b23038a4424865103a4df472855692821aab4e4f5c3312d461d9e5f" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "ppv-lite86" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" + +[[package]] +name = "prettiest" +version = "0.2.1" +dependencies = [ + "futures", + "js-sys", + "scopeguard 1.1.0", + "wasm-bindgen", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "pretty_assertions" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0cfe1b2403f172ba0f234e500906ee0a3e493fb81092dac23ebefe129301cc" +dependencies = [ + "ansi_term", + "ctor", + "diff", + "output_vt100", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d259aa4825fa1a2371419d30a520219feff9fb3591550a209b4477d2ebaae4f" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", + "version_check 0.9.0", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd21889899aa8e1ca2b924c1d3f08086631fc90768225b3268b5d5c3e806a503" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", + "syn-mid", + "version_check 0.9.0", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59306bd601db34d33bf5c87bdd51951001f52cfce77259c5818a84d84a92e757" +dependencies = [ + "proc-macro2 0.4.21", + "quote 0.6.10", + "syn 0.15.22", +] + +[[package]] +name = "proc-macro2" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b48db3af21624df4894fcd6c2e09f38b43f9fede17b9619b19e030916a3a31b3" +dependencies = [ + "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab2fc21ba78ac73e4ff6b3818ece00be4e175ffbef4d0a717d978b48b24150c4" +dependencies = [ + "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "907a61bd0f64c2f29cd1cf1dc34d05176426a3f504a78010f08416ddb7b13708" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9588c006b2b46b884b49393cc875b25d9c6a0905eece0ac25fb43700d64f626" +dependencies = [ + "proc-macro2 0.2.0", +] + +[[package]] +name = "quote" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c" +dependencies = [ + "proc-macro2 0.4.21", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2 1.0.75", +] + +[[package]] +name = "raf" +version = "0.2.0-pre" +dependencies = [ + "futures", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "rand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d47eab0e83d9693d40f825f86948aa16eff6750ead4bdffc4ab95b8b3a7f052c" +dependencies = [ + "getrandom 0.1.1", + "libc", + "rand_chacha 0.2.0", + "rand_core 0.5.0", + "rand_hc 0.2.0", +] + +[[package]] +name = "rand" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76330fb486679b4ace3670f117bbc9e16204005c4bde9c4bd372f45bed34f12" +dependencies = [ + "libc", + "rand_chacha 0.3.0", + "rand_core 0.6.2", + "rand_hc 0.3.0", +] + +[[package]] +name = "rand_chacha" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e193067942ef6f485a349a113329140d0ab9e2168ce92274499bb0e9a4190d9d" +dependencies = [ + "autocfg 0.1.0", + "c2-chacha", + "rand_core 0.5.0", +] + +[[package]] +name = "rand_chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.2", +] + +[[package]] +name = "rand_core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "615e683324e75af5d43d8f7a39ffe3ee4a9dc42c5c701167a71dc59c3a493aca" +dependencies = [ + "getrandom 0.1.1", +] + +[[package]] +name = "rand_core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" +dependencies = [ + "getrandom 0.2.0", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.0", +] + +[[package]] +name = "rand_hc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" +dependencies = [ + "rand_core 0.6.2", +] + +[[package]] +name = "rand_os" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e8c83d0434e67e7a92be561af33f3ca17ff9899a4acf28030fabb8c5c323a1a" +dependencies = [ + "getrandom 0.1.1", + "rand_core 0.5.0", +] + +[[package]] +name = "rand_xoshiro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0be70256657904bb6ee9b4bca1776ade789a05710eeff2a9292323a6f2c3831f" +dependencies = [ + "byteorder", + "rand_core 0.5.0", +] + +[[package]] +name = "rayon" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4b0186e22767d5b9738a05eab7c6ac90b15db17e5b5f9bd87976dd7d89a10a4" +dependencies = [ + "crossbeam-deque 0.6.3", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bf17de6f23b05473c437eb958b9c850bfc8af0961fe17b4cc92d5a627b4791" +dependencies = [ + "crossbeam-deque 0.7.4", + "crossbeam-queue", + "crossbeam-utils 0.7.2", + "lazy_static", + "num_cpus", +] + +[[package]] +name = "redox_syscall" +version = "0.1.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" + +[[package]] +name = "regex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc98360d9e6ad383647702acc90f80b0582eac3ea577ab47d96325d3575de908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", + "thread_local 0.3.6", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi 0.3.8", +] + +[[package]] +name = "rustc_version" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e114e275f7c9b5d50bb52b28f9aac1921209f02aa6077c8b255e21eefaf8ffa" +dependencies = [ + "semver", +] + +[[package]] +name = "rustls" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064fd21ff87c6e87ed4506e68beb42459caa4a0e2eb144932e6776768556980b" +dependencies = [ + "base64", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "ryu" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997" + +[[package]] +name = "same-file" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a18720d745fb9ca6a041b37cb36d0b21066006b6cff8b5b360142d4b81fb60" +dependencies = [ + "kernel32-sys", + "winapi 0.2.8", +] + +[[package]] +name = "scoped-tls" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" + +[[package]] +name = "scoped-tls" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + +[[package]] +name = "scopeguard" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aa5d8d293df7346f1f69c9c8595febc2df7179d672b87619b33ce64dc0a30bb" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "sct" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "semver" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "serde" +version = "1.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b88fa983de7720629c9387e9f517353ed404164b1e482c970a90c1a4aaf7dc1a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd1ae72adb44aab48f325a02444a5fc079349a8d804c1fc922aed3f7454c74e" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "serde_json" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcbd0344bc6533bc7ec56df11d42fb70f1b912351c0825ccb7211b59d8af7cf5" +dependencies = [ + "itoa 1.0.0", + "ryu", + "serde", +] + +[[package]] +name = "serde_yaml" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7baae0a99f1a324984bcdc5f0718384c1f69775f1c7eec8b859b71b443e3fd7" +dependencies = [ + "dtoa", + "linked-hash-map", + "serde", + "yaml-rust", +] + +[[package]] +name = "sharded-slab" +version = "0.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae75d0445b5d3778c9da3d1f840faa16d0627c8607f78a74daf69e5b988c39a1" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "sharded-slab" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4921be914e16899a80adefb821f8ddb7974e3f1250223575a44ed994882127" +dependencies = [ + "lazy_static", + "loom", +] + +[[package]] +name = "similar" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3" + +[[package]] +name = "slab" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" + +[[package]] +name = "smallvec" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" + +[[package]] +name = "socket2" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd8b795c389288baa5f355489c65e71fd48a02104600d15c4cfbc561e9e429d" +dependencies = [ + "cfg-if 0.1.6", + "libc", + "redox_syscall", + "winapi 0.3.8", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "ssr-poc" +version = "0.1.0" +dependencies = [ + "augdom", + "gotham", + "gotham_derive", + "hyper", + "mox", + "moxie", + "moxie-dom", + "serde", + "serde_derive", + "topo", +] + +[[package]] +name = "stable_deref_trait" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b" + +[[package]] +name = "standback" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6389164ce46e8a68e1b373787efcca3b6b6620bb50b12d4e8d14380838db316f" + +[[package]] +name = "static_assertions" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa13613355688665b68639b1c378a62dbedea78aff0fc59a4fa656cbbdec657" + +[[package]] +name = "stdweb" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e24f4ba24441d90410eaebc8f07781d3ceb098007c071afe6d86e59f255db5" +dependencies = [ + "stdweb-derive", + "stdweb-internal-macros", +] + +[[package]] +name = "stdweb-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aa46e9b38ea028a8a327ae6db35a486ace3eb834f5600bb3b6a71c0b6b1bd4b" +dependencies = [ + "quote 0.4.0", + "serde", + "serde_derive", + "syn 0.12.0", +] + +[[package]] +name = "stdweb-internal-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0bb3289dfd46bba44d80ed47a9b3d4c43bf6c1d7931b29e2fa86bd6697ccf59" +dependencies = [ + "base-x", + "quote 0.4.0", + "serde", + "serde_derive", + "serde_json", + "syn 0.12.0", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b186344b4b9c63567a0e29a5b43e2d5ffd02870951722950ab765a93a03433dd" +dependencies = [ + "proc-macro2 0.2.0", + "quote 0.4.0", + "unicode-xid 0.1.0", +] + +[[package]] +name = "syn" +version = "0.15.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8b29eb5210bc5cf63ed6149cbf9adfc82ac0be023d8735c176ee74a2db4da7" +dependencies = [ + "proc-macro2 0.4.21", + "quote 0.6.10", + "unicode-xid 0.1.0", +] + +[[package]] +name = "syn" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "unicode-xid 0.2.0", +] + +[[package]] +name = "syn" +version = "2.0.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "unicode-ident", +] + +[[package]] +name = "syn-mid" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "syn-rsx" +version = "0.8.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a5edb10240c37c3acb0ffe90ea8fc3ce4d5b8c3d45145e2f94ffbfbba11e53a" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "terminal_size" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e288a11a53da73056d3c7cbdee83b1d1ce3344c3210a1f8b56c32f9662a87e9" +dependencies = [ + "libc", + "winapi 0.3.8", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "thread_local" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "thread_local" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "time" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "211b63c112206356ef1ff9b19355f43740fc3f85960c598a93d3a3d3ba7beade" +dependencies = [ + "kernel32-sys", + "libc", + "redox_syscall", + "winapi 0.2.8", +] + +[[package]] +name = "time" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca7ec98a72285d12e0febb26f0847b12d54be24577618719df654c66cadab55d" +dependencies = [ + "const_fn", + "libc", + "standback", + "stdweb", + "time-macros", + "version_check 0.9.0", + "winapi 0.3.8", +] + +[[package]] +name = "time-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9b6e9f095bc105e183e3cd493d72579be3181ad4004fceb01adbe9eecab2d" +dependencies = [ + "proc-macro-hack", + "time-macros-impl", +] + +[[package]] +name = "time-macros-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e987cfe0537f575b5fc99909de6185f6c19c3ad8889e2275e686a873d0869ba1" +dependencies = [ + "proc-macro-hack", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "tinytemplate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "febe070552358738cdcc6b33046c9076f21233a94efef20481108899e1f426e9" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "todomvc-moxie" +version = "0.1.0" +dependencies = [ + "console_error_panic_hook", + "illicit", + "mox", + "moxie-dom", + "pretty_assertions", + "topo", + "tracing", + "tracing-wasm", + "wasm-bindgen", + "wasm-bindgen-test", +] + +[[package]] +name = "tokio" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d258221f566b6c803c7b4714abadc080172b272090cdc5e244a6d4dd13c3a6bd" +dependencies = [ + "autocfg 1.0.0", + "bytes 1.0.0", + "libc", + "memchr", + "mio", + "num_cpus", + "pin-project-lite", +] + +[[package]] +name = "tokio-rustls" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-stream" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3be913b74b13210c8fe04b17ab833f5a124f45b93d0f99f59fff621f64392a" +dependencies = [ + "async-stream", + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36135b7e7da911f5f8b9331209f7fab4cc13498f3fff52f72a710c78187e3148" +dependencies = [ + "bytes 1.0.0", + "futures-core", + "futures-sink", + "log", + "pin-project-lite", + "tokio", + "tokio-stream", +] + +[[package]] +name = "topo" +version = "0.13.2" +dependencies = [ + "criterion", + "dyn-cache", + "illicit", + "once_cell", + "parking_lot", + "topo-macro", +] + +[[package]] +name = "topo-macro" +version = "0.10.0" +dependencies = [ + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "tower-service" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" + +[[package]] +name = "tracing" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f47026cdc4080c07e49b37087de021820269d996f581aac150ef9e5583eefe3" +dependencies = [ + "cfg-if 1.0.0", + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e0ccfc3378da0cce270c946b676a376943f5cd16aeba64568e7939806f4ada" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", +] + +[[package]] +name = "tracing-core" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46125608c26121c81b0c6d693eab5a420e416da7e43c426d2e8f7df8da8a3acf" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "tracing-futures" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "107ae59580d2a1d994b6b965b16fe94c969fe86d3f7fd2572a1ee243bcaf7f09" +dependencies = [ + "pin-project 0.4.29", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25dc36e47794112347ccb9ae8a05b5ec4fab45f01545e4929323cdb1a543a8f4" +dependencies = [ + "sharded-slab 0.0.8", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80a4ddde70311d8da398062ecf6fc2c309337de6b0f77d6c27aff8d53f6fca52" +dependencies = [ + "ansi_term", + "lazy_static", + "matchers", + "regex", + "sharded-slab 0.1.0", + "smallvec", + "thread_local 1.0.1", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "tracing-wasm" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae741706df70547fca8715f74a8569677666e7be3454313af70f6e158034485" +dependencies = [ + "tracing", + "tracing-subscriber 0.2.0", + "wasm-bindgen", +] + +[[package]] +name = "try-lock" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a31f2d8ccabc3089a7aad162f96d4513034a6c5d2385e93023984c645e65fb6" + +[[package]] +name = "unicase" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84e5511b2a947f3ae965dcb29b13b7b1691b6e7332cf5dbc1744138d5acb7f6" +dependencies = [ + "version_check 0.1.0", +] + +[[package]] +name = "unicode-ident" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" + +[[package]] +name = "unicode-width" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" + +[[package]] +name = "unicode-xid" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "uuid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf1d83e5fa94e6c54ee47351bc92daca1f386aa1529ffbb668d2cee5e8173013" +dependencies = [ + "rand 0.7.0", +] + +[[package]] +name = "version_check" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2edadb5308f31d97771a678c33df28f18d04f61de3fe21b9452f37854eb6c08" + +[[package]] +name = "version_check" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45d3d553fd9413fffe7147a20171d640eda0ad4c070acd7d0c885a21bcd2e8b7" + +[[package]] +name = "walkdir" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1b768ba943161a9226ccd59b26bcd901e5d60e6061f4fcad3034784e0c7372b" +dependencies = [ + "same-file", + "winapi 0.3.8", +] + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasm-bindgen" +version = "0.2.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cd364751395ca0f68cafb17666eee36b63077fb5ecd972bbcd74c90c4bf736e" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1114f89ab1f4106e5b55e688b828c0ab0ea593a1ea7c094b141b14cbaaec2d62" +dependencies = [ + "bumpalo", + "lazy_static", + "log", + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fe9756085a84584ee9457a002b7cdfe0bfff169f45d2591d8be1345a6780e35" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6ac8995ead1f084a8dea1e65f194d0973800c7f571f6edd70adf06ecf77084" +dependencies = [ + "quote 1.0.35", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5a48c72f299d80557c7c62e37e7225369ecc0c963964059509fbafe917c7549" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", + "syn 1.0.58", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e7811dd7f9398f14cc76efd356f98f03aa30419dea46aa810d71e819fc97158" + +[[package]] +name = "wasm-bindgen-test" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3d30c1e43ebb4c4835f8163456d16f83dd6c1831424cb22680c680ef5f8ea8" +dependencies = [ + "console_error_panic_hook", + "js-sys", + "scoped-tls 1.0.0", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test-macro", +] + +[[package]] +name = "wasm-bindgen-test-macro" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f093012630c0c14be061ac7a8d99f82a94e2b1cfd74619fa71090705d2c91be" +dependencies = [ + "proc-macro2 1.0.75", + "quote 1.0.35", +] + +[[package]] +name = "web-sys" +version = "0.3.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222b1ef9334f92a21d3fb53dc3fd80f30836959a90f9274a626d7e06315ba3c3" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7e664e770ac0110e2384769bcc59ed19e329d81f555916a6e072714957b81b4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] diff --git a/dom/local-wasm-pack/Cargo.lock b/dom/local-wasm-pack/Cargo.lock index 09e8af510..de07907bf 100644 --- a/dom/local-wasm-pack/Cargo.lock +++ b/dom/local-wasm-pack/Cargo.lock @@ -866,6 +866,7 @@ dependencies = [ name = "local-wasm-pack" version = "0.1.0" dependencies = [ + "openssl", "pretty_env_logger", "structopt", "wasm-pack", @@ -1060,6 +1061,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" +[[package]] +name = "openssl-src" +version = "111.13.0+1.1.1i" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "045e4dc48af57aad93d665885789b43222ae26f4886494da12d1ed58d309dcb6" +dependencies = [ + "cc", +] + [[package]] name = "openssl-sys" version = "0.9.53" @@ -1069,6 +1079,7 @@ dependencies = [ "autocfg", "cc", "libc", + "openssl-src", "pkg-config", "vcpkg", ] diff --git a/dom/local-wasm-pack/Cargo.toml b/dom/local-wasm-pack/Cargo.toml index 0863716e8..7bf286a95 100644 --- a/dom/local-wasm-pack/Cargo.toml +++ b/dom/local-wasm-pack/Cargo.toml @@ -11,6 +11,8 @@ path = "wasm-pack.rs" name = "wasm-pack" [dependencies] +# Force old wasm-pack's native-tls stack to use vendored OpenSSL on CI hosts. +openssl = { version = "0.10.26", features = ["vendored"] } pretty_env_logger = "0.3" structopt = "0.2" diff --git a/dyn-cache/Cargo.toml b/dyn-cache/Cargo.toml index a5bbb2b7f..7b3f1179e 100644 --- a/dyn-cache/Cargo.toml +++ b/dyn-cache/Cargo.toml @@ -20,7 +20,7 @@ wasm-bindgen = [ "parking_lot/wasm-bindgen" ] [dependencies] downcast-rs = "1.1.1" hash_hasher = "2.0.3" -hashbrown = "0.12.0" +hashbrown = "0.9.1" illicit = { path = "../illicit", version = "1.1.2"} parking_lot = "0.11.0" paste = "1.0.0"