client/package.json
{
"name": "ifme",
"private": true,
"scripts": {
"build:i18n": "bundle exec rake react_on_rails:locale",
"build:test": "NODE_ENV=test webpack --config webpack.config.js",
"build:production": "yarn build:i18n && NODE_ENV=production webpack --config webpack.config.js",
"build:development": "yarn build:i18n && NODE_ENV=development webpack -w --config webpack.config.js",
"build:production:debug": "yarn build:production --display-modules --sort-modules-by size",
"build:storybook": "npm run build:i18n && build-storybook -c .storybook -o .out",
"lint:flow": "flow",
"lint:eslint": "eslint 'app/**/*.js' 'app/**/*.jsx'",
"lint:prettier": "./node_modules/.bin/prettier \"app/**/*.{js,jsx}\" --write --single-quote --trailing-comma all",
"lint:stylelint": "yarn run stylelint --fix \"../**/*.scss\"",
"lint": "yarn lint:flow && yarn lint:prettier && yarn lint:stylelint && yarn lint:eslint --fix",
"storybook": "yarn build:i18n && start-storybook -p 6006",
"test": "yarn build:i18n && yarn build:test && NODE_PATH=./app jest",
"test:debug": "yarn build:i18n && yarn build:test && NODE_PATH=./app node --inspect-brk jest --runInBand",
"test:circleci": "yarn build:test && NODE_PATH=./app jest --coverage --runInBand",
"deploy:storybook": "chmod +x ./.storybook/deploy.sh && ./.storybook/deploy.sh"
},
"cacheDirectories": [
"node_modules",
"client/node_modules"
],
"dependencies": {
"@babel/polyfill": "^7.4.4",
"@babel/runtime": "^7.5.5",
"@fortawesome/fontawesome-svg-core": "^1.2.22",
"@fortawesome/free-solid-svg-icons": "^5.10.2",
"@fortawesome/react-fontawesome": "^0.1.4",
"@sentry/browser": "^5.6.3",
"axios": "^1.6.0",
"babel-core": "7.0.0-bridge.0",
"chart.js": "^2.9.4",
"chartkick": "^3.1.1",
"core-js": "3",
"dompurify": "^2.3.3",
"dot-prop": "^5.1.1",
"es5-shim": "^4.5.13",
"font-awesome": "^4.7.0",
"history": "^4.9.0",
"js-cookie": "^2.2.1",
"jstimezonedetect": "^1.0.6",
"location-autocomplete": "^1.2.4",
"merge": "^2.1.1",
"node-polyfill-webpack-plugin": "^2.0.1",
"pell": "^1.0.6",
"react": "^17.0.2",
"react-autosuggest": "^10.1.0",
"react-chartkick": "^0.4.0",
"react-dom": "^17.0.2",
"react-lazyload": "^3.2.0",
"react-on-rails": "12.0.1",
"react-render-html": "^0.6.0"
},
"devDependencies": {
"@babel/core": "^7.5.5",
"@babel/eslint-parser": "^7.17.0",
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@babel/plugin-proposal-private-methods": "^7.16.11",
"@babel/plugin-proposal-private-property-in-object": "^7.16.7",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/plugin-transform-modules-commonjs": "^7.5.0",
"@babel/plugin-transform-runtime": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/preset-flow": "^7.14.5",
"@babel/preset-react": "^7.14.5",
"@storybook/addon-essentials": "^6.5.12",
"@storybook/addon-links": "^6.5.12",
"@storybook/addons": "^6.5.12",
"@storybook/builder-webpack5": "^6.5.12",
"@storybook/manager-webpack5": "^6.5.12",
"@storybook/react": "^6.5.12",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^12.1.5",
"@testing-library/user-event": "^14.4.3",
"babel-cli": "^6.24.1",
"babel-jest": "^26.2.2",
"babel-loader": "^8.0.6",
"babel-plugin-flow-react-proptypes": "^26.0.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
"compression-webpack-plugin": "^10.0.0",
"css-loader": "^3.5.3",
"eslint": "^7.6.0",
"eslint-config-airbnb": "^18.0.1",
"eslint-import-resolver-webpack": "^0.12.1",
"eslint-plugin-flowtype": "^8.0.3",
"eslint-plugin-ft-flow": "^2.0.1",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jest": "^24.0.0",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "^7.14.3",
"extract-css-chunks-webpack-plugin": "^4.9.0",
"file-loader": "^6.0.0",
"flow-bin": "^0.176.1",
"flow-typed": "^3.8.0",
"glob": "^8.0.3",
"identity-obj-proxy": "^3.0.0",
"jest": "^26.2.2",
"jest-canvas-mock": "^2.4.0",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"prettier-eslint": "^11.0.0",
"react-test-renderer": "^17.0.2",
"sass": "^1.50.0",
"sass-loader": "^13.3.2",
"stylelint": "^13.7.2",
"stylelint-config-standard": "^20.0.0",
"surge": "^0.23.1",
"terser-webpack-plugin": "^5.3.6",
"url-loader": "^4.0.0",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4",
"webpack-manifest-plugin": "^5.0.0",
"yml-loader": "^2.1.0"
},
"jest": {
"moduleNameMapper": {
"\\.scss$": "identity-obj-proxy",
"^.+\\.svg$": "<rootDir>/jest/svgTransform.js",
"axios": "axios/dist/node/axios.cjs"
},
"setupFiles": [
"./app/libs/testHelper.js",
"jest-canvas-mock"
],
"setupFilesAfterEnv": [
"@testing-library/jest-dom/extend-expect"
],
"testRegex": "./app/.*.spec\\.jsx?$",
"transform": {
"^.+\\.jsx?$": "babel-jest"
}
},
"resolutions": {
"minimist": "^1.2.6",
"marked": ">=0.6.2",
"braces": ">=2.3.1",
"https-proxy-agent": "^2.2.3",
"dot-prop": "^5.1.1",
"elliptic": "6.5.4",
"serialize-javascript": "^3.1.0",
"node-fetch": "2.6.6",
"react-dom": "^17.0.2",
"react": "^17.0.2",
"webpack": "5.88.2"
},
"browserslist": [
"defaults"
]
}