fxa/packages/fxa-settings/package.json

275 строки
9.5 KiB
JSON

{
"name": "fxa-settings",
"version": "0.0.0",
"homepage": "https://accounts.firefox.com/settings",
"private": true,
"scripts": {
"prebuild": "nx l10n-prime && nx legal-prime",
"build": "nx build-l10n && nx build-ts && nx build-css && nx build-react",
"build-ts": "tsc --build",
"build-css": "NODE_ENV=production tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/tailwind.out.css --postcss",
"build-storybook": "NODE_ENV=production STORYBOOK_BUILD=1 yarn build-css && NODE_OPTIONS=--openssl-legacy-provider sb build && cp -r public/locales ./storybook-static/locales",
"build-l10n": "nx l10n-merge && nx l10n-bundle && nx l10n-merge-test",
"build-react": "nx build-react-dev && nx build-react-stage && nx build-react-prod",
"build-react-dev": "SKIP_PREFLIGHT_CHECK=true INLINE_RUNTIME_CHUNK=false NODE_OPTIONS=--openssl-legacy-provider BUILD_PATH=build/dev node scripts/build.js",
"build-react-stage": "SKIP_PREFLIGHT_CHECK=true INLINE_RUNTIME_CHUNK=false NODE_OPTIONS=--openssl-legacy-provider BUILD_PATH=build/stage node scripts/build.js",
"build-react-prod": "SKIP_PREFLIGHT_CHECK=true INLINE_RUNTIME_CHUNK=false NODE_OPTIONS=--openssl-legacy-provider BUILD_PATH=build/prod node scripts/build.js",
"clean": "rimraf dist",
"compile": "tsc --noEmit",
"gql-extract": "persistgraphql src ../../configs/gql/allowlist/fxa-settings.json --js --extension=ts ",
"l10n-bundle": "yarn l10n:bundle packages/fxa-settings branding,react,settings",
"l10n-prime": "yarn l10n:prime packages/fxa-settings",
"l10n-merge": "yarn grunt merge-ftl",
"l10n-merge-test": "yarn grunt merge-ftl:test",
"legal-prime": "yarn legal:clone fxa-settings",
"lint": "eslint . .storybook",
"start": "BUILD_PATH=build/dev pm2 start pm2.config.js && yarn check:url localhost:3000/settings/static/js/bundle.js",
"stop": "pm2 stop pm2.config.js",
"restart": "pm2 restart pm2.config.js",
"delete": "pm2 delete pm2.config.js",
"storybook": "STORYBOOK_BUILD=1 yarn build-css && NODE_OPTIONS=--openssl-legacy-provider storybook dev -p 6008 --no-version-updates",
"test": "SKIP_PREFLIGHT_CHECK=true node scripts/test.js",
"test-watch": "SKIP_PREFLIGHT_CHECK=true node scripts/test.js",
"test-coverage": "yarn test --coverage --watchAll=false",
"test-unit": "echo No unit tests present for $npm_package_name",
"test-integration": "JEST_JUNIT_OUTPUT_FILE=../../artifacts/tests/$npm_package_name/jest-integration.xml SKIP_PREFLIGHT_CHECK=true node scripts/test.js --watchAll=false --ci --runInBand --reporters=default --reporters=jest-junit",
"watch-ftl": "grunt watch-ftl",
"format": "prettier --write --config ../../_dev/.prettierrc '**'"
},
"jest": {
"roots": [
"<rootDir>/src"
],
"collectCoverageFrom": [
"src/**/*.{ts,tsx,js}",
"!src/**/*.stories.*",
"!src/**/mocks.*",
"!src/components/Settings/*(ScrollToTop|UnitRowRecoveryKey|PageAvatar|App)/*"
],
"setupFiles": [
"react-app-polyfill/jsdom"
],
"setupFilesAfterEnv": [
"<rootDir>/src/setupTests.tsx"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
],
"testEnvironment": "jsdom",
"transform": {
"^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "<rootDir>/config/jest/babelTransform.js",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js",
"^.+\\.tsx?$": [
"ts-jest",
{
"isolatedModules": true
}
]
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\](?!@mozilla/glean).+\\.(js|jsx|mjs|cjs|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
"modulePaths": [],
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy",
"@fxa/shared/l10n": "<rootDir>/../../libs/shared/l10n/src/index.ts",
"^@fxa/shared/assets(.*)$": "<rootDir>/../../libs/shared/assets/src$1"
},
"moduleFileExtensions": [
"web.js",
"js",
"web.ts",
"ts",
"web.tsx",
"tsx",
"json",
"web.jsx",
"jsx",
"node"
],
"watchPlugins": [
"jest-watch-typeahead/filename",
"jest-watch-typeahead/testname"
],
"resetMocks": false,
"coverageThreshold": {
"global": {
"branches": 50,
"lines": 45
},
"src/components/Settings/**/*": {
"branches": 50,
"lines": 65
}
}
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"dependencies": {
"@babel/core": "^7.24.4",
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",
"@material-ui/core": "v5.0.0-alpha.24",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
"@reach/router": "^1.3.4",
"@react-pdf/renderer": "^3.1.12",
"@svgr/webpack": "^8.1.0",
"@types/material-ui": "^0.21.8",
"@types/react-webcam": "^3.0.0",
"babel-jest": "^29.7.0",
"babel-loader": "^9.1.3",
"babel-preset-react-app": "^10.0.1",
"base32-decode": "^1.0.0",
"base32-encode": "^1.2.0",
"bfj": "^8.0.0",
"browserify-zlib": "^0.2.0",
"browserslist": "^4.23.0",
"camelcase": "^6.2.1",
"case-sensitive-paths-webpack-plugin": "^2.4.0",
"classnames": "^2.5.1",
"crypto-browserify": "^3.12.0",
"css-loader": "^6.8.1",
"css-minimizer-webpack-plugin": "^6.0.0",
"dotenv": "^16.4.5",
"dotenv-expand": "^11.0.6",
"eslint": "^8.3.0",
"eslint-config-react-app": "^7.0.1",
"eslint-webpack-plugin": "^4.1.0",
"file-loader": "^6.2.0",
"file-saver": "^2.0.5",
"fs-extra": "^11.2.0",
"fxa-auth-client": "workspace:*",
"fxa-common-password-list": "^0.0.4",
"fxa-react": "workspace:*",
"html-webpack-plugin": "^5.6.0",
"identity-obj-proxy": "^3.0.0",
"jest": "^29.7.0",
"jest-watch-typeahead": "^1.0.0",
"lodash.groupby": "^4.6.0",
"mini-css-extract-plugin": "^2.9.0",
"postcss": "^8.4.46",
"postcss-flexbugs-fixes": "^5.0.2",
"postcss-loader": "^8.1.1",
"postcss-normalize": "^10.0.1",
"postcss-preset-env": "^9.5.0",
"react-app-polyfill": "^3.0.0",
"react-async-hook": "^4.0.0",
"react-dev-utils": "^12.0.1",
"react-easy-crop": "^5.0.0",
"react-hook-form": "^6.15.8",
"react-markdown": "^8.0.5",
"react-refresh": "^0.14.2",
"react-webcam": "^7.2.0",
"rehype-raw": "^6.1.1",
"resolve": "^1.22.8",
"resolve-url-loader": "^5.0.0",
"sass-loader": "^14.2.1",
"semver": "^7.6.3",
"source-map-loader": "^5.0.0",
"stream-browserify": "^3.0.0",
"style-loader": "^4.0.0",
"subscriptions-transport-ws": "^0.11.0",
"tailwindcss": "^3.4.1",
"terser-webpack-plugin": "^5.2.5",
"ua-parser-js": "1.0.35",
"uuid": "^10.0.0",
"webpack": "^5.94.0",
"webpack-dev-server": "^4.6.0",
"webpack-manifest-plugin": "^5.0.0",
"workbox-webpack-plugin": "^7.1.0"
},
"devDependencies": {
"@babel/core": "^7.24.4",
"@babel/plugin-transform-typescript": "^7.24.4",
"@babel/preset-typescript": "^7.24.1",
"@babel/types": "^7.24.0",
"@storybook/addon-actions": "^8.0.0",
"@storybook/addon-essentials": "^7.6.15",
"@storybook/addon-interactions": "^7.6.16",
"@storybook/addon-links": "^7.6.4",
"@storybook/addon-styling": "^1.3.0",
"@storybook/addons": "^7.5.2",
"@storybook/blocks": "^7.0.24",
"@storybook/preset-create-react-app": "^7.6.4",
"@storybook/react": "^7.1.1",
"@storybook/react-webpack5": "^7.0.23",
"@storybook/testing-library": "^0.2.0",
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.1.3",
"@testing-library/react-hooks": "^8.0.0",
"@testing-library/user-event": "^14.5.1",
"@types/babel__core": "7.20.5",
"@types/classnames": "^2.3.1",
"@types/file-saver": "^2.0.5",
"@types/jest": "^26.0.23",
"@types/lodash.groupby": "^4",
"@types/node": "^20.11.1",
"@types/prop-types": "^15",
"@types/reach__router": "^1.3.11",
"@types/react-router": "^5.1.19",
"@types/testing-library__react-hooks": "^4",
"@types/ua-parser-js": "^0.7.36",
"@types/uuid": "^10",
"@types/webpack": "5.28.0",
"babel-loader": "^9.1.3",
"babel-plugin-named-exports-order": "^0.0.2",
"babel-plugin-transform-typescript-metadata": "^0.3.2",
"eslint": "^7.32.0",
"eslint-config-react-app": "^6.0.0",
"eslint-plugin-jest": "^27.6.0",
"eslint-plugin-react": "^7.32.2",
"fxa-shared": "workspace:*",
"grunt": "^1.6.1",
"grunt-cli": "^1.4.3",
"grunt-contrib-concat": "^2.1.0",
"grunt-contrib-watch": "^1.1.0",
"jest-watch-typeahead": "0.6.5",
"mutationobserver-shim": "^0.3.7",
"nx": "18.3.1",
"persistgraphql": "^0.3.11",
"pm2": "^5.4.2",
"postcss-assets": "^6.0.0",
"postcss-import": "^16.1.0",
"prop-types": "^15.8.1",
"sinon": "^15.0.1",
"storybook": "^7.0.23",
"storybook-addon-rtl": "^0.5.0",
"style-loader": "^4.0.0",
"ts-jest": "^29.2.3",
"type-fest": "^4.25.0",
"typescript": "^5.5.3",
"webpack": "^5.94.0"
},
"nx": {
"implicitDependencies": [
"crypto-relier"
],
"tags": [
"scope:frontend",
"type:core"
]
},
"babel": {
"presets": [
"react-app"
]
},
"eslintConfig": {
"extends": "react-app"
}
}