proton-WebClients/packages/pass/package.json
2025-12-24 13:32:39 +00:00

81 lines
3.2 KiB
JSON

{
"name": "@proton/pass",
"description": "Proton Pass shared codebase",
"license": "GPL-3.0",
"sideEffects": false,
"scripts": {
"check-types": "tsc",
"generate:api-types": "API=${API:-proton.black} ./utils/openapi/index.ts \"https://${API}/api/internal/doc?page=pass\" > ./types/api/pass.ts",
"generate:proto": "scripts/generate-protos.sh",
"generate:rule-types": "./lib/extension/rules/generate.sh",
"generator:openapi": "./utils/openapi/index.ts",
"i18n:validate": "proton-i18n validate lint-functions",
"lint": "eslint --quiet",
"pretty": "prettier --write $(find src/app -type f -name '*.js' -o -name '*.ts' -o -name '*.tsx')",
"start": "proton-pack dev-server --appMode=standalone",
"sync:fathom": "scripts/sync-fathom.sh",
"test": "NODE_NO_WARNINGS=1 jest --verbose --coverage",
"test:ci": "yarn test:tz && jest --coverage --runInBand --ci",
"test:tz": "bash -c 'for tz in UTC America/New_York Europe/Paris Asia/Tokyo; do TZ=$tz yarn test time/format.spec.ts || exit 1; done'",
"test:watch": "jest --watch",
"version:update": "scripts/version.sh"
},
"dependencies": {
"@proton/atoms": "workspace:^",
"@proton/components": "workspace:^",
"@proton/cross-storage": "workspace:^",
"@proton/crypto": "workspace:^",
"@proton/key-transparency": "workspace:^",
"@proton/polyfill": "workspace:^",
"@proton/shared": "workspace:^",
"@proton/srp": "workspace:^",
"@proton/styles": "workspace:^",
"@proton/types": "workspace:^",
"@protontech/pass-rust-core": "0.28.4",
"@reduxjs/toolkit": "^2.11.0",
"@zip.js/zip.js": "^2.8.11",
"client-zip": "^2.5.0",
"formik": "^2.4.9",
"idb": "^8.0.3",
"imask": "^7.6.1",
"loglevel": "^1.9.2",
"otpauth": "^9.4.1",
"papaparse": "^5.5.3",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-redux": "^9.2.0",
"react-router-dom": "^5.3.4",
"redux": "^5.0.1",
"redux-saga": "^1.4.2",
"tldts": "^6.1.86",
"ttag": "^1.8.12",
"webextension-polyfill": "^0.12.0",
"x2js": "^3.4.4"
},
"devDependencies": {
"@protobuf-ts/plugin": "^2.11.1",
"@proton/eslint-config-proton": "workspace:^",
"@proton/i18n": "workspace:^",
"@proton/jest-env": "workspace:^",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^15.0.7",
"@testing-library/react-hooks": "^8.0.1",
"@types/chrome": "^0.1.32",
"@types/lodash": "^4.17.21",
"@types/mime-types": "^2.1.4",
"@types/react": "^18.3.27",
"@types/react-dom": "^18.3.7",
"@types/react-router-dom": "^5.3.3",
"@types/webextension-polyfill": "^0.12.4",
"circular-dependency-plugin": "^5.2.2",
"core-js": "^3.47.0",
"cross-env": "^10.1.0",
"eslint": "^9.39.2",
"fake-indexeddb": "^6.2.5",
"jest": "^30.2.0",
"json-schema-to-typescript": "^13.1.2",
"openapi-types": "^12.1.3",
"prettier": "^3.7.4",
"typescript": "^5.9.3"
}
}