Skip to content

chore(KNO-14398): migrate example apps to the oxc toolchain#1048

Draft
kylemcd wants to merge 2 commits into
kyle-kno-14398-chore-adopt-the-oxc-toolchain-oxlint-oxfmt-and-typescript-7from
kyle-kno-14398-migrate-examples-to-oxc
Draft

chore(KNO-14398): migrate example apps to the oxc toolchain#1048
kylemcd wants to merge 2 commits into
kyle-kno-14398-chore-adopt-the-oxc-toolchain-oxlint-oxfmt-and-typescript-7from
kyle-kno-14398-migrate-examples-to-oxc

Conversation

@kylemcd

@kylemcd kylemcd commented Jul 24, 2026

Copy link
Copy Markdown
Member

Description

Stacked on #1047 — review that first; this PR's diff is only the example-app migration.

Moves the example apps off ESLint/Prettier onto the same oxc toolchain (oxlint + oxfmt) the packages now use, completing the repo-wide migration and orphaning the shared config packages.

What changed

  • oxlint/oxfmt for examples — un-ignored examples/** in .oxlintrc.json; each example's lint / format / format:check now runs oxlint/oxfmt (replacing next lint, eslint, expo lint, and prettier). Deleted the 7 example ESLint configs and the root .eslintrc.js; removed the eslint/prettier/next-lint devDependencies.
  • next build no longer lints — the 5 Next examples set eslint.ignoreDuringBuilds: true, since linting now runs via yarn lint (oxlint), not next build. This keeps the Vercel preview deploys green.
  • Findings fixed — oxlint surfaced unused vars/imports and a missing <html lang> in slack-kit; fixed. react-hooks/exhaustive-deps is turned off for examples/** — it was never enforced as an error before (the two eslint --max-warnings 0 examples were already green with these present), so this is parity, and rewriting demo hook deps risks changing behavior I can't exercise.
  • Config cleanup — removed the now-dead root prettier config key and the @knocklabs/eslint-config / @knocklabs/prettier-config devDependencies.

Follow-up

@knocklabs/eslint-config and @knocklabs/prettier-config now have zero consumers in the repo. They can be deprecated / removed as a final step — left in place here since dropping published packages is a separate decision.

Verification — all green locally on the stacked tree: yarn lint (13/13), yarn format:check (12/12), yarn type:check (6/6), yarn build:packages (5/5), yarn test (1007 tests).

Todos

  • Deprecate/remove @knocklabs/eslint-config and @knocklabs/prettier-config (now unused).

Checklist

  • No new features; example apps have no unit tests. The package suite (1007 tests) still passes.

@linear-code

linear-code Bot commented Jul 24, 2026

Copy link
Copy Markdown

KNO-14398

@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
javascript-ms-teams-connect-example Ready Ready Preview, Comment Jul 24, 2026 3:46pm
javascript-nextjs-example Ready Ready Preview, Comment Jul 24, 2026 3:46pm
javascript-slack-connect-example Ready Ready Preview, Comment Jul 24, 2026 3:46pm
javascript-slack-kit-example Ready Ready Preview, Comment Jul 24, 2026 3:46pm

Request Review

@changeset-bot

changeset-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 648e623

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Comment thread package.json
Move the example apps off ESLint/Prettier onto oxlint/oxfmt, matching the
packages. Completes the toolchain migration and orphans the shared config
packages.

- Un-ignore examples in .oxlintrc.json; disable react-hooks/exhaustive-deps for
  examples only (never enforced as an error before — the two `eslint
  --max-warnings 0` examples were already green with these present).
- Switch each example's lint/format scripts to oxlint/oxfmt; delete the 7 example
  ESLint configs and the root .eslintrc.js; remove eslint/prettier/next lint
  devDependencies.
- Set eslint.ignoreDuringBuilds in the 5 Next examples so `next build` (Vercel)
  no longer lints — oxlint handles it via `yarn lint`.
- Fix findings oxlint surfaced: unused vars/imports and a missing `<html lang>`.
- Remove the now-dead root prettier config key + @knocklabs/eslint-config /
  @knocklabs/prettier-config devDeps. Those two published packages now have zero
  consumers and can be deprecated as a follow-up.
@kylemcd
kylemcd force-pushed the kyle-kno-14398-migrate-examples-to-oxc branch from 39eecee to 8711c4d Compare July 24, 2026 15:18
@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 8711c4d. Configure here.

Comment thread examples/guide-example/package.json
Addresses BugBot comment by @cursor: `globals` was only used by the deleted
ESLint flat config (eslint.config.js) and is now an unused leftover.
@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.90%. Comparing base (9e5fdd6) to head (648e623).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@                                             Coverage Diff                                             @@
##           kyle-kno-14398-chore-adopt-the-oxc-toolchain-oxlint-oxfmt-and-typescript-7    #1048   +/-   ##
===========================================================================================================
  Coverage                                                                       66.90%   66.90%           
===========================================================================================================
  Files                                                                             213      213           
  Lines                                                                           10489    10489           
  Branches                                                                         1532     1532           
===========================================================================================================
  Hits                                                                             7018     7018           
  Misses                                                                           3446     3446           
  Partials                                                                           25       25           

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.

1 participant