blurts-server/package.json

170 строки
8.1 KiB
JSON

{
"name": "monitor",
"version": "1.0.0",
"description": "Firefox Monitor",
"engines": {
"node": "20.9.x",
"npm": "10.1.x"
},
"type": "module",
"scripts": {
"dev": "npm run build-nimbus && next dev --port=6060",
"dev:cron:first-data-broker-removal-fixed": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/firstDataBrokerRemovalFixed.tsx",
"dev:cron:monthly-activity-free": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/monthlyActivityFree.tsx",
"dev:cron:monthly-activity-plus": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/monthlyActivityPlus.tsx",
"dev:cron:breach-alerts": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/emailBreachAlerts.tsx",
"dev:cron:db-delete-unverified-subscribers": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/deleteUnverifiedSubscribers.ts",
"dev:cron:db-pull-breaches": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/syncBreaches.ts",
"dev:cron:db-pull-data-brokers": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/syncOnerepDataBrokers.ts",
"dev:cron:remote-settings-pull-breaches": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/updateBreachesInRemoteSettings.ts",
"dev:cron:onerep-limits-alert": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/onerepStatsAlert.ts",
"dev:cron:report-lighthouse-results": "tsx --tsconfig tsconfig.cronjobs.json src/scripts/cronjobs/reportLighthouseResults.ts",
"dev:nimbus": "node --watch-path config/nimbus.yaml src/scripts/build/nimbusTypes.js",
"build": "npm run get-location-data && npm run build-glean && npm run build-nimbus && next build && npm run build-cronjobs",
"cloudrun": "npm run db:migrate && npm start",
"start": "next start",
"lint": "stylelint '**/*.scss' && prettier --check './src' && next lint --max-warnings=0 && tsc -p tsconfig.json --noEmit && npm run validate-nimbus",
"fix": "prettier --write './src' && next lint --fix && stylelint --fix '**/*.scss'",
"test": "npm run build-nimbus && jest",
"e2e": "playwright test src/e2e/",
"e2e:debug": "playwright test src/e2e/ --ui",
"e2e:smoke": "playwright test src/e2e/ --grep @smoke",
"cron:first-data-broker-removal-fixed": "node dist/scripts/cronjobs/firstDataBrokerRemovalFixed.js",
"cron:monthly-activity-free": "node dist/scripts/cronjobs/monthlyActivityFree.js",
"cron:monthly-activity-plus": "node dist/scripts/cronjobs/monthlyActivityPlus.js",
"cron:breach-alerts": "node dist/scripts/cronjobs/emailBreachAlerts.js",
"cron:db-delete-unverified-subscribers": "node dist/scripts/cronjobs/deleteUnverifiedSubscribers.js",
"cron:db-pull-breaches": "node dist/scripts/cronjobs/syncBreaches.js",
"cron:db-pull-data-brokers": "node dist/scripts/cronjobs/syncOnerepDataBrokers.js",
"cron:remote-settings-pull-breaches": "node dist/scripts/cronjobs/updateBreachesInRemoteSettings.js",
"cron:onerep-limits-alert": "node dist/scripts/cronjobs/onerepStatsAlert.js",
"cron:report-lighthouse-results": "node dist/scripts/cronjobs/reportLighthouseResults.js",
"db:migrate": "node -r dotenv-flow/config node_modules/knex/bin/cli.js migrate:latest --knexfile src/db/knexfile.js",
"db:rollback": "node -r dotenv-flow/config node_modules/knex/bin/cli.js migrate:rollback --knexfile src/db/knexfile.js",
"prepare": "husky",
"storybook": "storybook dev -p 6006",
"build-storybook": "npm run build-glean && npm run build-nimbus && storybook build",
"create-location-data": "node src/scripts/build/uploadAutoCompleteLocations.js",
"get-location-data": "node src/scripts/build/getAutoCompleteLocations.js",
"build-cronjobs": "node esbuild.cronjobs.js",
"build-nimbus": "node src/scripts/build/nimbusTypes.js",
"build-frontend-glean": "glean translate src/telemetry/metrics.yaml --format typescript --output src/telemetry/generated && npm run build-glean-types",
"build-backend-glean": "glean translate src/telemetry/backend-metrics.yaml --format typescript --output src/telemetry/generated/backend && npm run build-glean-types",
"build-glean": "npm run build-frontend-glean && npm run build-backend-glean && npm run build-glean-types",
"build-glean-types": "node src/scripts/build/gleanTypes.js",
"build-glean-docs": "npm run build-glean-frontend-docs && npm run build-glean-backend-docs",
"build-glean-frontend-docs": "glean translate src/telemetry/metrics.yaml --format markdown --output docs/telemetry/frontent",
"build-glean-backend-docs": "glean translate src/telemetry/backend-metrics.yaml --format markdown --output docs/telemetry/backend",
"loadtest:hbibp-webhook": "echo 'Ensure k6 is installed; see:\n\thttps://grafana.com/docs/k6/latest/set-up/install-k6/\n' && k6 run src/scripts/loadtest/hibp.js",
"validate-nimbus": "sh src/scripts/build/validate-nimbus-file.sh",
"lighthouse": "lhci autorun"
},
"repository": {
"type": "git",
"url": "git+https://github.com/mozilla/blurts-server.git"
},
"homepage": "https://github.com/mozilla/blurts-server",
"license": "MPL-2.0",
"volta": {
"node": "20.9.0",
"npm": "10.1.0"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.689.0",
"@aws-sdk/lib-storage": "^3.689.0",
"@fluent/bundle": "^0.18.0",
"@fluent/langneg": "^0.7.0",
"@fluent/react": "^0.15.2",
"@google-cloud/logging-winston": "^6.0.0",
"@google-cloud/pubsub": "^4.8.0",
"@grpc/grpc-js": "1.12.2",
"@leeoniya/ufuzzy": "^1.0.14",
"@mozilla/glean": "^5.0.3",
"@next/third-parties": "^15.0.3",
"@sentry/nextjs": "^8.37.1",
"@sentry/node": "^8.0.0",
"@sentry/utils": "^8.0.0",
"@stripe/stripe-js": "^4.9.0",
"@types/jsdom": "^21.1.7",
"@types/node": "^22.8.7",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"canvas-confetti": "^1.9.3",
"dotenv-flow": "^4.1.0",
"eslint-config-next": "^15.0.3",
"ioredis": "^5.4.1",
"jsdom": "^25.0.1",
"jsonwebtoken": "^9.0.2",
"jwk-to-pem": "^2.0.6",
"knex": "^3.1.0",
"mjml": "^4.15.3",
"next": "^15.0.3",
"next-auth": "^4.24.10",
"nodemailer": "^6.9.16",
"pg": "^8.13.1",
"react": "^18.3.1",
"react-aria": "^3.35.1",
"react-cookie": "^7.2.1",
"react-dom": "^18.3.1",
"react-intersection-observer": "^9.13.1",
"react-stately": "^3.33.0",
"react-toastify": "^10.0.6",
"server-only": "^0.0.1",
"uuid": "^11.0.3",
"winston": "^3.15.0"
},
"devDependencies": {
"@faker-js/faker": "^9.1.0",
"@playwright/test": "^1.48.2",
"@storybook/addon-a11y": "^8.4.2",
"@storybook/addon-actions": "^8.4.2",
"@storybook/addon-essentials": "^8.4.2",
"@storybook/addon-interactions": "^8.4.2",
"@storybook/addon-links": "^8.4.2",
"@storybook/nextjs": "^8.4.2",
"@storybook/react": "^8.4.1",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.0.1",
"@testing-library/user-event": "^14.5.2",
"@types/adm-zip": "^0.5.6",
"@types/canvas-confetti": "^1.6.4",
"@types/jest-axe": "^3.5.9",
"@types/jsonwebtoken": "^9.0.7",
"@types/jwk-to-pem": "^2.0.3",
"@types/k6": "^0.54.1",
"@types/mjml": "^4.7.4",
"@types/mjml-browser": "^4.15.0",
"@types/nodemailer": "^6.4.16",
"@typescript-eslint/eslint-plugin": "^7.5.0",
"@typescript-eslint/parser": "^7.5.0",
"adm-zip": "^0.5.16",
"esbuild": "0.24.0",
"eslint": "^8.57.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-check-file": "^2.7.1",
"eslint-plugin-header": "^3.1.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jest": "^27.9.0",
"eslint-plugin-jsdoc": "^48.2.2",
"fast-check": "^3.23.1",
"husky": "^9.1.6",
"ioredis-mock": "^8.9.0",
"jest": "^29.7.0",
"jest-axe": "^9.0.0",
"jest-canvas-mock": "^2.5.2",
"jest-environment-jsdom": "^29.7.0",
"jest-fail-on-console": "^3.3.1",
"lint-staged": "^15.2.10",
"mjml-browser": "^4.15.3",
"prettier": "3.3.3",
"sass": "^1.80.6",
"storybook": "^8.1.11",
"stylelint": "^16.10.0",
"stylelint-config-recommended-scss": "^14.1.0",
"stylelint-scss": "^6.8.1",
"tsx": "^4.19.2",
"typescript": "^5.6.3",
"yaml": "^2.6.0"
}
}