-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
128 lines (128 loc) · 5.84 KB
/
package.json
File metadata and controls
128 lines (128 loc) · 5.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{
"name": "piech.dev",
"version": "1.0.0",
"author": "Piotr Piech <piotr@piech.dev>",
"license": "UNLICENSED",
"private": true,
"description": "My personal page. It turned into a complex project itself: it supports loading all projects' information directly from GitHub, renders markdown, the whole site is pre-rendered and served with zero JS. It includes dynamic <meta> tags for each project, including og:image tags with sizes. Perfect 100/100/100/100 Lighthouse score for all routes.",
"repository": {
"type": "git",
"url": "git+https://github.com/Tenemo/piech.dev.git"
},
"bugs": {
"url": "https://github.com/Tenemo/piech.dev/issues"
},
"homepage": "https://github.com/Tenemo/piech.dev#readme",
"scripts": {
"generate:og-image-sizes": "node --experimental-strip-types src/utils/build/generateOgImageSizes.ts",
"predev": "npm run generate:og-image-sizes && node --experimental-strip-types src/utils/build/fetchGithubData.ts",
"dev": "react-router dev",
"prebuild": "npm run generate:og-image-sizes && node --experimental-strip-types src/utils/build/fetchGithubData.ts && npm run lint && npm run tsc && npm test",
"build": "react-router build",
"postbuild": "node --experimental-strip-types src/utils/build/transformImagePaths.ts && node --experimental-strip-types src/utils/build/inlineCss.ts && rimraf dist/server && rimraf dist/client/assets && rimraf --glob \"dist/client/**/*.js\" && node --experimental-strip-types src/utils/build/generateSitemap.ts && node --experimental-strip-types src/utils/build/validateBuiltHtmlCsp.ts",
"prebuild:skip": "npm run generate:og-image-sizes && node --experimental-strip-types src/utils/build/fetchGithubData.ts",
"build:skip": "react-router build",
"postbuild:skip": "npm run postbuild",
"build:analyze": "cross-env ANALYZE=true react-router build",
"eslint": "eslint . -c eslint.config.js --no-error-on-unmatched-pattern",
"eslint:fix": "eslint . --fix -c eslint.config.js --no-error-on-unmatched-pattern",
"github-refetch": "npm run generate:og-image-sizes && node --experimental-strip-types src/utils/build/fetchGithubData.ts --refetch",
"stylelint": "stylelint **/*.scss **/*.css",
"lint": "npm run eslint && npm run stylelint",
"preview": "vite preview --outDir dist/client",
"tsc": "tsc",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"coverage:ci": "npm run test:coverage && node --experimental-strip-types .github/scripts/writeBadgeData.mts",
"serve:e2e": "node --experimental-strip-types e2e/support/serveDistClient.ts",
"test:e2e": "npm run build:skip && playwright test",
"test:e2e:production": "cross-env PLAYWRIGHT_BASE_URL=https://piech.dev playwright test",
"test:e2e:ui": "npm run build:skip && playwright test --ui",
"test:e2e:headed": "npm run build:skip && playwright test --headed",
"prepare": "husky"
},
"browserslist": [
"> 1%",
"not IE > 0",
"not op_mini all"
],
"engines": {
"node": ">=22.18.0"
},
"type": "module",
"dependencies": {
"@tabler/icons-react": "^3.41.1",
"date-fns": "^4.1.0",
"image-size": "^2.0.2",
"normalize.css": "^8.0.1",
"octokit": "^5.0.5",
"react": "^19.2.5",
"react-dom": "^19.2.5",
"react-error-boundary": "^6.1.1",
"react-markdown": "^10.1.0",
"react-router": "^7.14.0",
"react-syntax-highlighter": "^16.1.1",
"rehype-raw": "^7.0.0",
"rehype-sanitize": "^6.0.0",
"remark-gfm": "^4.0.1"
},
"devDependencies": {
"@axe-core/playwright": "^4.11.1",
"@eslint/compat": "^2.0.5",
"@eslint/js": "^10.0.1",
"@netlify/plugin-lighthouse": "^6.0.4",
"@playwright/test": "^1.59.1",
"@react-router/dev": "^7.14.0",
"@react-router/node": "^7.14.0",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@types/jsdom": "^28.0.1",
"@types/node": "^25.5.2",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@types/react-syntax-highlighter": "^15.5.13",
"@vitest/coverage-v8": "^4.1.4",
"@vitest/eslint-plugin": "^1.6.15",
"autoprefixer": "^10.4.27",
"browserslist-to-esbuild": "^2.1.1",
"cross-env": "^10.1.0",
"cssnano": "^7.1.4",
"dotenv": "^17.4.1",
"eslint": "~10.2.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-only-error": "^1.0.2",
"eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "7.0.1",
"eslint-plugin-security": "^4.0.0",
"eslint-plugin-unused-imports": "^4.4.1",
"globals": "^17.4.0",
"husky": "^9.1.7",
"jsdom": "^29.0.2",
"postcss-flexbugs-fixes": "^5.0.2",
"prettier": "^3.8.1",
"rimraf": "^6.1.3",
"rollup-plugin-visualizer": "^7.0.1",
"sass": "^1.99.0",
"schema-dts": "^2.0.0",
"sitemap": "^9.0.1",
"stylelint": "^17.6.0",
"stylelint-config-recommended": "^18.0.0",
"stylelint-config-recommended-scss": "^17.0.1",
"stylelint-scss": "^7.0.0",
"typescript": "^6.0.2",
"typescript-eslint": "^8.58.1",
"vite": "^8.0.8",
"vite-css-modules": "^1.15.0",
"vitest": "^4.1.4"
},
"optionalDependencies": {
"@rollup/rollup-linux-x64-gnu": "4.60.1",
"@rollup/rollup-win32-x64-msvc": "4.60.1"
}
}