Fixes the 'unfinished router migration + inconsistent packageManager'
finding from the review:
1. src/app/ only ever contained globals.css; every actual route lives
under src/pages/. Keeping both routers in the tree made the build
surface area ambiguous and left a trap where a future contributor
might add a new route under src/app/ and break Next's routing
resolution. PR #9 commits to the pages router and removes src/app/.
2. globals.css moved from src/app/globals.css to src/styles/globals.css
(so it no longer sits under an otherwise-deleted app router folder)
and _app.tsx's import was updated accordingly. This is a no-op at
runtime: the CSS payload is byte-identical.
3. tailwind.config.js had './src/app/**/*.{js,ts,jsx,tsx,mdx}' at the
top of its content glob list. Replaced with './src/styles/**/*.css'
so Tailwind still sees globals.css; the src/components/** and
src/pages/** globs are unchanged.
4. Unified the package manager on npm:
- package.json packageManager: 'pnpm@10.0.0' -> 'npm@10.8.2'.
The lockfile (package-lock.json) and CI (npm ci / npm run lint /
npm run type-check / npm run build in .github/workflows/ci.yml)
have always used npm; the pnpm declaration was aspirational and
would have forced contributors with corepack enabled into a tool
the repo doesn't actually support.
- Added an 'engines' block pinning node >=20 <21 and npm >=10 so
CI, Docker, and a fresh laptop clone all land on the same runtime.
Verification:
npm ci 465 packages, no warnings.
npm run lint next lint: No ESLint warnings or errors.
npm run type-check tsc --noEmit: clean.
npm run build Next.js 14.2.35 compiled 19 pages successfully;
every route (/, /blocks, /transactions, /tokens,
/bridge, /analytics, /operator, /docs, /wallet,
etc.) rendered without emitting a warning.
Advances completion criterion 5 (frontend housekeeping): 'one router;
one package manager; build is reproducible from the lockfile.'