/ package.json
package.json
  1  {
  2    "name": "plebchan",
  3    "version": "0.2.7",
  4    "description": "A GUI for plebbit similar to 4chan",
  5    "type": "module",
  6    "author": "plebeius.eth",
  7    "private": true,
  8    "dependencies": {
  9      "@capacitor/app": "6.0.1",
 10      "@floating-ui/react": "0.26.1",
 11      "@plebbit/plebbit-react-hooks": "https://github.com/plebbit/plebbit-react-hooks.git#master",
 12      "@testing-library/jest-dom": "5.14.1",
 13      "@testing-library/react": "13.0.0",
 14      "@testing-library/user-event": "13.2.1",
 15      "@types/jest": "29.5.5",
 16      "@types/node": "20.8.2",
 17      "@types/react": "18.2.25",
 18      "@types/react-dom": "18.2.10",
 19      "cross-env": "7.0.3",
 20      "electron-context-menu": "3.3.0",
 21      "electron-is-dev": "2.0.0",
 22      "ext-name": "5.0.0",
 23      "i18next": "23.5.1",
 24      "i18next-browser-languagedetector": "7.1.0",
 25      "i18next-http-backend": "2.2.2",
 26      "json-stringify-pretty-compact": "4.0.0",
 27      "lodash": "4.17.21",
 28      "memoizee": "0.4.15",
 29      "prettier": "3.0.3",
 30      "react": "18.2.0",
 31      "react-dom": "18.2.0",
 32      "react-draggable": "4.4.6",
 33      "react-i18next": "13.2.2",
 34      "react-markdown": "8.0.6",
 35      "react-router-dom": "6.16.0",
 36      "react-router-hash-link": "2.4.3",
 37      "react-scripts": "5.0.1",
 38      "react-virtuoso": "4.7.8",
 39      "rehype-sanitize": "5.0.1",
 40      "remark-gfm": "3.0.1",
 41      "remark-supersub": "1.0.0",
 42      "tcp-port-used": "1.0.2",
 43      "typescript": "5.2.2",
 44      "zustand": "4.4.3"
 45    },
 46    "scripts": {
 47      "start": "react-scripts start",
 48      "build": "cross-env PUBLIC_URL=./ GENERATE_SOURCEMAP=false react-scripts build",
 49      "build-netlify": "cross-env PUBLIC_URL=./ GENERATE_SOURCEMAP=true REACT_APP_COMMIT_REF=$COMMIT_REF CI='' react-scripts build",
 50      "test": "react-scripts test",
 51      "analyze-bundle": "cross-env PUBLIC_URL=./ GENERATE_SOURCEMAP=true react-scripts build && source-map-explorer 'build/static/js/*.js'",
 52      "eject": "react-scripts eject",
 53      "electron": "yarn electron:before && electron .",
 54      "electron:no-delete-data": "yarn electron:before:download-ipfs && electron .",
 55      "electron:start": "concurrently \"cross-env BROWSER=none yarn start\" \"wait-on http://localhost:3000 && yarn electron\"",
 56      "electron:start:no-delete-data": "concurrently \"cross-env BROWSER=none yarn start\" \"wait-on http://localhost:3000 && yarn electron:no-delete-data\"",
 57      "electron:build:linux": "electron-builder build --publish never -l",
 58      "electron:build:windows": "electron-builder build --publish never -w",
 59      "electron:build:mac": "electron-builder build --publish never -m",
 60      "electron:before": "yarn electron:before:download-ipfs && yarn electron:before:delete-data",
 61      "electron:before:download-ipfs": "node electron/download-ipfs",
 62      "electron:before:delete-data": "rimraf .plebbit",
 63      "android:build:icons": "cordova-res android --skip-config --copy --resources /tmp/plebbit-react-android-icons --icon-source ./android/icons/icon.png --splash-source ./android/icons/splash.png --icon-foreground-source ./android/icons/icon-foreground.png --icon-background-source '#ffffee'",
 64      "prettier": "prettier {src,electron}/**/*.{js,ts,tsx} --write",
 65      "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
 66    },
 67    "eslintConfig": {
 68      "extends": [
 69        "react-app",
 70        "react-app/jest"
 71      ]
 72    },
 73    "browserslist": {
 74      "production": [
 75        "chrome >= 67",
 76        "edge >= 79",
 77        "firefox >= 68",
 78        "opera >= 54",
 79        "safari >= 14"
 80      ],
 81      "development": [
 82        "last 1 chrome version",
 83        "last 1 firefox version",
 84        "last 1 safari version"
 85      ]
 86    },
 87    "devDependencies": {
 88      "@capacitor/android": "5.0.0",
 89      "@capacitor/cli": "5.0.0",
 90      "@capacitor/core": "5.0.0",
 91      "@types/memoizee": "0.4.9",
 92      "concurrently": "8.0.1",
 93      "conventional-changelog-cli": "4.1.0",
 94      "cordova-res": "0.15.4",
 95      "cross-env": "7.0.3",
 96      "cz-conventional-changelog": "3.3.0",
 97      "decompress": "4.2.1",
 98      "electron": "28.2.3",
 99      "electron-builder": "24.13.2",
100      "husky": "4.3.8",
101      "lint-staged": "12.3.8",
102      "wait-on": "7.0.1"
103    },
104    "main": "electron/main.js",
105    "build": {
106      "appId": "plebchan.desktop",
107      "productName": "plebchan",
108      "beforePack": "electron/before-pack.js",
109      "afterAllArtifactBuild": "electron/after-all-artifact-build.js",
110      "extraResources": [
111        {
112          "from": "bin/${os}",
113          "to": "bin",
114          "filter": [
115            "**/*"
116          ]
117        }
118      ],
119      "files": [
120        "build/**/*",
121        "electron/**/*",
122        "package.json"
123      ],
124      "extends": null,
125      "mac": {
126        "target": "dmg",
127        "category": "public.app-category.social-networking",
128        "type": "distribution"
129      },
130      "win": {
131        "target": [
132          "portable",
133          "nsis"
134        ]
135      },
136      "linux": {
137        "target": "AppImage",
138        "category": "Network"
139      }
140    },
141    "lint-staged": {
142      "{src,electron}/**/*.{js,ts,tsx}": [
143        "prettier --write"
144      ]
145    },
146    "husky": {
147      "hooks": {
148        "prepare-commit-msg": "exec < /dev/tty && cz --hook || true",
149        "pre-commit": "lint-staged"
150      }
151    },
152    "config": {
153      "commitizen": {
154        "path": "./node_modules/cz-conventional-changelog"
155      }
156    },
157    "resolutions": {
158      "skia-canvas": "1.0.2"
159    }
160  }