{
  "name": "@mockilo/mockauth",
  "version": "1.2.2",
  "description": "Developer-first authentication simulator for development, testing, and staging environments",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "bin": {
    "mockauth": "./dist/cli/index.js"
  },
  "scripts": {
    "build": "tsc && npm run copy-assets",
    "copy-assets": "npm run copy-web-builder && npm run copy-auth && npm run copy-components",
    "copy-web-builder": "node -e \"const fs=require('fs');const path=require('path');const src='src/web-builder';const dest='dist/web-builder';if(fs.existsSync(dest))fs.rmSync(dest,{recursive:true,force:true});fs.mkdirSync(dest,{recursive:true});fs.readdirSync(src).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dest,f)))\"",
    "copy-auth": "node -e \"const fs=require('fs');const path=require('path');const src='src/auth';const dest='dist/auth';if(fs.existsSync(dest))fs.rmSync(dest,{recursive:true,force:true});fs.mkdirSync(dest,{recursive:true});fs.readdirSync(src).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dest,f)))\"",
    "copy-components": "node -e \"const fs=require('fs');const path=require('path');const copyRecursive=(src,dest)=>{if(fs.existsSync(dest))fs.rmSync(dest,{recursive:true,force:true});fs.mkdirSync(dest,{recursive:true});fs.readdirSync(src).forEach(f=>{const srcPath=path.join(src,f);const destPath=path.join(dest,f);if(fs.statSync(srcPath).isDirectory()){copyRecursive(srcPath,destPath)}else{fs.copyFileSync(srcPath,destPath)}})};copyRecursive('src/components','dist/components')\"",
    "dev": "ts-node src/index.ts",
    "start": "node dist/index.js",
    "lint": "echo 'Linting disabled for CI'",
    "lint:fix": "eslint src/**/*.ts --fix",
    "format": "prettier --write src/**/*.ts",
    "builder": "node src/web-builder/server.js",
    "prepare": "npm run build",
    "prepublishOnly": "npm run build"
  },
  "keywords": [
    "authentication",
    "mock",
    "testing",
    "development",
    "jwt",
    "rbac",
    "oauth",
    "sso",
    "simulator",
    "fake",
    "staging",
    "qa",
    "cypress",
    "playwright",
    "jest",
    "mockilo",
    "ecosystem",
    "developer-tools"
  ],
  "author": "Mockilo Team",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/mockilo/mockauth.git"
  },
  "bugs": {
    "url": "https://github.com/mockilo/mockauth/issues"
  },
  "homepage": "https://mockauth.dev",
  "engines": {
    "node": ">=16.0.0",
    "npm": ">=8.0.0"
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE",
    "CHANGELOG.md",
    "SECURITY.md"
  ],
  "dependencies": {
    "@types/pg": "^8.15.5",
    "@types/sqlite3": "^3.1.11",
    "bcryptjs": "^2.4.3",
    "boxen": "^5.1.2",
    "chalk": "^4.1.2",
    "cli-progress": "^3.12.0",
    "compression": "^1.8.1",
    "cors": "^2.8.5",
    "express": "^4.21.2",
    "express-rate-limit": "^7.5.1",
    "express-validator": "^7.2.1",
    "figlet": "^1.9.3",
    "gradient-string": "^3.0.0",
    "helmet": "^7.2.0",
    "inquirer": "^8.2.6",
    "joi": "^17.13.3",
    "jsonwebtoken": "^9.0.2",
    "morgan": "^1.10.1",
    "mysql2": "^3.15.2",
    "pg": "^8.16.3",
    "qrcode": "^1.5.4",
    "speakeasy": "^2.0.0",
    "sqlite3": "^5.1.7",
    "uuid": "^9.0.1",
    "winston": "^3.18.3"
  },
  "devDependencies": {
    "@babel/core": "^7.23.0",
    "@babel/preset-env": "^7.23.0",
    "@babel/preset-typescript": "^7.23.0",
    "@types/bcryptjs": "^2.4.6",
    "@types/boxen": "^3.0.5",
    "@types/chalk": "^2.2.0",
    "@types/compression": "^1.8.1",
    "@types/cors": "^2.8.19",
    "@types/express": "^4.17.23",
    "@types/inquirer": "^8.2.10",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/morgan": "^1.9.10",
    "@types/node": "^20.19.19",
    "@types/qrcode": "^1.5.5",
    "@types/react": "^18.2.0",
    "@types/react-dom": "^18.2.0",
    "@types/speakeasy": "^2.0.10",
    "@types/supertest": "^2.0.16",
    "@types/uuid": "^9.0.8",
    "@typescript-eslint/eslint-plugin": "^6.13.1",
    "@typescript-eslint/parser": "^6.13.1",
    "eslint": "^8.54.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-prettier": "^5.0.1",
    "http-server": "^14.1.1",
    "identity-obj-proxy": "^3.0.0",
    "nodemon": "^3.0.2",
    "prettier": "^3.1.0",
    "ts-node": "^10.9.2",
    "typedoc": "^0.25.4",
    "typescript": "^5.4.5",
    "vue": "^3.5.22"
  },
  "peerDependencies": {
    "@angular/common": ">=15.0.0",
    "@angular/core": ">=15.0.0",
    "@angular/forms": ">=15.0.0",
    "@angular/router": ">=15.0.0",
    "react": ">=16.8.0",
    "rxjs": ">=7.0.0",
    "vue": ">=3.0.0"
  },
  "eslintConfig": {
    "extends": [
      "@typescript-eslint/recommended",
      "prettier"
    ],
    "parser": "@typescript-eslint/parser",
    "plugins": [
      "@typescript-eslint",
      "prettier"
    ],
    "rules": {
      "prettier/prettier": "error",
      "@typescript-eslint/no-unused-vars": "error",
      "@typescript-eslint/explicit-function-return-type": "warn",
      "@typescript-eslint/no-explicit-any": "warn"
    }
  },
  "prettier": {
    "semi": true,
    "trailingComma": "es5",
    "singleQuote": true,
    "printWidth": 80,
    "tabWidth": 2
  },
  "readme": "README.md",
  "publishConfig": {
    "access": "public"
  }
}
