Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
138 lines (118 loc) · 3.82 KB
/
Copy pathCargo.toml
File metadata and controls
138 lines (118 loc) · 3.82 KB
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
129
130
131
132
133
134
135
136
137
138
[package]
name = "cedar-policy"
edition.workspace = true
rust-version.workspace = true
version.workspace = true
license.workspace = true
categories.workspace = true
description = "Cedar is a language for defining permissions as policies, which describe who should have access to what."
keywords.workspace = true
homepage.workspace = true
repository = "https://github.com/cedar-policy/cedar"
[dependencies]
cedar-policy-core = { version = "=4.13.0", path = "../cedar-policy-core" }
cedar-policy-formatter = { version = "=4.13.0", path = "../cedar-policy-formatter" }
ref-cast = "1.0"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_json = "1.0"
itertools = "0.15"
miette = "7.6.0"
thiserror = "2.0"
smol_str = { version = "0.3", features = ["serde"] }
dhat = { version = "0.3.2", optional = true }
serde_with = "3.21.0"
nonempty = { version = "0.12", optional = true }
prost = { version = "0.14", optional = true }
linked-hash-map = { version = "0.5.6", features = ["serde_impl"] }
linked_hash_set = "0.1.6"
# wasm dependencies
tsify = { version = "0.5.8", optional = true }
wasm-bindgen = { version = "0.2.97", optional = true }
semver = "1.0.28"
[build-dependencies]
prost-build = { version = "0.14", optional = true }
[features]
# by default, enable all Cedar extensions, but not other crate features
default = ["ipaddr", "decimal", "datetime"]
# Cedar extensions
ipaddr = ["cedar-policy-core/ipaddr"]
decimal = ["cedar-policy-core/decimal"]
datetime = ["cedar-policy-core/datetime"]
# Features for memory or runtime profiling
heap-profiling = ["dep:dhat"]
corpus-timing = []
# Experimental features.
# Enable all experimental features with `cargo build --features "experimental"`
experimental = [
"partial-eval",
"permissive-validate",
"partial-validate",
"entity-manifest",
"protobufs",
"tolerant-ast",
"extended-schema",
"deprecated-schema-compat",
"tpe",
"variadic-is-in-range",
]
entity-manifest = ["cedar-policy-core/entity-manifest"]
partial-eval = ["cedar-policy-core/partial-eval"]
permissive-validate = []
partial-validate = ["cedar-policy-core/partial-validate"]
protobufs = ["dep:nonempty", "dep:prost", "dep:prost-build"]
wasm = ["tsify", "wasm-bindgen"]
tolerant-ast = [
"cedar-policy-core/tolerant-ast",
"cedar-policy-formatter/tolerant-ast",
]
extended-schema = ["cedar-policy-core/extended-schema"]
# Not exactly experimental but rather a feature for supporting deprecated
# parsing behavior. API is stable, but hopefully will be removed in a future
# release.
deprecated-schema-compat = []
tpe = ["cedar-policy-core/tpe"]
variadic-is-in-range = ["cedar-policy-core/variadic-is-in-range"]
[dev-dependencies]
miette = { version = "7.6.0", features = ["fancy"] }
cool_asserts = "2.0"
similar-asserts = "2.0.0"
criterion = "0.8"
globset = "0.4"
insta = { version = "1.47.2", features = ["glob", "json"] }
cedar-policy-core = { version = "=4.13.0", features = [
"test-util",
], path = "../cedar-policy-core" }
# NON-CRYPTOGRAPHIC random number generators
oorandom = "11.1"
assert-json-diff = "2.0"
proptest = "1.11.0"
[[bench]]
name = "cedar_benchmarks"
harness = false
[[bench]]
name = "attr_errors"
harness = false
[[bench]]
name = "entity_attr_errors"
harness = false
[[bench]]
name = "entity_parsing"
harness = false
[[bench]]
name = "extension_fn_validation"
harness = false
[[bench]]
name = "deeply_nested_est"
harness = false
[[bench]]
name = "from_ast"
harness = false
[package.metadata.docs.rs]
features = ["experimental"]
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true
[package.metadata.release]
pre-release-replacements = [
{ file = "CHANGELOG.md", search = "## \\[Unreleased\\]\n\nCedar Language Version: TBD", replace = "## [Unreleased]\n\nCedar Language Version: TBD\n\n## [{{version}}] - Coming soon\n\nCedar Language Version: $$CEDAR_LANGUAGE_VERSION$$", exactly = 1 },
]