Problem
The ts_lint rule exists and passes a test with a fake linter (tests/lint/fake_linter.sh). It has never been tested end-to-end with a real linter binary (oxlint or eslint).
Gazelle auto-detects lint configs (oxlint.json, .eslintrc.*, eslint.config.*) and generates ts_lint targets, but:
- The generated targets reference
@npm//:oxlint_bin or @npm//:eslint_bin which may not exist
- No example demonstrates real linting
- The
ts_lint rule's interaction with the _validation output group is tested with a stub
Expected behavior
- A test that runs
oxlint on real TypeScript code and verifies it catches a lint violation
- A test that verifies the
_validation output group fails when lint violations exist
- An example with real lint configuration
Suggested fix
- Add
oxlint to tests/npm/pnpm-lock.yaml
- Create
tests/lint_real/ with an oxlint.json config and a .ts file with a known violation
- Verify
bazel build //tests/lint_real:lint --output_groups=+_validation fails correctly
- Verify clean code passes
Problem
The
ts_lintrule exists and passes a test with a fake linter (tests/lint/fake_linter.sh). It has never been tested end-to-end with a real linter binary (oxlintoreslint).Gazelle auto-detects lint configs (
oxlint.json,.eslintrc.*,eslint.config.*) and generatests_linttargets, but:@npm//:oxlint_binor@npm//:eslint_binwhich may not existts_lintrule's interaction with the_validationoutput group is tested with a stubExpected behavior
oxlinton real TypeScript code and verifies it catches a lint violation_validationoutput group fails when lint violations existSuggested fix
oxlinttotests/npm/pnpm-lock.yamltests/lint_real/with anoxlint.jsonconfig and a .ts file with a known violationbazel build //tests/lint_real:lint --output_groups=+_validationfails correctly