chore: Update with-tailwind example (#13762)
## Automated daily example maintenance: `with-tailwind`
### Version updates (exact latest stable pins)
**Root**
- `packageManager`: `pnpm@10.19.0` → `pnpm@11.22.0`
- `engines.node`: `>=18` → `>=24` (latest active LTS line: 24.19.0)
- `prettier` `^3.6.0` → `3.9.6`, `prettier-plugin-tailwindcss` `^0.7.1`
→ `0.8.1`, `turbo` `^2.9.6` → `2.10.10`
**apps/docs, apps/web**
- `next` `16.3.0` → `16.3.1`, `geist` → `1.7.2`, `react`/`react-dom` →
`19.2.8`
- `@next/eslint-plugin-next` → `16.3.1`,
`@tailwindcss/postcss`/`tailwindcss` → `4.3.3`, `@types/node` →
`26.2.0`, `@types/react` → `19.2.18`, `@types/react-dom` → `19.2.4`,
`postcss` → `8.5.26`
- `eslint` `^9.39.1` → `10.8.1`, `typescript` `5.9.2` → `7.0.2`
- Removed `autoprefixer`: unused with Tailwind CSS v4 (the shared
PostCSS config only uses `@tailwindcss/postcss`, which handles vendor
prefixing)
- `next-env.d.ts` regenerated by `next typegen` (Next 16.3.1 adds
`root-params.d.ts` reference)
**packages/eslint-config**
- `@eslint/js` → `10.0.1`, `eslint` → `10.8.1`, `eslint-config-prettier`
→ `10.1.8`, `eslint-plugin-only-warn` → `1.2.1`,
`eslint-plugin-react-hooks` `^5.2.0` → `7.1.1`, `eslint-plugin-turbo` →
`2.10.10`, `globals` → `17.11.0`, `typescript-eslint` → `8.67.0`
- Removed `eslint-plugin-react`: latest (`7.37.5`) only supports ESLint
`^9.7` and blocks ESLint 10; its only active effect here was
`react/react-in-jsx-scope: off`, unnecessary with the automatic JSX
runtime. React coverage remains via `eslint-plugin-react-hooks@7` and
`@next/eslint-plugin-next`.
**packages/tailwind-config, packages/ui**
- `tailwindcss`/`@tailwindcss/cli` → `4.3.3`, `postcss` → `8.5.26`,
`@types/react` → `19.2.18`, `eslint` → `10.8.1`, `typescript` → `7.0.2`,
`react` peer → `19.2.8`
### Best-practice migrations
- **TypeScript 7 (native compiler)**
- Added explicit `"rootDir": "src"` to `packages/ui/tsconfig.json` (TS 7
changed the `rootDir` default to `./` and errors with TS5011 otherwise).
- `typescript-eslint` cannot load TS 7.0 because TS 7.0 ships **no
JavaScript API** (planned for 7.1). Following [Microsoft's official
side-by-side
guidance](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/#running-side-by-side-with-typescript-6.0),
`@repo/eslint-config` aliases its `typescript` dependency to the
official compatibility package `npm:@typescript/typescript6@6.0.2` (its
exact latest). Every app and package still compiles/type-checks with
native `typescript@7.0.2` (`tsc`); the alias only supplies the TS 6.0
API to the lint toolchain, documented in
`packages/eslint-config/README.md`. This is the vendor-sanctioned
migration, not a version hold — there is no published TS 7 API for
typescript-eslint to use.
- **ESLint 10**: migrated shared flat configs off `eslint-plugin-react`
(incompatible with ESLint 10); deduplicated config entries already
provided by the base config; `eslint-plugin-react-hooks@7` recommended
rules retained.
- **pnpm 11**: dependency build scripts are blocked by default; added
`allowBuilds: { "@parcel/watcher": true }` (pnpm 11's replacement for
`onlyBuiltDependencies`) to `pnpm-workspace.yaml`. No release-age
settings added or changed.
- **turbo.json**: `check-types` now depends on `["^build",
"^check-types"]` so app type-checks deterministically see `@repo/ui`'s
compiled `dist` output instead of racing the `ui` build.
- **README**: updated for Tailwind CSS v4 (removed stale
`tailwind.config.ts`/`content` array/autoprefixer instructions,
documented the CSS-first `prefix(ui)` import and `@source` directive for
consuming `ui` from source) and corrected the ESLint description
(`@next/eslint-plugin-next` flat config instead of
`eslint-config-next`).
### Lockfile
Regenerated `pnpm-lock.yaml` with the declared package manager via `pnpm
install` (pnpm 11.22.0). Install completes with no peer-dependency
warnings.
### Validation
`pnpm exec turbo run build check-types lint --continue=always` — **10/10
tasks successful** across all 6 workspace packages (turbo 2.10.10):
- `@repo/ui`: `build:styles` (tailwindcss 4.3.3), `build:components`
(native TS 7 `tsc`), `check-types`, `lint`
- `docs` and `web`: `build` (Next.js 16.3.1 / Turbopack, static pages
generated), `check-types` (`next typegen && tsc --noEmit`), `lint`
(ESLint 10.8.1, zero warnings)
Remaining audit note: `packages/eslint-config` `typescript` is
intentionally `npm:@typescript/typescript6@6.0.2` per the TS 7.0
side-by-side guidance above; the compiler used by every build and
type-check is `typescript@7.0.2`.
Co-authored-by: vercel-gh-bot-5[bot] <312521305+vercel-gh-bot-5[bot]@users.noreply.github.com>
Co-authored-by: Anthony Shew <anthony.shew@vercel.com>