{
  "name": "otpauth",
  "version": "9.1.1",
  "description": "One Time Password (HOTP/TOTP) library for Node.js, Deno, Bun and browsers",
  "keywords": [
    "otp",
    "hotp",
    "totp",
    "one time password",
    "2fa",
    "2 factor",
    "two factor",
    "two-factor",
    "2step",
    "2 step",
    "two step",
    "two-step",
    "auth",
    "authenticator",
    "google authenticator"
  ],
  "author": "Héctor Molinero Fernández <hector@molinero.dev>",
  "license": "MIT",
  "homepage": "https://github.com/hectorm/otpauth",
  "repository": {
    "type": "git",
    "url": "https://github.com/hectorm/otpauth.git"
  },
  "bugs": {
    "url": "https://github.com/hectorm/otpauth/issues"
  },
  "funding": "https://github.com/hectorm/otpauth?sponsor=1",
  "type": "module",
  "types": "./dist/otpauth.d.ts",
  "main": "./dist/otpauth.node.cjs",
  "browser": "./dist/otpauth.esm.js",
  "exports": {
    ".": {
      "types": "./dist/otpauth.d.ts",
      "bun": "./dist/otpauth.esm.js",
      "deno": "./dist/otpauth.esm.js",
      "node": {
        "import": "./dist/otpauth.node.mjs",
        "require": "./dist/otpauth.node.cjs"
      },
      "default": "./dist/otpauth.esm.js"
    },
    "./dist/*": {
      "types": "./dist/otpauth.d.ts",
      "default": "./dist/*"
    }
  },
  "files": [
    "dist/"
  ],
  "scripts": {
    "lint": "eslint --ext .js --ext .mjs --ext .cjs ./",
    "types:clean": "rimraf ./types/",
    "types:compile": "tsc",
    "types": "run-s types:clean types:compile",
    "build:clean": "rimraf ./dist/",
    "build:compile": "rollup -c",
    "build": "run-s build:clean build:compile",
    "docs:clean": "rimraf ./docs/",
    "docs:compile": "typedoc ./src/index.js --emit docs --readme none --theme default --out ./docs/",
    "docs": "run-s docs:clean docs:compile",
    "test:node:esm:unmin": "node ./test/node.test.mjs ../dist/otpauth.node.mjs",
    "test:node:esm:min": "node ./test/node.test.mjs ../dist/otpauth.node.min.mjs",
    "test:node:esm": "run-s test:node:esm:*",
    "test:node:cjs:unmin": "node ./test/node.test.mjs ../dist/otpauth.node.cjs",
    "test:node:cjs:min": "node ./test/node.test.mjs ../dist/otpauth.node.min.cjs",
    "test:node:cjs": "run-s test:node:cjs:*",
    "test:node": "run-s test:node:*",
    "test:deno:esm:unmin": "deno test --no-npm --allow-read=./test/,./dist/ --allow-net=deno.land ./test/deno.test.mjs -- ../dist/otpauth.esm.js",
    "test:deno:esm:min": "deno test --no-npm --allow-read=./test/,./dist/ --allow-net=deno.land ./test/deno.test.mjs -- ../dist/otpauth.esm.min.js",
    "test:deno:esm": "run-s test:deno:esm:*",
    "test:deno": "run-s test:deno:*",
    "test:bun:esm:unmin": "bun test --cwd ./test/ bun ../dist/otpauth.esm.js",
    "test:bun:esm:min": "bun test --cwd ./test/ bun ../dist/otpauth.esm.min.js",
    "test:bun:esm": "run-s test:bun:esm:*",
    "test:bun": "run-s test:bun:*",
    "test:browser:chromium:umd:unmin": "node ./test/browser.test.mjs chromium ../dist/otpauth.umd.js",
    "test:browser:chromium:umd:min": "node ./test/browser.test.mjs chromium ../dist/otpauth.umd.min.js",
    "test:browser:chromium:umd": "run-s test:browser:chromium:umd:*",
    "test:browser:chromium": "run-s test:browser:chromium:*",
    "test:browser:firefox:umd:unmin": "node ./test/browser.test.mjs firefox ../dist/otpauth.umd.js",
    "test:browser:firefox:umd:min": "node ./test/browser.test.mjs firefox ../dist/otpauth.umd.min.js",
    "test:browser:firefox:umd": "run-s test:browser:firefox:umd:*",
    "test:browser:firefox": "run-s test:browser:firefox:*",
    "test:browser:webkit:umd:unmin": "node ./test/browser.test.mjs webkit ../dist/otpauth.umd.js",
    "test:browser:webkit:umd:min": "node ./test/browser.test.mjs webkit ../dist/otpauth.umd.min.js",
    "test:browser:webkit:umd": "run-s test:browser:webkit:umd:*",
    "test:browser:webkit": "run-s test:browser:webkit:*",
    "test:browser": "run-s test:browser:*",
    "test": "run-s test:*",
    "all": "run-s lint types build docs test",
    "version": "run-s all && git add -A ./types/ ./dist/ ./docs/"
  },
  "dependencies": {
    "jssha": "~3.3.0"
  },
  "devDependencies": {
    "@babel/core": "~7.21.3",
    "@babel/eslint-parser": "~7.21.3",
    "@babel/eslint-plugin": "~7.19.1",
    "@babel/preset-env": "~7.20.2",
    "@rollup/plugin-babel": "~6.0.3",
    "@rollup/plugin-node-resolve": "~15.0.1",
    "@rollup/plugin-replace": "~5.0.2",
    "@rollup/plugin-virtual": "~3.0.1",
    "@types/node": "~18.15.7",
    "chai": "~4.3.7",
    "eslint": "~8.36.0",
    "eslint-config-prettier": "~8.8.0",
    "eslint-plugin-prettier": "~4.2.1",
    "mocha": "~10.2.0",
    "npm-run-all": "~4.1.5",
    "playwright": "~1.32.0",
    "prettier": "~2.8.7",
    "rimraf": "~4.4.1",
    "rollup": "~3.20.2",
    "rollup-plugin-dts": "~5.3.0",
    "rollup-plugin-esbuild": "~5.0.0",
    "test": "~3.3.0",
    "typedoc": "~0.23.28",
    "typescript": "~5.0.2"
  }
}
