microsoft / microsoft/mssql-rs

mssql-js: neither `yarn lint` nor `yarn format:check` runs in CI

Open
#267 0 comments 0 reactions 0 assignees View on GitHub

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
  1. grep -rn "format:check\|lint" .pipeline/scripts/
  2. Only hit is the commented-out line 18 of containerized-js-build.sh.
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.