-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathCargo.toml
128 lines (99 loc) · 3.53 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[package]
name = "rquickjs"
version = "0.9.0"
authors = ["Mees Delzenne <[email protected]>", "K. <[email protected]>"]
edition = "2021"
rust-version = "1.81"
license = "MIT"
readme = "README.md"
description = "High level bindings to the QuickJS JavaScript engine"
keywords = ["quickjs", "ecmascript", "javascript", "es6", "es2020"]
categories = ["api-bindings"]
repository = "https://github.com/DelSkayn/rquickjs.git"
[workspace]
members = [
"sys",
"core",
"macro",
"examples/native-module",
"examples/module-loader",
"examples/rquickjs-cli",
]
[workspace.dependencies]
rquickjs-core = { version = "0.9.0", path = "core" }
rquickjs-macro = { version = "0.9.0", path = "macro" }
rquickjs-sys = { version = "0.9.0", path = "sys" }
rquickjs = { version = "0.9.0", path = "./" }
[dependencies]
indexmap-rs = { package = "indexmap", version = "2", optional = true }
either-rs = { package = "either", version = "1", optional = true }
rquickjs-core = { workspace = true }
rquickjs-macro = { workspace = true, optional = true }
[features]
default = []
# Almost all features excluding "parallel" and support for async runtimes
full = [
"chrono",
"loader",
"dyn-load",
"either",
"indexmap",
"macro",
"phf",
]
# Almost all features excluding "parallel"
full-async = ["full", "futures"]
# Chrono support.
chrono = ["rquickjs-core/chrono"]
# Enable support for Either type
either = ["rquickjs-core/either", "either-rs"]
# Enable support for IndexMap and IndexSet types type
indexmap = ["rquickjs-core/indexmap", "indexmap-rs"]
# Enable support for perfect hash maps
phf = ["rquickjs-core/phf", "rquickjs-macro/phf"]
# Use bindgen to generate bindings at compile-time
# otherwise bundled bindings will be used
bindgen = ["rquickjs-core/bindgen", "rquickjs-macro?/bindgen"]
# Enable support of parallel execution
parallel = ["rquickjs-core/parallel"]
# Enable user-defined module loader support
loader = ["rquickjs-core/loader"]
# Enable native module loading support
dyn-load = ["rquickjs-core/dyn-load"]
# Use Rust global allocator by default
# otherwise libc allocator will be used
rust-alloc = ["rquickjs-core/rust-alloc"]
# Enable helper macros
macro = ["rquickjs-macro"]
# Allows transferring objects between different contexts of the same runtime.
# Disabled for now as it can be used to create unsound code.
# multi-ctx = ["rquickjs-core/multi-ctx"]
# Enable interop between Rust futures and JS Promises
futures = ["rquickjs-core/futures"]
# Enable QuickJS dumps for debug
dump-bytecode = ["rquickjs-core/dump-bytecode"]
dump-gc = ["rquickjs-core/dump-gc"]
dump-gc-free = ["rquickjs-core/dump-gc-free"]
dump-free = ["rquickjs-core/dump-free"]
# Dump JS values which still alive when runtime is freed
dump-leaks = ["rquickjs-core/dump-leaks"]
dump-mem = ["rquickjs-core/dump-mem"]
dump-objects = ["rquickjs-core/dump-objects"]
dump-atoms = ["rquickjs-core/dump-atoms"]
dump-shapes = ["rquickjs-core/dump-shapes"]
dump-module-resolve = ["rquickjs-core/dump-module-resolve"]
dump-promise = ["rquickjs-core/dump-promise"]
dump-read-object = ["rquickjs-core/dump-read-object"]
# Enable compilation tests
compile-tests = ["rquickjs-core/compile-tests"]
# Enable unstable doc-cfg feature (for docs.rs)
doc-cfg = ["rquickjs-core/doc-cfg"]
# Deprecated features
classes = ["rquickjs-core/classes"]
array-buffer = ["rquickjs-core/array-buffer"]
allocator = ["rquickjs-core/allocator"]
properties = ["rquickjs-core/properties"]
[dev-dependencies]
trybuild = "1.0.82"
[package.metadata.docs.rs]
features = ["full-async", "parallel", "doc-cfg"]