The Node.js® Website
1{
2 "type": "module",
3 "private": true,
4 "description": "Nodejs.org Website",
5 "homepage": "https://nodejs.org",
6 "repository": {
7 "type": "git",
8 "url": "git+https://github.com/nodejs/nodejs.org.git"
9 },
10 "author": {
11 "name": "Node.js Website Working Group"
12 },
13 "license": "MIT",
14 "engines": {
15 "node": "v20"
16 },
17 "scripts": {
18 "scripts:release-post": "cross-env NODE_NO_WARNINGS=1 node scripts/release-post/index.mjs",
19 "serve": "cross-env NODE_NO_WARNINGS=1 next dev --turbo",
20 "build": "cross-env NODE_NO_WARNINGS=1 next build",
21 "start": "cross-env NODE_NO_WARNINGS=1 next start",
22 "deploy": "cross-env NEXT_PUBLIC_STATIC_EXPORT=true npm run build",
23 "lint:js": "eslint \"**/*.{js,mjs,ts,tsx}\" --cache --cache-strategy=content --cache-location=.eslintjscache",
24 "lint:md": "eslint \"**/*.md?(x)\" --cache --cache-strategy=content --cache-location=.eslintmdcache",
25 "lint:css": "stylelint \"**/*.css\" --allow-empty-input --cache --cache-strategy=content --cache-location=.stylelintcache",
26 "lint": "npm run lint:js && npm run lint:md && npm run lint:css",
27 "lint:fix": "npm run lint:js -- --fix && npm run lint:md -- --fix && npm run lint:css -- --fix",
28 "prettier": "prettier \"**/*.{js,mjs,ts,tsx,md,mdx,json,yml,css}\" --check --cache --cache-strategy=content --cache-location=.prettiercache",
29 "prettier:fix": "npm run prettier -- --write",
30 "format": "npm run lint:fix && npm run prettier:fix",
31 "sync-orama": "node ./scripts/orama-search/sync-orama-cloud.mjs",
32 "storybook": "cross-env NODE_NO_WARNINGS=1 storybook dev -p 6006 --quiet --no-open",
33 "storybook:build": "cross-env NODE_NO_WARNINGS=1 storybook build --quiet --webpack-stats-json",
34 "test:unit": "cross-env NODE_NO_WARNINGS=1 jest",
35 "test:unit:watch": "npm run test:unit -- --watch",
36 "test": "npm run test:unit",
37 "prepare": "husky"
38 },
39 "dependencies": {
40 "@heroicons/react": "~2.1.1",
41 "@mdx-js/mdx": "^3.0.1",
42 "@nodevu/core": "~0.1.0",
43 "@orama/highlight": "^0.1.3",
44 "@oramacloud/client": "^1.0.9",
45 "@radix-ui/react-accessible-icon": "^1.0.3",
46 "@radix-ui/react-avatar": "^1.0.4",
47 "@radix-ui/react-dialog": "^1.0.5",
48 "@radix-ui/react-dropdown-menu": "^2.0.6",
49 "@radix-ui/react-label": "^2.0.2",
50 "@radix-ui/react-scroll-area": "^1.0.5",
51 "@radix-ui/react-select": "^2.0.0",
52 "@radix-ui/react-tabs": "^1.0.4",
53 "@radix-ui/react-toast": "^1.1.5",
54 "@savvywombat/tailwindcss-grid-areas": "~4.0.0",
55 "@sentry/nextjs": "~7.107.0",
56 "@tailwindcss/container-queries": "~0.1.1",
57 "@types/node": "20.11.28",
58 "@vcarl/remark-headings": "~0.1.0",
59 "@vercel/analytics": "~1.2.2",
60 "@vercel/speed-insights": "~1.0.10",
61 "autoprefixer": "~10.4.18",
62 "classnames": "~2.5.1",
63 "cross-env": "7.0.3",
64 "dedent": "1.5.1",
65 "feed": "~4.2.2",
66 "github-slugger": "~2.0.0",
67 "glob": "~10.3.10",
68 "gray-matter": "~4.0.3",
69 "husky": "9.0.11",
70 "lint-staged": "15.2.2",
71 "next": "~14.1.3",
72 "next-intl": "~3.9.5",
73 "next-themes": "~0.3.0",
74 "postcss": "~8.4.35",
75 "postcss-calc": "~9.0.1",
76 "postcss-import": "~16.0.1",
77 "postcss-mixins": "~10.0.0",
78 "postcss-simple-vars": "~7.0.1",
79 "react": "^18.2.0",
80 "react-dom": "^18.2.0",
81 "rehype-autolink-headings": "~7.1.0",
82 "rehype-slug": "~6.0.0",
83 "remark-gfm": "~4.0.0",
84 "remark-reading-time": "~2.0.1",
85 "semver": "~7.6.0",
86 "shiki": "~1.2.0",
87 "tailwindcss": "^3.4.1",
88 "turbo": "1.12.5",
89 "typescript": "~5.4.2",
90 "unist-util-visit": "~5.0.0",
91 "vfile": "~6.0.1",
92 "vfile-matter": "~5.0.0"
93 },
94 "devDependencies": {
95 "@storybook/addon-controls": "~8.0.0",
96 "@storybook/addon-interactions": "~8.0.0",
97 "@storybook/addon-themes": "~8.0.0",
98 "@storybook/addon-viewport": "~8.0.0",
99 "@storybook/nextjs": "~8.0.0",
100 "@testing-library/jest-dom": "~6.4.2",
101 "@testing-library/react": "~14.2.1",
102 "@testing-library/user-event": "~14.5.2",
103 "@types/jest": "29.5.12",
104 "@types/react": "^18.2.66",
105 "@types/react-dom": "^18.2.22",
106 "@types/semver": "~7.5.8",
107 "@typescript-eslint/eslint-plugin": "7.2.0",
108 "@typescript-eslint/parser": "7.2.0",
109 "eslint": "8.57.0",
110 "eslint-config-next": "~14.1.3",
111 "eslint-config-prettier": "9.1.0",
112 "eslint-plugin-mdx": "3.1.5",
113 "eslint-plugin-no-relative-import-paths": "^1.5.3",
114 "eslint-plugin-storybook": "0.8.0",
115 "handlebars": "4.7.8",
116 "jest": "29.7.0",
117 "jest-environment-jsdom": "29.7.0",
118 "jest-junit": "16.0.0",
119 "prettier": "3.2.5",
120 "prettier-plugin-tailwindcss": "0.5.12",
121 "remark-frontmatter": "5.0.0",
122 "remark-preset-lint-node": "5.0.0",
123 "storybook": "~8.0.0",
124 "stylelint": "16.2.1",
125 "stylelint-config-standard": "36.0.0",
126 "stylelint-order": "6.0.4",
127 "stylelint-selector-bem-pattern": "4.0.0",
128 "user-agent-data-types": "0.4.2"
129 }
130}