{
  "name": "totp",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "@otplib/core": "^12.0.1",
    "@otplib/plugin-crypto-js": "^12.0.1",
    "@popperjs/core": "^2.11.8",
    "base32-decode": "^1.0.0",
    "bootstrap": "^5.3.3",
    "classnames": "^2.5.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@types/bootstrap": "^5.2.10",
    "@types/node": "^20.12.5",
    "@types/react": "^18.2.66",
    "@types/react-dom": "^18.2.22",
    "@typescript-eslint/eslint-plugin": "^7.2.0",
    "@typescript-eslint/parser": "^7.2.0",
    "@vitejs/plugin-react": "^4.2.1",
    "eslint": "^8.57.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.6",
    "sass": "^1.74.1",
    "typescript": "^5.2.2",
    "vite": "^5.2.0",
    "vite-plugin-node-polyfills": "^0.21.0",
    "vite-plugin-svgr": "^4.2.0"
  }
}