remnantchat/package.json
Jeremy Kahn f006e76e80
feat: [closes #21] File sharing (#72)
* feat: [#21] stand up file sharing controls UI
* feat: [#21] implement basic file transfer
* feat: [#21] save transferred file
* feat: [#21] transfer file via WebTorrent
* fix: use external streamsaver assets
* feat: [#21] initiate download by receiver click
* fix: enable re-downloading of shared files
* feat: [#21] implement sharing of multiple files
* chore: enable offline development
* feat: cache torrents in IndexedDB
* feat: show alert when download is aborted
* feat: [#21] clean up torrent data when principal offerer rescinds it
* feat: clean up cached torrents on page unload
* feat: show file transfer progress
* fix: download files sequentially
* feat: clean up file transfers when leaving the room
* feat: clean up broken downloads upon leaving the page
* fix: allow download animation to complete
* feat: show tooltip for download button
* feat: make file transfers work in browser private modes
* feat: disable file share controls while creating offer
2022-11-24 00:16:34 -06:00

108 lines
3.1 KiB
JSON

{
"name": "chitchatter",
"version": "0.0.0",
"homepage": "https://chitchatter.im/",
"author": "Jeremy Kahn <jeremyckahn@gmail.com>",
"license": "GPL-2.0-or-later",
"dependencies": {
"@emotion/react": "^11.10.0",
"@emotion/styled": "^11.10.0",
"@mui/icons-material": "^5.8.4",
"@mui/material": "^5.9.3",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
"@types/jest": "^28.1.6",
"@types/node": "^18.6.5",
"@types/react": "^18.0.17",
"@types/react-dom": "^18.0.6",
"buffer": "^6.0.3",
"classnames": "^2.3.1",
"detectincognitojs": "^1.1.2",
"fast-memoize": "^2.5.2",
"fun-animal-names": "^0.1.1",
"idb-chunk-store": "^1.0.1",
"localforage": "^1.10.0",
"mui-markdown": "^0.5.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-markdown": "^8.0.3",
"react-qrcode-logo": "^2.8.0",
"react-router-dom": "^6.3.0",
"react-scripts": "5.0.1",
"react-syntax-highlighter": "^15.5.0",
"remark-gfm": "^3.0.1",
"sass": "^1.54.3",
"streamsaver": "^2.0.6",
"trystero": "github:jeremyckahn/trystero#bugfix/stream-metadata-type",
"typeface-public-sans": "^1.1.13",
"typeface-roboto": "^1.1.13",
"typescript": "^4.7.4",
"uuid": "^8.3.2",
"web-vitals": "^2.1.4",
"webtorrent": "^1.9.3"
},
"scripts": {
"start": "react-scripts start",
"start:tracker": "bittorrent-tracker",
"start:streamsaver": "serve -p 3015 node_modules/streamsaver",
"dev": "mprocs \"npx cross-env REACT_APP_TRACKER_URL=\"ws://localhost:8000\" REACT_APP_STREAMSAVER_URL=\"http://localhost:3015/mitm.html\" npm run start\" \"npm run start:tracker\" \"npm run start:streamsaver\"",
"build": "react-scripts build",
"test": "react-scripts test",
"prepare": "husky install",
"prettier": "prettier 'src/**/*.js' --write",
"lint": "eslint src --max-warnings=0"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"engines": {
"node": "16.x",
"npm": "8.x"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@types/react-syntax-highlighter": "^15.5.5",
"@types/streamsaver": "^2.0.1",
"@types/uuid": "^8.3.4",
"@types/webtorrent": "^0.109.3",
"@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.33.0",
"autoprefixer": "^10.4.8",
"bittorrent-tracker": "^9.19.0",
"cross-env": "^7.0.3",
"eslint": "^8.21.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0",
"husky": "^8.0.1",
"mprocs": "^0.6.3",
"postcss": "^8.4.16",
"prettier": "^2.7.1",
"pretty-quick": "^3.1.3",
"serve": "^14.1.2",
"tailwindcss": "^3.1.8"
},
"jest": {
"transformIgnorePatterns": [
"node_modules/(?!trystero)/"
]
}
}