{ "name": "umami", "version": "1.28.0", "description": "A simple, fast, website analytics alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", "homepage": "https://umami.is", "repository": { "type": "git", "url": "https://github.com/mikecao/umami.git" }, "scripts": { "dev": "next dev", "build": "npm-run-all build-tracker build-geo build-db build-app", "start": "next start", "start-env": "node -r dotenv/config scripts/start-env.js", "build-app": "next build", "build-tracker": "rollup -c rollup.tracker.config.js", "build-db": "npm-run-all copy-db-schema build-db-client", "build-lang": "npm-run-all format-lang compile-lang", "build-geo": "node scripts/build-geo.js", "build-db-schema": "dotenv prisma introspect", "build-db-client": "dotenv prisma generate", "build-mysql-schema": "dotenv prisma db pull -- --schema=./prisma/schema.mysql.prisma", "build-mysql-client": "dotenv prisma generate -- --schema=./prisma/schema.mysql.prisma", "build-postgresql-schema": "dotenv prisma db pull -- --schema=./prisma/schema.postgresql.prisma", "build-postgresql-client": "dotenv prisma generate -- --schema=./prisma/schema.postgresql.prisma", "postbuild": "node scripts/postbuild.js", "copy-db-schema": "node scripts/copy-db-schema.js", "generate-lang": "npm-run-all extract-lang merge-lang", "extract-lang": "formatjs extract \"{pages,components}/**/*.js\" --out-file build/messages.json", "merge-lang": "node scripts/merge-lang.js", "format-lang": "node scripts/format-lang.js", "compile-lang": "formatjs compile-folder --ast build public/messages", "check-lang": "node scripts/check-lang.js", "download-country-names": "node scripts/download-country-names.js", "download-language-names": "node scripts/download-language-names.js", "change-password": "node scripts/change-password.js", "lint": "next lint --quiet", "prepare": "husky install" }, "lint-staged": { "**/*.js": [ "prettier --write", "eslint" ], "**/*.css": [ "stylelint --fix", "prettier --write" ], "**/*.json": [ "prettier --write" ] }, "dependencies": { "@fontsource/inter": "4.5.5", "@prisma/client": "3.11.0", "async-retry": "^1.3.3", "bcryptjs": "^2.4.3", "chalk": "^4.1.1", "chart.js": "^2.9.4", "classnames": "^2.3.1", "colord": "^2.9.2", "cors": "^2.8.5", "date-fns": "^2.23.0", "date-fns-tz": "^1.1.4", "detect-browser": "^5.2.0", "dotenv": "^10.0.0", "formik": "^2.2.9", "fs-extra": "^10.0.1", "immer": "^9.0.12", "ipaddr.js": "^2.0.1", "is-ci": "^3.0.1", "is-docker": "^3.0.0", "is-localhost-ip": "^1.4.0", "isbot": "^3.4.5", "jose": "2.0.5", "maxmind": "^4.3.6", "moment-timezone": "^0.5.33", "next": "12.1.0", "node-fetch": "^3.2.3", "prompts": "2.4.2", "prop-types": "^15.7.2", "react": "^17.0.2", "react-dom": "^17.0.2", "react-intl": "^5.24.7", "react-simple-maps": "^2.3.0", "react-spring": "^9.4.4", "react-tooltip": "^4.2.21", "react-use-measure": "^2.0.4", "react-window": "^1.8.6", "request-ip": "^2.1.3", "semver": "^7.3.5", "thenby": "^1.3.4", "timezone-support": "^2.0.2", "uuid": "^8.3.2", "zustand": "^3.7.0" }, "devDependencies": { "@formatjs/cli": "^4.2.29", "@rollup/plugin-buble": "^0.21.3", "@svgr/webpack": "^6.2.1", "cross-env": "^7.0.3", "del": "^6.0.0", "dotenv-cli": "^4.0.0", "eslint": "^7.32.0", "eslint-config-next": "^12.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-react": "^7.29.4", "eslint-plugin-react-hooks": "^4.2.0", "extract-react-intl-messages": "^4.1.1", "husky": "^7.0.0", "lint-staged": "^11.0.0", "npm-run-all": "^4.1.5", "postcss": "^8.4.12", "postcss-flexbugs-fixes": "^5.0.2", "postcss-import": "^14.0.2", "postcss-preset-env": "^7.4.2", "postcss-rtlcss": "^3.5.3", "prettier": "^2.6.0", "prettier-eslint": "^13.0.0", "prisma": "3.11.0", "rollup": "^2.70.1", "rollup-plugin-terser": "^7.0.2", "stylelint": "^14.5.3", "stylelint-config-css-modules": "^3.0.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-recommended": "^7.0.0", "tar": "^6.1.2" } }