{ "name": "fxa", "private": true, "version": "2.0.0", "description": "Firefox Accounts monorepo", "scripts": { "preinstall": "_scripts/check-package-manager.sh", "authors": "git shortlog -s | cut -c8- | sort -f > AUTHORS", "start": "nps --prefix=start", "stop": "nps --prefix=stop", "restart": "nps --prefix=restart", "delete": "nps --prefix=delete", "rebuild-packages": "nx run-many -t build --all", "adb-reverse": "./_scripts/adb-reverse.sh", "test": "_scripts/test-package.sh", "config-fxios": "node _scripts/config-fxios.js", "format": "yarn workspaces foreach run format", "ports": "pm2 jlist | json -a -c 'this.pm2_env.env.PORT' pm2_env.env.PORT name", "heroku-postbuild": "yarn workspaces foreach --verbose --include 123done install", "mysql": "docker exec -it $(docker container ls | grep mysql | cut -d' ' -f1) mysql", "firefox": "./packages/fxa-dev-launcher/bin/fxa-dev-launcher.mjs", "generate-lockfile": "docker build . -f _dev/docker/ci-lockfile-generator/Dockerfile -t generate-lockfile && docker run generate-lockfile > yarn.lock", "l10n:clone": "_scripts/l10n/clone.sh", "l10n:prime": "_scripts/l10n/prime.sh", "l10n:bundle": "_scripts/l10n/bundle.sh", "legal:clone": "_scripts/clone-legal-docs.sh", "gql:allowlist": "nx run-many -t gql-extract && nx run-many -t gql-copy", "check:mysql": "_scripts/check-mysql.sh", "check:url": "_scripts/check-url.sh" }, "homepage": "https://github.com/mozilla/fxa", "bugs": { "url": "https://github.com/mozilla/fxa/issues" }, "repository": { "type": "git", "url": "https://github.com/mozilla/fxa" }, "author": "Mozilla (https://mozilla.org/)", "license": "MPL-2.0", "dependencies": { "@apollo/client": "^3.11.1", "@apollo/server": "^4.10.5", "@faker-js/faker": "^8.4.1", "@fluent/bundle": "^0.18.0", "@fluent/react": "^0.15.2", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/firestore": "^7.9.0", "@google-cloud/opentelemetry-cloud-trace-exporter": "^2.2.0", "@google-cloud/pubsub": "^4.3.1", "@google-cloud/translate": "^8.2.0", "@grpc/grpc-js": "^1.11.1", "@mozilla/glean": "^5.0.2", "@nestjs/apollo": "^12.1.0", "@nestjs/common": "^10.3.4", "@nestjs/config": "^3.2.0", "@nestjs/core": "^10.3.4", "@nestjs/graphql": "^12.2.0", "@nestjs/mapped-types": "^2.0.5", "@nestjs/passport": "^10.0.3", "@nestjs/platform-express": "^10.3.4", "@nestjs/schedule": "^4.0.1", "@opentelemetry/api": "^1.8.0", "@opentelemetry/auto-instrumentations-node": "^0.44.0", "@opentelemetry/context-zone": "^1.23.0", "@opentelemetry/context-zone-peer-dep": "^1.23.0", "@opentelemetry/exporter-jaeger": "^1.23.0", "@opentelemetry/exporter-trace-otlp-http": "^0.50.0", "@opentelemetry/instrumentation-document-load": "^0.37.0", "@opentelemetry/instrumentation-fetch": "^0.50.0", "@opentelemetry/instrumentation-user-interaction": "^0.37.0", "@opentelemetry/instrumentation-xml-http-request": "^0.50.0", "@opentelemetry/sdk-trace-base": "^1.23.0", "@opentelemetry/sdk-trace-node": "^1.23.0", "@opentelemetry/sdk-trace-web": "^1.23.0", "@radix-ui/react-form": "^0.0.3", "@radix-ui/react-tooltip": "^1.1.2", "@sentry/browser": "^7.113.0", "@sentry/integrations": "^7.113.0", "@sentry/node": "^7.113.0", "@sentry/opentelemetry-node": "^7.113.0", "@swc/helpers": "0.5.11", "@type-cacheable/core": "^14.0.1", "@type-cacheable/ioredis-adapter": "^10.0.4", "base64url": "^3.0.1", "bn.js": "^5.2.1", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", "diffparser": "^2.0.1", "dotenv": "^16.4.5", "graphql": "^16.9.0", "graphql-request": "^6.1.0", "hot-shots": "^10.0.0", "husky": "^4.2.5", "jose": "^5.7.0", "knex": "^3.1.0", "kysely": "^0.27.2", "lint-staged": "^15.2.0", "module-alias": "^2.2.3", "mysql": "^2.18.1", "mysql2": "^3.9.8", "nest-typed-config": "^2.9.2", "nest-winston": "^1.9.4", "next": "14.2.3", "next-auth": "beta", "node-fetch": "^2.6.7", "node-hkdf": "^0.0.2", "node-jose": "^2.2.0", "nps": "^5.10.0", "objection": "^3.1.3", "passport": "^0.7.0", "passport-http-bearer": "^1.0.1", "passport-jwt": "^4.0.1", "pm2": "^5.3.0", "prettier": "^2.6.2", "react": "18.3.1", "react-dom": "18.3.1", "react-ga4": "^2.1.0", "rxjs": "^7.8.1", "semver": "^7.6.3", "set-value": "^4.1.0", "stripe": "^15.8.0", "tslib": "^2.6.2", "uuid": "^10.0.0", "winston": "^3.13.0" }, "engines": { "node": "^20.11.1" }, "husky": { "hooks": { "pre-commit": "lint-staged", "post-checkout": "_scripts/git-checkout-hook.sh", "post-merge": "_scripts/git-merge-hook.sh" } }, "lint-staged": { "packages/!(fxa-payments-server)/**/*.js": [ "prettier --config _dev/.prettierrc --write", "eslint" ], "*.{ts,tsx}": [ "prettier --config _dev/.prettierrc --write" ], "packages/fxa-auth-server/**/*.{ts,tsx}": [ "eslint" ], "*.css": [ "prettier --config _dev/.prettierrc --write" ], "*.scss": [ "stylelint --config _dev/.stylelintrc" ], "*.md": [ "prettier --config _dev/.prettierrc --write" ] }, "devDependencies": { "@babel/core": "^7.24.4", "@babel/preset-react": "^7.24.1", "@graphql-codegen/cli": "5.0.0", "@graphql-codegen/client-preset": "^4.3.2", "@graphql-codegen/typescript": "^4.0.1", "@graphql-codegen/typescript-document-nodes": "^4.0.1", "@nestjs/cli": "^10.4.2", "@nestjs/schematics": "^10.1.1", "@nestjs/testing": "^10.3.4", "@nx/esbuild": "19.5.3", "@nx/eslint-plugin": "19.5.3", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", "@nx/next": "19.5.3", "@nx/node": "19.5.3", "@nx/react": "19.5.3", "@nx/storybook": "19.5.3", "@nx/workspace": "19.5.3", "@storybook/addon-essentials": "^7.6.15", "@storybook/addon-styling": "^1.3.7", "@storybook/core-common": "^7.4.5", "@storybook/core-server": "^7.6.17", "@storybook/html-webpack5": "^7.6.13", "@storybook/nextjs": "^7.6.14", "@storybook/react-webpack5": "^7.4.5", "@swc-node/register": "1.9.2", "@swc/cli": "0.3.12", "@swc/core": "1.5.29", "@swc/jest": "^0.2.36", "@testing-library/react": "15.0.6", "@types/babel__core": "^7", "@types/bn.js": "^5", "@types/jest": "^29.5.1", "@types/module-alias": "^2", "@types/mysql": "^2", "@types/node": "^20.11.1", "@types/passport": "^1.0.6", "@types/passport-http-bearer": "^1.0.36", "@types/passport-jwt": "^4", "@types/react": "18.3.1", "@types/react-dom": "18.3.0", "@types/react-test-renderer": "^18", "@types/set-value": "^4", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^5.59.1", "@typescript-eslint/parser": "^7.1.1", "autoprefixer": "^10.4.14", "babel-jest": "^29.7.0", "esbuild": "^0.17.15", "esbuild-register": "^3.5.0", "eslint": "^7.32.0", "eslint-config-next": "14.2.3", "eslint-plugin-fxa": "workspace:*", "eslint-plugin-import": "2.29.1", "eslint-plugin-jest": "^27.6.0", "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "4.6.0", "grunt": "^1.6.1", "grunt-cli": "^1.4.3", "grunt-concurrent": "^3.0.0", "grunt-contrib-concat": "^2.1.0", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-watch": "^1.1.0", "grunt-http": "^2.3.3", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.7.0", "json": "^11.0.0", "mocha-junit-reporter": "^2.2.0", "mocha-multi": "^1.1.7", "nx": "19.5.3", "nx-cloud": "19.0.0", "persistgraphql": "^0.3.11", "postcss": "8.4.41", "react-test-renderer": "^18.3.1", "reflect-metadata": "^0.2.1", "server-only": "^0.0.1", "stylelint": "^16.8.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-recommended-scss": "^14.0.0", "tailwindcss": "3.4.3", "ts-jest": "^29.2.3", "ts-node": "^10.9.2", "tsc-alias": "^1.8.8", "tsconfig-paths-webpack-plugin": "^4.1.0", "typescript": "^5.5.3" }, "workspaces": [ "packages/*" ], "resolutions": { "@babel/core": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", "@babel/types": "^7.22.5", "@graphql-typed-document-node/core": "3.2.0", "@svgr/webpack": "^8.0.1", "@types/node": "^20.11.1", "@types/react": "^18", "asn1.js": ">=5.4.1", "bn.js": "^5.2.1", "browserid-crypto": "https://github.com/mozilla-fxa/browserid-crypto.git#5979544d13eeb15a02d0b9a6a7a08a698d54d37d", "css-minimizer-webpack-plugin": ">=4 <5", "elliptic": ">=6.5.4", "eslint-plugin-import": "^2.25.2", "fbjs/isomorphic-fetch": "^3.0.0", "flat": ">=5.0.2", "gobbledygook": "https://github.com/mozilla-fxa/gobbledygook.git#354042684056e57ca77f036989e907707a36cff2", "http-proxy": "^1.18.1", "minimist": "^1.2.6", "moment:>2.0.0 <3": ">=2.29.4", "node-forge": ">=1.3.0", "nest-typed-config/class-validator": "0.14.1", "parse-asn1": ">=5.1.7", "plist": "^3.0.6", "protobufjs:>6.0.0 <7": ">=6.11.4", "tap/typescript": "^4.5.2", "terser:>4.0.0 <5": ">=4.8.1", "terser:>5 <6": ">=5.14.2", "underscore": ">=1.13.2" }, "packageManager": "yarn@3.3.0", "_moduleAliases": { "@fxa/vendored/jwtool": "./dist/libs/vendored/jwtool/main.cjs", "@fxa/vendored/crypto-relier": "./dist/libs/vendored/crypto-relier/main.cjs", "@fxa/vendored/crypto-relier/esm": "./dist/libs/vendored/crypto-relier/main.js", "@fxa/shared/pem-jwk": "./dist/libs/shared/pem-jwk/main.cjs", "@fxa/shared/l10n": "./dist/libs/shared/l10n/main.cjs" } }