{ "name": "koodo-reader", "main": "main.js", "version": "1.2.0", "description": "A cross-platform open source Epub reader ", "author": { "name": "App by Troye", "email": "guo362429@gmail.com" }, "repository": "https://github.com/troyeguo/koodo-desktop", "private": true, "dependencies": { "axios": "^0.19.2", "body-parser": "^1.19.0", "chardet": "^1.3.0", "copy-text-to-clipboard": "^2.2.0", "cors": "^2.8.5", "detect-port": "^1.3.0", "electron-is-dev": "^1.1.0", "express": "^4.17.1", "express-fileupload": "^1.2.0", "font-list": "^1.2.11", "i18next": "^19.4.4", "iconv-lite": "^0.6.2", "is-electron": "^2.2.0", "md5": "^2.3.0", "nodemon": "^2.0.6", "nodepub": "^2.2.0", "rc-color-picker": "^1.2.6", "react-device-detect": "^1.12.1", "react-dropzone": "^11.0.1", "react-i18next": "^9.0.10", "react-lottie": "^1.2.3", "react-router-dom": "^5.2.0", "request": "^2.88.2", "underscore": "^1.11.0", "webdav": "^3.6.2" }, "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 * --exec electron .\"", "pack": "electron-builder --dir", "release": "electron-builder ", "prerelease": "npm run build", "prepack": "npm run build", "predist": "npm run build" }, "homepage": "./", "build": { "appId": "koodo.960960.xyz", "productName": "Koodo Reader", "copyright": "Copyright © 2020 ${author}", "files": [ "build/**/*", "node_modules/**/*", "package.json", "main.js" ], "directories": { "buildResources": "assets" }, "publish": { "provider": "github" }, "extends": null, "dmg": { "contents": [ { "x": 410, "y": 150, "type": "link", "path": "/Applications" }, { "x": 130, "y": 150, "type": "file" } ] }, "mac": { "icon": "assets/icons/icon.icns", "category": "public.app-category.productivity", "artifactName": "${productName}-${version}.${ext}" }, "win": { "target": [ "nsis", "portable" ], "icon": "assets/icons/icon.ico", "artifactName": "${productName}-${version}.${ext}", "publisherName": "App by Troye" }, "linux": { "icon": "assets/icons", "category": "Office", "target": "AppImage" }, "portable": { "artifactName": "${productName}-${version}-Portable.${ext}" }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true } }, "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" ] ] }, "devDependencies": { "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", "@types/file-saver": "^2.0.1", "@types/i18next": "^13.0.0", "@types/i18next-browser-languagedetector": "^3.0.0", "@types/jest": "^25.2.1", "@types/md5": "^2.2.0", "@types/node": "^13.13.2", "@types/react": "^16.9.34", "@types/react-dom": "^16.9.6", "@types/react-dropzone": "^5.1.0", "@types/react-i18next": "^8.1.0", "@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": "^7.1.4", "electron-builder": "^22.3.6", "electron-is-dev": "^1.1.0", "file-saver": "^2.0.2", "html-react-parser": "^0.13.0", "localforage": "^1.7.3", "node-sass": "^4.13.0", "react": "^16.12.0", "react-dom": "^16.12.0", "react-hot-loader": "^4.12.21", "react-redux": "^7.2.0", "react-scripts": "3.4.0", "redux": "^4.0.5", "redux-thunk": "^2.3.0", "sass-loader": "^8.0.0", "source-map-explorer": "^2.5.0", "spark-md5": "^3.0.1", "typescript": "^3.8.3", "wait-on": "^3.3.0" } }