microsoft / microsoft/mssql-rs
mssql-js: neither `yarn lint` nor `yarn format:check` runs in CI
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 53
- Forks
- 14
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 137
Description
Describe the bug
The repo checklist for mssql-js lists yarn lint and yarn format:check, but neither runs in CI. Both scripts exist in mssql-js/package.json; CI just never invokes them.
.pipeline/scripts/containerized-js-build.sh (the only place JS is built in CI):
cd mssql-js
yarn install
yarn build
ls lib/generated
# echo "Check for formatting"
# yarn format:check # <-- commented out, line 18
echo "Compiling Typescript files"
yarn buildapi
.pipeline/scripts/containerized-js-test.sh runs only yarn testci. So:
| Check | Script exists | Runs in CI |
|---|---|---|
yarn build |
yes | yes |
yarn buildapi (tsc) |
yes | yes |
yarn testci |
yes | yes (PR builds only) |
yarn format:check |
yes | no — commented out |
yarn lint |
yes | no — never invoked |
format:check being commented out is at least visible in the diff. lint is the quieter gap: it appears in no pipeline script at all, so eslint . --ext .ts,.js --max-warnings=0 is effectively unenforced despite --max-warnings=0 implying it is a gate.
Steps to reproduce
grep -rn "format:check\|lint" .pipeline/scripts/- Only hit is the commented-out line 18 of
containerized-js-build.sh. - Confirm both scripts are defined in
mssql-js/package.json.
Expected behavior
Prettier and ESLint are enforced on PR builds, matching the documented contributor checklist — or the checklist is amended to say they are local-only.
Actual behavior
Neither runs. TypeScript/JS formatting and lint regressions can land without CI objecting.
Version
main @ e40e779d
Affected crate
mssql-js
Additional context
Found while validating #264 (a Rust-only change — all 14 changed files are .rs, zero JS surface). Not caused by that PR and not a blocker for it; filing so it is not lost.
Note there is a plausible reason format:check was disabled rather than merely forgotten — it may have been failing on generated output, since yarn build writes into lib/generated before the check would run, and the format:check glob "lib/**/*.ts" covers that directory. If so, the fix is likely to scope the glob away from generated files rather than to simply uncomment the line. lint has no such excuse.
Whoever picks this up should re-enable the two checks in one PR and fix whatever they surface, rather than uncommenting blindly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read mssql-js/package.json and .pipeline/scripts/containerized-js-build.sh and containerized-js-test.sh, then run the listed build, format, lint, and test commands locally. Check how generated files under lib/generated affect format:check; done means PR CI runs the intended checks and passes without allowing formatting or lint regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, shell, typescript
- Domain
- build-system, ci-cd, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100