Skip to content

Add blink: Go port of ECS under - #92

Merged
TomasVotruba merged 2 commits into
mainfrom
port-blink-go
Sep 29, 2026
Merged

TomasVotruba merged 2 commits into
mainfrom
port-blink-go

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

Ports the Go part of ecs-go into this repository, nested under blink/. Rust parts are excluded.

What lands

  • blink/ - the full Go module (renamed from ecs-go to blink): main.go, cmd/check-sources, internal/ (147 fixer rules plus lexer, tokens, runner, config, reporter, diff, finder, set). Token-based PHP coding-standard checker/fixer, 209 fixers, ~100% of ECS's 208 configured rules.
  • blink/bin/rule-counts.sh - regenerates the rule-coverage table in blink/README.md; Rust column dropped.
  • .github/workflows/blink_tests.yaml - build, vet, test, gofmt -s, go fix, golangci-lint, govulncheck, check-sources, and a Windows job. Triggered on blink/**.
  • .github/workflows/blink_parity.yaml - the 1:1 parity gate. Runs blink and the ECS in this repository over full rector-src (psr12 + common) and fails on any differing file. Uses the local ECS (bin/ecs) rather than a published release, so it gates against the code being shipped.
  • .github/workflows/blink_rule_counts.yaml - fails if the coverage table is stale.

Notes

  • Module renamed ecs-go -> blink; all import paths, the binary name, help text and the default config file (blink.json) follow.
  • PHP tooling (phpstan, rector, ecs) uses explicit paths and does not scan blink/.
  • Rust-only perf.yaml (Go vs Rust benchmark) was dropped.
  • Local checks pass: go build, go vet, go test ./..., gofmt -s, go fix, and rule-counts.sh --check.

Replicate PHP-CS-Fixer LowercaseKeywordsFixer behaviour on keyword-spelled
class-constant names: lowercase the name only when the same keyword reappears
after :: in its value, so blink is byte-identical to ECS on full rector-src.
Expose blink as a lazy-building composer bin (bin/blink).
@TomasVotruba TomasVotruba changed the title Add blink: Go port of ECS under blink/ Add blink: Go port of ECS under blink Sep 29, 2026
@TomasVotruba TomasVotruba changed the title Add blink: Go port of ECS under blink Add blink: Go port of ECS under Sep 29, 2026
@TomasVotruba
TomasVotruba merged commit e4cd161 into main Sep 29, 2026
17 checks passed
@TomasVotruba
TomasVotruba deleted the port-blink-go branch September 29, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant