Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

chore: quality-tightening (yarn 1 -> 4, oxfmt + oxlint + tsc + vitest + husky)#110

Merged
frostebite merged 4 commits intomaingame-ci/unity-activate:mainfrom
quality-tighteninggame-ci/unity-activate:quality-tighteningCopy head branch name to clipboard
May 6, 2026
Merged

chore: quality-tightening (yarn 1 -> 4, oxfmt + oxlint + tsc + vitest + husky)#110
frostebite merged 4 commits intomaingame-ci/unity-activate:mainfrom
quality-tighteninggame-ci/unity-activate:quality-tighteningCopy head branch name to clipboard

Conversation

@webbertakken
Copy link
Copy Markdown
Member

Yarn 1 \u2192 4 migration plus the standard quality-tightening rollout.

Yarn 1 \u2192 4

  • Drops yarn 1 yarn.lock + .yarnrc; adds .yarnrc.yml + mise.toml (node 20.18.0, yarn 4.14.1, actionlint, shellcheck, gitleaks).
  • Sets packageManager: yarn@4.14.1 in package.json.

Quality stack

  • prettier \u2192 oxfmt
  • eslint (with @typescript-eslint, github, jest, prettier, unicorn) \u2192 oxlint with eslint-plugin-unicorn
  • jest 26 + jest-circus + ts-jest \u2192 vitest 4 + vite 7 + @vitest/coverage-istanbul
  • new: tsgo --noEmit (alongside tsc fallback)
  • husky 7 \u2192 husky 9 with scripts/ensure-husky.mjs self-heal + lint-staged

Test migration (6 files)

Bulk-converted jest.* \u2192 vi.* and added vitest imports. 21 / 23 tests pass (2 pre-existing skipped).

Workflow + action.yml updates

  • actions/checkout@v3 \u2192 @v4 across main.yml.
  • actions/setup-node@v3 \u2192 @v4 with node-version 12.x \u2192 20.x.
  • action.yml runs.using 'node12' \u2192 'node20' (node12 is end-of-life on GitHub Actions and was already an actionlint error).

Verified locally

  • yarn lint \u2014 0 errors, 5 warnings
  • yarn format:check \u2014 clean
  • yarn typecheck \u2014 clean
  • yarn test \u2014 21 / 23 (2 pre-existing skipped)
  • yarn build \u2014 succeeds (ncc bundle 961kB, identical structure)
  • actionlint \u2014 clean across both workflows

… + husky)

Yarn 1 -> 4 migration plus the standard quality-tightening rollout.

- Drops yarn 1 lockfile + .yarnrc; adds .yarnrc.yml + mise.toml
  (node 20.18.0, yarn 4.14.1, actionlint, shellcheck, gitleaks).
- prettier -> oxfmt
- eslint (with @typescript-eslint, github, jest, prettier, unicorn)
  -> oxlint with eslint-plugin-unicorn
- jest 26 + jest-circus + ts-jest + @types/jest -> vitest 4 + vite 7
  + @vitest/coverage-istanbul (jest.config.js removed)
- new: tsgo --noEmit (alongside tsc fallback)
- husky 7 -> husky 9 with scripts/ensure-husky.mjs self-heal +
  lint-staged
- new: gitleaks, actionlint, shellcheck as mise-managed binaries
- TypeScript bumped 4.x -> 5; tsconfig target ES6 -> ES2022 + lib
  ES2022 + DOM, skipLibCheck on, types: [node].

Test migration (6 files):
- Bulk-converted jest.* -> vi.* and added vitest imports.

Workflow + action.yml updates:
- actions/checkout@v3 -> @v4 across main.yml.
- actions/setup-node@v3 -> @v4 with node-version 12.x -> 20.x.
- action.yml runs.using 'node12' -> 'node20' (node12 is end-of-life
  on GitHub Actions and was already an actionlint error).

Verified locally: lint 0/5, format clean, typecheck clean,
test 21/23 (2 pre-existing skipped), build succeeds, actionlint
clean across both workflows.
Add the standard yarn 4 .gitignore entries so we don't commit the
zip cache + install-state.gz.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 5, 2026

Warning

Rate limit exceeded

@webbertakken has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 32 minutes and 57 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5106372d-a012-43e5-a3f6-1ffec7a23b1a

📥 Commits

Reviewing files that changed from the base of the PR and between fbbebcb and 36de6de.

⛔ Files ignored due to path filters (5)
  • dist/index.js is excluded by !**/dist/**
  • dist/index.js.map is excluded by !**/dist/**, !**/*.map
  • dist/licenses.txt is excluded by !**/dist/**
  • dist/sourcemap-register.js is excluded by !**/dist/**
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (25)
  • .eslintignore
  • .eslintrc.json
  • .github/workflows/main.yml
  • .gitignore
  • .husky/.gitignore
  • .husky/pre-commit
  • .oxfmtrc.json
  • .oxlintrc.json
  • .prettierignore
  • .prettierrc.json
  • .yarnrc
  • .yarnrc.yml
  • action.yml
  • jest.config.js
  • mise.toml
  • package.json
  • scripts/ensure-husky.mjs
  • src/model/action.test.ts
  • src/model/docker.test.ts
  • src/model/image-tag.test.ts
  • src/model/index.test.ts
  • src/model/input.test.ts
  • src/model/platform.test.ts
  • tsconfig.json
  • vitest.config.mts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch quality-tightening

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

…ce undici >=6.24

Snyk flagged 9 transitive vulnerabilities (3 high, 6 moderate)
through the old toolchain. Bumps:
  - @actions/github@2.2.0 -> 6.0.1
  - @octokit/core@3.5.1 -> 6.1.5

Both bumps are upstream-recommended (Snyk auto-PR #107 was waiting
for the same change). The undici resolution forces the upstream
package to pull a fixed version that addresses:
  - undici WebSocket permessage-deflate unbounded memory consumption
  - undici WebSocket invalid server_max_window_bits unhandled exception

After: 'yarn npm audit --recursive' reports no audit suggestions.

Also: lint-staged globs now exclude dist/ explicitly so pre-commit
hooks don't fail when the only staged files are in the dist/
ignore-patterned tree (e.g. after a yarn build that touches
dist/index.js + sourcemap).
@frostebite frostebite merged commit 350d0d7 into main May 6, 2026
7 checks passed
@frostebite frostebite deleted the quality-tightening branch May 6, 2026 18:33
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.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.