mirror of
https://github.com/netbirdio/docs.git
synced 2026-05-22 17:07:57 -07:00
b968695737
* ci: validate PRs with build and MDX heading linter Adds a pull_request workflow running npm run lint:mdx, npm run build, and npm run lint so heading-hierarchy bugs and broken builds get caught before merge rather than after. The new linter (scripts/lint-mdx-headings.mjs) enforces that the first heading is h1 and that heading levels never jump by more than one. Also fixes three existing pages that had no h1 title — two were using a legacy export const title pattern, one was missing a title entirely. * ci: use npm install since lockfile is gitignored package-lock.json is in .gitignore, so npm ci and setup-node's npm cache both fail on a fresh CI checkout. Match the Dockerfile pattern (npm install, no cache) instead. * ci: drop ESLint step; project config is broken `npm run lint` fails with 'Converting circular structure to JSON' under ESLint 9.x — the repo has no .eslintrc or eslint.config file, so the legacy resolver hits the React plugin's circular reference. This is pre-existing (build_n_push.yml never ran lint, so it stayed hidden); fixing it needs flat-config migration and is out of scope. Drop the step until that lands.
79 lines
2.7 KiB
JSON
79 lines
2.7 KiB
JSON
{
|
|
"name": "wiretrustee-docs",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "npm run gen:llm && npm run gen:edit-routes && npm run gen:last-updated && npm run gen:sitemap && next dev --webpack",
|
|
"build": "npm run gen:llm && npm run gen:edit-routes && npm run gen:last-updated && npm run gen:sitemap && next build --webpack",
|
|
"gen:edit-routes": "node scripts/generate-github-routes.mjs",
|
|
"gen:last-updated": "node scripts/generate-last-updated.mjs",
|
|
"gen:sitemap": "node scripts/generate-sitemap.mjs",
|
|
"gen": "swagger-codegen generate -i https://raw.githubusercontent.com/netbirdio/netbird/main/management/server/http/api/openapi.yml -l openapi -o generator/openapi && npx ts-node generator/index.ts gen --input generator/openapi/openapi.json --output src/pages/ipa/resources",
|
|
"gen:llm": "node scripts/generate-llm-docs.mjs",
|
|
"start": "next start",
|
|
"lint": "eslint src/",
|
|
"lint:mdx": "node scripts/lint-mdx-headings.mjs"
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.5%",
|
|
"not dead",
|
|
"not op_mini all",
|
|
"defaults, not ie <= 11"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@algolia/autocomplete-core": "^1.9.2",
|
|
"@algolia/autocomplete-preset-algolia": "^1.9.2",
|
|
"@fortawesome/fontawesome-svg-core": "^6.4.0",
|
|
"@fortawesome/free-brands-svg-icons": "^6.4.0",
|
|
"@fortawesome/free-solid-svg-icons": "^6.4.0",
|
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
"@headlessui/react": "^2.2.0",
|
|
"@mdx-js/loader": "^2.1.5",
|
|
"@mdx-js/react": "^2.1.5",
|
|
"@next/mdx": "^16.0.0",
|
|
"@sindresorhus/slugify": "^2.1.1",
|
|
"@tailwindcss/typography": "^0.5.8",
|
|
"acorn": "^8.8.2",
|
|
"algoliasearch": "^4.17.0",
|
|
"allof-merge": "^0.6.6",
|
|
"autoprefixer": "^10.4.7",
|
|
"clsx": "^1.2.0",
|
|
"crypto-js": "^4.2.0",
|
|
"ejs": "^3.1.9",
|
|
"focus-visible": "^5.2.0",
|
|
"framer-motion": "^11.0.0",
|
|
"js-yaml": "^4.1.0",
|
|
"lodash": "^4.17.21",
|
|
"mdast-util-to-string": "^3.2.0",
|
|
"mdx-annotations": "^0.1.1",
|
|
"next": "^16.0.0",
|
|
"openapi-types": "^12.1.0",
|
|
"postcss-focus-visible": "^8.0.2",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-toastify": "^9.1.3",
|
|
"recma-nextjs-static-props": "^1.0.0",
|
|
"rehype-mdx-title": "^2.0.0",
|
|
"rehype-slug": "^5.1.0",
|
|
"remark-gfm": "^3.0.1",
|
|
"shiki": "^0.14.2",
|
|
"tailwindcss": "^3.3.0",
|
|
"unist-util-visit": "^4.1.2",
|
|
"zustand": "^4.3.8"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3.0.0",
|
|
"eslint": "^9.0.0",
|
|
"eslint-config-next": "^16.0.0",
|
|
"prettier": "^2.8.7",
|
|
"prettier-plugin-tailwindcss": "^0.2.6"
|
|
}
|
|
}
|