{
  "name": "passbolt-browser-extension",
  "version": "5.17.0",
  "license": "AGPL-3.0",
  "copyright": "Copyright 2025 Passbolt SA",
  "description": "Passbolt web extension for the open source password manager for teams",
  "homepage": "https://www.passbolt.com",
  "repository": "https://github.com/passbolt/passbolt_browser_extension",
  "engines": {
    "node": ">=22.14.0",
    "npm": ">=10.9.2"
  },
  "dependencies": {
    "await-lock": "^2.1.0",
    "downloadjs": "^1.4.7",
    "eckey-utils": "^0.7.14",
    "i18next": "^26.3.4",
    "i18next-http-backend": "^4.0.2",
    "ip-regex": "^5.0.0",
    "jssha": "~3.3.1",
    "kdbxweb": "2.1.1",
    "openpgp": "^6.1.1",
    "papaparse": "^5.5.2",
    "passbolt-styleguide": "^5.17.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "uuid": "^14.0.0",
    "validator": "^13.15.26",
    "webextension-polyfill": "^0.10.0",
    "xregexp": "~5.1.2"
  },
  "devDependencies": {
    "@babel/core": "^7.29.7",
    "@babel/helpers": "^7.26.10",
    "@babel/plugin-transform-runtime": "^7.22.9",
    "@babel/preset-env": "^7.29.5",
    "@babel/preset-react": "^7.28.5",
    "@babel/runtime": "^7.27.0",
    "@babel/runtime-corejs3": "^7.26.10",
    "@eslint/js": "^9.39.4",
    "@svgr/webpack": "^8.1.0",
    "babel-jest": "^30.3.0",
    "babel-loader": "^8.2.3",
    "buffer": "^6.0.3",
    "copy-webpack-plugin": "^14.0.0",
    "dotenv": "^16.4.5",
    "eslint": "^9.39.4",
    "eslint-config-prettier": "^10.1.8",
    "eslint-import-resolver-alias": "^1.1.2",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-jest": "^29.15.1",
    "eslint-plugin-n": "^17.24.0",
    "eslint-plugin-no-unsanitized": "^4.1.5",
    "eslint-plugin-prettier": "^5.5.5",
    "eslint-plugin-promise": "^7.2.1",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-regexp": "^3.1.0",
    "eslint-plugin-security": "^4.0.0",
    "filereader": "^0.10.3",
    "formdata-node": "^6.0.3",
    "globals": "^16.4.0",
    "i18next-cli": "^1.58.0",
    "jest": "^30.3.0",
    "jest-environment-jsdom": "^30.3.0",
    "jest-environment-node": "^30.3.0",
    "jest-fetch-mock": "^3.0.3",
    "jest-junit": "^16.0.0",
    "jest-webextension-mock": "^4.1.1",
    "lockfile-lint": "^5.0.1",
    "prettier": "3.6.2",
    "terser-webpack-plugin": "^5.4.0",
    "text-encoding-utf-8": "^1.0.2",
    "web-ext": "^10.7.0",
    "webpack": "^5.107.2",
    "webpack-cli": "^7.0.2"
  },
  "overrides": {
    "@xmldom/xmldom": "0.8.15",
    "uuid": "^14.0.0",
    "shell-quote": "1.12.0",
    "js-yaml": "^4.3.2",
    "adm-zip": "0.6.1",
    "qrcode": {
      "yargs": "^18.1.0"
    }
  },
  "scripts": {
    "build": "webpack",
    "build:firefox": "webpack --config webpack.firefox.config.js",
    "build:chromium-mv2": "webpack --config webpack.chromium-mv2.config.js",
    "build:chromium-mv3": "webpack --config webpack.chromium-mv3.config.js",
    "build:safari": "webpack --config webpack.safari.config.js",
    "dev:build:firefox": "NODE_ENV=development webpack --config webpack.firefox.config.js",
    "dev:build:chromium-mv2": "NODE_ENV=development webpack --config webpack.chromium-mv2.config.js",
    "dev:build:chromium-mv3": "NODE_ENV=development webpack --config webpack.chromium-mv3.config.js",
    "dev:build:safari": "NODE_ENV=development webpack --config webpack.safari.config.js",
    "dev:safari:convert": "xcrun safari-web-extension-converter --app-name Passbolt-Safari-Extension --swift --macos-only --project-location ./build-safari-extension --bundle-identifier com.passbolt.safari-extension --force --no-open build/all/",
    "dev:watch:build:firefox": "npm run dev:build:firefox -- -w",
    "dev:watch:build:chromium-mv2": "npm run dev:build:chromium-mv2 -- -w",
    "dev:watch:build:chromium-mv3": "npm run dev:build:chromium-mv3 -- -w",
    "dev:watch:build:safari": "npm run dev:build:safari -- -w",
    "lint": "npm run lint:lockfile && npm run lint:eslint",
    "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts npm --allowed-schemes \"https:\" --empty-hostname false",
    "lint:eslint": "eslint src --max-warnings 0",
    "lint:eslint-fix": "eslint --fix src",
    "test": "npm run test:unit",
    "test:unit": "jest --no-cache ./src/all/ ./src/chrome-mv3/ ./src/chrome/ ./src/safari/",
    "test:coverage": "jest --no-cache ./src/all/ ./src/chrome-mv3/ ./src/safari/ --coverage",
    "test:ci:coverage": "npm run test:coverage -- --runInBand"
  }
}
