mirror of
https://github.com/coder/coder.git
synced 2026-09-01 14:53:15 +08:00
c14b4a010a
## Summary
Updates the `offlinedocs` doc-preview app's dependencies that can move
without code migration, and leaves the heavy framework upgrades for a
separate, deliberate PR.
## Changes
- `react-markdown` 9.1.0 → 10.1.0: used in source
(`pages/[[...slug]].tsx`, the `ReactMarkdown` renderer). The
`components` / `urlTransform` / `remarkPlugins` / `rehypePlugins` API we
rely on is unchanged across the major bump.
- `react-icons` 4.12.0 → 5.7.0: used in source (`MdMenu`, the mobile-nav
hamburger icon). The v5 API is backwards-compatible for our single
import.
- `sanitize-html` 2.17.4 → 2.17.5: used in source
(`sanitizeHtml(body)`); patch bump.
- `prettier` 3.8.3 → 3.9.4 (dev): minor bump, used by the `format`
scripts.
- `@types/node` 20.19.41 → 22.20.0 (dev): types only, capped at the 22.x
line to match the Node 22 runtime rather than tracking latest (26.x).
- `archiver` 6.0.2 → 8.0.0: not imported anywhere in source, so no
render risk (see Notes).
Intentionally **deferred** (coupled breaking migration, touches
component code): Chakra UI v2 → v3, React 18 → 19, Next 15 → 16, ESLint
8 → 10 + flat config, framer-motion 10 → 12.
## Testing
- `tsc --noEmit`: passes.
- `next build` (static export): all 442 pages prerender.
- Dev server launches; `/` and a markdown-rendered page (`/install/`)
both return HTTP 200 and render correctly.
- Verified on Node 22.19.0 / pnpm 10.33.2 (the repo-pinned toolchain);
lockfile `overrides:` block preserved.
## Notes
- `archiver` appears to be a dead dependency (nothing in source imports
it) and could be pruned in a follow-up. It is bumped here only to keep
the lockfile current.
---
🤖 Built with AI assistance.
61 lines
1.5 KiB
JSON
61 lines
1.5 KiB
JSON
{
|
|
"name": "coder-docs-generator",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "pnpm copy-images && next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"export": "pnpm copy-images && next build",
|
|
"copy-images": "sh ./scripts/copyImages.sh",
|
|
"lint": "pnpm run lint:types",
|
|
"lint:types": "tsc --noEmit",
|
|
"format": "prettier --cache --write './**/*.{css,html,js,json,jsx,md,ts,tsx,yaml,yml}'",
|
|
"format:check": "prettier --cache --check './**/*.{css,html,js,json,jsx,md,ts,tsx,yaml,yml}'"
|
|
},
|
|
"dependencies": {
|
|
"@chakra-ui/react": "2.10.9",
|
|
"@emotion/react": "11.14.0",
|
|
"@emotion/styled": "11.14.1",
|
|
"archiver": "8.0.0",
|
|
"framer-motion": "^10.18.0",
|
|
"front-matter": "4.0.2",
|
|
"lodash": "4.18.1",
|
|
"next": "15.5.18",
|
|
"react": "18.3.1",
|
|
"react-dom": "18.3.1",
|
|
"react-icons": "5.7.0",
|
|
"react-markdown": "10.1.0",
|
|
"rehype-raw": "7.0.0",
|
|
"remark-gfm": "4.0.1",
|
|
"sanitize-html": "2.17.5"
|
|
},
|
|
"devDependencies": {
|
|
"@types/lodash": "4.17.24",
|
|
"@types/node": "22.20.0",
|
|
"@types/react": "18.3.12",
|
|
"@types/react-dom": "18.3.1",
|
|
"@types/sanitize-html": "2.16.1",
|
|
"eslint": "8.57.1",
|
|
"eslint-config-next": "14.2.35",
|
|
"prettier": "3.9.4",
|
|
"typescript": "6.0.3"
|
|
},
|
|
"engines": {
|
|
"npm": ">=9.0.0 <10.0.0",
|
|
"node": ">=22.0.0 <25.0.0"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"@babel/runtime": "7.26.10",
|
|
"brace-expansion": "1.1.13",
|
|
"minimatch": "5.1.8",
|
|
"glob@>=10": "10.5.0",
|
|
"postcss": "8.5.10",
|
|
"js-yaml": "3.14.2",
|
|
"yaml": "1.10.3",
|
|
"flatted": "3.4.2",
|
|
"mdast-util-to-hast": "13.2.1"
|
|
}
|
|
}
|
|
}
|