[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"