2023-01-29 21:07:23 +01:00
|
|
|
{
|
2025-10-17 23:30:35 +02:00
|
|
|
"name": "5chan",
|
2026-03-20 21:54:22 +08:00
|
|
|
"version": "0.7.3",
|
2026-03-19 13:41:03 +08:00
|
|
|
"packageManager": "yarn@4.13.0",
|
2026-02-27 13:56:29 +08:00
|
|
|
"description": "A Bitsocial client with an imageboard UI",
|
2024-06-20 15:35:28 +02:00
|
|
|
"type": "module",
|
2026-03-09 21:27:15 +08:00
|
|
|
"author": "Bitsocial Forge",
|
2025-11-07 12:21:48 +01:00
|
|
|
"license": "GPL-2.0-only",
|
2023-01-29 21:07:23 +01:00
|
|
|
"private": true,
|
|
|
|
|
"dependencies": {
|
2026-03-26 19:03:31 +07:00
|
|
|
"@bitsocialnet/bitsocial-react-hooks": "https://codeload.github.com/bitsocialnet/bitsocial-react-hooks/tar.gz/d609b67dea7e518f7931d3a69fa75e4e86591d37",
|
2025-05-13 14:19:28 +02:00
|
|
|
"@capacitor/app": "7.0.1",
|
2025-06-03 17:50:55 +02:00
|
|
|
"@capacitor/status-bar": "7.0.1",
|
|
|
|
|
"@capawesome/capacitor-android-edge-to-edge-support": "7.2.2",
|
2026-04-02 19:45:55 +07:00
|
|
|
"@chenglou/pretext": "0.0.3",
|
2024-02-27 17:58:08 +01:00
|
|
|
"@floating-ui/react": "0.26.1",
|
2026-03-26 19:12:41 +07:00
|
|
|
"@react-spring/web": "10.0.3",
|
2026-03-13 16:58:52 +08:00
|
|
|
"@types/node": "20.19.37",
|
2024-02-27 17:58:08 +01:00
|
|
|
"@types/react": "18.2.25",
|
|
|
|
|
"@types/react-dom": "18.2.10",
|
2025-03-01 11:48:56 +01:00
|
|
|
"@use-gesture/react": "10.3.1",
|
2026-01-22 17:28:22 +01:00
|
|
|
"@vercel/analytics": "^1.6.1",
|
2026-02-24 20:33:07 +08:00
|
|
|
"ace-builds": "1.41.0",
|
2024-02-27 17:58:08 +01:00
|
|
|
"cross-env": "7.0.3",
|
2023-04-24 20:42:06 +00:00
|
|
|
"electron-context-menu": "3.3.0",
|
|
|
|
|
"electron-is-dev": "2.0.0",
|
2025-11-21 16:20:09 +01:00
|
|
|
"env-paths": "3.0.0",
|
2025-03-04 17:53:05 +01:00
|
|
|
"fs-extra": "11.3.0",
|
|
|
|
|
"http-proxy": "1.18.1",
|
2026-03-26 19:12:41 +07:00
|
|
|
"i18next": "25.10.9",
|
2024-02-27 17:58:08 +01:00
|
|
|
"i18next-browser-languagedetector": "7.1.0",
|
|
|
|
|
"i18next-http-backend": "2.2.2",
|
2023-12-13 00:00:11 +00:00
|
|
|
"json-stringify-pretty-compact": "4.0.0",
|
2026-01-28 13:23:32 +08:00
|
|
|
"lodash": "4.17.23",
|
2024-02-27 17:58:08 +01:00
|
|
|
"memoizee": "0.4.15",
|
2025-12-05 17:52:31 +01:00
|
|
|
"react": "19.1.2",
|
2026-02-24 20:33:07 +08:00
|
|
|
"react-ace": "14.0.1",
|
2025-12-05 17:52:31 +01:00
|
|
|
"react-dom": "19.1.2",
|
2026-03-26 19:12:41 +07:00
|
|
|
"react-i18next": "16.6.6",
|
2026-01-09 14:23:07 +01:00
|
|
|
"react-router-dom": "6.30.2",
|
2024-07-02 13:32:50 +02:00
|
|
|
"react-router-hash-link": "2.4.3",
|
2025-12-08 16:02:26 +01:00
|
|
|
"react-virtuoso": "4.17.0",
|
2023-12-11 00:49:36 +00:00
|
|
|
"tcp-port-used": "1.0.2",
|
2026-03-24 22:58:59 +07:00
|
|
|
"typescript": "6.0.2",
|
2026-02-28 15:15:52 +08:00
|
|
|
"workbox-core": "7.4.0",
|
|
|
|
|
"workbox-precaching": "7.4.0",
|
2026-02-18 15:31:01 +08:00
|
|
|
"zustand": "4.4.3"
|
2023-01-29 21:07:23 +01:00
|
|
|
},
|
|
|
|
|
"scripts": {
|
2025-11-01 19:39:22 +01:00
|
|
|
"generate:assets": "node scripts/generate-asset-manifest.js",
|
2026-02-15 14:14:21 +08:00
|
|
|
"sync:directories": "node scripts/sync-directories.js",
|
2026-03-08 19:28:03 +08:00
|
|
|
"postinstall": "node scripts/patch-capacitor-cli-tar.cjs && node scripts/patch-bitsocial-react-hooks-esm.cjs",
|
2026-03-19 13:41:03 +08:00
|
|
|
"prebuild": "corepack yarn sync:directories && corepack yarn generate:assets",
|
|
|
|
|
"prestart": "corepack yarn sync:directories && corepack yarn generate:assets",
|
2026-03-04 17:48:31 +08:00
|
|
|
"start": "node scripts/start-dev.js",
|
2026-03-23 14:09:13 +08:00
|
|
|
"start:android-usb": "node scripts/start-android-usb.mjs",
|
2025-03-04 17:53:05 +01:00
|
|
|
"build": "cross-env PUBLIC_URL=./ GENERATE_SOURCEMAP=false vite build",
|
2025-05-22 13:15:40 +02:00
|
|
|
"build:preload": "vite build --config electron/vite.preload.config.js",
|
2025-11-07 12:18:42 +01:00
|
|
|
"build-vercel": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" PUBLIC_URL=./ GENERATE_SOURCEMAP=true VITE_COMMIT_REF=$COMMIT_REF CI='' vite build",
|
2025-03-04 17:53:05 +01:00
|
|
|
"test": "vitest",
|
2026-03-13 18:55:02 +08:00
|
|
|
"test:leaks": "vitest run --detectAsyncLeaks",
|
2025-03-04 17:53:05 +01:00
|
|
|
"preview": "vite preview",
|
2025-11-01 23:08:14 +01:00
|
|
|
"analyze-bundle": "cross-env PUBLIC_URL=./ GENERATE_SOURCEMAP=true vite build && npx source-map-explorer 'dist/assets/*.js'",
|
2026-03-19 13:41:03 +08:00
|
|
|
"electron": "corepack yarn build:preload && corepack yarn electron:before && electron .",
|
|
|
|
|
"electron:no-delete-data": "corepack yarn build:preload && electron .",
|
|
|
|
|
"electron:start": "concurrently \"cross-env BROWSER=none corepack yarn start\" \"wait-on http://5chan.localhost:1355 && corepack yarn electron\"",
|
|
|
|
|
"electron:start:no-delete-data": "concurrently \"cross-env BROWSER=none corepack yarn start\" \"wait-on http://5chan.localhost:1355 && corepack yarn electron:no-delete-data\"",
|
2026-03-17 18:22:56 +08:00
|
|
|
"electron:rebuild-native": "electron-rebuild -f -o better-sqlite3",
|
2026-03-17 17:04:47 +08:00
|
|
|
"electron:verify-native": "node scripts/verify-electron-native-modules.js",
|
2026-03-19 13:41:03 +08:00
|
|
|
"electron:prepare-package": "corepack yarn electron:rebuild-native && corepack yarn electron:verify-native",
|
|
|
|
|
"electron:package": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge package",
|
|
|
|
|
"electron:build": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make",
|
|
|
|
|
"electron:build:linux": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make --platform=linux",
|
|
|
|
|
"electron:build:mac": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make --platform=darwin",
|
|
|
|
|
"electron:build:windows": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make --platform=win32",
|
|
|
|
|
"electron:build:linux:x64": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make --platform=linux --arch=x64",
|
|
|
|
|
"electron:build:linux:arm64": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make --platform=linux --arch=arm64",
|
|
|
|
|
"electron:build:mac:x64": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make --platform=darwin --arch=x64",
|
|
|
|
|
"electron:build:mac:arm64": "corepack yarn build && corepack yarn build:preload && corepack yarn electron:prepare-package && electron-forge make --platform=darwin --arch=arm64",
|
|
|
|
|
"electron:before": "corepack yarn electron:before:delete-data",
|
2026-03-08 16:37:34 +08:00
|
|
|
"electron:before:delete-data": "node -e \"fs.rmSync('.plebbit', { recursive: true, force: true })\"",
|
2026-03-19 20:19:48 +08:00
|
|
|
"test:update:e2e:electron": "node scripts/run-electron-app-update-e2e.mjs",
|
|
|
|
|
"test:update:e2e:android": "node scripts/run-android-app-update-e2e.mjs",
|
2026-03-20 16:48:57 +08:00
|
|
|
"test:thread-auto-update:e2e": "node scripts/run-thread-auto-update-e2e.mjs --start-dev",
|
2023-09-16 21:19:56 +02:00
|
|
|
"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'",
|
2026-03-07 21:31:20 +08:00
|
|
|
"knip": "knip --production --include dependencies,unlisted,binaries --no-progress",
|
|
|
|
|
"knip:full": "knip --no-progress --no-exit-code",
|
2025-12-26 17:03:26 +01:00
|
|
|
"lint": "oxlint src/**/*.{js,ts,tsx}",
|
2025-12-26 17:08:57 +01:00
|
|
|
"type-check": "tsgo --noEmit",
|
2025-12-26 16:49:02 +01:00
|
|
|
"prettier": "oxfmt src/**/*.{js,ts,tsx} electron/**/*.{js,mjs}",
|
2025-03-04 17:53:05 +01:00
|
|
|
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
|
2026-03-19 13:41:03 +08:00
|
|
|
"android:build": "corepack yarn build && npx cap sync android && npx cap run android",
|
2025-10-18 22:49:09 +02:00
|
|
|
"i18n:update": "node scripts/update-translations.js",
|
2026-02-18 14:11:01 +08:00
|
|
|
"i18n:update:dry": "node scripts/update-translations.js --dry",
|
|
|
|
|
"doctor": "react-doctor . -y",
|
|
|
|
|
"doctor:score": "react-doctor . --score -y",
|
2026-02-19 17:49:35 +08:00
|
|
|
"doctor:verbose": "react-doctor . --verbose -y",
|
2026-02-28 19:13:43 +08:00
|
|
|
"contract:imgur": "cd android && ./gradlew :app:connectedDebugAndroidTest -Pandroid.experimental.androidTest.useUnifiedTestPlatform=false -Pandroid.testInstrumentationRunnerArguments.class=fivechan.android.MediaUploadAutomationRunnerTest",
|
2026-02-19 17:49:35 +08:00
|
|
|
"smoke:upload-selectors": "node scripts/smoke-upload-selectors.js",
|
2026-03-07 21:31:20 +08:00
|
|
|
"test:coverage": "vitest run --coverage.enabled --coverage.provider=istanbul --coverage.reporter=text --coverage.reporter=json --coverage.reporter=json-summary --coverage.reportsDirectory=./coverage",
|
2026-03-13 18:55:02 +08:00
|
|
|
"test:coverage:changed": "vitest run --changed master --coverage.enabled --coverage.provider=istanbul --coverage.reporter=text --coverage.reporter=json --coverage.reporter=json-summary --coverage.reportsDirectory=./coverage",
|
2026-03-19 13:41:03 +08:00
|
|
|
"retest:quality": "corepack yarn test && corepack yarn build && corepack yarn lint && corepack yarn type-check && corepack yarn doctor",
|
2026-02-22 19:37:49 +08:00
|
|
|
"blotter": "node scripts/update-blotter.js",
|
|
|
|
|
"blotter:check": "node scripts/update-blotter.js check",
|
|
|
|
|
"blotter:release": "node scripts/update-blotter.js release",
|
|
|
|
|
"blotter:manual": "node scripts/update-blotter.js manual",
|
2026-03-04 20:08:26 +08:00
|
|
|
"android:connectedTest": "cd android && ./gradlew :app:connectedDebugAndroidTest -Pandroid.experimental.androidTest.useUnifiedTestPlatform=false"
|
2023-01-29 21:07:23 +01:00
|
|
|
},
|
|
|
|
|
"browserslist": {
|
|
|
|
|
"production": [
|
2023-08-04 21:28:27 +00:00
|
|
|
"chrome >= 67",
|
|
|
|
|
"edge >= 79",
|
|
|
|
|
"firefox >= 68",
|
|
|
|
|
"opera >= 54",
|
|
|
|
|
"safari >= 14"
|
2023-01-29 21:07:23 +01:00
|
|
|
],
|
|
|
|
|
"development": [
|
|
|
|
|
"last 1 chrome version",
|
|
|
|
|
"last 1 firefox version",
|
|
|
|
|
"last 1 safari version"
|
|
|
|
|
]
|
2023-01-31 23:08:57 +01:00
|
|
|
},
|
2024-02-27 17:58:08 +01:00
|
|
|
"devDependencies": {
|
2026-01-25 17:02:07 +08:00
|
|
|
"@capacitor/android": "7.4.5",
|
|
|
|
|
"@capacitor/cli": "7.4.5",
|
|
|
|
|
"@capacitor/core": "7.4.5",
|
2026-02-18 15:31:01 +08:00
|
|
|
"@electron-forge/cli": "7.8.0",
|
|
|
|
|
"@electron-forge/maker-dmg": "7.8.0",
|
|
|
|
|
"@electron-forge/maker-squirrel": "7.8.0",
|
|
|
|
|
"@electron-forge/maker-zip": "7.8.0",
|
2026-03-19 15:19:26 +08:00
|
|
|
"@electron/rebuild": "3.7.2",
|
2026-02-18 15:31:01 +08:00
|
|
|
"@reforged/maker-appimage": "5.1.1",
|
|
|
|
|
"@types/lodash": "4.17.23",
|
2024-02-27 17:58:08 +01:00
|
|
|
"@types/memoizee": "0.4.9",
|
2025-12-26 17:08:57 +01:00
|
|
|
"@typescript/native-preview": "^7.0.0-dev.20251226.1",
|
2026-03-13 16:58:52 +08:00
|
|
|
"@vitejs/plugin-react": "6.0.0",
|
|
|
|
|
"@vitest/coverage-istanbul": "4.1.0",
|
2025-03-04 17:53:05 +01:00
|
|
|
"assert": "2.1.0",
|
2025-11-20 18:24:18 +01:00
|
|
|
"babel-plugin-react-compiler": "1.0.0",
|
2025-03-04 17:53:05 +01:00
|
|
|
"buffer": "6.0.3",
|
2024-02-27 17:58:08 +01:00
|
|
|
"concurrently": "8.0.1",
|
|
|
|
|
"conventional-changelog-cli": "4.1.0",
|
|
|
|
|
"cordova-res": "0.15.4",
|
|
|
|
|
"cross-env": "7.0.3",
|
2025-03-04 17:53:05 +01:00
|
|
|
"crypto-browserify": "3.12.1",
|
2024-02-27 17:58:08 +01:00
|
|
|
"cz-conventional-changelog": "3.3.0",
|
|
|
|
|
"decompress": "4.2.1",
|
2025-11-29 18:43:25 +01:00
|
|
|
"electron": "36.9.5",
|
2026-03-15 19:02:19 +08:00
|
|
|
"element-source": "0.0.4",
|
2024-02-27 17:58:08 +01:00
|
|
|
"husky": "4.3.8",
|
2025-03-04 17:53:05 +01:00
|
|
|
"isomorphic-fetch": "3.0.0",
|
2026-03-13 16:58:52 +08:00
|
|
|
"jsdom": "28.1.0",
|
2026-03-28 17:51:39 +07:00
|
|
|
"knip": "6.1.0",
|
2024-02-27 17:58:08 +01:00
|
|
|
"lint-staged": "12.3.8",
|
2026-01-30 11:50:20 +08:00
|
|
|
"node-fetch": "3.3.2",
|
2025-12-26 16:49:02 +01:00
|
|
|
"oxfmt": "0.20.0",
|
|
|
|
|
"oxlint": "1.35.0",
|
2026-02-24 14:37:20 +08:00
|
|
|
"playwright": "1.56.1",
|
2025-11-21 16:20:09 +01:00
|
|
|
"progress": "2.0.3",
|
2026-02-21 11:02:05 +08:00
|
|
|
"react-doctor": "0.0.28",
|
2026-03-16 13:34:51 +08:00
|
|
|
"react-grab": "0.1.28",
|
|
|
|
|
"react-scan": "0.5.3",
|
2025-03-04 17:53:05 +01:00
|
|
|
"stream-browserify": "3.0.0",
|
2026-04-07 17:47:10 +07:00
|
|
|
"vite": "8.0.5",
|
2026-02-28 15:15:52 +08:00
|
|
|
"vite-plugin-pwa": "1.2.0",
|
2026-03-13 16:58:52 +08:00
|
|
|
"vitest": "4.1.0",
|
2026-03-07 21:31:20 +08:00
|
|
|
"wait-on": "9.0.3",
|
|
|
|
|
"workbox-build": "7.4.0",
|
|
|
|
|
"workbox-window": "7.4.0"
|
2025-11-29 18:43:25 +01:00
|
|
|
},
|
2026-03-04 17:48:31 +08:00
|
|
|
"optionalDependencies": {
|
2026-03-16 13:33:21 +08:00
|
|
|
"portless": "0.7.0"
|
2026-03-04 17:48:31 +08:00
|
|
|
},
|
2025-11-29 18:43:25 +01:00
|
|
|
"resolutions": {
|
2026-02-11 13:43:17 +08:00
|
|
|
"axios": "1.13.5",
|
2025-12-16 17:42:58 +01:00
|
|
|
"js-yaml": "4.1.1",
|
2025-12-26 17:02:37 +01:00
|
|
|
"baseline-browser-mapping": "^2.9.11",
|
2026-04-07 17:47:10 +07:00
|
|
|
"vite": "8.0.5",
|
2026-02-20 14:29:06 +08:00
|
|
|
"qs": "6.15.0",
|
2026-01-03 16:06:02 +01:00
|
|
|
"mdast-util-to-hast": "12.3.0",
|
2026-03-31 16:59:07 +07:00
|
|
|
"node-forge": "1.4.0",
|
2026-01-03 13:03:00 +01:00
|
|
|
"glob": "10.5.0",
|
|
|
|
|
"tmp": "0.2.5",
|
|
|
|
|
"elliptic": "6.6.1",
|
|
|
|
|
"ws": "8.18.3",
|
|
|
|
|
"jose": "4.15.9",
|
2026-01-03 18:05:27 +01:00
|
|
|
"sharp": "0.34.5",
|
2026-01-08 14:03:56 +01:00
|
|
|
"cacache": "19.0.1",
|
2026-01-09 14:23:07 +01:00
|
|
|
"preact": "10.27.3",
|
2026-01-18 16:56:29 +01:00
|
|
|
"@remix-run/router": "1.23.2",
|
2026-03-15 17:35:25 +08:00
|
|
|
"undici": "7.24.0",
|
2026-01-28 13:23:32 +08:00
|
|
|
"diff": "^8.0.3",
|
|
|
|
|
"lodash": "4.17.23",
|
|
|
|
|
"seroval": "1.4.1",
|
2026-03-15 17:35:25 +08:00
|
|
|
"tar": "7.5.11",
|
|
|
|
|
"yauzl": "3.2.1",
|
2026-03-31 16:59:07 +07:00
|
|
|
"serialize-javascript": "7.0.5",
|
2026-03-10 14:34:11 +08:00
|
|
|
"@tootallnate/once": "3.0.1",
|
2026-02-28 15:15:52 +08:00
|
|
|
"rollup": "2.80.0",
|
2026-03-26 19:12:41 +07:00
|
|
|
"@electron/asar": "4.0.1",
|
|
|
|
|
"use-sync-external-store": "1.6.0"
|
2024-02-27 17:58:08 +01:00
|
|
|
},
|
2023-04-24 19:42:49 +00:00
|
|
|
"main": "electron/main.js",
|
2023-09-16 21:48:40 +00:00
|
|
|
"lint-staged": {
|
2025-12-26 16:49:02 +01:00
|
|
|
"src/**/*.{js,ts,tsx}": [
|
|
|
|
|
"oxfmt --write"
|
|
|
|
|
],
|
|
|
|
|
"electron/**/*.{js,mjs}": [
|
2025-12-26 16:41:03 +01:00
|
|
|
"oxfmt --write"
|
2023-09-16 21:48:40 +00:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"husky": {
|
|
|
|
|
"hooks": {
|
|
|
|
|
"prepare-commit-msg": "exec < /dev/tty && cz --hook || true",
|
|
|
|
|
"pre-commit": "lint-staged"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"config": {
|
|
|
|
|
"commitizen": {
|
|
|
|
|
"path": "./node_modules/cz-conventional-changelog"
|
|
|
|
|
}
|
2026-02-24 14:46:36 +08:00
|
|
|
},
|
|
|
|
|
"reactDoctor": {
|
|
|
|
|
"diff": false
|
2023-01-29 21:07:23 +01:00
|
|
|
}
|
|
|
|
|
}
|