{
  "name": "passbolt-styleguide",
  "version": "5.11.3",
  "license": "AGPL-3.0",
  "copyright": "Copyright 2023 Passbolt SA",
  "description": "Passbolt styleguide contains common styling assets used by the different sites, plugin, etc.",
  "homepage": "https://www.passbolt.com",
  "repository": "https://github.com/passbolt/passbolt_styleguide",
  "engines": {
    "node": ">=22.14.0",
    "npm": ">=10.9.2"
  },
  "devDependencies": {
    "@babel/cli": "^7.22.9",
    "@babel/core": "^7.23.2",
    "@babel/helpers": "^7.26.10",
    "@babel/plugin-transform-runtime": "^7.22.9",
    "@babel/preset-env": "^7.22.9",
    "@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",
    "@testing-library/dom": "^9.3.4",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^14.6.1",
    "babel-jest": "^29.6.2",
    "babel-loader": "^9.1.3",
    "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",
    "fetch-mock": "^12.5.4",
    "globals": "^16.4.0",
    "grunt": "^1.3.0",
    "grunt-contrib-cssmin": "^4.0.0",
    "grunt-contrib-less": "^3.0.0",
    "grunt-contrib-symlink": "^1.0.0",
    "grunt-contrib-watch": "^1.1.0",
    "grunt-header": "^1.1.0",
    "grunt-shell": "^4.0.0",
    "history": "^4.10.0",
    "i18next-parser": "^9.3.0",
    "jest": "^29.6.2",
    "jest-each": "^29.6.2",
    "jest-environment-jsdom": "^29.6.2",
    "jest-fetch-mock": "^3.0.3",
    "jest-junit": "^16.0.0",
    "jest-useragent-mock": "^0.1.1",
    "jest-webextension-mock": "^3.8.9",
    "lockfile-lint": "^4.14.1",
    "prettier": "3.6.2",
    "rimraf": "^6.1.2",
    "webpack": "^5.105.2",
    "webpack-cli": "^5.1.4"
  },
  "dependencies": {
    "debounce-promise": "^3.1.2",
    "downloadjs": "^1.4.7",
    "grapheme-splitter": "^1.0.4",
    "html5-qrcode": "^2.3.8",
    "i18next": "^25.4.0",
    "i18next-http-backend": "^3.0.2",
    "ip-regex": "^5.0.0",
    "jssha": "^3.2.0",
    "luxon": "^3.4.4",
    "memoize-one": "^6.0.0",
    "otpauth": "^9.1.4",
    "prop-types": "^15.7.2",
    "qrcode": "^1.5.0",
    "react": "^18.3.1",
    "react-color": "^2.19.3",
    "react-dom": "^18.3.1",
    "react-i18next": "^14.0.0",
    "react-list": "github:passbolt/react-list#v0.8.18",
    "react-router-dom": "^5.2.0",
    "react-transition-group": "^4.4.1",
    "uuid": "^8.3.0",
    "validator": "^13.15.26",
    "webextension-polyfill": "^0.10.0",
    "xregexp": "^5.1.2"
  },
  "scripts": {
    "build": "npm run build-api-app",
    "build-api-app": "webpack --config webpack-api.config.js",
    "build:clean:css": "rimraf ./src/css/*",
    "build:clean:all": "npm run build:clean:css && rimraf ./build/css/*",
    "test": "npm run test:unit",
    "test:unit": "jest --no-cache ./src",
    "test:coverage": "jest --no-cache ./src --coverage",
    "test:storybook": "test-storybook",
    "test:ci:coverage": "npm run test:coverage -- --runInBand",
    "lint": "npm run lint:lockfile && npm run lint:eslint",
    "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts npm github.com --allowed-schemes \"https:\" \"git+ssh:\" --empty-hostname false",
    "lint:eslint": "eslint src --max-warnings 0",
    "lint:eslint-fix": "eslint --fix src",
    "i18n:externalize": "i18next -c ./i18next-parser.config.js",
    "deploy-storybook": "storybook-to-ghpages --remote github",
    "dev:build:custom-theme": "npx grunt build_custom_theme",
    "dev:storybook:build": "NODE_OPTIONS=--max_old_space_size=2048 storybook build",
    "dev:storybook:install": "./scripts/installStorybookDependencies.sh",
    "dev:storybook:start": "STORYBOOK_DEV=true storybook dev -p 6006",
    "dev:watch:custom-theme": "npx grunt watch_custom_theme"
  }
}
