{ "name": "threetwo", "version": "0.0.2", "description": "ThreeTwo! A comic book curator.", "main": "server/index.js", "typings": "server/index.js", "scripts": { "build": "webpack --mode production", "start": "npm run build && npm run server", "client": "webpack serve --mode development --devtool inline-source-map --hot", "server": "tsc -p tsconfig.server.json && node server/", "dev": "concurrently \"nodemon\" \"npm run client\"", "server-dev": "nodemon", "docs": "jsdoc -c jsdoc.json" }, "author": "Rishi Ghan", "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.17", "@bluelovers/fast-glob": "https://github.com/rishighan/fast-glob-v2-api.git", "@dnd-kit/core": "^4.0.0", "@dnd-kit/sortable": "^5.0.0", "@fortawesome/fontawesome-free": "^6.0.0", "@types/mime-types": "^2.1.0", "@types/react": "^17.0.3", "@types/react-dom": "^17.0.2", "@types/react-redux": "^7.1.16", "@types/react-router-dom": "^5.1.7", "@types/sharp": "^0.28.0", "@types/socket.io": "^3.0.2", "@types/socket.io-client": "^3.0.0", "airdcpp-apisocket": "^2.4.4", "array-sort-by": "^1.2.1", "axios-cache-interceptor": "^0.8.8", "babel-polyfill": "^6.26.0", "better-docs": "^2.3.2", "calibre-opds": "^1.0.7", "comlink-loader": "^2.0.0", "compromise": "^13.11.3", "compromise-dates": "^2.2.1", "compromise-numbers": "^1.4.0", "compromise-sentences": "^0.3.0", "dayjs": "^1.10.6", "ellipsize": "^0.1.0", "express": "^4.17.1", "fastest-validator": "^1.11.0", "filename-parser": "^1.0.2", "final-form": "^4.20.2", "final-form-arrays": "^3.0.2", "html-to-text": "^8.1.0", "jsdoc": "^3.6.7", "opds-extra": "^3.0.9", "pretty-bytes": "^5.6.0", "react": "^17.0.2", "react-collapsible": "^2.8.3", "react-datepicker": "^4.5.0", "react-dom": "^17.0.2", "react-fast-compare": "^3.2.0", "react-final-form": "^6.5.3", "react-final-form-arrays": "^3.1.3", "react-hot-loader": "^4.13.0", "react-loader-spinner": "^4.0.0", "react-masonry-css": "^1.0.16", "react-notification-system": "^0.4.0", "react-notification-system-redux": "^2.0.1", "react-redux": "^7.2.6", "react-router": "^6.2.2", "react-router-dom": "^6.2.2", "react-select": "^5.2.1", "react-select-async-paginate": "^0.6.1", "react-slick": "^0.28.1", "react-sliding-pane": "^7.0.0", "react-stickynode": "^4.0.0", "react-table": "^7.7.0", "react-textarea-autosize": "^8.3.3", "react-window-dynamic-list": "^2.3.5", "redux-devtools-extension": "^2.13.9", "redux-first-history": "^5.0.8", "redux-socket.io-middleware": "^1.0.4", "redux-thunk": "^2.4.1", "sharp": "^0.28.1", "slick-carousel": "^1.8.1", "socket.io-client": "^4.3.2", "styled-components": "^5.3.3", "threetwo-ui-typings": "^1.0.14", "voca": "^1.4.0", "websocket": "^1.0.34", "ws": "^7.5.3", "ws-calibre": "https://github.com/bluelovers/ws-calibre", "xml2js": "^0.4.23", "xregexp": "^5.0.2" }, "devDependencies": { "@babel/cli": "^7.13.10", "@babel/core": "^7.13.10", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-transform-runtime": "^7.13.15", "@babel/preset-env": "^7.13.10", "@babel/preset-react": "^7.12.13", "@babel/preset-typescript": "^7.13.0", "@teamsupercell/typings-for-css-modules-loader": "^2.5.1", "@tsconfig/node14": "^1.0.0", "@types/express": "^4.17.8", "@types/jest": "^26.0.20", "@types/lodash": "^4.14.168", "@types/node": "^14.14.34", "@types/react": "^17.0.3", "@types/react-dom": "^17.0.2", "@types/react-redux": "^7.1.16", "@typescript-eslint/eslint-plugin": "^4.17.0", "@typescript-eslint/parser": "^4.17.0", "awesome-typescript-loader": "^5.2.1", "axios": "^0.21.1", "axios-rate-limit": "^1.3.0", "babel-eslint": "^10.0.0", "babel-loader": "^8.2.2", "babel-plugin-transform-class-properties": "^6.24.1", "body-parser": "^1.19.0", "buffer": "^6.0.3", "bulma": "^0.9.3", "clean-webpack-plugin": "^1.0.0", "comlink": "^4.3.0", "compromise-strict": "^0.0.2", "concurrently": "^4.0.0", "copy-webpack-plugin": "^9.0.1", "css-loader": "^5.1.2", "eslint": "^7.22.0", "eslint-config-airbnb": "^18.2.1", "eslint-config-airbnb-base": "^14.2.1", "eslint-config-prettier": "^8.1.0", "eslint-plugin-css-modules": "^2.11.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-jsx-a11y": "^6.0.3", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-react": "^7.22.0", "express": "^4.17.1", "file-loader": "^6.2.0", "fs-extra": "^9.1.0", "html-webpack-plugin": "^5.3.1", "http-response-stream": "^1.0.9", "image-webpack-loader": "^8.1.0", "install": "^0.13.0", "jest": "^26.6.3", "lodash": "^4.17.21", "mini-css-extract-plugin": "^1.4.1", "node-sass": "^7.0.1", "nodemon": "^1.17.3", "npm": "^7.9.0", "prettier": "^2.2.1", "qs": "^6.10.1", "rimraf": "^3.0.2", "sass-loader": "^11.0.1", "source-map-loader": "^0.2.4", "string-similarity": "^4.0.4", "style-loader": "^2.0.0", "tslint": "^6.1.3", "typescript": "^4.2.3", "url-loader": "^1.0.1", "webpack": "^5.70.0", "webpack-bundle-analyzer": "^4.4.2", "webpack-cli": "^4.6.0", "webpack-dev-server": "^4.7.4", "webpack-merge": "^5.7.3" } }