2025-01-01 04:12:39 +09:00
|
|
|
# Copyright 2018-2025 the Deno authors. MIT license.
|
2019-03-30 14:45:36 -04:00
|
|
|
|
|
|
|
[package]
|
2020-01-05 11:56:18 -05:00
|
|
|
name = "deno"
|
2025-01-30 21:02:00 -05:00
|
|
|
version = "2.1.9"
|
2022-11-22 21:07:35 +01:00
|
|
|
authors.workspace = true
|
2021-08-02 10:19:27 -04:00
|
|
|
default-run = "deno"
|
2022-11-22 21:07:35 +01:00
|
|
|
edition.workspace = true
|
2024-04-25 17:16:36 +05:30
|
|
|
exclude = ["bench/testdata/lsp_benchdata/"]
|
2022-11-22 21:07:35 +01:00
|
|
|
license.workspace = true
|
|
|
|
repository.workspace = true
|
2021-08-02 10:19:27 -04:00
|
|
|
description = "Provides the deno executable"
|
2019-03-30 14:45:36 -04:00
|
|
|
|
2019-09-16 21:05:14 -04:00
|
|
|
[[bin]]
|
|
|
|
name = "deno"
|
|
|
|
path = "main.rs"
|
2023-01-04 20:19:58 +08:00
|
|
|
doc = false
|
2019-09-16 21:05:14 -04:00
|
|
|
|
2024-02-09 13:33:05 -07:00
|
|
|
[[test]]
|
|
|
|
name = "integration"
|
2024-02-12 17:13:14 -07:00
|
|
|
path = "integration_tests_runner.rs"
|
2024-02-09 13:33:05 -07:00
|
|
|
harness = false
|
|
|
|
|
2020-08-28 15:03:50 +02:00
|
|
|
[[bench]]
|
|
|
|
name = "deno_bench"
|
|
|
|
harness = false
|
|
|
|
path = "./bench/main.rs"
|
|
|
|
|
2022-01-18 06:58:50 -05:00
|
|
|
[[bench]]
|
|
|
|
name = "lsp_bench_standalone"
|
|
|
|
harness = false
|
|
|
|
path = "./bench/lsp_bench_standalone.rs"
|
|
|
|
|
2023-08-06 00:47:15 +01:00
|
|
|
[features]
|
2023-11-29 19:52:25 +01:00
|
|
|
default = ["upgrade", "__vendored_zlib_ng"]
|
2024-10-16 10:03:42 -04:00
|
|
|
# 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"]
|
2023-11-29 19:52:25 +01:00
|
|
|
# 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 = []
|
2023-08-06 00:47:15 +01:00
|
|
|
# A dev feature to disable creations and loading of snapshots in favor of
|
|
|
|
# loading JS sources at runtime.
|
2025-01-17 15:39:29 -05:00
|
|
|
hmr = ["deno_runtime/hmr", "deno_snapshots/disable"]
|
2023-11-11 07:20:12 -07:00
|
|
|
# Vendor zlib as zlib-ng
|
|
|
|
__vendored_zlib_ng = ["flate2/zlib-ng-compat", "libz-sys/zlib-ng"]
|
2023-08-06 00:47:15 +01:00
|
|
|
|
2019-10-04 20:28:51 -04:00
|
|
|
[build-dependencies]
|
2024-01-22 12:37:25 +00:00
|
|
|
deno_runtime = { workspace = true, features = ["include_js_files_for_snapshotting", "only_snapshotted_js_sources"] }
|
2023-06-26 13:54:10 +02:00
|
|
|
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
2023-04-13 09:08:01 +08:00
|
|
|
lazy-regex.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
serde.workspace = true
|
|
|
|
serde_json.workspace = true
|
2023-03-21 20:11:22 +01:00
|
|
|
zstd.workspace = true
|
2023-11-11 07:20:12 -07:00
|
|
|
flate2 = { workspace = true, features = ["default"] }
|
2025-01-08 14:52:32 -08:00
|
|
|
deno_error.workspace = true
|
2019-10-04 20:28:51 -04:00
|
|
|
|
2025-01-17 15:39:29 -05:00
|
|
|
[target.'cfg(unix)'.build-dependencies]
|
|
|
|
glibc_version = "0.1.2"
|
|
|
|
|
2020-07-15 22:54:38 +03:00
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
2022-11-22 21:07:35 +01:00
|
|
|
winapi.workspace = true
|
|
|
|
winres.workspace = true
|
2020-07-15 22:54:38 +03:00
|
|
|
|
2019-03-30 14:45:36 -04:00
|
|
|
[dependencies]
|
2024-02-08 20:40:26 -05:00
|
|
|
deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] }
|
2025-01-23 18:52:55 -05:00
|
|
|
deno_cache_dir = { workspace = true, features = ["sync"] }
|
|
|
|
deno_config = { workspace = true, features = ["sync", "workspace"] }
|
2023-06-26 13:54:10 +02:00
|
|
|
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
2025-01-08 14:52:32 -08:00
|
|
|
deno_doc = { version = "=0.164.0", features = ["rust", "comrak"] }
|
2024-12-16 18:39:40 -05:00
|
|
|
deno_error.workspace = true
|
2025-01-28 10:49:58 -05:00
|
|
|
deno_graph = { version = "=0.87.2" }
|
2025-01-15 09:35:46 -05:00
|
|
|
deno_lib.workspace = true
|
feat(lint): add JavaScript plugin support (#27203)
This commit adds an unstable lint plugin API.
Plugins are specified in the `deno.json` file under
`lint.plugins` option like so:
```
{
"lint": {
"plugins": [
"./plugins/my-plugin.ts",
"jsr:@deno/lint-plugin1",
"npm:@deno/lint-plugin2"
]
}
}
```
The API is considered unstable and might be subject
to changes in the future.
Plugin API was modelled after ESLint API for the
most part, but there are no guarantees for compatibility.
The AST format exposed to plugins is closely modelled
after the AST that `typescript-eslint` uses.
Lint plugins use the visitor pattern and can add
diagnostics like so:
```
export default {
name: "lint-plugin",
rules: {
"plugin-rule": {
create(context) {
return {
Identifier(node) {
if (node.name === "a") {
context.report({
node,
message: "should be b",
fix(fixer) {
return fixer.replaceText(node, "_b");
},
});
}
},
};
},
},
},
} satisfies Deno.lint.Plugin;
```
Besides reporting errors (diagnostics) plugins can provide
automatic fixes that use text replacement to apply changes.
---------
Co-authored-by: Marvin Hagemeister <marvin@deno.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2025-02-05 16:59:24 +01:00
|
|
|
deno_lint = { version = "0.71.0" }
|
2023-01-23 23:41:02 +01:00
|
|
|
deno_lockfile.workspace = true
|
2025-01-22 15:35:16 -05:00
|
|
|
deno_media_type = { workspace = true, features = ["data_url", "decoding", "module_specifier"] }
|
2024-09-28 19:17:48 -04:00
|
|
|
deno_npm.workspace = true
|
2024-12-02 21:10:16 -05:00
|
|
|
deno_npm_cache.workspace = true
|
2025-01-23 18:52:55 -05:00
|
|
|
deno_package_json = { workspace = true, features = ["sync"] }
|
2024-09-28 07:55:01 -04:00
|
|
|
deno_path_util.workspace = true
|
2024-12-15 08:18:04 +00:00
|
|
|
deno_resolver = { workspace = true, features = ["sync"] }
|
2024-01-10 16:30:50 +01:00
|
|
|
deno_runtime = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
2024-08-28 14:17:47 -04:00
|
|
|
deno_semver.workspace = true
|
2025-01-17 15:39:29 -05:00
|
|
|
deno_snapshots = { workspace = true }
|
2024-12-04 12:19:06 -05:00
|
|
|
deno_task_shell = "=0.20.2"
|
2024-11-26 12:22:18 +01:00
|
|
|
deno_telemetry.workspace = true
|
2024-02-07 11:25:14 -05:00
|
|
|
deno_terminal.workspace = true
|
2025-01-17 15:39:29 -05:00
|
|
|
libsui.workspace = true
|
2024-07-25 19:08:14 -04:00
|
|
|
node_resolver.workspace = true
|
2019-03-30 14:45:36 -04:00
|
|
|
|
2024-08-21 06:54:59 -07:00
|
|
|
anstream = "0.6.14"
|
2023-02-21 12:03:48 -05:00
|
|
|
async-trait.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
base64.workspace = true
|
2023-07-10 13:42:47 -04:00
|
|
|
bincode = "=1.3.3"
|
2024-12-16 18:39:40 -05:00
|
|
|
boxed_error.workspace = true
|
2023-09-16 02:42:09 +02:00
|
|
|
bytes.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
cache_control.workspace = true
|
2024-12-16 19:20:53 -05:00
|
|
|
capacity_builder.workspace = true
|
2024-05-23 08:59:11 -03:00
|
|
|
chrono = { workspace = true, features = ["now"] }
|
2024-09-03 12:40:50 -07:00
|
|
|
clap = { version = "=4.5.16", features = ["env", "string", "wrap_help", "error-context"] }
|
|
|
|
clap_complete = "=4.5.24"
|
2024-08-12 08:55:33 -07:00
|
|
|
clap_complete_fig = "=4.5.2"
|
2024-10-15 22:51:39 +01:00
|
|
|
color-print.workspace = true
|
2023-03-09 20:09:14 -04:00
|
|
|
console_static_text.workspace = true
|
2025-02-04 15:41:56 -08:00
|
|
|
crossterm = "0.28.1"
|
2024-09-28 19:17:48 -04:00
|
|
|
dashmap.workspace = true
|
2023-09-16 02:42:09 +02:00
|
|
|
data-encoding.workspace = true
|
2024-10-16 10:03:42 -04:00
|
|
|
dhat = { version = "0.3.3", optional = true }
|
2022-09-16 19:11:30 -04:00
|
|
|
dissimilar = "=1.0.4"
|
2023-11-02 02:21:13 +11:00
|
|
|
dotenvy = "0.15.7"
|
2024-10-21 14:17:08 -04:00
|
|
|
dprint-plugin-json = "=0.19.4"
|
|
|
|
dprint-plugin-jupyter = "=0.1.5"
|
2024-08-26 14:36:24 -04:00
|
|
|
dprint-plugin-markdown = "=0.17.8"
|
2024-11-29 23:54:26 +00:00
|
|
|
dprint-plugin-typescript = "=0.93.3"
|
2022-08-10 07:27:22 +10:00
|
|
|
fancy-regex = "=0.10.0"
|
2024-03-07 10:00:43 -07:00
|
|
|
faster-hex.workspace = true
|
2023-11-11 07:20:12 -07:00
|
|
|
# If you disable the default __vendored_zlib_ng feature above, you _must_ be able to link against `-lz`.
|
2022-11-22 21:07:35 +01:00
|
|
|
flate2.workspace = true
|
2023-03-08 10:13:13 -05:00
|
|
|
fs3.workspace = true
|
2023-05-23 03:39:59 +02:00
|
|
|
glob = "0.3.1"
|
2024-07-18 00:37:31 +01:00
|
|
|
http.workspace = true
|
|
|
|
http-body.workspace = true
|
|
|
|
http-body-util.workspace = true
|
|
|
|
hyper-util.workspace = true
|
2025-01-08 14:52:32 -08:00
|
|
|
import_map = { version = "=0.21.0", features = ["ext"] }
|
2023-02-22 22:45:35 -05:00
|
|
|
indexmap.workspace = true
|
2024-10-21 14:17:08 -04:00
|
|
|
jsonc-parser = { workspace = true, features = ["cst", "serde"] }
|
2024-11-14 02:43:41 -08:00
|
|
|
jupyter_runtime = { package = "runtimelib", version = "=0.19.0", features = ["tokio-runtime"] }
|
2023-04-13 09:08:01 +08:00
|
|
|
lazy-regex.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
libc.workspace = true
|
2023-11-11 07:20:12 -07:00
|
|
|
libz-sys.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
log = { workspace = true, features = ["serde"] }
|
2023-03-08 18:15:20 -05:00
|
|
|
lsp-types.workspace = true
|
2024-10-22 18:15:59 +08:00
|
|
|
malva = "=0.11.0"
|
2024-12-03 01:04:55 +00:00
|
|
|
markup_fmt = "=0.18.0"
|
2024-04-16 15:14:59 -06:00
|
|
|
memmem.workspace = true
|
2023-09-14 12:21:57 -04:00
|
|
|
monch.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
notify.workspace = true
|
|
|
|
once_cell.workspace = true
|
2024-02-01 16:25:56 +01:00
|
|
|
open = "5.0.1"
|
2024-02-28 07:58:02 +05:30
|
|
|
p256.workspace = true
|
2024-05-24 00:43:38 +01:00
|
|
|
pathdiff = "0.2.1"
|
2022-11-22 21:07:35 +01:00
|
|
|
percent-encoding.workspace = true
|
2024-02-05 13:26:59 -07:00
|
|
|
phf.workspace = true
|
2024-09-09 23:45:17 +08:00
|
|
|
pretty_yaml = "=0.5.0"
|
2023-10-28 06:10:17 -07:00
|
|
|
quick-junit = "^0.3.5"
|
2022-11-22 21:07:35 +01:00
|
|
|
rand = { workspace = true, features = ["small_rng"] }
|
|
|
|
regex.workspace = true
|
|
|
|
ring.workspace = true
|
2024-01-12 02:35:55 +05:30
|
|
|
rustyline.workspace = true
|
2022-07-18 19:47:00 +01:00
|
|
|
rustyline-derive = "=0.7.0"
|
2022-11-22 21:07:35 +01:00
|
|
|
serde.workspace = true
|
|
|
|
serde_repr.workspace = true
|
2023-11-24 00:38:07 +01:00
|
|
|
sha2.workspace = true
|
2024-02-28 07:58:02 +05:30
|
|
|
spki = { version = "0.7", features = ["pem"] }
|
2024-11-25 15:18:39 +00:00
|
|
|
sqlformat = "=0.3.2"
|
2024-08-12 08:55:33 -07:00
|
|
|
strsim = "0.11.1"
|
2024-12-31 11:29:07 -05:00
|
|
|
sys_traits = { workspace = true, features = ["getrandom", "filetime", "libc", "real", "strip_unc", "winapi"] }
|
2022-11-22 21:07:35 +01:00
|
|
|
tar.workspace = true
|
2023-03-22 12:55:19 -06:00
|
|
|
tempfile.workspace = true
|
2021-12-07 01:43:09 +01:00
|
|
|
text-size = "=1.1.0"
|
2022-07-11 19:02:11 -04:00
|
|
|
text_lines = "=0.6.0"
|
2023-03-14 22:55:52 +08:00
|
|
|
thiserror.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
tokio.workspace = true
|
|
|
|
tokio-util.workspace = true
|
2023-03-08 18:15:20 -05:00
|
|
|
tower-lsp.workspace = true
|
2024-08-23 11:15:10 +09:00
|
|
|
tracing = { version = "0.1", features = ["log", "default"] }
|
2024-05-24 10:15:46 -04:00
|
|
|
twox-hash.workspace = true
|
2024-08-12 12:57:50 -07:00
|
|
|
typed-arena = "=2.0.2"
|
2025-02-04 15:41:56 -08:00
|
|
|
unicode-width = "0.1.3"
|
2022-11-22 21:07:35 +01:00
|
|
|
uuid = { workspace = true, features = ["serde"] }
|
2025-01-24 21:47:15 +09:00
|
|
|
walkdir.workspace = true
|
2024-07-09 20:06:08 -07:00
|
|
|
which.workspace = true
|
2024-03-25 17:53:50 -07:00
|
|
|
zeromq.workspace = true
|
2024-08-08 09:19:05 +02:00
|
|
|
zip = { version = "2.1.6", default-features = false, features = ["deflate-flate2"] }
|
2023-03-21 20:11:22 +01:00
|
|
|
zstd.workspace = true
|
2020-03-27 16:09:51 -04:00
|
|
|
|
2019-03-30 14:45:36 -04:00
|
|
|
[target.'cfg(windows)'.dependencies]
|
2024-03-09 09:07:29 +05:30
|
|
|
junction.workspace = true
|
2022-11-22 21:07:35 +01:00
|
|
|
winapi = { workspace = true, features = ["knownfolders", "mswsock", "objbase", "shlobj", "tlhelp32", "winbase", "winerror", "winsock2"] }
|
2019-04-21 18:26:56 -07:00
|
|
|
|
2022-10-21 20:50:03 +01:00
|
|
|
[target.'cfg(unix)'.dependencies]
|
2022-11-22 21:07:35 +01:00
|
|
|
nix.workspace = true
|
2025-01-17 15:39:29 -05:00
|
|
|
shell-escape = "=0.1.5"
|
2022-10-21 20:50:03 +01:00
|
|
|
|
2019-09-10 17:09:54 +02:00
|
|
|
[dev-dependencies]
|
2022-11-22 21:07:35 +01:00
|
|
|
deno_bench_util.workspace = true
|
|
|
|
pretty_assertions.workspace = true
|
2024-12-31 11:29:07 -05:00
|
|
|
sys_traits = { workspace = true, features = ["memory"] }
|
2022-11-22 21:07:35 +01:00
|
|
|
test_util.workspace = true
|
2020-02-25 22:01:24 -08:00
|
|
|
|
2020-07-15 22:54:38 +03:00
|
|
|
[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"
|
2021-04-01 19:10:00 -04:00
|
|
|
FileDescription = "Deno: A secure runtime for JavaScript and TypeScript"
|