{
  "name": "@edx/studio-frontend",
  "version": "2.4.0",
  "description": "The frontend for the Open edX platform",
  "repository": "edx/studio-frontend",
  "scripts": {
    "build": "NODE_ENV=production BABEL_ENV=production $(npm bin)/webpack --config=config/webpack.prod.config.js",
    "i18n_extract": "BABEL_ENV=i18n $(npm bin)/babel src --quiet > /dev/null",
    "lint": "eslint --ext .js --ext .jsx .",
    "lint_fix": "eslint --fix --ext .js --ext .jsx .",
    "prepare": "npm run build",
    "start": "NODE_ENV=development BABEL_ENV=development $(npm bin)/webpack serve --config=config/webpack.dev.config.js --hot --inline --progress",
    "test": "jest --runInBand --coverage"
  },
  "license": "AGPL-3.0",
  "dependencies": {
    "@babel/polyfill": "^7.0.0",
    "@edx/edx-bootstrap": "^1.0.0",
    "@edx/paragon": "3.4.8",
    "airbnb-prop-types": "^2.10.0",
    "classnames": "^2.2.5",
    "copy-to-clipboard": "^3.0.8",
    "custom-event-polyfill": "^0.3.0",
    "font-awesome": "^4.7.0",
    "js-cookie": "^2.1.4",
    "popper.js": "^1.12.5",
    "prop-types": "^15.5.10",
    "react": "^16.2.0",
    "react-dom": "^16.1.0",
    "react-dropzone": "^4.2.3",
    "react-intl": "^2.4.0",
    "react-intl-translations-manager": "^5.0.1",
    "react-redux": "^5.0.6",
    "react-transition-group": "^2.2.1",
    "redux": "^4.0.0",
    "redux-devtools-extension": "^2.13.3",
    "redux-thunk": "^2.2.0",
    "reselect": "^3.0.1",
    "whatwg-fetch": "^2.0.3"
  },
  "devDependencies": {
    "@babel/cli": "^7.0.0",
    "@babel/core": "^7.2.3",
    "@babel/eslint-parser": "^7.18.2",
    "@babel/plugin-proposal-class-properties": "^7.0.0",
    "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@babel/preset-react": "^7.0.0",
    "@commitlint/cli": "^6.1.3",
    "@commitlint/config-angular": "^6.1.3",
    "@edx/eslint-config": "^3.1.0",
    "@edx/reactifex": "^1.1.0",
    "autoprefixer": "^7.2.5",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^9.0.0",
    "babel-jest": "^23.4.2",
    "babel-loader": "^8.0.0",
    "babel-plugin-react-intl": "^2.3.1",
    "css-loader": "^0.28.11",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "eslint": "^8.16.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-edx": "4.0.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-jsx-a11y": "^6.5.1",
    "eslint-plugin-react": "^7.30.0",
    "eslint-plugin-react-hooks": "^4.5.0",
    "extract-text-webpack-plugin": "^4.0.0-beta.0",
    "fetch-mock": "^5.13.1",
    "file-loader": "^1.1.11",
    "html-webpack-harddisk-plugin": "^0.2.0",
    "html-webpack-plugin": "^3.1.0",
    "husky": "^0.14.3",
    "identity-obj-proxy": "^3.0.0",
    "ignore-loader": "^0.1.2",
    "jest": "^22.4.3",
    "null-loader": "^0.1.1",
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "postcss-initial": "^2.0.0",
    "postcss-loader": "^2.1.2",
    "postcss-prepend-selector": "^0.3.1",
    "postcss-pseudo-class-any-link": "^4.0.0",
    "postcss-strip-font-face": "^1.0.0",
    "raw-loader": "^0.5.1",
    "react-dev-utils": "^4.0.0",
    "react-test-renderer": "^16.1.0",
    "reactifex": "1.1.1",
    "redux-mock-store": "^1.3.0",
    "sass": "^1.48.0",
    "sass-loader": "^7.0.1",
    "semantic-release": "^17.2.3",
    "style-loader": "^0.20.3",
    "webpack": "^4.46.0",
    "webpack-cli": "^4.0.0",
    "webpack-dev-server": "^3.1.1",
    "webpack-merge": "^4.1.2"
  },
  "jest": {
    "setupFiles": [
      "./shim.js",
      "./setupTests.js"
    ],
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
      "\\.(css|scss)$": "identity-obj-proxy"
    },
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}"
    ],
    "coveragePathIgnorePatterns": [
      "<rootDir>/node_modules/",
      "<rootDir>/src/accessibilityIndex.jsx",
      "<rootDir>/src/courseHealthCheckIndex.jsx",
      "<rootDir>/src/courseOutlineHealthCheckIndex.jsx",
      "<rootDir>/src/index.jsx",
      "<rootDir>/src/editImageModalIndex.jsx",
      "<rootDir>/src/components/BackendStatusBanner/",
      "<rootDir>/src/.*/container.jsx",
      "<rootDir>/src/i18n/",
      "<rootDir>/src/utils/matches-prefixer.js",
      "<rootDir>/src/utils/mockPortals.js",
      "<rootDir>/src/utils/mockQuerySelector.js"
    ],
    "transformIgnorePatterns": [
      "/node_modules/(?!(@edx/paragon)/).*/"
    ],
    "testPathIgnorePatterns": [],
    "globals": {
      "studioContext": {}
    }
  }
}
