alamin655 commited on
Commit
9282e30
2 Parent(s): b123fbb 41c57bd

Merge pull request #364 from neon-mmd/PERF/359_custom-build-file-to-minify-js-and-css-files

Browse files
Files changed (3) hide show
  1. Cargo.lock +433 -102
  2. Cargo.toml +5 -1
  3. build.rs +85 -0
Cargo.lock CHANGED
@@ -65,7 +65,7 @@ checksum = "46ff2d40f2bc627b8054c5e20fa6b0b0cf9428699b54bd41634e9ae3098ad555"
65
  dependencies = [
66
  "actix-http",
67
  "actix-web",
68
- "futures 0.3.28",
69
  "governor",
70
  ]
71
 
@@ -79,7 +79,7 @@ dependencies = [
79
  "actix-rt",
80
  "actix-service",
81
  "actix-utils",
82
- "ahash",
83
  "base64 0.21.5",
84
  "bitflags 2.4.1",
85
  "brotli",
@@ -194,7 +194,7 @@ dependencies = [
194
  "actix-service",
195
  "actix-utils",
196
  "actix-web-codegen",
197
- "ahash",
198
  "bytes 1.5.0",
199
  "bytestring",
200
  "cfg-if 1.0.0",
@@ -248,9 +248,20 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
248
 
249
  [[package]]
250
  name = "ahash"
251
- version = "0.8.4"
 
 
 
 
 
 
 
 
 
 
 
252
  source = "registry+https://github.com/rust-lang/crates.io-index"
253
- checksum = "72832d73be48bac96a5d7944568f305d829ed55b0ce3b483647089dfaf6cf704"
254
  dependencies = [
255
  "cfg-if 1.0.0",
256
  "getrandom",
@@ -259,6 +270,15 @@ dependencies = [
259
  "zerocopy",
260
  ]
261
 
 
 
 
 
 
 
 
 
 
262
  [[package]]
263
  name = "aho-corasick"
264
  version = "1.1.2"
@@ -375,6 +395,15 @@ version = "0.21.5"
375
  source = "registry+https://github.com/rust-lang/crates.io-index"
376
  checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
377
 
 
 
 
 
 
 
 
 
 
378
  [[package]]
379
  name = "bit-set"
380
  version = "0.5.3"
@@ -402,6 +431,18 @@ version = "2.4.1"
402
  source = "registry+https://github.com/rust-lang/crates.io-index"
403
  checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
404
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  [[package]]
406
  name = "block-buffer"
407
  version = "0.10.4"
@@ -424,9 +465,9 @@ dependencies = [
424
 
425
  [[package]]
426
  name = "brotli-decompressor"
427
- version = "2.5.0"
428
  source = "registry+https://github.com/rust-lang/crates.io-index"
429
- checksum = "da74e2b81409b1b743f8f0c62cc6254afefb8b8e50bbfe3735550f7aeefa3448"
430
  dependencies = [
431
  "alloc-no-stdlib",
432
  "alloc-stdlib",
@@ -448,11 +489,33 @@ version = "3.14.0"
448
  source = "registry+https://github.com/rust-lang/crates.io-index"
449
  checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
450
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451
  [[package]]
452
  name = "bytecount"
453
- version = "0.6.5"
454
  source = "registry+https://github.com/rust-lang/crates.io-index"
455
- checksum = "d1a12477b7237a01c11a80a51278165f9ba0edd28fa6db00a65ab230320dc58c"
456
 
457
  [[package]]
458
  name = "byteorder"
@@ -479,9 +542,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
479
 
480
  [[package]]
481
  name = "bytestring"
482
- version = "1.3.0"
483
  source = "registry+https://github.com/rust-lang/crates.io-index"
484
- checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae"
485
  dependencies = [
486
  "bytes 1.5.0",
487
  ]
@@ -583,18 +646,18 @@ dependencies = [
583
 
584
  [[package]]
585
  name = "clap"
586
- version = "4.4.6"
587
  source = "registry+https://github.com/rust-lang/crates.io-index"
588
- checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
589
  dependencies = [
590
  "clap_builder",
591
  ]
592
 
593
  [[package]]
594
  name = "clap_builder"
595
- version = "4.4.6"
596
  source = "registry+https://github.com/rust-lang/crates.io-index"
597
- checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
598
  dependencies = [
599
  "anstyle",
600
  "clap_lex",
@@ -602,9 +665,9 @@ dependencies = [
602
 
603
  [[package]]
604
  name = "clap_lex"
605
- version = "0.5.1"
606
  source = "registry+https://github.com/rust-lang/crates.io-index"
607
- checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
608
 
609
  [[package]]
610
  name = "cloudabi"
@@ -629,6 +692,26 @@ dependencies = [
629
  "tokio-util",
630
  ]
631
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
632
  [[package]]
633
  name = "convert_case"
634
  version = "0.4.0"
@@ -692,9 +775,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
692
 
693
  [[package]]
694
  name = "cpufeatures"
695
- version = "0.2.10"
696
  source = "registry+https://github.com/rust-lang/crates.io-index"
697
- checksum = "3fbc60abd742b35f2492f808e1abbb83d45f72db402e14c55057edc9c7b1e9e4"
698
  dependencies = [
699
  "libc",
700
  ]
@@ -858,6 +941,28 @@ dependencies = [
858
  "smallvec 1.11.1",
859
  ]
860
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
861
  [[package]]
862
  name = "cssparser-macros"
863
  version = "0.6.1"
@@ -881,6 +986,21 @@ dependencies = [
881
  "parking_lot_core 0.9.9",
882
  ]
883
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
884
  [[package]]
885
  name = "deranged"
886
  version = "0.3.9"
@@ -1130,6 +1250,12 @@ version = "0.3.3"
1130
  source = "registry+https://github.com/rust-lang/crates.io-index"
1131
  checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
1132
 
 
 
 
 
 
 
1133
  [[package]]
1134
  name = "futf"
1135
  version = "0.1.5"
@@ -1148,9 +1274,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
1148
 
1149
  [[package]]
1150
  name = "futures"
1151
- version = "0.3.28"
1152
  source = "registry+https://github.com/rust-lang/crates.io-index"
1153
- checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
1154
  dependencies = [
1155
  "futures-channel",
1156
  "futures-core",
@@ -1163,9 +1289,9 @@ dependencies = [
1163
 
1164
  [[package]]
1165
  name = "futures-channel"
1166
- version = "0.3.28"
1167
  source = "registry+https://github.com/rust-lang/crates.io-index"
1168
- checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
1169
  dependencies = [
1170
  "futures-core",
1171
  "futures-sink",
@@ -1173,9 +1299,9 @@ dependencies = [
1173
 
1174
  [[package]]
1175
  name = "futures-core"
1176
- version = "0.3.28"
1177
  source = "registry+https://github.com/rust-lang/crates.io-index"
1178
- checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
1179
 
1180
  [[package]]
1181
  name = "futures-cpupool"
@@ -1189,9 +1315,9 @@ dependencies = [
1189
 
1190
  [[package]]
1191
  name = "futures-executor"
1192
- version = "0.3.28"
1193
  source = "registry+https://github.com/rust-lang/crates.io-index"
1194
- checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
1195
  dependencies = [
1196
  "futures-core",
1197
  "futures-task",
@@ -1200,15 +1326,15 @@ dependencies = [
1200
 
1201
  [[package]]
1202
  name = "futures-io"
1203
- version = "0.3.28"
1204
  source = "registry+https://github.com/rust-lang/crates.io-index"
1205
- checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
1206
 
1207
  [[package]]
1208
  name = "futures-macro"
1209
- version = "0.3.28"
1210
  source = "registry+https://github.com/rust-lang/crates.io-index"
1211
- checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
1212
  dependencies = [
1213
  "proc-macro2 1.0.69",
1214
  "quote 1.0.33",
@@ -1217,15 +1343,15 @@ dependencies = [
1217
 
1218
  [[package]]
1219
  name = "futures-sink"
1220
- version = "0.3.28"
1221
  source = "registry+https://github.com/rust-lang/crates.io-index"
1222
- checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
1223
 
1224
  [[package]]
1225
  name = "futures-task"
1226
- version = "0.3.28"
1227
  source = "registry+https://github.com/rust-lang/crates.io-index"
1228
- checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
1229
 
1230
  [[package]]
1231
  name = "futures-timer"
@@ -1235,9 +1361,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
1235
 
1236
  [[package]]
1237
  name = "futures-util"
1238
- version = "0.3.28"
1239
  source = "registry+https://github.com/rust-lang/crates.io-index"
1240
- checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
1241
  dependencies = [
1242
  "futures-channel",
1243
  "futures-core",
@@ -1310,7 +1436,7 @@ checksum = "c390a940a5d157878dd057c78680a33ce3415bcd05b4799509ea44210914b4d5"
1310
  dependencies = [
1311
  "cfg-if 1.0.0",
1312
  "dashmap",
1313
- "futures 0.3.28",
1314
  "futures-timer",
1315
  "no-std-compat",
1316
  "nonzero_ext",
@@ -1383,6 +1509,19 @@ name = "hashbrown"
1383
  version = "0.12.3"
1384
  source = "registry+https://github.com/rust-lang/crates.io-index"
1385
  checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 
 
 
 
 
 
 
 
 
 
 
 
1386
 
1387
  [[package]]
1388
  name = "hashbrown"
@@ -1558,9 +1697,9 @@ dependencies = [
1558
 
1559
  [[package]]
1560
  name = "hyper-rustls"
1561
- version = "0.24.1"
1562
  source = "registry+https://github.com/rust-lang/crates.io-index"
1563
- checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
1564
  dependencies = [
1565
  "futures-util",
1566
  "http 0.2.9",
@@ -1728,6 +1867,30 @@ dependencies = [
1728
  "libc",
1729
  ]
1730
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1731
  [[package]]
1732
  name = "linux-raw-sys"
1733
  version = "0.4.10"
@@ -1736,9 +1899,9 @@ checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
1736
 
1737
  [[package]]
1738
  name = "local-channel"
1739
- version = "0.1.4"
1740
  source = "registry+https://github.com/rust-lang/crates.io-index"
1741
- checksum = "e0a493488de5f18c8ffcba89eebb8532ffc562dc400490eb65b84893fae0b178"
1742
  dependencies = [
1743
  "futures-core",
1744
  "futures-sink",
@@ -1747,9 +1910,9 @@ dependencies = [
1747
 
1748
  [[package]]
1749
  name = "local-waker"
1750
- version = "0.1.3"
1751
  source = "registry+https://github.com/rust-lang/crates.io-index"
1752
- checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1"
1753
 
1754
  [[package]]
1755
  name = "lock_api"
@@ -1923,6 +2086,16 @@ dependencies = [
1923
  "triomphe",
1924
  ]
1925
 
 
 
 
 
 
 
 
 
 
 
1926
  [[package]]
1927
  name = "miniz_oxide"
1928
  version = "0.7.1"
@@ -2148,6 +2321,42 @@ dependencies = [
2148
  "vcpkg",
2149
  ]
2150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2151
  [[package]]
2152
  name = "parking_lot"
2153
  version = "0.9.0"
@@ -2197,12 +2406,31 @@ dependencies = [
2197
  "windows-targets",
2198
  ]
2199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2200
  [[package]]
2201
  name = "paste"
2202
  version = "1.0.14"
2203
  source = "registry+https://github.com/rust-lang/crates.io-index"
2204
  checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
2205
 
 
 
 
 
 
 
2206
  [[package]]
2207
  name = "percent-encoding"
2208
  version = "1.0.1"
@@ -2217,9 +2445,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
2217
 
2218
  [[package]]
2219
  name = "pest"
2220
- version = "2.7.4"
2221
  source = "registry+https://github.com/rust-lang/crates.io-index"
2222
- checksum = "c022f1e7b65d6a24c0dbbd5fb344c66881bc01f3e5ae74a1c8100f2f985d98a4"
2223
  dependencies = [
2224
  "memchr",
2225
  "thiserror",
@@ -2228,9 +2456,9 @@ dependencies = [
2228
 
2229
  [[package]]
2230
  name = "pest_derive"
2231
- version = "2.7.4"
2232
  source = "registry+https://github.com/rust-lang/crates.io-index"
2233
- checksum = "35513f630d46400a977c4cb58f78e1bfbe01434316e60c37d27b9ad6139c66d8"
2234
  dependencies = [
2235
  "pest",
2236
  "pest_generator",
@@ -2238,9 +2466,9 @@ dependencies = [
2238
 
2239
  [[package]]
2240
  name = "pest_generator"
2241
- version = "2.7.4"
2242
  source = "registry+https://github.com/rust-lang/crates.io-index"
2243
- checksum = "bc9fc1b9e7057baba189b5c626e2d6f40681ae5b6eb064dc7c7834101ec8123a"
2244
  dependencies = [
2245
  "pest",
2246
  "pest_meta",
@@ -2251,9 +2479,9 @@ dependencies = [
2251
 
2252
  [[package]]
2253
  name = "pest_meta"
2254
- version = "2.7.4"
2255
  source = "registry+https://github.com/rust-lang/crates.io-index"
2256
- checksum = "1df74e9e7ec4053ceb980e7c0c8bd3594e977fde1af91daba9c928e8e8c6708d"
2257
  dependencies = [
2258
  "once_cell",
2259
  "pest",
@@ -2480,6 +2708,26 @@ dependencies = [
2480
  "unicode-ident",
2481
  ]
2482
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2483
  [[package]]
2484
  name = "publicsuffix"
2485
  version = "1.5.6"
@@ -2535,6 +2783,12 @@ dependencies = [
2535
  "proc-macro2 1.0.69",
2536
  ]
2537
 
 
 
 
 
 
 
2538
  [[package]]
2539
  name = "rand"
2540
  version = "0.6.5"
@@ -2719,7 +2973,7 @@ dependencies = [
2719
  "async-trait",
2720
  "bytes 1.5.0",
2721
  "combine",
2722
- "futures 0.3.28",
2723
  "futures-util",
2724
  "itoa 1.0.9",
2725
  "percent-encoding 2.3.0",
@@ -2739,15 +2993,6 @@ version = "0.1.57"
2739
  source = "registry+https://github.com/rust-lang/crates.io-index"
2740
  checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
2741
 
2742
- [[package]]
2743
- name = "redox_syscall"
2744
- version = "0.3.5"
2745
- source = "registry+https://github.com/rust-lang/crates.io-index"
2746
- checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
2747
- dependencies = [
2748
- "bitflags 1.3.2",
2749
- ]
2750
-
2751
  [[package]]
2752
  name = "redox_syscall"
2753
  version = "0.4.1"
@@ -2763,7 +3008,7 @@ version = "1.10.2"
2763
  source = "registry+https://github.com/rust-lang/crates.io-index"
2764
  checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
2765
  dependencies = [
2766
- "aho-corasick",
2767
  "memchr",
2768
  "regex-automata",
2769
  "regex-syntax",
@@ -2775,7 +3020,7 @@ version = "0.4.3"
2775
  source = "registry+https://github.com/rust-lang/crates.io-index"
2776
  checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
2777
  dependencies = [
2778
- "aho-corasick",
2779
  "memchr",
2780
  "regex-syntax",
2781
  ]
@@ -2786,6 +3031,15 @@ version = "0.8.2"
2786
  source = "registry+https://github.com/rust-lang/crates.io-index"
2787
  checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
2788
 
 
 
 
 
 
 
 
 
 
2789
  [[package]]
2790
  name = "reqwest"
2791
  version = "0.9.24"
@@ -2816,7 +3070,7 @@ dependencies = [
2816
  "tokio-threadpool",
2817
  "tokio-timer",
2818
  "url 1.7.2",
2819
- "uuid",
2820
  "winreg 0.6.2",
2821
  ]
2822
 
@@ -2862,17 +3116,44 @@ dependencies = [
2862
 
2863
  [[package]]
2864
  name = "ring"
2865
- version = "0.16.20"
2866
  source = "registry+https://github.com/rust-lang/crates.io-index"
2867
- checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
2868
  dependencies = [
2869
  "cc",
 
2870
  "libc",
2871
- "once_cell",
2872
  "spin",
2873
  "untrusted",
2874
- "web-sys",
2875
- "winapi 0.3.9",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2876
  ]
2877
 
2878
  [[package]]
@@ -2907,9 +3188,9 @@ dependencies = [
2907
 
2908
  [[package]]
2909
  name = "rustix"
2910
- version = "0.38.20"
2911
  source = "registry+https://github.com/rust-lang/crates.io-index"
2912
- checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0"
2913
  dependencies = [
2914
  "bitflags 2.4.1",
2915
  "errno",
@@ -2920,9 +3201,9 @@ dependencies = [
2920
 
2921
  [[package]]
2922
  name = "rustls"
2923
- version = "0.21.7"
2924
  source = "registry+https://github.com/rust-lang/crates.io-index"
2925
- checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
2926
  dependencies = [
2927
  "log",
2928
  "ring",
@@ -2941,9 +3222,9 @@ dependencies = [
2941
 
2942
  [[package]]
2943
  name = "rustls-webpki"
2944
- version = "0.101.6"
2945
  source = "registry+https://github.com/rust-lang/crates.io-index"
2946
- checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
2947
  dependencies = [
2948
  "ring",
2949
  "untrusted",
@@ -2997,8 +3278,8 @@ version = "0.17.1"
2997
  source = "registry+https://github.com/rust-lang/crates.io-index"
2998
  checksum = "c95a930e03325234c18c7071fd2b60118307e025d6fff3e12745ffbf63a3d29c"
2999
  dependencies = [
3000
- "ahash",
3001
- "cssparser",
3002
  "ego-tree",
3003
  "getopts",
3004
  "html5ever 0.26.0",
@@ -3010,14 +3291,20 @@ dependencies = [
3010
 
3011
  [[package]]
3012
  name = "sct"
3013
- version = "0.7.0"
3014
  source = "registry+https://github.com/rust-lang/crates.io-index"
3015
- checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
3016
  dependencies = [
3017
  "ring",
3018
  "untrusted",
3019
  ]
3020
 
 
 
 
 
 
 
3021
  [[package]]
3022
  name = "security-framework"
3023
  version = "2.9.2"
@@ -3058,7 +3345,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3058
  checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
3059
  dependencies = [
3060
  "bitflags 2.4.1",
3061
- "cssparser",
3062
  "derive_more",
3063
  "fxhash",
3064
  "log",
@@ -3096,18 +3383,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
3096
 
3097
  [[package]]
3098
  name = "serde"
3099
- version = "1.0.189"
3100
  source = "registry+https://github.com/rust-lang/crates.io-index"
3101
- checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"
3102
  dependencies = [
3103
  "serde_derive",
3104
  ]
3105
 
3106
  [[package]]
3107
  name = "serde_derive"
3108
- version = "1.0.189"
3109
  source = "registry+https://github.com/rust-lang/crates.io-index"
3110
- checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"
3111
  dependencies = [
3112
  "proc-macro2 1.0.69",
3113
  "quote 1.0.33",
@@ -3116,9 +3403,9 @@ dependencies = [
3116
 
3117
  [[package]]
3118
  name = "serde_json"
3119
- version = "1.0.107"
3120
  source = "registry+https://github.com/rust-lang/crates.io-index"
3121
- checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
3122
  dependencies = [
3123
  "itoa 1.0.9",
3124
  "ryu",
@@ -3195,6 +3482,21 @@ dependencies = [
3195
  "libc",
3196
  ]
3197
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3198
  [[package]]
3199
  name = "siphasher"
3200
  version = "0.2.3"
@@ -3271,9 +3573,9 @@ dependencies = [
3271
 
3272
  [[package]]
3273
  name = "spin"
3274
- version = "0.5.2"
3275
  source = "registry+https://github.com/rust-lang/crates.io-index"
3276
- checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
3277
 
3278
  [[package]]
3279
  name = "stable_deref_trait"
@@ -3432,15 +3734,21 @@ version = "0.2.0"
3432
  source = "registry+https://github.com/rust-lang/crates.io-index"
3433
  checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
3434
 
 
 
 
 
 
 
3435
  [[package]]
3436
  name = "tempfile"
3437
- version = "3.8.0"
3438
  source = "registry+https://github.com/rust-lang/crates.io-index"
3439
- checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
3440
  dependencies = [
3441
  "cfg-if 1.0.0",
3442
  "fastrand",
3443
- "redox_syscall 0.3.5",
3444
  "rustix",
3445
  "windows-sys",
3446
  ]
@@ -3741,9 +4049,9 @@ dependencies = [
3741
 
3742
  [[package]]
3743
  name = "tokio-util"
3744
- version = "0.7.9"
3745
  source = "registry+https://github.com/rust-lang/crates.io-index"
3746
- checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
3747
  dependencies = [
3748
  "bytes 1.5.0",
3749
  "futures-core",
@@ -3871,9 +4179,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
3871
 
3872
  [[package]]
3873
  name = "untrusted"
3874
- version = "0.7.1"
3875
  source = "registry+https://github.com/rust-lang/crates.io-index"
3876
- checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
3877
 
3878
  [[package]]
3879
  name = "url"
@@ -3912,6 +4220,12 @@ dependencies = [
3912
  "rand 0.6.5",
3913
  ]
3914
 
 
 
 
 
 
 
3915
  [[package]]
3916
  name = "vcpkg"
3917
  version = "0.2.15"
@@ -3924,6 +4238,12 @@ version = "0.9.4"
3924
  source = "registry+https://github.com/rust-lang/crates.io-index"
3925
  checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
3926
 
 
 
 
 
 
 
3927
  [[package]]
3928
  name = "walkdir"
3929
  version = "2.4.0"
@@ -4050,7 +4370,7 @@ checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
4050
 
4051
  [[package]]
4052
  name = "websurfx"
4053
- version = "1.2.5"
4054
  dependencies = [
4055
  "actix-cors",
4056
  "actix-files",
@@ -4063,12 +4383,14 @@ dependencies = [
4063
  "env_logger",
4064
  "error-stack",
4065
  "fake-useragent",
4066
- "futures 0.3.28",
4067
  "handlebars",
 
4068
  "log",
4069
  "md5",
4070
  "mimalloc",
4071
  "mini-moka",
 
4072
  "mlua",
4073
  "rand 0.8.5",
4074
  "redis",
@@ -4233,20 +4555,29 @@ dependencies = [
4233
  "winapi-build",
4234
  ]
4235
 
 
 
 
 
 
 
 
 
 
4236
  [[package]]
4237
  name = "zerocopy"
4238
- version = "0.7.11"
4239
  source = "registry+https://github.com/rust-lang/crates.io-index"
4240
- checksum = "4c19fae0c8a9efc6a8281f2e623db8af1db9e57852e04cde3e754dd2dc29340f"
4241
  dependencies = [
4242
  "zerocopy-derive",
4243
  ]
4244
 
4245
  [[package]]
4246
  name = "zerocopy-derive"
4247
- version = "0.7.11"
4248
  source = "registry+https://github.com/rust-lang/crates.io-index"
4249
- checksum = "fc56589e9ddd1f1c28d4b4b5c773ce232910a6bb67a70133d61c9e347585efe9"
4250
  dependencies = [
4251
  "proc-macro2 1.0.69",
4252
  "quote 1.0.33",
 
65
  dependencies = [
66
  "actix-http",
67
  "actix-web",
68
+ "futures 0.3.29",
69
  "governor",
70
  ]
71
 
 
79
  "actix-rt",
80
  "actix-service",
81
  "actix-utils",
82
+ "ahash 0.8.6",
83
  "base64 0.21.5",
84
  "bitflags 2.4.1",
85
  "brotli",
 
194
  "actix-service",
195
  "actix-utils",
196
  "actix-web-codegen",
197
+ "ahash 0.8.6",
198
  "bytes 1.5.0",
199
  "bytestring",
200
  "cfg-if 1.0.0",
 
248
 
249
  [[package]]
250
  name = "ahash"
251
+ version = "0.7.7"
252
+ source = "registry+https://github.com/rust-lang/crates.io-index"
253
+ checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
254
+ dependencies = [
255
+ "getrandom",
256
+ "once_cell",
257
+ "version_check",
258
+ ]
259
+
260
+ [[package]]
261
+ name = "ahash"
262
+ version = "0.8.6"
263
  source = "registry+https://github.com/rust-lang/crates.io-index"
264
+ checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
265
  dependencies = [
266
  "cfg-if 1.0.0",
267
  "getrandom",
 
270
  "zerocopy",
271
  ]
272
 
273
+ [[package]]
274
+ name = "aho-corasick"
275
+ version = "0.7.20"
276
+ source = "registry+https://github.com/rust-lang/crates.io-index"
277
+ checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
278
+ dependencies = [
279
+ "memchr",
280
+ ]
281
+
282
  [[package]]
283
  name = "aho-corasick"
284
  version = "1.1.2"
 
395
  source = "registry+https://github.com/rust-lang/crates.io-index"
396
  checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
397
 
398
+ [[package]]
399
+ name = "base64-simd"
400
+ version = "0.7.0"
401
+ source = "registry+https://github.com/rust-lang/crates.io-index"
402
+ checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5"
403
+ dependencies = [
404
+ "simd-abstraction",
405
+ ]
406
+
407
  [[package]]
408
  name = "bit-set"
409
  version = "0.5.3"
 
431
  source = "registry+https://github.com/rust-lang/crates.io-index"
432
  checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
433
 
434
+ [[package]]
435
+ name = "bitvec"
436
+ version = "1.0.1"
437
+ source = "registry+https://github.com/rust-lang/crates.io-index"
438
+ checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
439
+ dependencies = [
440
+ "funty",
441
+ "radium",
442
+ "tap",
443
+ "wyz",
444
+ ]
445
+
446
  [[package]]
447
  name = "block-buffer"
448
  version = "0.10.4"
 
465
 
466
  [[package]]
467
  name = "brotli-decompressor"
468
+ version = "2.5.1"
469
  source = "registry+https://github.com/rust-lang/crates.io-index"
470
+ checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
471
  dependencies = [
472
  "alloc-no-stdlib",
473
  "alloc-stdlib",
 
489
  source = "registry+https://github.com/rust-lang/crates.io-index"
490
  checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
491
 
492
+ [[package]]
493
+ name = "bytecheck"
494
+ version = "0.6.11"
495
+ source = "registry+https://github.com/rust-lang/crates.io-index"
496
+ checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
497
+ dependencies = [
498
+ "bytecheck_derive",
499
+ "ptr_meta",
500
+ "simdutf8",
501
+ ]
502
+
503
+ [[package]]
504
+ name = "bytecheck_derive"
505
+ version = "0.6.11"
506
+ source = "registry+https://github.com/rust-lang/crates.io-index"
507
+ checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
508
+ dependencies = [
509
+ "proc-macro2 1.0.69",
510
+ "quote 1.0.33",
511
+ "syn 1.0.109",
512
+ ]
513
+
514
  [[package]]
515
  name = "bytecount"
516
+ version = "0.6.7"
517
  source = "registry+https://github.com/rust-lang/crates.io-index"
518
+ checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
519
 
520
  [[package]]
521
  name = "byteorder"
 
542
 
543
  [[package]]
544
  name = "bytestring"
545
+ version = "1.3.1"
546
  source = "registry+https://github.com/rust-lang/crates.io-index"
547
+ checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72"
548
  dependencies = [
549
  "bytes 1.5.0",
550
  ]
 
646
 
647
  [[package]]
648
  name = "clap"
649
+ version = "4.4.7"
650
  source = "registry+https://github.com/rust-lang/crates.io-index"
651
+ checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
652
  dependencies = [
653
  "clap_builder",
654
  ]
655
 
656
  [[package]]
657
  name = "clap_builder"
658
+ version = "4.4.7"
659
  source = "registry+https://github.com/rust-lang/crates.io-index"
660
+ checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
661
  dependencies = [
662
  "anstyle",
663
  "clap_lex",
 
665
 
666
  [[package]]
667
  name = "clap_lex"
668
+ version = "0.6.0"
669
  source = "registry+https://github.com/rust-lang/crates.io-index"
670
+ checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
671
 
672
  [[package]]
673
  name = "cloudabi"
 
692
  "tokio-util",
693
  ]
694
 
695
+ [[package]]
696
+ name = "const-str"
697
+ version = "0.3.2"
698
+ source = "registry+https://github.com/rust-lang/crates.io-index"
699
+ checksum = "21077772762a1002bb421c3af42ac1725fa56066bfc53d9a55bb79905df2aaf3"
700
+ dependencies = [
701
+ "const-str-proc-macro",
702
+ ]
703
+
704
+ [[package]]
705
+ name = "const-str-proc-macro"
706
+ version = "0.3.2"
707
+ source = "registry+https://github.com/rust-lang/crates.io-index"
708
+ checksum = "5e1e0fdd2e5d3041e530e1b21158aeeef8b5d0e306bc5c1e3d6cf0930d10e25a"
709
+ dependencies = [
710
+ "proc-macro2 1.0.69",
711
+ "quote 1.0.33",
712
+ "syn 1.0.109",
713
+ ]
714
+
715
  [[package]]
716
  name = "convert_case"
717
  version = "0.4.0"
 
775
 
776
  [[package]]
777
  name = "cpufeatures"
778
+ version = "0.2.11"
779
  source = "registry+https://github.com/rust-lang/crates.io-index"
780
+ checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
781
  dependencies = [
782
  "libc",
783
  ]
 
941
  "smallvec 1.11.1",
942
  ]
943
 
944
+ [[package]]
945
+ name = "cssparser"
946
+ version = "0.33.0"
947
+ source = "registry+https://github.com/rust-lang/crates.io-index"
948
+ checksum = "9be934d936a0fbed5bcdc01042b770de1398bf79d0e192f49fa7faea0e99281e"
949
+ dependencies = [
950
+ "cssparser-macros",
951
+ "dtoa-short",
952
+ "itoa 1.0.9",
953
+ "phf 0.11.2",
954
+ "smallvec 1.11.1",
955
+ ]
956
+
957
+ [[package]]
958
+ name = "cssparser-color"
959
+ version = "0.1.0"
960
+ source = "registry+https://github.com/rust-lang/crates.io-index"
961
+ checksum = "556c099a61d85989d7af52b692e35a8d68a57e7df8c6d07563dc0778b3960c9f"
962
+ dependencies = [
963
+ "cssparser 0.33.0",
964
+ ]
965
+
966
  [[package]]
967
  name = "cssparser-macros"
968
  version = "0.6.1"
 
986
  "parking_lot_core 0.9.9",
987
  ]
988
 
989
+ [[package]]
990
+ name = "data-encoding"
991
+ version = "2.4.0"
992
+ source = "registry+https://github.com/rust-lang/crates.io-index"
993
+ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
994
+
995
+ [[package]]
996
+ name = "data-url"
997
+ version = "0.1.1"
998
+ source = "registry+https://github.com/rust-lang/crates.io-index"
999
+ checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
1000
+ dependencies = [
1001
+ "matches",
1002
+ ]
1003
+
1004
  [[package]]
1005
  name = "deranged"
1006
  version = "0.3.9"
 
1250
  source = "registry+https://github.com/rust-lang/crates.io-index"
1251
  checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
1252
 
1253
+ [[package]]
1254
+ name = "funty"
1255
+ version = "2.0.0"
1256
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1257
+ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
1258
+
1259
  [[package]]
1260
  name = "futf"
1261
  version = "0.1.5"
 
1274
 
1275
  [[package]]
1276
  name = "futures"
1277
+ version = "0.3.29"
1278
  source = "registry+https://github.com/rust-lang/crates.io-index"
1279
+ checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
1280
  dependencies = [
1281
  "futures-channel",
1282
  "futures-core",
 
1289
 
1290
  [[package]]
1291
  name = "futures-channel"
1292
+ version = "0.3.29"
1293
  source = "registry+https://github.com/rust-lang/crates.io-index"
1294
+ checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
1295
  dependencies = [
1296
  "futures-core",
1297
  "futures-sink",
 
1299
 
1300
  [[package]]
1301
  name = "futures-core"
1302
+ version = "0.3.29"
1303
  source = "registry+https://github.com/rust-lang/crates.io-index"
1304
+ checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
1305
 
1306
  [[package]]
1307
  name = "futures-cpupool"
 
1315
 
1316
  [[package]]
1317
  name = "futures-executor"
1318
+ version = "0.3.29"
1319
  source = "registry+https://github.com/rust-lang/crates.io-index"
1320
+ checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
1321
  dependencies = [
1322
  "futures-core",
1323
  "futures-task",
 
1326
 
1327
  [[package]]
1328
  name = "futures-io"
1329
+ version = "0.3.29"
1330
  source = "registry+https://github.com/rust-lang/crates.io-index"
1331
+ checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
1332
 
1333
  [[package]]
1334
  name = "futures-macro"
1335
+ version = "0.3.29"
1336
  source = "registry+https://github.com/rust-lang/crates.io-index"
1337
+ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
1338
  dependencies = [
1339
  "proc-macro2 1.0.69",
1340
  "quote 1.0.33",
 
1343
 
1344
  [[package]]
1345
  name = "futures-sink"
1346
+ version = "0.3.29"
1347
  source = "registry+https://github.com/rust-lang/crates.io-index"
1348
+ checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
1349
 
1350
  [[package]]
1351
  name = "futures-task"
1352
+ version = "0.3.29"
1353
  source = "registry+https://github.com/rust-lang/crates.io-index"
1354
+ checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
1355
 
1356
  [[package]]
1357
  name = "futures-timer"
 
1361
 
1362
  [[package]]
1363
  name = "futures-util"
1364
+ version = "0.3.29"
1365
  source = "registry+https://github.com/rust-lang/crates.io-index"
1366
+ checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
1367
  dependencies = [
1368
  "futures-channel",
1369
  "futures-core",
 
1436
  dependencies = [
1437
  "cfg-if 1.0.0",
1438
  "dashmap",
1439
+ "futures 0.3.29",
1440
  "futures-timer",
1441
  "no-std-compat",
1442
  "nonzero_ext",
 
1509
  version = "0.12.3"
1510
  source = "registry+https://github.com/rust-lang/crates.io-index"
1511
  checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
1512
+ dependencies = [
1513
+ "ahash 0.7.7",
1514
+ ]
1515
+
1516
+ [[package]]
1517
+ name = "hashbrown"
1518
+ version = "0.13.2"
1519
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1520
+ checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
1521
+ dependencies = [
1522
+ "ahash 0.8.6",
1523
+ "bumpalo",
1524
+ ]
1525
 
1526
  [[package]]
1527
  name = "hashbrown"
 
1697
 
1698
  [[package]]
1699
  name = "hyper-rustls"
1700
+ version = "0.24.2"
1701
  source = "registry+https://github.com/rust-lang/crates.io-index"
1702
+ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
1703
  dependencies = [
1704
  "futures-util",
1705
  "http 0.2.9",
 
1867
  "libc",
1868
  ]
1869
 
1870
+ [[package]]
1871
+ name = "lightningcss"
1872
+ version = "1.0.0-alpha.50"
1873
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1874
+ checksum = "c2999490cc10a59ad8a87d731791a5d438d2d025e3f137aa7d4c23e1827985b0"
1875
+ dependencies = [
1876
+ "ahash 0.7.7",
1877
+ "bitflags 2.4.1",
1878
+ "const-str",
1879
+ "cssparser 0.33.0",
1880
+ "cssparser-color",
1881
+ "dashmap",
1882
+ "data-encoding",
1883
+ "itertools",
1884
+ "lazy_static",
1885
+ "parcel_selectors",
1886
+ "parcel_sourcemap",
1887
+ "paste",
1888
+ "pathdiff",
1889
+ "rayon",
1890
+ "serde",
1891
+ "smallvec 1.11.1",
1892
+ ]
1893
+
1894
  [[package]]
1895
  name = "linux-raw-sys"
1896
  version = "0.4.10"
 
1899
 
1900
  [[package]]
1901
  name = "local-channel"
1902
+ version = "0.1.5"
1903
  source = "registry+https://github.com/rust-lang/crates.io-index"
1904
+ checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8"
1905
  dependencies = [
1906
  "futures-core",
1907
  "futures-sink",
 
1910
 
1911
  [[package]]
1912
  name = "local-waker"
1913
+ version = "0.1.4"
1914
  source = "registry+https://github.com/rust-lang/crates.io-index"
1915
+ checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487"
1916
 
1917
  [[package]]
1918
  name = "lock_api"
 
2086
  "triomphe",
2087
  ]
2088
 
2089
+ [[package]]
2090
+ name = "minify-js"
2091
+ version = "0.5.6"
2092
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2093
+ checksum = "22d6c512a82abddbbc13b70609cb2beff01be2c7afff534d6e5e1c85e438fc8b"
2094
+ dependencies = [
2095
+ "lazy_static",
2096
+ "parse-js",
2097
+ ]
2098
+
2099
  [[package]]
2100
  name = "miniz_oxide"
2101
  version = "0.7.1"
 
2321
  "vcpkg",
2322
  ]
2323
 
2324
+ [[package]]
2325
+ name = "outref"
2326
+ version = "0.1.0"
2327
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2328
+ checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4"
2329
+
2330
+ [[package]]
2331
+ name = "parcel_selectors"
2332
+ version = "0.26.4"
2333
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2334
+ checksum = "05d74befe2d076330d9a58bf9ca2da424568724ab278adf15fb5718253133887"
2335
+ dependencies = [
2336
+ "bitflags 2.4.1",
2337
+ "cssparser 0.33.0",
2338
+ "fxhash",
2339
+ "log",
2340
+ "phf 0.10.1",
2341
+ "phf_codegen 0.10.0",
2342
+ "precomputed-hash",
2343
+ "smallvec 1.11.1",
2344
+ ]
2345
+
2346
+ [[package]]
2347
+ name = "parcel_sourcemap"
2348
+ version = "2.1.1"
2349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2350
+ checksum = "485b74d7218068b2b7c0e3ff12fbc61ae11d57cb5d8224f525bd304c6be05bbb"
2351
+ dependencies = [
2352
+ "base64-simd",
2353
+ "data-url",
2354
+ "rkyv",
2355
+ "serde",
2356
+ "serde_json",
2357
+ "vlq",
2358
+ ]
2359
+
2360
  [[package]]
2361
  name = "parking_lot"
2362
  version = "0.9.0"
 
2406
  "windows-targets",
2407
  ]
2408
 
2409
+ [[package]]
2410
+ name = "parse-js"
2411
+ version = "0.17.0"
2412
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2413
+ checksum = "9ec3b11d443640ec35165ee8f6f0559f1c6f41878d70330fe9187012b5935f02"
2414
+ dependencies = [
2415
+ "aho-corasick 0.7.20",
2416
+ "bumpalo",
2417
+ "hashbrown 0.13.2",
2418
+ "lazy_static",
2419
+ "memchr",
2420
+ ]
2421
+
2422
  [[package]]
2423
  name = "paste"
2424
  version = "1.0.14"
2425
  source = "registry+https://github.com/rust-lang/crates.io-index"
2426
  checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
2427
 
2428
+ [[package]]
2429
+ name = "pathdiff"
2430
+ version = "0.2.1"
2431
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2432
+ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
2433
+
2434
  [[package]]
2435
  name = "percent-encoding"
2436
  version = "1.0.1"
 
2445
 
2446
  [[package]]
2447
  name = "pest"
2448
+ version = "2.7.5"
2449
  source = "registry+https://github.com/rust-lang/crates.io-index"
2450
+ checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
2451
  dependencies = [
2452
  "memchr",
2453
  "thiserror",
 
2456
 
2457
  [[package]]
2458
  name = "pest_derive"
2459
+ version = "2.7.5"
2460
  source = "registry+https://github.com/rust-lang/crates.io-index"
2461
+ checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
2462
  dependencies = [
2463
  "pest",
2464
  "pest_generator",
 
2466
 
2467
  [[package]]
2468
  name = "pest_generator"
2469
+ version = "2.7.5"
2470
  source = "registry+https://github.com/rust-lang/crates.io-index"
2471
+ checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
2472
  dependencies = [
2473
  "pest",
2474
  "pest_meta",
 
2479
 
2480
  [[package]]
2481
  name = "pest_meta"
2482
+ version = "2.7.5"
2483
  source = "registry+https://github.com/rust-lang/crates.io-index"
2484
+ checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
2485
  dependencies = [
2486
  "once_cell",
2487
  "pest",
 
2708
  "unicode-ident",
2709
  ]
2710
 
2711
+ [[package]]
2712
+ name = "ptr_meta"
2713
+ version = "0.1.4"
2714
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2715
+ checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
2716
+ dependencies = [
2717
+ "ptr_meta_derive",
2718
+ ]
2719
+
2720
+ [[package]]
2721
+ name = "ptr_meta_derive"
2722
+ version = "0.1.4"
2723
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2724
+ checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
2725
+ dependencies = [
2726
+ "proc-macro2 1.0.69",
2727
+ "quote 1.0.33",
2728
+ "syn 1.0.109",
2729
+ ]
2730
+
2731
  [[package]]
2732
  name = "publicsuffix"
2733
  version = "1.5.6"
 
2783
  "proc-macro2 1.0.69",
2784
  ]
2785
 
2786
+ [[package]]
2787
+ name = "radium"
2788
+ version = "0.7.0"
2789
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2790
+ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
2791
+
2792
  [[package]]
2793
  name = "rand"
2794
  version = "0.6.5"
 
2973
  "async-trait",
2974
  "bytes 1.5.0",
2975
  "combine",
2976
+ "futures 0.3.29",
2977
  "futures-util",
2978
  "itoa 1.0.9",
2979
  "percent-encoding 2.3.0",
 
2993
  source = "registry+https://github.com/rust-lang/crates.io-index"
2994
  checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
2995
 
 
 
 
 
 
 
 
 
 
2996
  [[package]]
2997
  name = "redox_syscall"
2998
  version = "0.4.1"
 
3008
  source = "registry+https://github.com/rust-lang/crates.io-index"
3009
  checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
3010
  dependencies = [
3011
+ "aho-corasick 1.1.2",
3012
  "memchr",
3013
  "regex-automata",
3014
  "regex-syntax",
 
3020
  source = "registry+https://github.com/rust-lang/crates.io-index"
3021
  checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
3022
  dependencies = [
3023
+ "aho-corasick 1.1.2",
3024
  "memchr",
3025
  "regex-syntax",
3026
  ]
 
3031
  source = "registry+https://github.com/rust-lang/crates.io-index"
3032
  checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
3033
 
3034
+ [[package]]
3035
+ name = "rend"
3036
+ version = "0.4.1"
3037
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3038
+ checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
3039
+ dependencies = [
3040
+ "bytecheck",
3041
+ ]
3042
+
3043
  [[package]]
3044
  name = "reqwest"
3045
  version = "0.9.24"
 
3070
  "tokio-threadpool",
3071
  "tokio-timer",
3072
  "url 1.7.2",
3073
+ "uuid 0.7.4",
3074
  "winreg 0.6.2",
3075
  ]
3076
 
 
3116
 
3117
  [[package]]
3118
  name = "ring"
3119
+ version = "0.17.5"
3120
  source = "registry+https://github.com/rust-lang/crates.io-index"
3121
+ checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
3122
  dependencies = [
3123
  "cc",
3124
+ "getrandom",
3125
  "libc",
 
3126
  "spin",
3127
  "untrusted",
3128
+ "windows-sys",
3129
+ ]
3130
+
3131
+ [[package]]
3132
+ name = "rkyv"
3133
+ version = "0.7.42"
3134
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3135
+ checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58"
3136
+ dependencies = [
3137
+ "bitvec",
3138
+ "bytecheck",
3139
+ "hashbrown 0.12.3",
3140
+ "ptr_meta",
3141
+ "rend",
3142
+ "rkyv_derive",
3143
+ "seahash",
3144
+ "tinyvec",
3145
+ "uuid 1.5.0",
3146
+ ]
3147
+
3148
+ [[package]]
3149
+ name = "rkyv_derive"
3150
+ version = "0.7.42"
3151
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3152
+ checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d"
3153
+ dependencies = [
3154
+ "proc-macro2 1.0.69",
3155
+ "quote 1.0.33",
3156
+ "syn 1.0.109",
3157
  ]
3158
 
3159
  [[package]]
 
3188
 
3189
  [[package]]
3190
  name = "rustix"
3191
+ version = "0.38.21"
3192
  source = "registry+https://github.com/rust-lang/crates.io-index"
3193
+ checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
3194
  dependencies = [
3195
  "bitflags 2.4.1",
3196
  "errno",
 
3201
 
3202
  [[package]]
3203
  name = "rustls"
3204
+ version = "0.21.8"
3205
  source = "registry+https://github.com/rust-lang/crates.io-index"
3206
+ checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
3207
  dependencies = [
3208
  "log",
3209
  "ring",
 
3222
 
3223
  [[package]]
3224
  name = "rustls-webpki"
3225
+ version = "0.101.7"
3226
  source = "registry+https://github.com/rust-lang/crates.io-index"
3227
+ checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
3228
  dependencies = [
3229
  "ring",
3230
  "untrusted",
 
3278
  source = "registry+https://github.com/rust-lang/crates.io-index"
3279
  checksum = "c95a930e03325234c18c7071fd2b60118307e025d6fff3e12745ffbf63a3d29c"
3280
  dependencies = [
3281
+ "ahash 0.8.6",
3282
+ "cssparser 0.31.2",
3283
  "ego-tree",
3284
  "getopts",
3285
  "html5ever 0.26.0",
 
3291
 
3292
  [[package]]
3293
  name = "sct"
3294
+ version = "0.7.1"
3295
  source = "registry+https://github.com/rust-lang/crates.io-index"
3296
+ checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
3297
  dependencies = [
3298
  "ring",
3299
  "untrusted",
3300
  ]
3301
 
3302
+ [[package]]
3303
+ name = "seahash"
3304
+ version = "4.1.0"
3305
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3306
+ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
3307
+
3308
  [[package]]
3309
  name = "security-framework"
3310
  version = "2.9.2"
 
3345
  checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
3346
  dependencies = [
3347
  "bitflags 2.4.1",
3348
+ "cssparser 0.31.2",
3349
  "derive_more",
3350
  "fxhash",
3351
  "log",
 
3383
 
3384
  [[package]]
3385
  name = "serde"
3386
+ version = "1.0.190"
3387
  source = "registry+https://github.com/rust-lang/crates.io-index"
3388
+ checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
3389
  dependencies = [
3390
  "serde_derive",
3391
  ]
3392
 
3393
  [[package]]
3394
  name = "serde_derive"
3395
+ version = "1.0.190"
3396
  source = "registry+https://github.com/rust-lang/crates.io-index"
3397
+ checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
3398
  dependencies = [
3399
  "proc-macro2 1.0.69",
3400
  "quote 1.0.33",
 
3403
 
3404
  [[package]]
3405
  name = "serde_json"
3406
+ version = "1.0.108"
3407
  source = "registry+https://github.com/rust-lang/crates.io-index"
3408
+ checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
3409
  dependencies = [
3410
  "itoa 1.0.9",
3411
  "ryu",
 
3482
  "libc",
3483
  ]
3484
 
3485
+ [[package]]
3486
+ name = "simd-abstraction"
3487
+ version = "0.7.1"
3488
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3489
+ checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987"
3490
+ dependencies = [
3491
+ "outref",
3492
+ ]
3493
+
3494
+ [[package]]
3495
+ name = "simdutf8"
3496
+ version = "0.1.4"
3497
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3498
+ checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
3499
+
3500
  [[package]]
3501
  name = "siphasher"
3502
  version = "0.2.3"
 
3573
 
3574
  [[package]]
3575
  name = "spin"
3576
+ version = "0.9.8"
3577
  source = "registry+https://github.com/rust-lang/crates.io-index"
3578
+ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
3579
 
3580
  [[package]]
3581
  name = "stable_deref_trait"
 
3734
  source = "registry+https://github.com/rust-lang/crates.io-index"
3735
  checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
3736
 
3737
+ [[package]]
3738
+ name = "tap"
3739
+ version = "1.0.1"
3740
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3741
+ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
3742
+
3743
  [[package]]
3744
  name = "tempfile"
3745
+ version = "3.8.1"
3746
  source = "registry+https://github.com/rust-lang/crates.io-index"
3747
+ checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
3748
  dependencies = [
3749
  "cfg-if 1.0.0",
3750
  "fastrand",
3751
+ "redox_syscall 0.4.1",
3752
  "rustix",
3753
  "windows-sys",
3754
  ]
 
4049
 
4050
  [[package]]
4051
  name = "tokio-util"
4052
+ version = "0.7.10"
4053
  source = "registry+https://github.com/rust-lang/crates.io-index"
4054
+ checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
4055
  dependencies = [
4056
  "bytes 1.5.0",
4057
  "futures-core",
 
4179
 
4180
  [[package]]
4181
  name = "untrusted"
4182
+ version = "0.9.0"
4183
  source = "registry+https://github.com/rust-lang/crates.io-index"
4184
+ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
4185
 
4186
  [[package]]
4187
  name = "url"
 
4220
  "rand 0.6.5",
4221
  ]
4222
 
4223
+ [[package]]
4224
+ name = "uuid"
4225
+ version = "1.5.0"
4226
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4227
+ checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
4228
+
4229
  [[package]]
4230
  name = "vcpkg"
4231
  version = "0.2.15"
 
4238
  source = "registry+https://github.com/rust-lang/crates.io-index"
4239
  checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
4240
 
4241
+ [[package]]
4242
+ name = "vlq"
4243
+ version = "0.5.1"
4244
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4245
+ checksum = "65dd7eed29412da847b0f78bcec0ac98588165988a8cfe41d4ea1d429f8ccfff"
4246
+
4247
  [[package]]
4248
  name = "walkdir"
4249
  version = "2.4.0"
 
4370
 
4371
  [[package]]
4372
  name = "websurfx"
4373
+ version = "1.2.15"
4374
  dependencies = [
4375
  "actix-cors",
4376
  "actix-files",
 
4383
  "env_logger",
4384
  "error-stack",
4385
  "fake-useragent",
4386
+ "futures 0.3.29",
4387
  "handlebars",
4388
+ "lightningcss",
4389
  "log",
4390
  "md5",
4391
  "mimalloc",
4392
  "mini-moka",
4393
+ "minify-js",
4394
  "mlua",
4395
  "rand 0.8.5",
4396
  "redis",
 
4555
  "winapi-build",
4556
  ]
4557
 
4558
+ [[package]]
4559
+ name = "wyz"
4560
+ version = "0.5.1"
4561
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4562
+ checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
4563
+ dependencies = [
4564
+ "tap",
4565
+ ]
4566
+
4567
  [[package]]
4568
  name = "zerocopy"
4569
+ version = "0.7.20"
4570
  source = "registry+https://github.com/rust-lang/crates.io-index"
4571
+ checksum = "dd66a62464e3ffd4e37bd09950c2b9dd6c4f8767380fabba0d523f9a775bc85a"
4572
  dependencies = [
4573
  "zerocopy-derive",
4574
  ]
4575
 
4576
  [[package]]
4577
  name = "zerocopy-derive"
4578
+ version = "0.7.20"
4579
  source = "registry+https://github.com/rust-lang/crates.io-index"
4580
+ checksum = "255c4596d41e6916ced49cfafea18727b24d67878fa180ddfd69b9df34fd1726"
4581
  dependencies = [
4582
  "proc-macro2 1.0.69",
4583
  "quote 1.0.33",
Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
  [package]
2
  name = "websurfx"
3
- version = "1.2.5"
4
  edition = "2021"
5
  description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind."
6
  repository = "https://github.com/neon-mmd/websurfx"
@@ -45,6 +45,10 @@ rusty-hook = "^0.11.2"
45
  criterion = "0.5.1"
46
  tempfile = "3.8.0"
47
 
 
 
 
 
48
  [profile.dev]
49
  opt-level = 0
50
  debug = true
 
1
  [package]
2
  name = "websurfx"
3
+ version = "1.2.15"
4
  edition = "2021"
5
  description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind."
6
  repository = "https://github.com/neon-mmd/websurfx"
 
45
  criterion = "0.5.1"
46
  tempfile = "3.8.0"
47
 
48
+ [build-dependencies]
49
+ lightningcss = "1.0.0-alpha.50"
50
+ minify-js = "0.5.6"
51
+
52
  [profile.dev]
53
  opt-level = 0
54
  debug = true
build.rs ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //! A build module of the application which minifies the project's css and js files on build which
2
+ //! helps reduce the initial page by loading the files faster.
3
+
4
+ #![forbid(unsafe_code, clippy::panic)]
5
+ #![deny(missing_docs, clippy::missing_docs_in_private_items, clippy::perf)]
6
+ #![warn(clippy::cognitive_complexity, rust_2018_idioms)]
7
+
8
+ // ------- Imports -------
9
+ use lightningcss::stylesheet::{MinifyOptions, ParserOptions, PrinterOptions, StyleSheet};
10
+ use minify_js::{minify, Session, TopLevelMode};
11
+ use std::{
12
+ fs::{read_dir, read_to_string, File, OpenOptions},
13
+ io::{Read, Write},
14
+ };
15
+
16
+ // ------- Constants -------
17
+ /// A constant for the path to the public/theme folder in the codebase.
18
+ const COMMON_STATIC_SOURCE_CODE_FOLDER: &str = "./public/static/";
19
+ /// A constant for the names of the folders located in the "/public/static/"
20
+ /// folder in the codebase which contains the css files to be minified.
21
+ const STYLE_FOLDERS: [&str; 2] = ["themes", "colorschemes"];
22
+ /// A constant for the environment variable name.
23
+ const PACKAGE_ENVIRONMENT_VARIABLE: &str = "PKG_ENV";
24
+ /// A constant for the `prod` value of the `pkg_env` environment variable.
25
+ const PRODUCTION_PKG_ENV_VARIABLE_VALUE: &str = "prod";
26
+
27
+ /// A main function which minifies both css and js files using `lightningcss` and `minify_js` when
28
+ /// the `PKG_ENV` environment and it is set to the value of `prod`.
29
+ ///
30
+ /// # Error
31
+ ///
32
+ /// This function returns the unit type when the minification process runs successfully otherwise
33
+ /// it returns a standard error.
34
+ fn main() -> Result<(), Box<dyn std::error::Error>> {
35
+ if let Ok(pkg_env_var) = std::env::var(PACKAGE_ENVIRONMENT_VARIABLE) {
36
+ if pkg_env_var.to_lowercase() == PRODUCTION_PKG_ENV_VARIABLE_VALUE {
37
+ // A for loop that loops over each file name containing in the `colorschemes` and `themes` folders
38
+ // and minifies it using the `lightningcss` minifier.
39
+ for folder_name in STYLE_FOLDERS {
40
+ for file in read_dir(format!("{COMMON_STATIC_SOURCE_CODE_FOLDER}{folder_name}/"))? {
41
+ let file_path = file?.path();
42
+ let source = read_to_string(file_path.clone())?;
43
+
44
+ let mut stylesheet = StyleSheet::parse(&source, ParserOptions::default())
45
+ .map_err(|err| format!("{err}\n{:?}", file_path.file_name().unwrap()))?;
46
+
47
+ stylesheet.minify(MinifyOptions::default())?;
48
+ let minified_css = stylesheet.to_css(PrinterOptions::default())?;
49
+
50
+ let mut old_css_file = OpenOptions::new()
51
+ .write(true)
52
+ .truncate(true)
53
+ .open(file_path)?;
54
+ old_css_file.write_all(minified_css.code.as_bytes())?;
55
+ old_css_file.flush()?;
56
+ }
57
+ }
58
+
59
+ // A for loop that loops over each file name containing in the `public/static` folder and minifies
60
+ // it using the `minify-js` minifier.
61
+ for file in read_dir(COMMON_STATIC_SOURCE_CODE_FOLDER)? {
62
+ let file_path = file?.path();
63
+ if file_path.is_file() {
64
+ let mut code = Vec::new();
65
+ let mut js_file = File::open(file_path.clone())?;
66
+ js_file.read_to_end(&mut code)?;
67
+
68
+ drop(js_file);
69
+
70
+ let mut out = Vec::new();
71
+ minify(&Session::new(), TopLevelMode::Global, &code, &mut out)
72
+ .map_err(|err| format!("{err}\n{:?}", file_path.file_name().unwrap()))?;
73
+
74
+ let mut old_js_file = OpenOptions::new()
75
+ .write(true)
76
+ .truncate(true)
77
+ .open(file_path)?;
78
+ old_js_file.write_all(&out)?;
79
+ old_js_file.flush()?;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ Ok(())
85
+ }