code-split 0.1.0a10__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {code_split-0.1.0a10 → code_split-0.1.1}/Cargo.lock +35 -165
- {code_split-0.1.0a10 → code_split-0.1.1}/Cargo.toml +7 -7
- {code_split-0.1.0a10 → code_split-0.1.1}/PKG-INFO +34 -15
- {code_split-0.1.0a10 → code_split-0.1.1}/README.md +33 -14
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/Cargo.toml +3 -1
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/app.js +34 -10
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/index.html +2 -2
- code_split-0.1.1/crates/code-split-cli/src/config.rs +1716 -0
- code_split-0.1.1/crates/code-split-cli/src/main.rs +1183 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/plugin/javascript.rs +177 -0
- code_split-0.1.1/crates/code-split-cli/src/plugin/mod.rs +29 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/plugin/python.rs +187 -0
- code_split-0.1.1/crates/code-split-core/src/cycles.rs +413 -0
- code_split-0.1.1/crates/code-split-core/src/diff.rs +394 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-core/src/graph.rs +1 -1
- code_split-0.1.1/crates/code-split-core/src/hk.rs +183 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-core/src/snapshot.rs +242 -0
- code_split-0.1.1/crates/code-split-core/src/stats.rs +340 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-syn/src/crate_graph.rs +1 -1
- code_split-0.1.1/crates/code-split-syn/src/ids.rs +8 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-syn/src/lib.rs +1 -4
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-syn/src/module_graph.rs +1 -1
- {code_split-0.1.0a10 → code_split-0.1.1}/pyproject.toml +1 -1
- code_split-0.1.0a10/crates/code-split-cli/src/config.rs +0 -620
- code_split-0.1.0a10/crates/code-split-cli/src/main.rs +0 -877
- code_split-0.1.0a10/crates/code-split-cli/src/plugin/mod.rs +0 -82
- code_split-0.1.0a10/crates/code-split-core/src/cycles.rs +0 -160
- code_split-0.1.0a10/crates/code-split-core/src/diff.rs +0 -204
- code_split-0.1.0a10/crates/code-split-core/src/hk.rs +0 -50
- code_split-0.1.0a10/crates/code-split-core/src/stats.rs +0 -150
- {code_split-0.1.0a10 → code_split-0.1.1}/LICENSE +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/dagre.min.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/diagram.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/diff.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/export-popup.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/graphviz.umd.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/index.css +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/layout.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/modal.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/nav.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/node-table.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/panzoom.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/state.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/summary.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/ui.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/assets/utils.js +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/git.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/logger.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-cli/src/plugin/rust.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-complexity/Cargo.toml +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-complexity/examples/bench.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-complexity/examples/debug_spaces.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-complexity/src/lib.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-core/Cargo.toml +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-core/src/builder.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-core/src/lib.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-core/src/semantic.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-sema/Cargo.toml +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-sema/src/lib.rs +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-syn/Cargo.toml +0 -0
- {code_split-0.1.0a10 → code_split-0.1.1}/crates/code-split-syn/examples/bench_complexity.rs +0 -0
|
@@ -296,7 +296,7 @@ dependencies = [
|
|
|
296
296
|
|
|
297
297
|
[[package]]
|
|
298
298
|
name = "code-split"
|
|
299
|
-
version = "0.1.
|
|
299
|
+
version = "0.1.1"
|
|
300
300
|
dependencies = [
|
|
301
301
|
"anyhow",
|
|
302
302
|
"chrono",
|
|
@@ -309,7 +309,7 @@ dependencies = [
|
|
|
309
309
|
"serde",
|
|
310
310
|
"serde_json",
|
|
311
311
|
"tempfile",
|
|
312
|
-
"toml
|
|
312
|
+
"toml 1.1.2+spec-1.1.0",
|
|
313
313
|
"tree-sitter",
|
|
314
314
|
"tree-sitter-javascript",
|
|
315
315
|
"tree-sitter-python",
|
|
@@ -320,7 +320,7 @@ dependencies = [
|
|
|
320
320
|
|
|
321
321
|
[[package]]
|
|
322
322
|
name = "code-split-complexity"
|
|
323
|
-
version = "0.1.
|
|
323
|
+
version = "0.1.1"
|
|
324
324
|
dependencies = [
|
|
325
325
|
"anyhow",
|
|
326
326
|
"code-split-core",
|
|
@@ -331,7 +331,7 @@ dependencies = [
|
|
|
331
331
|
|
|
332
332
|
[[package]]
|
|
333
333
|
name = "code-split-core"
|
|
334
|
-
version = "0.1.
|
|
334
|
+
version = "0.1.1"
|
|
335
335
|
dependencies = [
|
|
336
336
|
"chrono",
|
|
337
337
|
"petgraph 0.6.5",
|
|
@@ -341,7 +341,7 @@ dependencies = [
|
|
|
341
341
|
|
|
342
342
|
[[package]]
|
|
343
343
|
name = "code-split-sema"
|
|
344
|
-
version = "0.1.
|
|
344
|
+
version = "0.1.1"
|
|
345
345
|
dependencies = [
|
|
346
346
|
"anyhow",
|
|
347
347
|
"code-split-core",
|
|
@@ -357,7 +357,7 @@ dependencies = [
|
|
|
357
357
|
|
|
358
358
|
[[package]]
|
|
359
359
|
name = "code-split-syn"
|
|
360
|
-
version = "0.1.
|
|
360
|
+
version = "0.1.1"
|
|
361
361
|
dependencies = [
|
|
362
362
|
"anyhow",
|
|
363
363
|
"cargo_metadata 0.18.1",
|
|
@@ -1018,12 +1018,6 @@ dependencies = [
|
|
|
1018
1018
|
"text-size",
|
|
1019
1019
|
]
|
|
1020
1020
|
|
|
1021
|
-
[[package]]
|
|
1022
|
-
name = "linux-raw-sys"
|
|
1023
|
-
version = "0.4.15"
|
|
1024
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1025
|
-
checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
|
|
1026
|
-
|
|
1027
1021
|
[[package]]
|
|
1028
1022
|
name = "linux-raw-sys"
|
|
1029
1023
|
version = "0.12.1"
|
|
@@ -2339,19 +2333,6 @@ dependencies = [
|
|
|
2339
2333
|
"semver",
|
|
2340
2334
|
]
|
|
2341
2335
|
|
|
2342
|
-
[[package]]
|
|
2343
|
-
name = "rustix"
|
|
2344
|
-
version = "0.38.44"
|
|
2345
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2346
|
-
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
|
|
2347
|
-
dependencies = [
|
|
2348
|
-
"bitflags",
|
|
2349
|
-
"errno",
|
|
2350
|
-
"libc",
|
|
2351
|
-
"linux-raw-sys 0.4.15",
|
|
2352
|
-
"windows-sys 0.59.0",
|
|
2353
|
-
]
|
|
2354
|
-
|
|
2355
2336
|
[[package]]
|
|
2356
2337
|
name = "rustix"
|
|
2357
2338
|
version = "1.1.4"
|
|
@@ -2361,7 +2342,7 @@ dependencies = [
|
|
|
2361
2342
|
"bitflags",
|
|
2362
2343
|
"errno",
|
|
2363
2344
|
"libc",
|
|
2364
|
-
"linux-raw-sys
|
|
2345
|
+
"linux-raw-sys",
|
|
2365
2346
|
"windows-sys 0.61.2",
|
|
2366
2347
|
]
|
|
2367
2348
|
|
|
@@ -2484,15 +2465,6 @@ dependencies = [
|
|
|
2484
2465
|
"zmij",
|
|
2485
2466
|
]
|
|
2486
2467
|
|
|
2487
|
-
[[package]]
|
|
2488
|
-
name = "serde_spanned"
|
|
2489
|
-
version = "0.6.9"
|
|
2490
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2491
|
-
checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
|
|
2492
|
-
dependencies = [
|
|
2493
|
-
"serde",
|
|
2494
|
-
]
|
|
2495
|
-
|
|
2496
2468
|
[[package]]
|
|
2497
2469
|
name = "serde_spanned"
|
|
2498
2470
|
version = "1.1.1"
|
|
@@ -2603,7 +2575,7 @@ dependencies = [
|
|
|
2603
2575
|
"fastrand",
|
|
2604
2576
|
"getrandom",
|
|
2605
2577
|
"once_cell",
|
|
2606
|
-
"rustix
|
|
2578
|
+
"rustix",
|
|
2607
2579
|
"windows-sys 0.61.2",
|
|
2608
2580
|
]
|
|
2609
2581
|
|
|
@@ -2720,18 +2692,6 @@ dependencies = [
|
|
|
2720
2692
|
"zerovec",
|
|
2721
2693
|
]
|
|
2722
2694
|
|
|
2723
|
-
[[package]]
|
|
2724
|
-
name = "toml"
|
|
2725
|
-
version = "0.8.23"
|
|
2726
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2727
|
-
checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
|
|
2728
|
-
dependencies = [
|
|
2729
|
-
"serde",
|
|
2730
|
-
"serde_spanned 0.6.9",
|
|
2731
|
-
"toml_datetime 0.6.11",
|
|
2732
|
-
"toml_edit",
|
|
2733
|
-
]
|
|
2734
|
-
|
|
2735
2695
|
[[package]]
|
|
2736
2696
|
name = "toml"
|
|
2737
2697
|
version = "0.9.12+spec-1.1.0"
|
|
@@ -2740,7 +2700,7 @@ checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863"
|
|
|
2740
2700
|
dependencies = [
|
|
2741
2701
|
"indexmap",
|
|
2742
2702
|
"serde_core",
|
|
2743
|
-
"serde_spanned
|
|
2703
|
+
"serde_spanned",
|
|
2744
2704
|
"toml_datetime 0.7.5+spec-1.1.0",
|
|
2745
2705
|
"toml_parser",
|
|
2746
2706
|
"toml_writer",
|
|
@@ -2748,12 +2708,18 @@ dependencies = [
|
|
|
2748
2708
|
]
|
|
2749
2709
|
|
|
2750
2710
|
[[package]]
|
|
2751
|
-
name = "
|
|
2752
|
-
version = "
|
|
2711
|
+
name = "toml"
|
|
2712
|
+
version = "1.1.2+spec-1.1.0"
|
|
2753
2713
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2754
|
-
checksum = "
|
|
2714
|
+
checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee"
|
|
2755
2715
|
dependencies = [
|
|
2756
|
-
"
|
|
2716
|
+
"indexmap",
|
|
2717
|
+
"serde_core",
|
|
2718
|
+
"serde_spanned",
|
|
2719
|
+
"toml_datetime 1.1.1+spec-1.1.0",
|
|
2720
|
+
"toml_parser",
|
|
2721
|
+
"toml_writer",
|
|
2722
|
+
"winnow 1.0.3",
|
|
2757
2723
|
]
|
|
2758
2724
|
|
|
2759
2725
|
[[package]]
|
|
@@ -2766,17 +2732,12 @@ dependencies = [
|
|
|
2766
2732
|
]
|
|
2767
2733
|
|
|
2768
2734
|
[[package]]
|
|
2769
|
-
name = "
|
|
2770
|
-
version = "
|
|
2735
|
+
name = "toml_datetime"
|
|
2736
|
+
version = "1.1.1+spec-1.1.0"
|
|
2771
2737
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2772
|
-
checksum = "
|
|
2738
|
+
checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7"
|
|
2773
2739
|
dependencies = [
|
|
2774
|
-
"
|
|
2775
|
-
"serde",
|
|
2776
|
-
"serde_spanned 0.6.9",
|
|
2777
|
-
"toml_datetime 0.6.11",
|
|
2778
|
-
"toml_write",
|
|
2779
|
-
"winnow 0.7.15",
|
|
2740
|
+
"serde_core",
|
|
2780
2741
|
]
|
|
2781
2742
|
|
|
2782
2743
|
[[package]]
|
|
@@ -2788,12 +2749,6 @@ dependencies = [
|
|
|
2788
2749
|
"winnow 1.0.3",
|
|
2789
2750
|
]
|
|
2790
2751
|
|
|
2791
|
-
[[package]]
|
|
2792
|
-
name = "toml_write"
|
|
2793
|
-
version = "0.1.2"
|
|
2794
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2795
|
-
checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
|
|
2796
|
-
|
|
2797
2752
|
[[package]]
|
|
2798
2753
|
name = "toml_writer"
|
|
2799
2754
|
version = "1.1.1+spec-1.1.0"
|
|
@@ -3187,14 +3142,11 @@ dependencies = [
|
|
|
3187
3142
|
|
|
3188
3143
|
[[package]]
|
|
3189
3144
|
name = "which"
|
|
3190
|
-
version = "
|
|
3145
|
+
version = "8.0.2"
|
|
3191
3146
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3192
|
-
checksum = "
|
|
3147
|
+
checksum = "81995fafaaaf6ae47a7d0cc83c67caf92aeb7e5331650ae6ff856f7c0c60c459"
|
|
3193
3148
|
dependencies = [
|
|
3194
|
-
"
|
|
3195
|
-
"home",
|
|
3196
|
-
"rustix 0.38.44",
|
|
3197
|
-
"winsafe",
|
|
3149
|
+
"libc",
|
|
3198
3150
|
]
|
|
3199
3151
|
|
|
3200
3152
|
[[package]]
|
|
@@ -3265,22 +3217,13 @@ dependencies = [
|
|
|
3265
3217
|
"windows-link",
|
|
3266
3218
|
]
|
|
3267
3219
|
|
|
3268
|
-
[[package]]
|
|
3269
|
-
name = "windows-sys"
|
|
3270
|
-
version = "0.59.0"
|
|
3271
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3272
|
-
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
|
3273
|
-
dependencies = [
|
|
3274
|
-
"windows-targets 0.52.6",
|
|
3275
|
-
]
|
|
3276
|
-
|
|
3277
3220
|
[[package]]
|
|
3278
3221
|
name = "windows-sys"
|
|
3279
3222
|
version = "0.60.2"
|
|
3280
3223
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3281
3224
|
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
|
|
3282
3225
|
dependencies = [
|
|
3283
|
-
"windows-targets
|
|
3226
|
+
"windows-targets",
|
|
3284
3227
|
]
|
|
3285
3228
|
|
|
3286
3229
|
[[package]]
|
|
@@ -3292,22 +3235,6 @@ dependencies = [
|
|
|
3292
3235
|
"windows-link",
|
|
3293
3236
|
]
|
|
3294
3237
|
|
|
3295
|
-
[[package]]
|
|
3296
|
-
name = "windows-targets"
|
|
3297
|
-
version = "0.52.6"
|
|
3298
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3299
|
-
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
|
3300
|
-
dependencies = [
|
|
3301
|
-
"windows_aarch64_gnullvm 0.52.6",
|
|
3302
|
-
"windows_aarch64_msvc 0.52.6",
|
|
3303
|
-
"windows_i686_gnu 0.52.6",
|
|
3304
|
-
"windows_i686_gnullvm 0.52.6",
|
|
3305
|
-
"windows_i686_msvc 0.52.6",
|
|
3306
|
-
"windows_x86_64_gnu 0.52.6",
|
|
3307
|
-
"windows_x86_64_gnullvm 0.52.6",
|
|
3308
|
-
"windows_x86_64_msvc 0.52.6",
|
|
3309
|
-
]
|
|
3310
|
-
|
|
3311
3238
|
[[package]]
|
|
3312
3239
|
name = "windows-targets"
|
|
3313
3240
|
version = "0.53.5"
|
|
@@ -3315,106 +3242,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
3315
3242
|
checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
|
|
3316
3243
|
dependencies = [
|
|
3317
3244
|
"windows-link",
|
|
3318
|
-
"windows_aarch64_gnullvm
|
|
3319
|
-
"windows_aarch64_msvc
|
|
3320
|
-
"windows_i686_gnu
|
|
3321
|
-
"windows_i686_gnullvm
|
|
3322
|
-
"windows_i686_msvc
|
|
3323
|
-
"windows_x86_64_gnu
|
|
3324
|
-
"windows_x86_64_gnullvm
|
|
3325
|
-
"windows_x86_64_msvc
|
|
3245
|
+
"windows_aarch64_gnullvm",
|
|
3246
|
+
"windows_aarch64_msvc",
|
|
3247
|
+
"windows_i686_gnu",
|
|
3248
|
+
"windows_i686_gnullvm",
|
|
3249
|
+
"windows_i686_msvc",
|
|
3250
|
+
"windows_x86_64_gnu",
|
|
3251
|
+
"windows_x86_64_gnullvm",
|
|
3252
|
+
"windows_x86_64_msvc",
|
|
3326
3253
|
]
|
|
3327
3254
|
|
|
3328
|
-
[[package]]
|
|
3329
|
-
name = "windows_aarch64_gnullvm"
|
|
3330
|
-
version = "0.52.6"
|
|
3331
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3332
|
-
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
|
3333
|
-
|
|
3334
3255
|
[[package]]
|
|
3335
3256
|
name = "windows_aarch64_gnullvm"
|
|
3336
3257
|
version = "0.53.1"
|
|
3337
3258
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3338
3259
|
checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
|
|
3339
3260
|
|
|
3340
|
-
[[package]]
|
|
3341
|
-
name = "windows_aarch64_msvc"
|
|
3342
|
-
version = "0.52.6"
|
|
3343
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3344
|
-
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
|
3345
|
-
|
|
3346
3261
|
[[package]]
|
|
3347
3262
|
name = "windows_aarch64_msvc"
|
|
3348
3263
|
version = "0.53.1"
|
|
3349
3264
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3350
3265
|
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
|
|
3351
3266
|
|
|
3352
|
-
[[package]]
|
|
3353
|
-
name = "windows_i686_gnu"
|
|
3354
|
-
version = "0.52.6"
|
|
3355
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3356
|
-
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
|
3357
|
-
|
|
3358
3267
|
[[package]]
|
|
3359
3268
|
name = "windows_i686_gnu"
|
|
3360
3269
|
version = "0.53.1"
|
|
3361
3270
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3362
3271
|
checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
|
|
3363
3272
|
|
|
3364
|
-
[[package]]
|
|
3365
|
-
name = "windows_i686_gnullvm"
|
|
3366
|
-
version = "0.52.6"
|
|
3367
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3368
|
-
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
|
3369
|
-
|
|
3370
3273
|
[[package]]
|
|
3371
3274
|
name = "windows_i686_gnullvm"
|
|
3372
3275
|
version = "0.53.1"
|
|
3373
3276
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3374
3277
|
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
|
|
3375
3278
|
|
|
3376
|
-
[[package]]
|
|
3377
|
-
name = "windows_i686_msvc"
|
|
3378
|
-
version = "0.52.6"
|
|
3379
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3380
|
-
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
|
3381
|
-
|
|
3382
3279
|
[[package]]
|
|
3383
3280
|
name = "windows_i686_msvc"
|
|
3384
3281
|
version = "0.53.1"
|
|
3385
3282
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3386
3283
|
checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
|
|
3387
3284
|
|
|
3388
|
-
[[package]]
|
|
3389
|
-
name = "windows_x86_64_gnu"
|
|
3390
|
-
version = "0.52.6"
|
|
3391
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3392
|
-
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
|
3393
|
-
|
|
3394
3285
|
[[package]]
|
|
3395
3286
|
name = "windows_x86_64_gnu"
|
|
3396
3287
|
version = "0.53.1"
|
|
3397
3288
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3398
3289
|
checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
|
|
3399
3290
|
|
|
3400
|
-
[[package]]
|
|
3401
|
-
name = "windows_x86_64_gnullvm"
|
|
3402
|
-
version = "0.52.6"
|
|
3403
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3404
|
-
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
|
3405
|
-
|
|
3406
3291
|
[[package]]
|
|
3407
3292
|
name = "windows_x86_64_gnullvm"
|
|
3408
3293
|
version = "0.53.1"
|
|
3409
3294
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3410
3295
|
checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
|
|
3411
3296
|
|
|
3412
|
-
[[package]]
|
|
3413
|
-
name = "windows_x86_64_msvc"
|
|
3414
|
-
version = "0.52.6"
|
|
3415
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3416
|
-
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
|
3417
|
-
|
|
3418
3297
|
[[package]]
|
|
3419
3298
|
name = "windows_x86_64_msvc"
|
|
3420
3299
|
version = "0.53.1"
|
|
@@ -3426,9 +3305,6 @@ name = "winnow"
|
|
|
3426
3305
|
version = "0.7.15"
|
|
3427
3306
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3428
3307
|
checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
|
|
3429
|
-
dependencies = [
|
|
3430
|
-
"memchr",
|
|
3431
|
-
]
|
|
3432
3308
|
|
|
3433
3309
|
[[package]]
|
|
3434
3310
|
name = "winnow"
|
|
@@ -3436,12 +3312,6 @@ version = "1.0.3"
|
|
|
3436
3312
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3437
3313
|
checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1"
|
|
3438
3314
|
|
|
3439
|
-
[[package]]
|
|
3440
|
-
name = "winsafe"
|
|
3441
|
-
version = "0.0.19"
|
|
3442
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3443
|
-
checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
|
|
3444
|
-
|
|
3445
3315
|
[[package]]
|
|
3446
3316
|
name = "wit-bindgen"
|
|
3447
3317
|
version = "0.51.0"
|
|
@@ -3,7 +3,7 @@ members = ["crates/*"]
|
|
|
3
3
|
resolver = "3"
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.1.
|
|
6
|
+
version = "0.1.1"
|
|
7
7
|
edition = "2024"
|
|
8
8
|
rust-version = "1.95"
|
|
9
9
|
license = "Apache-2.0"
|
|
@@ -12,14 +12,14 @@ keywords = ["dependency-graph", "coupling", "refactoring", "code-quality", "stat
|
|
|
12
12
|
categories = ["development-tools", "command-line-utilities"]
|
|
13
13
|
|
|
14
14
|
[workspace.dependencies]
|
|
15
|
-
code-split-core = { path = "crates/code-split-core", version = "0.1.
|
|
16
|
-
code-split-syn = { path = "crates/code-split-syn", version = "0.1.
|
|
17
|
-
code-split-sema = { path = "crates/code-split-sema", version = "0.1.
|
|
18
|
-
code-split-complexity = { path = "crates/code-split-complexity", version = "0.1.
|
|
15
|
+
code-split-core = { path = "crates/code-split-core", version = "0.1.1" }
|
|
16
|
+
code-split-syn = { path = "crates/code-split-syn", version = "0.1.1" }
|
|
17
|
+
code-split-sema = { path = "crates/code-split-sema", version = "0.1.1" }
|
|
18
|
+
code-split-complexity = { path = "crates/code-split-complexity", version = "0.1.1" }
|
|
19
19
|
|
|
20
20
|
anyhow = "1.0"
|
|
21
21
|
globset = "0.4"
|
|
22
|
-
toml = "
|
|
22
|
+
toml = "1"
|
|
23
23
|
cargo_metadata = "0.18"
|
|
24
24
|
chrono = { version = "0.4", features = ["serde"] }
|
|
25
25
|
clap = { version = "4.5", features = ["derive"] }
|
|
@@ -30,7 +30,7 @@ syn = { version = "2", features = ["full", "visit"] }
|
|
|
30
30
|
proc-macro2 = { version = "1", features = ["span-locations"] }
|
|
31
31
|
tempfile = "3"
|
|
32
32
|
thiserror = "1"
|
|
33
|
-
which = "
|
|
33
|
+
which = "8"
|
|
34
34
|
|
|
35
35
|
rust-code-analysis = { package = "rust-code-analysis-code-split", version = "0.0.26-cs.0" }
|
|
36
36
|
tree-sitter = "0.26.9"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-split
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -23,10 +23,22 @@ Project-URL: Repository, https://github.com/ffedoroff/code-split
|
|
|
23
23
|
|
|
24
24
|
# code-split
|
|
25
25
|
|
|
26
|
+
[](https://github.com/ffedoroff/code-split/actions/workflows/ci.yml)
|
|
27
|
+
[](https://codecov.io/gh/ffedoroff/code-split)
|
|
28
|
+
[](https://deps.rs/crate/code-split/0.1.1)
|
|
29
|
+
[](https://crates.io/crates/code-split)
|
|
30
|
+
[](https://www.npmjs.com/package/code-split)
|
|
31
|
+
[](https://pypi.org/project/code-split/)
|
|
32
|
+
[](./LICENSE)
|
|
33
|
+
|
|
26
34
|
Structural-analysis tool for **Rust, Python, JavaScript and TypeScript** codebases. Built **AI-agent-friendly first** — finds where a project has structural problems and hands an actionable shortlist to a human or an AI agent for the actual refactor.
|
|
27
35
|
|
|
28
36
|
**Status:** pre-alpha. APIs and output shapes may change without notice. Pin a specific version.
|
|
29
37
|
|
|
38
|
+
## Offline & private
|
|
39
|
+
|
|
40
|
+
code-split always runs **entirely on your machine**. It makes **no network calls**, sends **no telemetry or analytics**, and **never uploads your code or analysis results** anywhere. Generated HTML reports are self-contained — no CDN, no external requests, no tracking.
|
|
41
|
+
|
|
30
42
|
## What it finds
|
|
31
43
|
|
|
32
44
|
- **Components that grew too complex and should be split.** Per-function and per-module cyclomatic / cognitive / Halstead / MI metrics; flags entities above your threshold.
|
|
@@ -41,15 +53,17 @@ The tool **does not refactor for you**. It produces a structured, machine-readab
|
|
|
41
53
|
Runs as a linter. Configure thresholds in `code-split.toml`; the CLI exits non-zero when the codebase breaches them — so a PR that introduces a new cycle, a function above your cognitive budget, or a file above your LOC limit fails the build.
|
|
42
54
|
|
|
43
55
|
```sh
|
|
44
|
-
code-split
|
|
45
|
-
|
|
56
|
+
code-split check . \
|
|
57
|
+
--threshold function.cognitive=25 --threshold file.loc=800
|
|
46
58
|
```
|
|
47
59
|
|
|
60
|
+
The linter is the `check` command — exits non-zero on any cycle or threshold violation (`mutual` and `chain` cycle checks are on by default). See [docs/CLI.md](docs/CLI.md) for all flags.
|
|
61
|
+
|
|
48
62
|
## Full CLI
|
|
49
63
|
|
|
50
64
|
Written in Rust — fast, memory-safe, single static-ish binary with **no runtime dependencies** (no Python, no Node, no JVM, no shared libs to install). One file on PATH, done.
|
|
51
65
|
|
|
52
|
-
|
|
66
|
+
Three commands: `check` (linter — exits non-zero on violations), `report` (snapshot JSON + offline HTML, with optional in-run before/after diff via `--before`), `diff` (HTML or JSON diff between two snapshots, for CI artifacts). No daemon, no language server, no plugin host required at runtime. Full reference: [docs/CLI.md](docs/CLI.md).
|
|
53
67
|
|
|
54
68
|
## HTML report with dynamic diagrams
|
|
55
69
|
|
|
@@ -64,6 +78,8 @@ No network, no analytics, no telemetry. Open in any browser, share as a file.
|
|
|
64
78
|
|
|
65
79
|
## Install
|
|
66
80
|
|
|
81
|
+
**Package pages:** [crates.io](https://crates.io/crates/code-split) · [npm](https://www.npmjs.com/package/code-split) · [PyPI](https://pypi.org/project/code-split/) · [Docker Hub](https://hub.docker.com/r/fedoroff/code-split) · [GHCR](https://github.com/ffedoroff/code-split/pkgs/container/code-split)
|
|
82
|
+
|
|
67
83
|
Pick a channel:
|
|
68
84
|
|
|
69
85
|
```sh
|
|
@@ -74,7 +90,7 @@ curl -fsSL https://github.com/ffedoroff/code-split/releases/latest/download/code
|
|
|
74
90
|
powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.ps1 | iex"
|
|
75
91
|
|
|
76
92
|
# Rust (Cargo)
|
|
77
|
-
cargo install code-split --version 0.1.
|
|
93
|
+
cargo install code-split --version 0.1.1
|
|
78
94
|
|
|
79
95
|
# Node (npm)
|
|
80
96
|
npm install -g code-split
|
|
@@ -83,10 +99,10 @@ npm install -g code-split
|
|
|
83
99
|
pip install code-split
|
|
84
100
|
|
|
85
101
|
# Docker (Docker Hub)
|
|
86
|
-
docker pull
|
|
102
|
+
docker pull fedoroff/code-split:0.1.1
|
|
87
103
|
|
|
88
104
|
# Docker (GHCR — no anonymous rate limits)
|
|
89
|
-
docker pull ghcr.io/ffedoroff/code-split:0.1.
|
|
105
|
+
docker pull ghcr.io/ffedoroff/code-split:0.1.1
|
|
90
106
|
```
|
|
91
107
|
|
|
92
108
|
All channels ship the same `code-split` binary built from the same Rust source. Linux (x86_64, aarch64), macOS (x86_64, aarch64), Windows (x86_64).
|
|
@@ -94,21 +110,24 @@ All channels ship the same `code-split` binary built from the same Rust source.
|
|
|
94
110
|
## Quick start
|
|
95
111
|
|
|
96
112
|
```sh
|
|
97
|
-
#
|
|
98
|
-
code-split
|
|
99
|
-
# → modules.json / files.json / functions.json
|
|
113
|
+
# lint a project — non-zero exit on violations (CI linter)
|
|
114
|
+
code-split check ./path/to/project
|
|
100
115
|
|
|
101
|
-
#
|
|
102
|
-
code-split report
|
|
116
|
+
# analyze and write a snapshot JSON + offline HTML report
|
|
117
|
+
code-split report
|
|
118
|
+
# → .code-split/{project-dir}-{ts}.json + .code-split/index.html
|
|
103
119
|
|
|
104
|
-
# before / after refactor comparison
|
|
105
|
-
code-split diff
|
|
120
|
+
# before / after refactor comparison of two snapshots
|
|
121
|
+
code-split diff --before .code-split/before.json --after .code-split/after.json
|
|
106
122
|
```
|
|
107
123
|
|
|
108
|
-
Built-in plugins: `rust` (cargo + syn + rust-analyzer), `python`, `javascript` (also handles TypeScript)
|
|
124
|
+
Built-in plugins: `rust` (cargo + syn + rust-analyzer), `python`, `javascript` (also handles TypeScript) — all compiled into the single binary, nothing to install.
|
|
109
125
|
|
|
110
126
|
## Documentation
|
|
111
127
|
|
|
128
|
+
- [CLI](docs/CLI.md) — commands, flags, and examples
|
|
129
|
+
- [Rule reference](docs/ERRORS.md) — rule ids grouped by concern (`CYC`/`CPX`/`CPL`/`SIZ`), threshold scopes (`file`/`module`/`function`, each single + `.avg`), what each flags, and how to fix it
|
|
130
|
+
- [Config](docs/config.md) — `code-split.toml` schema
|
|
112
131
|
- [PRD](docs/PRD.md) — product requirements
|
|
113
132
|
- [DESIGN](docs/DESIGN.md) — technical design
|
|
114
133
|
- [Principles corpus](principles/) — Rust / Python / TypeScript principle catalogues used by the prompt generator
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
# code-split
|
|
2
2
|
|
|
3
|
+
[](https://github.com/ffedoroff/code-split/actions/workflows/ci.yml)
|
|
4
|
+
[](https://codecov.io/gh/ffedoroff/code-split)
|
|
5
|
+
[](https://deps.rs/crate/code-split/0.1.1)
|
|
6
|
+
[](https://crates.io/crates/code-split)
|
|
7
|
+
[](https://www.npmjs.com/package/code-split)
|
|
8
|
+
[](https://pypi.org/project/code-split/)
|
|
9
|
+
[](./LICENSE)
|
|
10
|
+
|
|
3
11
|
Structural-analysis tool for **Rust, Python, JavaScript and TypeScript** codebases. Built **AI-agent-friendly first** — finds where a project has structural problems and hands an actionable shortlist to a human or an AI agent for the actual refactor.
|
|
4
12
|
|
|
5
13
|
**Status:** pre-alpha. APIs and output shapes may change without notice. Pin a specific version.
|
|
6
14
|
|
|
15
|
+
## Offline & private
|
|
16
|
+
|
|
17
|
+
code-split always runs **entirely on your machine**. It makes **no network calls**, sends **no telemetry or analytics**, and **never uploads your code or analysis results** anywhere. Generated HTML reports are self-contained — no CDN, no external requests, no tracking.
|
|
18
|
+
|
|
7
19
|
## What it finds
|
|
8
20
|
|
|
9
21
|
- **Components that grew too complex and should be split.** Per-function and per-module cyclomatic / cognitive / Halstead / MI metrics; flags entities above your threshold.
|
|
@@ -18,15 +30,17 @@ The tool **does not refactor for you**. It produces a structured, machine-readab
|
|
|
18
30
|
Runs as a linter. Configure thresholds in `code-split.toml`; the CLI exits non-zero when the codebase breaches them — so a PR that introduces a new cycle, a function above your cognitive budget, or a file above your LOC limit fails the build.
|
|
19
31
|
|
|
20
32
|
```sh
|
|
21
|
-
code-split
|
|
22
|
-
|
|
33
|
+
code-split check . \
|
|
34
|
+
--threshold function.cognitive=25 --threshold file.loc=800
|
|
23
35
|
```
|
|
24
36
|
|
|
37
|
+
The linter is the `check` command — exits non-zero on any cycle or threshold violation (`mutual` and `chain` cycle checks are on by default). See [docs/CLI.md](docs/CLI.md) for all flags.
|
|
38
|
+
|
|
25
39
|
## Full CLI
|
|
26
40
|
|
|
27
41
|
Written in Rust — fast, memory-safe, single static-ish binary with **no runtime dependencies** (no Python, no Node, no JVM, no shared libs to install). One file on PATH, done.
|
|
28
42
|
|
|
29
|
-
|
|
43
|
+
Three commands: `check` (linter — exits non-zero on violations), `report` (snapshot JSON + offline HTML, with optional in-run before/after diff via `--before`), `diff` (HTML or JSON diff between two snapshots, for CI artifacts). No daemon, no language server, no plugin host required at runtime. Full reference: [docs/CLI.md](docs/CLI.md).
|
|
30
44
|
|
|
31
45
|
## HTML report with dynamic diagrams
|
|
32
46
|
|
|
@@ -41,6 +55,8 @@ No network, no analytics, no telemetry. Open in any browser, share as a file.
|
|
|
41
55
|
|
|
42
56
|
## Install
|
|
43
57
|
|
|
58
|
+
**Package pages:** [crates.io](https://crates.io/crates/code-split) · [npm](https://www.npmjs.com/package/code-split) · [PyPI](https://pypi.org/project/code-split/) · [Docker Hub](https://hub.docker.com/r/fedoroff/code-split) · [GHCR](https://github.com/ffedoroff/code-split/pkgs/container/code-split)
|
|
59
|
+
|
|
44
60
|
Pick a channel:
|
|
45
61
|
|
|
46
62
|
```sh
|
|
@@ -51,7 +67,7 @@ curl -fsSL https://github.com/ffedoroff/code-split/releases/latest/download/code
|
|
|
51
67
|
powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.ps1 | iex"
|
|
52
68
|
|
|
53
69
|
# Rust (Cargo)
|
|
54
|
-
cargo install code-split --version 0.1.
|
|
70
|
+
cargo install code-split --version 0.1.1
|
|
55
71
|
|
|
56
72
|
# Node (npm)
|
|
57
73
|
npm install -g code-split
|
|
@@ -60,10 +76,10 @@ npm install -g code-split
|
|
|
60
76
|
pip install code-split
|
|
61
77
|
|
|
62
78
|
# Docker (Docker Hub)
|
|
63
|
-
docker pull
|
|
79
|
+
docker pull fedoroff/code-split:0.1.1
|
|
64
80
|
|
|
65
81
|
# Docker (GHCR — no anonymous rate limits)
|
|
66
|
-
docker pull ghcr.io/ffedoroff/code-split:0.1.
|
|
82
|
+
docker pull ghcr.io/ffedoroff/code-split:0.1.1
|
|
67
83
|
```
|
|
68
84
|
|
|
69
85
|
All channels ship the same `code-split` binary built from the same Rust source. Linux (x86_64, aarch64), macOS (x86_64, aarch64), Windows (x86_64).
|
|
@@ -71,21 +87,24 @@ All channels ship the same `code-split` binary built from the same Rust source.
|
|
|
71
87
|
## Quick start
|
|
72
88
|
|
|
73
89
|
```sh
|
|
74
|
-
#
|
|
75
|
-
code-split
|
|
76
|
-
# → modules.json / files.json / functions.json
|
|
90
|
+
# lint a project — non-zero exit on violations (CI linter)
|
|
91
|
+
code-split check ./path/to/project
|
|
77
92
|
|
|
78
|
-
#
|
|
79
|
-
code-split report
|
|
93
|
+
# analyze and write a snapshot JSON + offline HTML report
|
|
94
|
+
code-split report
|
|
95
|
+
# → .code-split/{project-dir}-{ts}.json + .code-split/index.html
|
|
80
96
|
|
|
81
|
-
# before / after refactor comparison
|
|
82
|
-
code-split diff
|
|
97
|
+
# before / after refactor comparison of two snapshots
|
|
98
|
+
code-split diff --before .code-split/before.json --after .code-split/after.json
|
|
83
99
|
```
|
|
84
100
|
|
|
85
|
-
Built-in plugins: `rust` (cargo + syn + rust-analyzer), `python`, `javascript` (also handles TypeScript)
|
|
101
|
+
Built-in plugins: `rust` (cargo + syn + rust-analyzer), `python`, `javascript` (also handles TypeScript) — all compiled into the single binary, nothing to install.
|
|
86
102
|
|
|
87
103
|
## Documentation
|
|
88
104
|
|
|
105
|
+
- [CLI](docs/CLI.md) — commands, flags, and examples
|
|
106
|
+
- [Rule reference](docs/ERRORS.md) — rule ids grouped by concern (`CYC`/`CPX`/`CPL`/`SIZ`), threshold scopes (`file`/`module`/`function`, each single + `.avg`), what each flags, and how to fix it
|
|
107
|
+
- [Config](docs/config.md) — `code-split.toml` schema
|
|
89
108
|
- [PRD](docs/PRD.md) — product requirements
|
|
90
109
|
- [DESIGN](docs/DESIGN.md) — technical design
|
|
91
110
|
- [Principles corpus](principles/) — Rust / Python / TypeScript principle catalogues used by the prompt generator
|
|
@@ -25,10 +25,12 @@ chrono = { workspace = true }
|
|
|
25
25
|
clap = { workspace = true }
|
|
26
26
|
serde = { workspace = true }
|
|
27
27
|
serde_json = { workspace = true }
|
|
28
|
-
tempfile = { workspace = true }
|
|
29
28
|
which = { workspace = true }
|
|
30
29
|
tree-sitter = { workspace = true }
|
|
31
30
|
tree-sitter-python = { workspace = true }
|
|
32
31
|
tree-sitter-javascript = { workspace = true }
|
|
33
32
|
tree-sitter-typescript = { workspace = true }
|
|
34
33
|
walkdir = { workspace = true }
|
|
34
|
+
|
|
35
|
+
[dev-dependencies]
|
|
36
|
+
tempfile = { workspace = true }
|