-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
301 lines (284 loc) · 16.8 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
[workspace]
members = [
"crates/.rspack_crates/*",
"crates/binding_values",
"crates/node_binding",
"crates/swc_compiler",
"crates/loader_compilation",
"crates/loader_barrel",
"crates/plugin_manifest",
"crates/swc_env_replacement",
"crates/swc_keep_export",
"crates/swc_remove_export",
"crates/swc_optimize_barrel",
"crates/swc_change_package_import",
]
resolver = "2"
[workspace.package]
authors = ["Rspack Teams"]
categories = ["bundler", "development-tools", "web-programming"]
documentation = "https://rspack.dev/"
homepage = "https://rspack.dev/"
license = "MIT"
repository = "https://github.com/web-infra-dev/rspack"
[workspace.metadata.cargo-shear]
ignored = [
"swc",
"rspack_plugin_dynamic",
"rspack_builtin",
"rspack_loader",
"rspack_identifier",
"rspack_testing",
"rspack_plugin_emit",
"rspack_collection",
"rspack_deps_graph",
"rspack_plugin_mini_css_extract",
"rspack_binding",
"rspack_plugin_merge",
]
[workspace.dependencies]
anyhow = { version = "1.0.95", features = ["backtrace"] }
anymap = { package = "anymap3", version = "1.0.1" }
async-recursion = { version = "1.1.1" }
async-scoped = { version = "0.9.0" }
async-trait = { version = "0.1.84" }
bitflags = { version = "2.6.0" }
camino = { version = "1.1.9" }
concat-string = { version = "1.0.1" }
cow-utils = { version = "0.1.3" }
css-module-lexer = { version = "0.0.15" }
dashmap = { version = "6.1.0" }
derive_more = { version = "1.0.0" }
either = { version = "1.13.0" }
enum-tag = { version = "0.3.0" }
futures = { version = "0.3.31" }
glob = { version = "0.3.2" }
hashlink = { version = "0.10.0" }
heck = { version = "0.5.0" }
hex = { version = "0.4.3" }
indexmap = { version = "2.7.0" }
indoc = { version = "2.0.5" }
itertools = { version = "0.14.0" }
json = { version = "0.12.4" }
lightningcss = { version = "1.0.0-alpha.63" }
linked_hash_set = { version = "0.1.5" }
mimalloc = { version = "0.1.44", package = "mimalloc-rspack" }
mime_guess = { version = "2.0.5" }
once_cell = { version = "1.20.2" }
parcel_sourcemap = { version = "2.1.1" }
paste = { version = "1.0.15" }
path-clean = { version = "1.0.1" }
pathdiff = { version = "0.2.3" }
pollster = { version = "0.4.0" }
proc-macro2 = { version = "1.0.92" }
quote = { version = "1.0.38" }
rayon = { version = "1.10.0" }
regex = { version = "1.11.1" }
ropey = "1.6.1"
rspack_resolver = { features = ["package_json_raw_json_api"], version = "0.5.0" }
rspack_sources = { version = "0.4.4" }
rustc-hash = { version = "2.1.0" }
serde = { version = "1.0.217" }
serde_json = { version = "1.0.134" }
simd-json = { version = "0.14.3" }
smol_str = { version = "0.3.0" }
stacker = { version = "0.1.17" }
sugar_path = { version = "1.2.0", features = ["cached_current_dir"] }
syn = { version = "2.0.95" }
tokio = { version = "1.42.0" }
tracing = { version = "0.1.41" }
tracing-subscriber = { version = "0.3.19" }
unicase = { version = "2.8.1" }
url = { version = "2.5.4" }
urlencoding = { version = "2.1.3" }
ustr = { package = "ustr-fxhash", version = "1.0.1" }
xxhash-rust = { version = "0.8.14" }
# Pinned
napi = { version = "3.0.0-alpha.24", features = ["anyhow"] }
napi-build = { version = "2.1.4" }
napi-derive = { version = "3.0.0-alpha.22" }
# Serialize and Deserialize
inventory = { version = "=0.1" }
rkyv = { version = "=0.8.8" }
# Must be pinned with the same swc versions
swc = { version = "=10.0.0" }
swc_config = { version = "=1.0.0" }
swc_core = { version = "=10.1.0", default-features = false }
swc_ecma_minifier = { version = "=7.0.1", default-features = false }
swc_error_reporters = { version = "=6.0.0" }
swc_html = { version = "=7.0.0" }
swc_html_minifier = { version = "=7.0.0", default-features = false }
swc_node_comments = { version = "=5.0.0" }
pnp = { version = "0.9.0" }
rspack_dojang = { version = "0.1.10" }
testing = { version = "^0.35.16" }
# all rspack workspace dependencies
rspack = { version = "0.2.0", path = "crates/.rspack_crates/rspack" }
rspack_allocator = { version = "0.2.0", path = "crates/.rspack_crates/rspack_allocator" }
rspack_ast = { version = "0.2.0", path = "crates/.rspack_crates/rspack_ast" }
rspack_base64 = { version = "0.2.0", path = "crates/.rspack_crates/rspack_base64" }
rspack_binding = { version = "0.2.0", path = "crates/.rspack_crates/rspack_binding" }
rspack_binding_values = { version = "0.2.0", path = "crates/.rspack_crates/rspack_binding_values" }
rspack_builtin = { version = "0.2.0", path = "crates/.rspack_crates/rspack_builtin" }
rspack_cacheable = { version = "0.2.0", path = "crates/.rspack_crates/rspack_cacheable" }
rspack_collection = { version = "0.2.0", path = "crates/.rspack_crates/rspack_collection" }
rspack_collections = { version = "0.2.0", path = "crates/.rspack_crates/rspack_collections" }
rspack_core = { version = "0.2.0", path = "crates/.rspack_crates/rspack_core" }
rspack_deps_graph = { version = "0.2.0", path = "crates/.rspack_crates/rspack_deps_graph" }
rspack_error = { version = "0.2.0", path = "crates/.rspack_crates/rspack_error" }
rspack_fs = { version = "0.2.0", path = "crates/.rspack_crates/rspack_fs" }
rspack_fs_node = { version = "0.2.0", path = "crates/.rspack_crates/rspack_fs_node" }
rspack_futures = { version = "0.2.0", path = "crates/.rspack_crates/rspack_futures" }
rspack_hash = { version = "0.2.0", path = "crates/.rspack_crates/rspack_hash" }
rspack_hook = { version = "0.2.0", path = "crates/.rspack_crates/rspack_hook" }
rspack_identifier = { version = "0.2.0", path = "crates/.rspack_crates/rspack_identifier" }
rspack_ids = { version = "0.2.0", path = "crates/.rspack_crates/rspack_ids" }
rspack_loader = { version = "0.2.0", path = "crates/.rspack_crates/rspack_loader" }
rspack_loader_lightningcss = { version = "0.2.0", path = "crates/.rspack_crates/rspack_loader_lightningcss" }
rspack_loader_preact_refresh = { version = "0.2.0", path = "crates/.rspack_crates/rspack_loader_preact_refresh" }
rspack_loader_react_refresh = { version = "0.2.0", path = "crates/.rspack_crates/rspack_loader_react_refresh" }
rspack_loader_runner = { version = "0.2.0", path = "crates/.rspack_crates/rspack_loader_runner" }
rspack_loader_swc = { version = "0.2.0", path = "crates/.rspack_crates/rspack_loader_swc" }
rspack_loader_testing = { version = "0.2.0", path = "crates/.rspack_crates/rspack_loader_testing" }
rspack_macros = { version = "0.2.0", path = "crates/.rspack_crates/rspack_macros" }
rspack_napi = { version = "0.2.0", path = "crates/.rspack_crates/rspack_napi" }
rspack_napi_macros = { version = "0.2.0", path = "crates/.rspack_crates/rspack_napi_macros" }
rspack_paths = { version = "0.2.0", path = "crates/.rspack_crates/rspack_paths" }
rspack_plugin_asset = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_asset" }
rspack_plugin_banner = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_banner" }
rspack_plugin_context_replacement = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_context_replacement" }
rspack_plugin_copy = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_copy" }
rspack_plugin_css = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_css" }
rspack_plugin_devtool = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_devtool" }
rspack_plugin_dll = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_dll" }
rspack_plugin_dynamic = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_dynamic" }
rspack_plugin_dynamic_entry = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_dynamic_entry" }
rspack_plugin_emit = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_emit" }
rspack_plugin_ensure_chunk_conditions = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_ensure_chunk_conditions" }
rspack_plugin_entry = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_entry" }
rspack_plugin_externals = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_externals" }
rspack_plugin_extract_css = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_extract_css" }
rspack_plugin_hmr = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_hmr" }
rspack_plugin_html = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_html" }
rspack_plugin_ignore = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_ignore" }
rspack_plugin_javascript = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_javascript" }
rspack_plugin_json = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_json" }
rspack_plugin_lazy_compilation = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_lazy_compilation" }
rspack_plugin_library = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_library" }
rspack_plugin_lightning_css_minimizer = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_lightning_css_minimizer" }
rspack_plugin_limit_chunk_count = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_limit_chunk_count" }
rspack_plugin_merge = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_merge" }
rspack_plugin_merge_duplicate_chunks = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_merge_duplicate_chunks" }
rspack_plugin_mf = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_mf" }
rspack_plugin_mini_css_extract = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_mini_css_extract" }
rspack_plugin_no_emit_on_errors = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_no_emit_on_errors" }
rspack_plugin_progress = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_progress" }
rspack_plugin_real_content_hash = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_real_content_hash" }
rspack_plugin_remove_duplicate_modules = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_remove_duplicate_modules" }
rspack_plugin_remove_empty_chunks = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_remove_empty_chunks" }
rspack_plugin_runtime = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_runtime" }
rspack_plugin_runtime_chunk = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_runtime_chunk" }
rspack_plugin_schemes = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_schemes" }
rspack_plugin_size_limits = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_size_limits" }
rspack_plugin_split_chunks = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_split_chunks" }
rspack_plugin_swc_js_minimizer = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_swc_js_minimizer" }
rspack_plugin_warn_sensitive_module = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_warn_sensitive_module" }
rspack_plugin_wasm = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_wasm" }
rspack_plugin_web_worker_template = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_web_worker_template" }
rspack_plugin_worker = { version = "0.2.0", path = "crates/.rspack_crates/rspack_plugin_worker" }
rspack_regex = { version = "0.2.0", path = "crates/.rspack_crates/rspack_regex" }
rspack_storage = { version = "0.2.0", path = "crates/.rspack_crates/rspack_storage" }
rspack_swc_plugin_import = { version = "0.2.0", path = "crates/.rspack_crates/swc_plugin_import" }
rspack_testing = { version = "0.2.0", path = "crates/.rspack_crates/rspack_testing" }
rspack_tracing = { version = "0.2.0", path = "crates/.rspack_crates/rspack_tracing" }
rspack_util = { version = "0.2.0", path = "crates/.rspack_crates/rspack_util" }
[workspace.metadata.release]
rate-limit = { existing-packages = 70, new-packages = 70 }
[profile.dev]
codegen-units = 16
debug = 2 # debug build will cause runtime panic if codegen-unints is default
incremental = true
panic = "abort"
[profile.release]
codegen-units = 1
debug = false
# Performs “thin” LTO. This is similar to “fat”, but takes substantially less time to run while still achieving performance gains similar to “fat”.
lto = "thin"
opt-level = 3
panic = "abort"
strip = true
[profile.release-prod]
inherits = "release"
# Performs “fat” LTO which attempts to perform optimizations across all crates within the dependency graph.
lto = "fat"
[profile.release-debug]
debug = true
inherits = "release"
strip = false
# the following lints rules are from https://github.com/biomejs/biome/blob/4bd3d6f09642952ee14445ed56af81a73796cea1/Cargo.toml#L7C1-L75C1
[workspace.lints.rust]
absolute_paths_not_starting_with_crate = "warn"
dead_code = "warn"
trivial_numeric_casts = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
[workspace.lints.clippy]
cargo_common_metadata = "allow"
empty_docs = "allow" # there are some false positives inside biome_wasm
multiple_crate_versions = "allow"
# pedantic
checked_conversions = "warn"
cloned_instead_of_copied = "warn"
copy_iterator = "warn"
dbg_macro = "warn"
doc_link_with_quotes = "warn"
empty_enum = "warn"
expl_impl_clone_on_copy = "warn"
explicit_into_iter_loop = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
fn_params_excessive_bools = "warn"
from_iter_instead_of_collect = "warn"
implicit_clone = "warn"
# not sure whether it's necessary
# implicit_hasher = "warn"
index_refutable_slice = "warn"
inefficient_to_string = "warn"
invalid_upcast_comparisons = "warn"
iter_not_returning_iterator = "warn"
large_stack_arrays = "warn"
large_types_passed_by_value = "warn"
macro_use_imports = "warn"
manual_ok_or = "warn"
manual_string_new = "warn"
map_flatten = "warn"
map_unwrap_or = "warn"
mismatching_type_param_order = "warn"
mut_mut = "warn"
naive_bytecount = "warn"
needless_bitwise_bool = "warn"
needless_continue = "warn"
needless_for_each = "warn"
no_effect_underscore_binding = "warn"
ref_binding_to_reference = "warn"
ref_option_ref = "warn"
stable_sort_primitive = "warn"
unnecessary_box_returns = "warn"
unnecessary_join = "warn"
unnested_or_patterns = "warn"
unreadable_literal = "warn"
verbose_bit_mask = "warn"
zero_sized_map_values = "warn"
# restriction
empty_drop = "warn"
float_cmp_const = "warn"
get_unwrap = "warn"
infinite_loop = "warn"
lossy_float_literal = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
rest_pat_in_fully_bound_structs = "warn"
verbose_file_reads = "warn"
# https://github.com/rustwasm/wasm-bindgen/issues/3944
#mem_forget = "warn"