code-split 0.1.0a11__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.
Files changed (61) hide show
  1. {code_split-0.1.0a11 → code_split-0.1.1}/Cargo.lock +35 -165
  2. {code_split-0.1.0a11 → code_split-0.1.1}/Cargo.toml +7 -7
  3. {code_split-0.1.0a11 → code_split-0.1.1}/PKG-INFO +34 -15
  4. {code_split-0.1.0a11 → code_split-0.1.1}/README.md +33 -14
  5. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/Cargo.toml +3 -1
  6. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/app.js +34 -10
  7. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/index.html +2 -2
  8. code_split-0.1.1/crates/code-split-cli/src/config.rs +1716 -0
  9. code_split-0.1.1/crates/code-split-cli/src/main.rs +1183 -0
  10. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/plugin/javascript.rs +177 -0
  11. code_split-0.1.1/crates/code-split-cli/src/plugin/mod.rs +29 -0
  12. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/plugin/python.rs +187 -0
  13. code_split-0.1.1/crates/code-split-core/src/cycles.rs +413 -0
  14. code_split-0.1.1/crates/code-split-core/src/diff.rs +394 -0
  15. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-core/src/graph.rs +1 -1
  16. code_split-0.1.1/crates/code-split-core/src/hk.rs +183 -0
  17. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-core/src/snapshot.rs +242 -0
  18. code_split-0.1.1/crates/code-split-core/src/stats.rs +340 -0
  19. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-syn/src/crate_graph.rs +1 -1
  20. code_split-0.1.1/crates/code-split-syn/src/ids.rs +8 -0
  21. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-syn/src/lib.rs +1 -4
  22. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-syn/src/module_graph.rs +1 -1
  23. {code_split-0.1.0a11 → code_split-0.1.1}/pyproject.toml +1 -1
  24. code_split-0.1.0a11/crates/code-split-cli/src/config.rs +0 -620
  25. code_split-0.1.0a11/crates/code-split-cli/src/main.rs +0 -877
  26. code_split-0.1.0a11/crates/code-split-cli/src/plugin/mod.rs +0 -82
  27. code_split-0.1.0a11/crates/code-split-core/src/cycles.rs +0 -160
  28. code_split-0.1.0a11/crates/code-split-core/src/diff.rs +0 -204
  29. code_split-0.1.0a11/crates/code-split-core/src/hk.rs +0 -50
  30. code_split-0.1.0a11/crates/code-split-core/src/stats.rs +0 -150
  31. {code_split-0.1.0a11 → code_split-0.1.1}/LICENSE +0 -0
  32. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/dagre.min.js +0 -0
  33. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/diagram.js +0 -0
  34. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/diff.js +0 -0
  35. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/export-popup.js +0 -0
  36. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/graphviz.umd.js +0 -0
  37. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/index.css +0 -0
  38. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/layout.js +0 -0
  39. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/modal.js +0 -0
  40. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/nav.js +0 -0
  41. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/node-table.js +0 -0
  42. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/panzoom.js +0 -0
  43. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/state.js +0 -0
  44. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/summary.js +0 -0
  45. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/ui.js +0 -0
  46. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/assets/utils.js +0 -0
  47. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/git.rs +0 -0
  48. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/logger.rs +0 -0
  49. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-cli/src/plugin/rust.rs +0 -0
  50. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-complexity/Cargo.toml +0 -0
  51. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-complexity/examples/bench.rs +0 -0
  52. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-complexity/examples/debug_spaces.rs +0 -0
  53. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-complexity/src/lib.rs +0 -0
  54. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-core/Cargo.toml +0 -0
  55. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-core/src/builder.rs +0 -0
  56. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-core/src/lib.rs +0 -0
  57. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-core/src/semantic.rs +0 -0
  58. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-sema/Cargo.toml +0 -0
  59. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-sema/src/lib.rs +0 -0
  60. {code_split-0.1.0a11 → code_split-0.1.1}/crates/code-split-syn/Cargo.toml +0 -0
  61. {code_split-0.1.0a11 → 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.0-alpha.11"
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 0.8.23",
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.0-alpha.11"
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.0-alpha.11"
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.0-alpha.11"
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.0-alpha.11"
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 0.12.1",
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 1.1.4",
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 1.1.1",
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 = "toml_datetime"
2752
- version = "0.6.11"
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 = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
2714
+ checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee"
2755
2715
  dependencies = [
2756
- "serde",
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 = "toml_edit"
2770
- version = "0.22.27"
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 = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
2738
+ checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7"
2773
2739
  dependencies = [
2774
- "indexmap",
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 = "6.0.3"
3145
+ version = "8.0.2"
3191
3146
  source = "registry+https://github.com/rust-lang/crates.io-index"
3192
- checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f"
3147
+ checksum = "81995fafaaaf6ae47a7d0cc83c67caf92aeb7e5331650ae6ff856f7c0c60c459"
3193
3148
  dependencies = [
3194
- "either",
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 0.53.5",
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 0.53.1",
3319
- "windows_aarch64_msvc 0.53.1",
3320
- "windows_i686_gnu 0.53.1",
3321
- "windows_i686_gnullvm 0.53.1",
3322
- "windows_i686_msvc 0.53.1",
3323
- "windows_x86_64_gnu 0.53.1",
3324
- "windows_x86_64_gnullvm 0.53.1",
3325
- "windows_x86_64_msvc 0.53.1",
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.0-alpha.11"
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.0-alpha.11" }
16
- code-split-syn = { path = "crates/code-split-syn", version = "0.1.0-alpha.11" }
17
- code-split-sema = { path = "crates/code-split-sema", version = "0.1.0-alpha.11" }
18
- code-split-complexity = { path = "crates/code-split-complexity", version = "0.1.0-alpha.11" }
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 = "0.8"
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 = "6"
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.0a11
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
+ [![CI](https://github.com/ffedoroff/code-split/actions/workflows/ci.yml/badge.svg)](https://github.com/ffedoroff/code-split/actions/workflows/ci.yml)
27
+ [![codecov](https://codecov.io/gh/ffedoroff/code-split/branch/main/graph/badge.svg)](https://codecov.io/gh/ffedoroff/code-split)
28
+ [![dependencies](https://deps.rs/crate/code-split/0.1.1/status.svg)](https://deps.rs/crate/code-split/0.1.1)
29
+ [![Crates.io](https://img.shields.io/crates/v/code-split.svg)](https://crates.io/crates/code-split)
30
+ [![npm](https://img.shields.io/npm/v/code-split.svg)](https://www.npmjs.com/package/code-split)
31
+ [![PyPI](https://img.shields.io/pypi/v/code-split.svg)](https://pypi.org/project/code-split/)
32
+ [![License](https://img.shields.io/crates/l/code-split.svg)](./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 analyze --plugin rust . && \
45
- code-split lint --max-cycles 0 --max-cognitive 25 --max-loc 800
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
- Everything is driven from the command line: `analyze` snapshot JSON, `report` offline HTML, `diff` before/after report between two snapshots, `lint` CI gate. No daemon, no language server, no plugin host required at runtime.
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.0-alpha.11
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 fedoroff/code-split:0.1.0-alpha.11
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.0-alpha.11
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
- # extract dependency graphs from a workspace
98
- code-split analyze --plugin rust ./path/to/project
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
- # generate an offline interactive HTML report
102
- code-split report ./snapshots/latest
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 ./snapshots/before ./snapshots/after
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). Third-party plugins resolved as `code-split-plugin-<name>` on PATH.
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
+ [![CI](https://github.com/ffedoroff/code-split/actions/workflows/ci.yml/badge.svg)](https://github.com/ffedoroff/code-split/actions/workflows/ci.yml)
4
+ [![codecov](https://codecov.io/gh/ffedoroff/code-split/branch/main/graph/badge.svg)](https://codecov.io/gh/ffedoroff/code-split)
5
+ [![dependencies](https://deps.rs/crate/code-split/0.1.1/status.svg)](https://deps.rs/crate/code-split/0.1.1)
6
+ [![Crates.io](https://img.shields.io/crates/v/code-split.svg)](https://crates.io/crates/code-split)
7
+ [![npm](https://img.shields.io/npm/v/code-split.svg)](https://www.npmjs.com/package/code-split)
8
+ [![PyPI](https://img.shields.io/pypi/v/code-split.svg)](https://pypi.org/project/code-split/)
9
+ [![License](https://img.shields.io/crates/l/code-split.svg)](./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 analyze --plugin rust . && \
22
- code-split lint --max-cycles 0 --max-cognitive 25 --max-loc 800
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
- Everything is driven from the command line: `analyze` snapshot JSON, `report` offline HTML, `diff` before/after report between two snapshots, `lint` CI gate. No daemon, no language server, no plugin host required at runtime.
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.0-alpha.11
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 fedoroff/code-split:0.1.0-alpha.11
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.0-alpha.11
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
- # extract dependency graphs from a workspace
75
- code-split analyze --plugin rust ./path/to/project
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
- # generate an offline interactive HTML report
79
- code-split report ./snapshots/latest
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 ./snapshots/before ./snapshots/after
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). Third-party plugins resolved as `code-split-plugin-<name>` on PATH.
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 }