Dev Log 20: 2025-11-19

Beacon ( docs )

I drafted and released version v0.3.0 of Beacon. This release focused entirely around refining the type checker. Next up is creating configurable type checker modes.

My goal was to finish this work by Saturday so it's pretty nice to be done early.

Today I'll break down v0.4.0 into subtasks for my PRs. Is it silly to be drafting PRs for no one to review?

Once the typeshed mirror has been integrated, look out for marketplace releases!

Mccabre ( code )

Beacon's test modules are ridiculously long so I'm working on extending the lines of code analysis to recursively walk a project/directory to rank files by length.

This codebase has one of my "wackier" experiments with README files. I like the way plaintext READMEs are rendered on git hosts.

Some of the outputs come out as JSON. There's a lot around about TOON and it may be worth it to implement that. Creating bindings for serde may be a fun project too if it doesn't exist already.

Here's what the directory ranking looks like:

================================================================================
LINES OF CODE ANALYSIS
================================================================================

SUMMARY
--------------------------------------------------------------------------------
Total files analyzed: 22
Total physical LOC: 3393
Total logical LOC: 2272
Total comment lines: 180
Total blank lines: 941

DIRECTORIES RANKED BY Logical LOC
--------------------------------------------------------------------------------

DIRECTORY: ./crates/core/src
Total Physical: 1126 | Logical: 583 | Comments: 42 | Blank: 501

Files:
reporter.rs (Logical LOC: 212) - P: 260 | L: 212 | C: 16 | B: 32
loader.rs (Logical LOC: 150) - P: 204 | L: 150 | C: 8 | B: 46
config.rs (Logical LOC: 135) - P: 186 | L: 135 | C: 14 | B: 37
tokenizer.rs (Logical LOC: 61) - P: 442 | L: 61 | C: 4 | B: 377
error.rs (Logical LOC: 17) - P: 24 | L: 17 | C: 0 | B: 7
lib.rs (Logical LOC: 8) - P: 10 | L: 8 | C: 0 | B: 2

DIRECTORY: ./crates/cli/src/commands
Total Physical: 625 | Logical: 527 | Comments: 2 | Blank: 96

Files:
analyze.rs (Logical LOC: 169) - P: 199 | L: 169 | C: 1 | B: 29
loc.rs (Logical LOC: 112) - P: 130 | L: 112 | C: 0 | B: 18
clones.rs (Logical LOC: 104) - P: 124 | L: 104 | C: 1 | B: 19
complexity.rs (Logical LOC: 99) - P: 118 | L: 99 | C: 0 | B: 19
dump_config.rs (Logical LOC: 38) - P: 48 | L: 38 | C: 0 | B: 10
mod.rs (Logical LOC: 5) - P: 6 | L: 5 | C: 0 | B: 1

DIRECTORY: ./crates/core/src/complexity
Total Physical: 669 | Logical: 462 | Comments: 57 | Blank: 150

Files:
loc.rs (Logical LOC: 275) - P: 375 | L: 275 | C: 32 | B: 68
cyclomatic.rs (Logical LOC: 183) - P: 288 | L: 183 | C: 25 | B: 80
mod.rs (Logical LOC: 4) - P: 6 | L: 4 | C: 0 | B: 2

and here's file ranking:

================================================================================
LINES OF CODE ANALYSIS
================================================================================

SUMMARY
--------------------------------------------------------------------------------
Total files analyzed: 22
Total physical LOC: 3393
Total logical LOC: 2272
Total comment lines: 180
Total blank lines: 941

FILES RANKED BY Logical LOC
--------------------------------------------------------------------------------

1. ./crates/core/src/complexity/loc.rs (Logical LOC: 275)
Physical: 375 | Logical: 275 | Comments: 32 | Blank: 68

2. ./crates/core/src/reporter.rs (Logical LOC: 212)
Physical: 260 | Logical: 212 | Comments: 16 | Blank: 32

3. ./crates/cli/src/highlight.rs (Logical LOC: 200)
Physical: 236 | Logical: 200 | Comments: 2 | Blank: 34

4. ./crates/core/src/complexity/cyclomatic.rs (Logical LOC: 183)
Physical: 288 | Logical: 183 | Comments: 25 | Blank: 80

These are both truncated.

To those that read these, many thanks! Please feel free to open issues or leave feedback!! Your thoughts are welcome and greatly appreciated.