{ "name": "koodo-reader", "main": "main.js", "version": "1.5.2", "description": "A cross-platform ebook reader", "author": { "name": "App by Troye", "email": "support@960960.xyz" }, "engines": { "node": "<15.0.0", "npm": ">=6.0.0" }, "repository": "https://github.com/troyeguo/koodo-reader", "private": false, "resolutions": {}, "dependencies": { "@iarna/rtf-to-html": "^1.1.0", "@types/chardet": "^0.8.1", "@vitalets/google-translate-api": "^8.0.0", "adm-zip": "^0.5.2", "axios": "^0.19.2", "bing-translate-api": "^2.7.0", "copy-text-to-clipboard": "^2.2.0", "electron-is-dev": "^1.1.0", "electron-store": "^8.0.1", "epub-cfi-resolver": "^1.0.2", "font-list": "^1.4.5", "fs-extra": "^9.1.0", "jschardet": "^3.0.0", "mhtml2html": "^3.0.0", "react-hot-toast": "^2.1.1", "request": "^2.88.2", "webdav": "^3.6.2", "webdav-fs": "^3.0.0", "zip-a-folder": "^0.0.12" }, "devDependencies": { "@types/express": "^4.17.15", "@types/file-saver": "^2.0.1", "@types/i18next": "^13.0.0", "@types/marked": "^2.0.2", "@types/md5": "^2.2.0", "@types/node": "^13.13.2", "@types/react": "17.0.2", "@types/react-dom": "17.0.2", "@types/react-i18next": "^8.1.0", "@types/react-lottie": "^1.2.5", "@types/react-redux": "^7.1.7", "@types/react-router-dom": "^5.1.6", "@types/spark-md5": "^3.0.2", "@types/underscore": "^1.10.24", "classnames": "^2.2.6", "concurrently": "^5.0.1", "cross-env": "^6.0.3", "electron": "14.1.1", "electron-builder": "^23.6.0", "file-saver": "^2.0.2", "hard-source-webpack-plugin": "^0.13.1", "html-react-parser": "^0.13.0", "i18next": "^20.2.4", "localforage": "^1.7.3", "md5": "^2.3.0", "node-sass": "^4.13.0", "nodemon": "^2.0.6", "rc-color-picker": "^1.2.6", "react": "^17.0.2", "react-device-detect": "^1.12.1", "react-dom": "^17.0.2", "react-dropzone": "^11.3.0", "react-i18next": "^11.8.15", "react-lottie": "^1.2.3", "react-redux": "^7.2.0", "react-router-dom": "^5.2.0", "react-scripts": "^5.0.1", "react-tippy": "^1.4.0", "redux": "^4.0.5", "redux-thunk": "^2.3.0", "sass-loader": "^8.0.0", "source-map-explorer": "^2.5.2", "spark-md5": "^3.0.1", "typescript": "3.8.3", "wait-on": "^3.3.0" }, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", "ele": "electron .", "dev": "concurrently \"cross-env BROWSER=none npm start\" \"wait-on http://localhost:3000/ && nodemon --watch main.js --exec electron .\"", "trans": "nodemon i18n.js" }, "homepage": "./", "build": { "appId": "xyz.960960.koodo", "productName": "Koodo Reader", "copyright": "Copyright (c) 2021-2022 ${author}", "files": [ "build/**/*", "node_modules/**/*", "package.json", "main.js" ], "directories": { "buildResources": "assets" }, "publish": { "provider": "github" }, "fileAssociations": [ { "ext": "epub", "icon": "assets/icons/epub", "role": "Viewer", "mimeType": "application/epub+zip" }, { "ext": "pdf", "icon": "assets/icons/pdf", "role": "Viewer", "mimeType": "application/pdf" }, { "ext": "mobi", "icon": "assets/icons/mobi", "role": "Viewer", "mimeType": "application/x-mobipocket-ebook" }, { "ext": "azw3", "icon": "assets/icons/azw3", "role": "Viewer", "mimeType": "application/vnd.amazon.ebook" }, { "ext": "azw", "icon": "assets/icons/azw3", "role": "Viewer", "mimeType": "application/vnd.amazon.ebook" }, { "ext": "djvu", "icon": "assets/icons/pdf", "role": "Viewer", "mimeType": "image/vnd.djvu" }, { "ext": "cbz", "icon": "assets/icons/comic", "role": "Viewer", "mimeType": "application/x-cbz" }, { "ext": "cbr", "icon": "assets/icons/comic", "role": "Viewer", "mimeType": "application/x-cbr" }, { "ext": "cbt", "icon": "assets/icons/comic", "role": "Viewer", "mimeType": "application/x-cbt" }, { "ext": "cb7", "icon": "assets/icons/comic", "role": "Viewer", "mimeType": "application/x-cb7" }, { "ext": "fb2", "icon": "assets/icons/fb2", "role": "Viewer", "mimeType": "application/x-fictionbook+xml" } ], "extends": null, "dmg": { "contents": [ { "x": 410, "y": 150, "type": "link", "path": "/Applications" }, { "x": 130, "y": 150, "type": "file" } ] }, "mac": { "target": [ { "target": "dmg", "arch": [ "x64", "arm64" ] } ], "icon": "assets/icons/icon.icns", "category": "public.app-category.productivity", "artifactName": "${productName}-${version}-${arch}.${ext}" }, "win": { "target": [ { "target": "nsis", "arch": [ "x64" ] }, { "target": "zip", "arch": [ "x64", "ia32" ] }, { "target": "portable", "arch": [ "x64" ] } ], "icon": "assets/icons/icon.ico", "artifactName": "${productName}-${version}-${arch}-Win.${ext}", "publisherName": "App by Troye" }, "linux": { "icon": "assets/icons", "category": "Office", "target": [ "AppImage", "deb", "snap", "rpm" ], "artifactName": "${productName}-${version}.${ext}" }, "portable": { "artifactName": "${productName}-${version}-Portable.${ext}" }, "nsis": { "artifactName": "${productName}-${version}.${ext}", "oneClick": false, "allowToChangeInstallationDirectory": true, "include": "assets/windows/installer.nsh" }, "snap": { "publish": [ { "provider": "github" } ] } }, "eslintConfig": { "extends": "react-app" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "babel": { "presets": [ "react-app" ], "plugins": [ [ "react-hot-loader/babel" ] ] } }