# Copyright 2018-2025 the Deno authors. MIT license. [package] name = "deno" version = "2.2.3" authors.workspace = true default-run = "deno" edition.workspace = true exclude = ["bench/testdata/lsp_benchdata/"] license.workspace = true repository.workspace = true description = "Provides the deno executable" [[bin]] name = "deno" path = "main.rs" doc = false [[test]] name = "integration" path = "integration_tests_runner.rs" harness = false [[bench]] name = "deno_bench" harness = false path = "./bench/main.rs" [[bench]] name = "lsp_bench_standalone" harness = false path = "./bench/lsp_bench_standalone.rs" [features] default = ["upgrade", "__vendored_zlib_ng"] # A feature that enables heap profiling with dhat on Linux. # 1. Compile with `cargo build --profile=release-with-debug --features=dhat-heap` # 2. Run the executable. It will output a dhat-heap.json file. # 3. Open the json file in https://nnethercote.github.io/dh_view/dh_view.html dhat-heap = ["dhat"] # A feature that enables the upgrade subcommand and the background check for # available updates (of deno binary). This is typically disabled for (Linux) # distribution packages. upgrade = [] # A dev feature to disable creations and loading of snapshots in favor of # loading JS sources at runtime. hmr = ["deno_runtime/hmr", "deno_snapshots/disable"] # Vendor zlib as zlib-ng __vendored_zlib_ng = ["flate2/zlib-ng-compat", "libz-sys/zlib-ng"] lsp-tracing = ["dep:tracing", "dep:tracing-subscriber", "dep:tracing-opentelemetry"] [build-dependencies] deno_runtime = { workspace = true, features = ["include_js_files_for_snapshotting", "only_snapshotted_js_sources"] } deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] } lazy-regex.workspace = true serde.workspace = true serde_json.workspace = true zstd.workspace = true flate2 = { workspace = true, features = ["default"] } deno_error.workspace = true [target.'cfg(unix)'.build-dependencies] glibc_version = "0.1.2" [target.'cfg(windows)'.build-dependencies] winapi.workspace = true winres.workspace = true [dependencies] deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] } deno_cache_dir = { workspace = true, features = ["sync"] } deno_config = { workspace = true, features = ["sync", "workspace"] } deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] } deno_doc = { workspace = true, features = ["rust", "comrak"] } deno_error.workspace = true deno_graph.workspace = true deno_lib.workspace = true deno_lint.workspace = true deno_lockfile.workspace = true deno_media_type = { workspace = true, features = ["data_url", "decoding", "module_specifier"] } deno_npm.workspace = true deno_npm_cache.workspace = true deno_package_json = { workspace = true, features = ["sync"] } deno_path_util.workspace = true deno_resolver = { workspace = true, features = ["sync"] } deno_runtime = { workspace = true, features = ["include_js_files_for_snapshotting"] } deno_semver.workspace = true deno_snapshots.workspace = true deno_task_shell.workspace = true deno_telemetry.workspace = true deno_terminal.workspace = true libsui.workspace = true node_resolver.workspace = true anstream.workspace = true async-trait.workspace = true base64.workspace = true bincode.workspace = true boxed_error.workspace = true bytes.workspace = true capacity_builder.workspace = true chrono = { workspace = true, features = ["now"] } clap = { workspace = true, features = ["env", "string", "wrap_help", "error-context"] } clap_complete.workspace = true clap_complete_fig.workspace = true color-print.workspace = true console_static_text.workspace = true crossterm.workspace = true dashmap.workspace = true dhat = { workspace = true, optional = true } dissimilar.workspace = true dotenvy.workspace = true dprint-plugin-json.workspace = true dprint-plugin-jupyter.workspace = true dprint-plugin-markdown.workspace = true dprint-plugin-typescript.workspace = true fancy-regex.workspace = true faster-hex.workspace = true # If you disable the default __vendored_zlib_ng feature above, you _must_ be able to link against `-lz`. flate2.workspace = true fs3.workspace = true http.workspace = true http-body.workspace = true http-body-util.workspace = true import_map = { version = "=0.21.0", features = ["ext"] } indexmap.workspace = true jsonc-parser = { workspace = true, features = ["cst", "serde"] } jupyter_runtime = { package = "runtimelib", version = "=0.19.0", features = ["tokio-runtime"] } lazy-regex.workspace = true libc.workspace = true libz-sys.workspace = true log = { workspace = true, features = ["serde"] } lsp-types.workspace = true malva.workspace = true markup_fmt.workspace = true memmem.workspace = true notify.workspace = true once_cell.workspace = true open.workspace = true opentelemetry.workspace = true opentelemetry-otlp.workspace = true opentelemetry-semantic-conventions.workspace = true opentelemetry_sdk.workspace = true p256.workspace = true pathdiff.workspace = true percent-encoding.workspace = true phf.workspace = true pretty_yaml.workspace = true quick-junit.workspace = true rand = { workspace = true, features = ["small_rng"] } regex.workspace = true ring.workspace = true rustc-hash.workspace = true rustyline.workspace = true rustyline-derive.workspace = true serde.workspace = true serde_repr.workspace = true sha2.workspace = true spki = { workspace = true, features = ["pem"] } sqlformat.workspace = true strsim.workspace = true sys_traits = { workspace = true, features = ["getrandom", "filetime", "libc", "real", "strip_unc", "winapi"] } tar.workspace = true tempfile.workspace = true text-size.workspace = true text_lines.workspace = true thiserror.workspace = true tokio.workspace = true tokio-util.workspace = true tower.workspace = true tower-lsp.workspace = true tracing = { workspace = true, features = ["log"], optional = true } tracing-opentelemetry = { workspace = true, optional = true } tracing-subscriber = { workspace = true, features = ["env-filter"], optional = true } typed-arena.workspace = true unicode-width.workspace = true uuid = { workspace = true, features = ["serde"] } walkdir.workspace = true zip = { workspace = true, features = ["deflate-flate2"] } zstd.workspace = true [target.'cfg(windows)'.dependencies] junction.workspace = true winapi = { workspace = true, features = ["knownfolders", "mswsock", "objbase", "shlobj", "tlhelp32", "winbase", "winerror", "winsock2"] } [target.'cfg(unix)'.dependencies] nix.workspace = true shell-escape = "=0.1.5" [dev-dependencies] deno_bench_util.workspace = true pretty_assertions.workspace = true sys_traits = { workspace = true, features = ["memory"] } test_util.workspace = true [package.metadata.winres] # This section defines the metadata that appears in the deno.exe PE header. OriginalFilename = "deno.exe" LegalCopyright = "© Deno contributors & Deno Land Inc. MIT licensed." ProductName = "Deno" FileDescription = "Deno: A secure runtime for JavaScript and TypeScript"