{ "name": "monkeytype-frontend", "license": "GPL-3.0", "private": true, "scripts": { "live": "npm run build-live && cd public && npx serve -p 3000", "audit": "npx webpack --config ./webpack/config.audit.js", "dep-graph": "madge -c -i \"dep-graph.png\" ./src/ts", "build": "npx gulp build", "build-live": "export COMMIT_HASH=`git rev-parse --short HEAD` && npx gulp build-production", "dev": "concurrently \"webpack serve --config=./webpack/config.dev.js\" \"npx gulp watch\"", "deploy-live": "npm run build-live && firebase deploy -P live --only hosting", "deploy-preview": "npm run build-live && firebase hosting:channel:deploy preview -P live --expires 2h", "test": "jest --verbose --collect-coverage --runInBand", "tsc": "tsc", "knip": "knip" }, "engines": { "node": "18.17.1", "npm": "9.6.7" }, "browserslist": [ "defaults" ], "devDependencies": { "@types/canvas-confetti": "1.4.3", "@types/chartjs-plugin-trendline": "1.0.1", "@types/damerau-levenshtein": "1.0.0", "@types/grecaptcha": "3.0.4", "@types/howler": "2.2.7", "@types/jest": "27.5.0", "@types/jquery": "3.5.14", "@types/object-hash": "2.2.1", "@types/select2": "4.0.55", "@types/throttle-debounce": "2.1.0", "@types/tinycolor2": "1.4.3", "autoprefixer": "10.4.14", "buffer": "6.0.3", "circular-dependency-plugin": "5.2.2", "concurrently": "7.4.0", "copy-webpack-plugin": "10.2.4", "css-loader": "6.7.1", "css-minimizer-webpack-plugin": "3.4.1", "dotenv": "16.3.1", "eslint": "8.43.0", "eslint-webpack-plugin": "3.1.1", "extra-watch-webpack-plugin": "1.0.3", "filemanager-webpack-plugin": "8.0.0", "grecaptcha": "1.0.3", "gulp": "4.0.2", "gulp-eslint-new": "1.4.2", "html-minimizer-webpack-plugin": "3.5.0", "html-webpack-plugin": "5.5.0", "jest": "29.7.0", "jest-environment-node": "27.5.1", "json-minimizer-webpack-plugin": "3.3.0", "jsonschema": "1.4.0", "madge": "5.0.1", "memfs": "4.2.1", "mini-css-extract-plugin": "2.6.0", "normalize.css": "8.0.1", "postcss": "8.4.27", "postcss-loader": "7.3.3", "postcss-scss": "4.0.6", "sass-loader": "12.6.0", "serve": "13.0.2", "stream-browserify": "3.0.0", "string-replace-loader": "3.1.0", "style-loader": "3.3.3", "ts-jest": "29.1.2", "ts-loader": "9.2.6", "ts-node-dev": "2.0.0", "webpack": "5.72.0", "webpack-bundle-analyzer": "4.5.0", "webpack-cli": "4.10.0", "webpack-dev-server": "4.15.1", "webpack-merge": "5.8.0", "workbox-webpack-plugin": "6.5.4" }, "dependencies": { "axios": "1.6.4", "canvas-confetti": "1.5.1", "chart.js": "3.7.1", "chartjs-adapter-date-fns": "2.0.0", "chartjs-plugin-annotation": "1.4.0", "chartjs-plugin-trendline": "1.0.2", "color-blend": "4.0.0", "crypto-browserify": "3.12.0", "damerau-levenshtein": "1.0.8", "date-fns": "2.28.0", "firebase": "10.3.0", "hangul-js": "0.2.6", "howler": "2.2.3", "html2canvas": "1.4.1", "konami": "1.6.3", "lz-ts": "1.1.2", "object-hash": "3.0.0", "stemmer": "2.0.0", "throttle-debounce": "3.0.1", "workbox-window": "6.5.4" } }