ferridriver-script 0.3.0

Sandboxed QuickJS scripting engine for ferridriver. Runs JS scripts against Page/Browser/Context with bound args, per-call isolation, scoped fs, and structured errors.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "ferridriver-script"
version = "0.3.0"
authors = ["Salama Ashoush <salamaashoush@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sandboxed QuickJS scripting engine for ferridriver. Runs JS scripts against Page/Browser/Context with bound args, per-call isolation, scoped fs, and structured errors."
homepage = "https://github.com/salamaashoush/ferridriver"
readme = "README.md"
keywords = [
    "browser",
    "automation",
    "playwright",
    "cdp",
    "testing",
]
categories = [
    "development-tools::testing",
    "web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/salamaashoush/ferridriver"
resolver = "2"

[lib]
name = "ferridriver_script"
path = "src/lib.rs"

[[test]]
name = "bdd_attach"
path = "tests/bdd_attach.rs"

[[test]]
name = "binding_surface_e2e"
path = "tests/binding_surface_e2e.rs"

[[test]]
name = "commands"
path = "tests/commands.rs"

[[test]]
name = "expect_api"
path = "tests/expect_api.rs"

[[test]]
name = "fetch_api"
path = "tests/fetch_api.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "long_session_reliability"
path = "tests/long_session_reliability.rs"

[[test]]
name = "plugin_bench"
path = "tests/plugin_bench.rs"

[[test]]
name = "process_shim"
path = "tests/process_shim.rs"

[[test]]
name = "session"
path = "tests/session.rs"

[[test]]
name = "smoke"
path = "tests/smoke.rs"

[dependencies.async-trait]
version = "0.1"

[dependencies.base64]
version = "0.22"

[dependencies.ferridriver]
version = "0.3.0"

[dependencies.ferridriver-expect]
version = "0.3.0"

[dependencies.futures]
version = "0.3"

[dependencies.libc]
version = "0.2"

[dependencies.rolldown]
version = "1"

[dependencies.rolldown_common]
version = "1"

[dependencies.rquickjs]
version = "0.11"
features = [
    "full-async",
    "parallel",
    "macro",
    "loader",
    "array-buffer",
]

[dependencies.rquickjs-extra-console]
version = "0.2"

[dependencies.rquickjs-extra-timers]
version = "0.2"

[dependencies.rquickjs-extra-url]
version = "0.2"

[dependencies.rquickjs-serde]
version = "0.5"

[dependencies.rustc-hash]
version = "2"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sourcemap]
version = "9"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tracing]
version = "0.1"

[dependencies.url]
version = "2"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
version = "1"
features = [
    "full",
    "full",
    "test-util",
]

[lints.clippy]
dbg_macro = "warn"
expect_used = "warn"
todo = "warn"
unwrap_used = "warn"

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "deny"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "deny"
priority = -1

[lints.rust]
rust_2018_idioms = "warn"
unsafe_code = "warn"