{ "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.9.4", "@apollo/server": "^4.10.0", "@faker-js/faker": "^8.4.1", "@fluent/bundle": "^0.18.0", "@fluent/react": "^0.15.2", "@google-cloud/bigquery": "^7.5.0", "@google-cloud/firestore": "^7.3.0", "@google-cloud/opentelemetry-cloud-trace-exporter": "^2.1.0", "@google-cloud/pubsub": "^4.3.1", "@google-cloud/translate": "^8.0.3", "@nestjs/apollo": "^12.1.0", "@nestjs/common": "^10.3.2", "@nestjs/config": "^3.2.0", "@nestjs/core": "^10.3.2", "@nestjs/graphql": "^12.1.0", "@nestjs/mapped-types": "^2.0.5", "@nestjs/passport": "^10.0.3", "@nestjs/platform-express": "^10.3.2", "@nestjs/schedule": "^4.0.1", "@opentelemetry/api": "^1.8.0", "@opentelemetry/auto-instrumentations-node": "^0.41.1", "@opentelemetry/context-zone": "^1.22.0", "@opentelemetry/context-zone-peer-dep": "^1.22.0", "@opentelemetry/exporter-jaeger": "^1.22.0", "@opentelemetry/exporter-trace-otlp-http": "^0.48.0", "@opentelemetry/instrumentation-document-load": "^0.35.0", "@opentelemetry/instrumentation-fetch": "^0.48.0", "@opentelemetry/instrumentation-user-interaction": "^0.35.0", "@opentelemetry/instrumentation-xml-http-request": "^0.48.0", "@opentelemetry/sdk-trace-base": "^1.22.0", "@opentelemetry/sdk-trace-node": "^1.22.0", "@opentelemetry/sdk-trace-web": "^1.22.0", "@sentry/browser": "^7.100.1", "@sentry/integrations": "^7.107.0", "@sentry/node": "^7.103.0", "@sentry/opentelemetry-node": "^7.100.1", "@swc/helpers": "~0.5.2", "@type-cacheable/core": "^14.0.1", "@type-cacheable/ioredis-adapter": "^10.0.4", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", "diffparser": "^2.0.1", "graphql": "^16.8.0", "graphql-request": "^6.1.0", "hot-shots": "^10.0.0", "husky": "^4.2.5", "knex": "^3.1.0", "kysely": "^0.27.2", "lint-staged": "^15.2.0", "mysql": "^2.18.1", "mysql2": "^3.9.1", "nest-typed-config": "^2.9.2", "nest-winston": "^1.9.4", "next": "^14.1.1", "next-auth": "beta", "node-fetch": "^2.6.7", "nps": "^5.10.0", "objection": "^3.1.3", "p-queue": "^8.0.1", "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.2.0", "react-dom": "^18.2.0", "react-ga4": "^2.1.0", "rxjs": "^7.8.1", "semver": "^7.6.0", "tslib": "^2.6.2", "uuid": "^9.0.0", "winston": "^3.11.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.22.20", "@babel/preset-react": "^7.23.3", "@graphql-codegen/cli": "5.0.0", "@graphql-codegen/client-preset": "^4.2.4", "@graphql-codegen/typescript": "^4.0.1", "@graphql-codegen/typescript-document-nodes": "^4.0.1", "@nestjs/cli": "^9.4.0", "@nestjs/schematics": "^10.1.1", "@nestjs/testing": "^10.3.2", "@nx/eslint-plugin": "18.0.3", "@nx/jest": "18.1.1", "@nx/js": "18.0.3", "@nx/next": "18.0.3", "@nx/node": "18.0.3", "@nx/react": "18.0.3", "@nx/storybook": "18.0.3", "@nx/workspace": "18.0.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.6.7", "@swc/cli": "~0.1.62", "@swc/core": "~1.4.6", "@testing-library/react": "^14.2.1", "@types/babel__core": "^7", "@types/jest": "^29.5.1", "@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", "@types/react-dom": "^18", "@types/react-test-renderer": "^18", "@types/uuid": "^8.3.0", "@typescript-eslint/eslint-plugin": "^5.59.1", "@typescript-eslint/parser": "^7.1.1", "autoprefixer": "^10.4.14", "babel-jest": "^29.7.0", "eslint": "^7.32.0", "eslint-config-next": "14.0.1", "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-contrib-concat": "^2.1.0", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-watch": "^1.1.0", "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": "18.0.3", "nx-cloud": "18.0.0", "persistgraphql": "^0.3.11", "postcss": "^8.4.31", "react-test-renderer": "^18.2.0", "reflect-metadata": "^0.2.1", "stylelint": "^16.2.1", "stylelint-config-prettier": "^9.0.3", "stylelint-config-recommended-scss": "^14.0.0", "tailwindcss": "^3.4.1", "ts-jest": "^29.1.2", "ts-node": "^10.9.2", "tsc-alias": "^1.8.8", "typescript": "^5.4.2" }, "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", "@nestjs/cli/typescript": "^4.5.2", "@svgr/webpack": "^8.0.1", "@types/node": "^20.11.1", "@types/react": "^18", "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", "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" }