Files
next.js/crates/next-napi-bindings/Cargo.toml
Luke SandbergandGitHub 3bbbb32fa9 Enable wasm plugins on windows arm (#92544)
Not because we should, but because we can.

Previously we disabled this due to an incompatibility between windows arm and wasmer, however we recently switched to wasmtime which appears to work.

So simplify the CI configuration and the rust feature flags

https://github.com/vercel/next.js/actions/runs/24271405735 is a build-and-deploy.yml run and this is the [windows arm build](https://github.com/vercel/next.js/actions/runs/24271405735/job/70877042113)
2026-04-14 16:52:37 -07:00

141 lines
4.2 KiB
TOML

[package]
edition = "2024"
name = "next-napi-bindings"
version = "0.0.0"
publish = false
[lib]
crate-type = ["cdylib"]
[features]
image-webp = ["next-core/image-webp"]
image-avif = ["next-core/image-avif"]
# Enable all the available image codec support.
# Currently this is identical to `image-webp`, as we are not able to build
# other codecs easily yet.
image-extended = ["image-webp"]
# Enable dhat profiling allocator for heap profiling.
__internal_dhat-heap = ["dhat"]
# Enable dhat profiling allocator for ad hoc profiling.
# [Note]: we do not have any ad hoc event in the codebase yet, so enabling this
# effectively does nothing.
__internal_dhat-ad-hoc = ["dhat"]
# Enable support for the tokio console: https://github.com/tokio-rs/console
tokio-console = ["dep:console-subscriber"]
[lints]
workspace = true
[package.metadata.cargo-shear]
ignored = [
# we need to set features on these packages when building for WASM, but we don't directly use them
"getrandom",
"iana-time-zone",
]
[dependencies]
anyhow = { workspace = true }
bincode = { workspace = true }
console-subscriber = { workspace = true, optional = true }
dhat = { workspace = true, optional = true }
either = { workspace = true }
flate2 = { workspace = true }
futures-util = { workspace = true }
owo-colors = { workspace = true }
napi = { workspace = true }
napi-derive = { workspace = true }
next-code-frame = { workspace = true }
next-custom-transforms = { workspace = true }
next-taskless = { workspace = true }
rand = { workspace = true }
rustc-hash = { workspace = true }
serde = "1"
serde_json = "1"
supports-hyperlinks = "3.1.0"
terminal_size = { workspace = true }
terminal_hyperlink = "0.1.0"
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tracing-chrome = "0.7.2"
url = { workspace = true }
urlencoding = { workspace = true }
once_cell = { workspace = true }
regex = { workspace = true }
swc_core = { workspace = true, features = [
"base",
"base_module",
"common_concurrent",
"ecma_ast",
"ecma_ast_serde",
"ecma_codegen",
"ecma_helpers_inline",
"ecma_loader_lru",
"ecma_loader_node",
"ecma_minifier",
"ecma_parser",
"ecma_parser_typescript",
"ecma_transforms",
"ecma_transforms_optimization",
"ecma_transforms_react",
"ecma_transforms_typescript",
"ecma_utils",
"ecma_visit",
"__plugin_transform_host",
"__plugin_transform_host_schema_v1",
"plugin_transform_host_native_filesystem_cache",
] }
# Dependencies for the native, non-wasm32 build.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
lightningcss-napi = { workspace = true }
lightningcss = { workspace = true }
swc_plugin_backend_wasmtime = { workspace = true }
tokio = { workspace = true, features = ["full"] }
turbo-rcstr = { workspace = true, features = ["napi"] }
turbo-tasks = { workspace = true }
turbo-tasks-backend = { workspace = true }
turbo-tasks-fs = { workspace = true }
turbo-unix-path = { workspace = true }
next-api = { workspace = true, features = ["worker_pool"] }
next-build = { workspace = true }
next-core = { workspace = true }
mdxjs = { workspace = true, features = ["serializable"] }
turbo-tasks-malloc = { workspace = true, default-features = false, features = [
"custom_allocator",
] }
turbopack-core = { workspace = true }
turbopack-ecmascript-hmr-protocol = { workspace = true }
turbopack-trace-utils = { workspace = true }
turbopack-trace-server = { workspace = true }
turbopack-node = { workspace = true, default-features = false, features = ["worker_pool"] }
[target.'cfg(windows)'.dependencies]
windows-sys = "0.60"
# Dependencies for the wasm32 build.
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2.9", default-features = false, features = ["js"] }
iana-time-zone = { version = "*", features = ["fallback"] }
mdxjs = { workspace = true }
turbo-tasks-malloc = { workspace = true, default-features = false }
# wasi-only dependencies.
[target.wasm32-wasip1-threads.dependencies]
# this requires tokio_unstable currently.
tokio = { workspace = true, features = ["full"] }
[build-dependencies]
anyhow = { workspace = true }
napi-build = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
vergen-gitcl = { workspace = true }