* 🔧 Refactoring uncompression methods on client-side * ✏️ Refactoring * 👁️ Updates to the comic viewer * 🖼️ Added screenshots from December 2022 * ✏️ Fixed typo in README * 🏗️ Massive refactor around archive uncompression for reading/analysis * 🔧 Tweaked state vars for reading and analysis * 🏗️ Refactor to support DC++ and socket.io integration This refactor covers the following workflows: 1. Adding a comic from LOCG or ComicVine adds it to the wanted list 2. Downloading that comic from DC++ correctly adds download metadata to the corresponding comic object in mongo 3. Successful download triggers automatic import to library and cover extraction, metadata application
186 lines
6.1 KiB
JSON
186 lines
6.1 KiB
JSON
{
|
|
"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",
|
|
"storybook": "start-storybook -p 6006",
|
|
"build-storybook": "build-storybook"
|
|
},
|
|
"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",
|
|
"@dnd-kit/utilities": "^3.2.0",
|
|
"@fortawesome/fontawesome-free": "^6.1.1",
|
|
"@parcel/config-default": "^2.6.0",
|
|
"@redux-devtools/extension": "^3.2.2",
|
|
"@tanstack/react-table": "^8.5.11",
|
|
"@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": "^0.27.2",
|
|
"axios-rate-limit": "^1.3.0",
|
|
"axios-simple-cache-adapter": "^1.1.0",
|
|
"babel-polyfill": "^6.26.0",
|
|
"babel-preset-minify": "^0.5.2",
|
|
"better-docs": "^2.7.2",
|
|
"comlink-loader": "^2.0.0",
|
|
"compromise": "^13.11.3",
|
|
"compromise-dates": "^2.2.1",
|
|
"compromise-numbers": "^1.4.0",
|
|
"compromise-sentences": "^0.3.0",
|
|
"date-fns": "^2.28.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.10",
|
|
"lodash": "^4.17.21",
|
|
"opds-extra": "^3.0.9",
|
|
"pretty-bytes": "^5.6.0",
|
|
"prop-types": "^15.8.1",
|
|
"qs": "^6.10.5",
|
|
"react": "^18.2.0",
|
|
"react-collapsible": "^2.9.0",
|
|
"react-comic-viewer": "^0.4.0",
|
|
"react-day-picker": "^8.0.6",
|
|
"react-dom": "^18.1.0",
|
|
"react-fast-compare": "^3.2.0",
|
|
"react-final-form": "^6.5.9",
|
|
"react-final-form-arrays": "^3.1.3",
|
|
"react-loader-spinner": "^4.0.0",
|
|
"react-masonry-css": "^1.0.16",
|
|
"react-modal": "^3.15.1",
|
|
"react-redux": "^7.2.6",
|
|
"react-router": "^6.2.2",
|
|
"react-router-dom": "^6.2.2",
|
|
"react-select": "^5.3.2",
|
|
"react-select-async-paginate": "^0.6.1",
|
|
"react-slick": "^0.29.0",
|
|
"react-sliding-pane": "^7.1.0",
|
|
"react-stickynode": "^4.0.0",
|
|
"react-textarea-autosize": "^8.3.4",
|
|
"reapop": "^4.0.5",
|
|
"redux-first-history": "^5.0.9",
|
|
"redux-socket.io-middleware": "^1.0.4",
|
|
"redux-thunk": "^2.4.1",
|
|
"sharp": "^0.30.5",
|
|
"slick-carousel": "^1.8.1",
|
|
"socket.io-client": "^4.3.2",
|
|
"styled-components": "^5.3.5",
|
|
"threetwo-ui-typings": "^1.0.14",
|
|
"voca": "^1.4.0",
|
|
"websocket": "^1.0.34",
|
|
"ws": "^7.5.3",
|
|
"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",
|
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
|
|
"@storybook/addon-actions": "^6.5.9",
|
|
"@storybook/addon-essentials": "^6.5.9",
|
|
"@storybook/addon-interactions": "^6.5.9",
|
|
"@storybook/addon-links": "^6.5.9",
|
|
"@storybook/builder-webpack4": "^6.5.9",
|
|
"@storybook/builder-webpack5": "^6.5.9",
|
|
"@storybook/manager-webpack4": "^6.5.9",
|
|
"@storybook/manager-webpack5": "^6.5.9",
|
|
"@storybook/preset-scss": "^1.0.3",
|
|
"@storybook/react": "^6.5.9",
|
|
"@storybook/testing-library": "^0.0.13",
|
|
"@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",
|
|
"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",
|
|
"mini-css-extract-plugin": "^1.4.1",
|
|
"node-sass": "^7.0.1",
|
|
"nodemon": "^1.17.3",
|
|
"npm": "^8.11.0",
|
|
"prettier": "^2.2.1",
|
|
"react-refresh": "^0.14.0",
|
|
"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.73.0",
|
|
"webpack-bundle-analyzer": "^4.4.2",
|
|
"webpack-cli": "^4.6.0",
|
|
"webpack-dev-server": "^4.7.4",
|
|
"webpack-merge": "^5.7.3"
|
|
},
|
|
"resolutions": {
|
|
"@storybook/react/webpack": "^5"
|
|
}
|
|
}
|