mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-09-04 21:58:59 +08:00
113 lines
3.6 KiB
JSON
113 lines
3.6 KiB
JSON
{
|
|
"name": "@monkeytype/frontend",
|
|
"license": "GPL-3.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"eslint": "eslint \"./**/*.ts\"",
|
|
"oxlint": "oxlint .",
|
|
"lint": "npm run oxlint && npm run eslint",
|
|
"validate-json": "node ./scripts/json-validation.cjs",
|
|
"audit": "vite-bundle-visualizer",
|
|
"dep-graph": "madge -c -i \"dep-graph.png\" ./src/ts",
|
|
"ts-check": "tsc --noEmit",
|
|
"build": "npm run madge && vite build",
|
|
"madge": " madge --circular --extensions ts ./src",
|
|
"start": "vite preview --port 3000",
|
|
"dev": "vite dev",
|
|
"deploy-live": "npm run validate-json && npm run build && firebase deploy -P live --only hosting",
|
|
"deploy-preview": "npm run validate-json && npm run build && firebase hosting:channel:deploy preview -P live --expires 2h",
|
|
"test": "vitest run",
|
|
"test-coverage": "vitest run --coverage",
|
|
"dev-test": "concurrently --kill-others \"vite dev\" \"vitest\"",
|
|
"tsc": "tsc",
|
|
"docker": "docker compose -f docker/compose.dev.yml up"
|
|
},
|
|
"engines": {
|
|
"node": "20.19.4"
|
|
},
|
|
"browserslist": [
|
|
"defaults",
|
|
"not op_mini all",
|
|
"not dead"
|
|
],
|
|
"devDependencies": {
|
|
"@fortawesome/fontawesome-free": "5.15.4",
|
|
"@monkeytype/eslint-config": "workspace:*",
|
|
"@monkeytype/oxlint-config": "workspace:*",
|
|
"@monkeytype/schemas": "workspace:*",
|
|
"@monkeytype/typescript-config": "workspace:*",
|
|
"@types/canvas-confetti": "1.4.3",
|
|
"@types/chartjs-plugin-trendline": "1.0.1",
|
|
"@types/damerau-levenshtein": "1.0.0",
|
|
"@types/howler": "2.2.7",
|
|
"@types/jquery": "3.5.14",
|
|
"@types/node": "20.14.11",
|
|
"@types/object-hash": "3.0.6",
|
|
"@types/subset-font": "1.4.3",
|
|
"@types/throttle-debounce": "5.0.2",
|
|
"@vitest/coverage-v8": "3.2.4",
|
|
"ajv": "8.12.0",
|
|
"autoprefixer": "10.4.20",
|
|
"concurrently": "8.2.2",
|
|
"dotenv": "16.4.5",
|
|
"eslint": "8.57.1",
|
|
"eslint-plugin-compat": "6.0.2",
|
|
"firebase-tools": "13.15.1",
|
|
"fontawesome-subset": "4.4.0",
|
|
"happy-dom": "15.10.2",
|
|
"madge": "8.0.0",
|
|
"magic-string": "0.30.17",
|
|
"normalize.css": "8.0.1",
|
|
"oxlint": "1.12.0",
|
|
"postcss": "8.4.31",
|
|
"sass": "1.70.0",
|
|
"subset-font": "2.3.0",
|
|
"typescript": "5.5.4",
|
|
"unplugin-inject-preload": "3.0.0",
|
|
"vite": "6.3.4",
|
|
"vite-bundle-visualizer": "1.0.1",
|
|
"vite-plugin-checker": "0.7.2",
|
|
"vite-plugin-filter-replace": "0.1.14",
|
|
"vite-plugin-html-inject": "1.1.2",
|
|
"vite-plugin-inspect": "11.0.0",
|
|
"vite-plugin-minify": "2.1.0",
|
|
"vite-plugin-oxlint": "1.3.1",
|
|
"vite-plugin-pwa": "1.0.0",
|
|
"vitest": "3.2.4"
|
|
},
|
|
"dependencies": {
|
|
"@date-fns/utc": "1.2.0",
|
|
"@monkeytype/contracts": "workspace:*",
|
|
"@monkeytype/funbox": "workspace:*",
|
|
"@monkeytype/util": "workspace:*",
|
|
"@sentry/browser": "9.14.0",
|
|
"@sentry/vite-plugin": "3.3.1",
|
|
"@ts-rest/core": "3.52.1",
|
|
"balloon-css": "1.2.0",
|
|
"canvas-confetti": "1.5.1",
|
|
"chart.js": "3.7.1",
|
|
"chartjs-adapter-date-fns": "3.0.0",
|
|
"chartjs-plugin-annotation": "2.2.1",
|
|
"chartjs-plugin-trendline": "1.0.2",
|
|
"color-blend": "4.0.0",
|
|
"damerau-levenshtein": "1.0.8",
|
|
"date-fns": "3.6.0",
|
|
"firebase": "12.0.0",
|
|
"hangul-js": "0.2.6",
|
|
"howler": "2.2.3",
|
|
"html2canvas": "1.4.1",
|
|
"idb": "8.0.3",
|
|
"jquery": "3.7.1",
|
|
"jquery-color": "2.2.0",
|
|
"jquery.easing": "1.4.1",
|
|
"konami": "1.7.0",
|
|
"lz-ts": "1.1.2",
|
|
"object-hash": "3.0.0",
|
|
"slim-select": "2.9.2",
|
|
"stemmer": "2.0.1",
|
|
"throttle-debounce": "5.0.2",
|
|
"zod": "3.23.8",
|
|
"zod-urlsearchparams": "0.0.16"
|
|
}
|
|
}
|