Repository navigation
chore: Add repository tooling - #2
Merged
Merged
Conversation
Set up the tools that Junior uses, on their current versions: - oxlint with type-aware rules (oxlint-tsgolint), and oxfmt - TypeScript 7 with strict options, nodenext resolution, and erasable syntax only, so the source runs on Node type stripping - Vitest 5 with v8 coverage, and knip for unused code and dependencies - simple-git-hooks with lint-staged, and pnpm with a one-day minimum release age - AGENTS.md (CLAUDE.md links to it), and dotagents with skills from getsentry/skills - CI with pinned actions, and Dependabot with a cooldown Fix what the new checks found. Most notably, the values pattern builder sorted the list of its caller in place. Tests now tunnel plain HTTP, so they still use CONNECT after undici 8 changed its default, and one test checks absolute-form requests too. Co-Authored-By: David Cramer <david@sentry.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sets up the repo the way Junior is set up, on current tool versions.
pnpm checkruns everything CI runs.Tools
1.87, type-aware throughoxlint-tsgolint. It enables thecorrectness,suspicious, andperfcategories plus a few strict TypeScript rules, and fails on warnings and unused disable comments. Two rules are off:no-unsafe-type-assertion: Roach parses JSON from disk and network with no schema library.no-await-in-loop: Roach does sequential I/O on purpose.0.72(Prettier-compatible), with an 80-column width to match Junior.7.0(the native compiler) withstrict,noUncheckedIndexedAccess,exactOptionalPropertyTypes,nodenext,verbatimModuleSyntax, anderasableSyntaxOnly. Node runssrc/directly with type stripping, so imports use.tsextensions.5with v8 coverage, about 80% of lines today. knip checks for unused exports, files, and dependencies.--fixand oxfmt) before a commit andtypecheckbefore a push.minimumReleaseAge: 1440and an explicitallowBuildslist.persist-credentials: false.AGENTS.mdfollows theagents-mdskill, andCLAUDE.mdis a symlink to it.agents.toml(dotagents) pullscommit,pr-writer,code-review,find-bugs,security-review,gha-security-review, andagents-mdfromgetsentry/skills.pnpm skills:installinstalls them..node-versionis 24, andenginesis>=24.Code changes the new checks forced
values.ts: the pattern builder called.sort()on the array its caller passed in, which reordered that array. It now usestoSorted(), as do the other sort calls.exactOptionalPropertyTypes: optional fields that can beundefinedare now typed that way.proxyTunnel: true, so they still exerciseCONNECTas HTTPS clients do. The "other origin" test now checks both the tunnel and absolute-form requests.Verification:
pnpm checkpasses locally: format, lint (0 warnings), typecheck, knip, and 11 of 11 tests. The pre-commit hook ran on this commit.#1 (the service POC) will be rebased on top of this.
via David Cramer.
--
View Junior Session [Sentry]