ahbeng/NUSMods

View on GitHub
website/package.json

Summary

Maintainability
Test Coverage
{
  "name": "nusmods",
  "version": "3.0.0-alpha",
  "description": "NUSMods v3",
  "scripts": {
    "start": "cross-env NODE_ENV=development webpack serve --config webpack/webpack.config.dev.js",
    "start:export": "cross-env NODE_ENV=development OPEN_BROWSER=0 webpack serve --config webpack/webpack.config.timetable-only.js --port 8081",
    "build": "cross-env NODE_ENV=production node scripts/build",
    "rsync": "rsync -avu dist/",
    "rsync:export": "rsync -avu --delete-after dist-timetable/",
    "promote-staging": "bash scripts/promote-staging.sh",
    "typecheck": "tsc --noEmit",
    "lint": "run-p \"lint:**\"",
    "lint:code": "eslint --ext .js,.ts,.tsx api scripts src webpack",
    "lint:styles": "stylelint \"src/**/*.scss\" --syntax scss",
    "test": "jest --coverage",
    "test:integration": "jest --config jest.integration.config.js",
    "test:watch": "jest --watch",
    "e2e": "nightwatch -e default,safariMobile,safariDesktop,edge",
    "ci": "cross-env NODE_ENV=production yarn lint && yarn typecheck && yarn test && yarn test:integration && yarn build"
  },
  "author": "NUSModifications",
  "license": "MIT",
  "devDependencies": {
    "@babel/cli": "7.22.10",
    "@babel/core": "7.22.10",
    "@babel/plugin-proposal-class-properties": "7.18.6",
    "@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
    "@babel/plugin-proposal-object-rest-spread": "7.20.7",
    "@babel/plugin-proposal-optional-chaining": "7.21.0",
    "@babel/plugin-syntax-dynamic-import": "7.8.3",
    "@babel/plugin-transform-react-constant-elements": "7.22.5",
    "@babel/plugin-transform-react-inline-elements": "7.22.5",
    "@babel/preset-env": "7.22.10",
    "@babel/preset-react": "7.22.5",
    "@babel/preset-typescript": "7.22.5",
    "@packtracker/webpack-plugin": "2.3.0",
    "@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
    "@svgr/webpack": "6.5.1",
    "@testing-library/jest-dom": "5.17.0",
    "@testing-library/react": "11.2.7",
    "@testing-library/user-event": "12.8.3",
    "@types/body-scroll-lock": "2.6.2",
    "@types/enzyme": "3.10.13",
    "@types/jest": "29.5.3",
    "@types/json2mq": "0.2.0",
    "@types/leaflet": "1.9.3",
    "@types/lodash": "4.14.197",
    "@types/mousetrap": "1.6.11",
    "@types/no-scroll": "2.1.0",
    "@types/react": "17.0.64",
    "@types/react-beautiful-dnd": "13.1.4",
    "@types/react-dom": "17.0.20",
    "@types/react-helmet": "6.1.6",
    "@types/react-kawaii": "0.17.0",
    "@types/react-loadable": "5.5.7",
    "@types/react-modal": "3.16.0",
    "@types/react-redux": "7.1.25",
    "@types/react-router-dom": "5.3.3",
    "@types/react-scrollspy": "3.3.5",
    "@types/redux-mock-store": "1.0.3",
    "@types/use-subscription": "1.0.0",
    "@types/webpack-env": "1.18.1",
    "@typescript-eslint/eslint-plugin": "4.33.0",
    "@typescript-eslint/parser": "4.33.0",
    "@vercel/node": "1.15.4",
    "@wojtekmaj/enzyme-adapter-react-17": "0.8.0",
    "babel-jest": "29.6.2",
    "babel-loader": "9.1.3",
    "babel-plugin-dynamic-import-node": "2.3.3",
    "babel-plugin-lodash": "3.3.4",
    "babel-plugin-transform-react-class-to-function": "1.2.2",
    "babel-plugin-transform-react-remove-prop-types": "0.4.24",
    "chalk": "4.1.2",
    "codecov": "3.8.2",
    "copy-webpack-plugin": "10.2.4",
    "cross-env": "7.0.3",
    "css-loader": "6.8.1",
    "cssnano": "4.1.11",
    "enzyme": "3.11.0",
    "enzyme-to-json": "3.6.2",
    "eslint": "7.32.0",
    "eslint-config-airbnb": "18.2.1",
    "eslint-config-prettier": "7.2.0",
    "eslint-import-resolver-webpack": "0.13.7",
    "eslint-plugin-import": "2.28.1",
    "eslint-plugin-jsx-a11y": "6.7.1",
    "eslint-plugin-prettier": "3.4.1",
    "eslint-plugin-react": "7.33.2",
    "eslint-plugin-react-hooks": "4.6.0",
    "fast-json-stable-stringify": "2.1.0",
    "fs-extra": "9.1.0",
    "graceful-fs": "4.2.11",
    "html-webpack-plugin": "5.5.3",
    "http-status": "1.6.2",
    "icalendar": "0.7.1",
    "identity-obj-proxy": "3.0.0",
    "jest": "29.6.2",
    "jest-environment-jsdom": "^29.5.0",
    "jest-junit": "16.0.0",
    "mini-css-extract-plugin": "1.6.2",
    "nightwatch": "0.9.21",
    "npm-run-all": "4.1.5",
    "postcss": "^8.4.24",
    "postcss-loader": "7.3.3",
    "prettier": "2.8.8",
    "react-dev-utils": "11.0.4",
    "react-refresh": "0.14.0",
    "redux-logger": "3.0.6",
    "redux-mock-store": "1.5.4",
    "sass": "1.66.1",
    "sass-loader": "10.4.1",
    "style-loader": "2.0.0",
    "stylelint": "13.13.1",
    "stylelint-config-prettier": "8.0.2",
    "stylelint-config-standard": "20.0.0",
    "stylelint-order": "4.1.0",
    "terser-webpack-plugin": "5.3.9",
    "typescript": "5.1.6",
    "url-loader": "4.1.1",
    "webpack": "5.88.2",
    "webpack-cli": "4.10.0",
    "webpack-dev-server": "4.15.1",
    "webpack-merge": "5.9.0"
  },
  "dependencies": {
    "@authenio/samlify-node-xmllint": "2.0.0",
    "@material/fab": "0.40.1",
    "@material/snackbar": "0.40.1",
    "@sentry/browser": "6.19.7",
    "@sentry/node": "6.19.7",
    "@sentry/tracing": "6.19.7",
    "@tippy.js/react": "3.1.1",
    "axios": "1.4.0",
    "body-scroll-lock": "3.1.5",
    "bootstrap": "4.6.2",
    "bowser": "2.11.0",
    "browserslist-config-nusmods": "file:../packages/browserslist-config-nusmods",
    "classnames": "2.3.2",
    "core-js": "3.32.1",
    "date-fns": "2.30.0",
    "downshift": "6.1.12",
    "ical-generator": "https://github.com/nusmodifications/ical-generator.git#a2aa62ed",
    "immer": "8.0.4",
    "json2mq": "0.2.0",
    "leaflet": "1.9.4",
    "leaflet-gesture-handling": "1.2.2",
    "lodash": "4.17.21",
    "mousetrap": "1.6.5",
    "nusmoderator": "3.0.0",
    "p-queue": "6.6.2",
    "query-string": "6.14.1",
    "react": "17.0.2",
    "react-beautiful-dnd": "13.1.1",
    "react-dom": "17.0.2",
    "react-feather": "2.0.10",
    "react-helmet": "6.1.0",
    "react-kawaii": "0.18.0",
    "react-leaflet": "3.2.5",
    "react-loadable": "5.5.0",
    "react-modal": "3.16.1",
    "react-qr-svg": "2.4.0",
    "react-redux": "7.2.9",
    "react-router-dom": "5.3.4",
    "react-scrollspy": "3.4.3",
    "redux": "4.2.1",
    "redux-persist": "6.0.0",
    "redux-thunk": "2.4.2",
    "reselect": "4.1.8",
    "samlify": "2.7.7",
    "searchkit": "2.4.1-alpha.5",
    "use-subscription": "1.8.0"
  },
  "browserslist": [
    "extends browserslist-config-nusmods"
  ]
}