stacker.news/package.json

127 lines
3.7 KiB
JSON
Raw Normal View History

2021-03-22 20:36:10 +00:00
{
"name": "stackernews",
"version": "0.1.0",
"private": true,
"scripts": {
2022-11-06 17:28:58 +00:00
"dev": "NODE_OPTIONS='--trace-warnings' next dev",
2021-06-06 00:34:48 +00:00
"build": "next build",
2021-06-06 14:09:01 +00:00
"migrate": "prisma migrate deploy",
2023-08-07 23:43:15 +00:00
"start": "NODE_OPTIONS='--trace-warnings' next start -p $PORT --keepAliveTimeout 120000",
2023-09-27 01:33:54 +00:00
"lint": "standard",
"test": "NODE_OPTIONS='--experimental-vm-modules' jest",
2024-03-20 01:06:33 +00:00
"worker": "tsx --tsconfig jsconfig.json --trace-warnings worker/index.js",
"worker:dev": "tsx --tsconfig jsconfig.json --trace-warnings --watch worker/index.js"
2021-03-22 20:36:10 +00:00
},
"dependencies": {
"@apollo/client": "^3.9.7",
2023-10-15 20:43:06 +00:00
"@apollo/server": "^4.9.4",
"@as-integrations/next": "^2.0.2",
"@auth/prisma-adapter": "^1.0.3",
2023-07-24 22:50:12 +00:00
"@graphql-tools/schema": "^10.0.0",
"@lightninglabs/lnc-web": "^0.3.1-alpha",
2023-10-15 20:43:06 +00:00
"@noble/curves": "^1.2.0",
"@opensearch-project/opensearch": "^2.4.0",
not-custodial zap beta (#1178) * not-custodial zap scaffolding * invoice forward state machine * small refinements to state machine * make wrap invoice work * get state machine working end to end * untested logic layout for paidAction invoice wraps * perform pessimisitic actions before outgoing payment * working end to end * remove unneeded params from wallets/server/createInvoice * fix cltv relative/absolute confusion + cancelling forwards * small refinements * add p2p wrap info to paidAction docs * fallback to SN invoice when wrap fails * fix paidAction retry description * consistent naming scheme for state machine * refinements * have sn pay bounded outbound fee * remove debug logging * reenable lnc permissions checks * don't p2p zap on item forward splits * make createInvoice params json encodeable * direct -> p2p badge on notifications * allow no tls in dev for core lightning * fix autowithdraw to create invoice with msats * fix autowithdraw msats/sats inconsitency * label p2p zaps properly in satistics * add fees to autowithdrawal notifications * add RETRYING as terminal paid action state * Update api/paidAction/README.md Co-authored-by: ekzyis <ek@stacker.news> * Update api/paidAction/README.md Co-authored-by: ekzyis <ek@stacker.news> * Update api/lnd/index.js Co-authored-by: ekzyis <ek@stacker.news> * ek suggestions * add bugetable to nwc card * get paranoid with numbers * better finalize retries and better max timeout height * refine forward failure transitions * more accurate satistics p2p status * make sure paidaction cancel in state machine only * dont drop bolt11s unless status is not null * only allow PENDING_HELD to transition to FORWARDING * add mermaid state machine diagrams to paid action doc * fix cancel transition name * cleanup readme * move forwarding outside of transition * refine testServerConnect and make sure ensureB64 transforms * remove unused params from testServerConnect --------- Co-authored-by: ekzyis <ek@stacker.news> Co-authored-by: k00b <k00b@stacker.news>
2024-08-13 14:48:30 +00:00
"@prisma/client": "^5.17.0",
"@slack/web-api": "^6.9.0",
"@svgr/webpack": "^8.1.0",
"@yudiel/react-qr-scanner": "^1.1.10",
"acorn": "^8.10.0",
"ajv": "^8.12.0",
"async-mutex": "^0.5.0",
2021-05-20 17:21:11 +00:00
"async-retry": "^1.3.1",
2023-10-15 20:43:06 +00:00
"aws-sdk": "^2.1473.0",
2021-06-27 03:09:39 +00:00
"bech32": "^2.0.0",
2023-07-24 22:50:12 +00:00
"bolt11": "^1.4.1",
2023-10-15 20:43:06 +00:00
"bootstrap": "^5.3.2",
2023-01-22 20:17:50 +00:00
"canonical-json": "0.0.4",
2024-02-23 15:32:20 +00:00
"classnames": "^2.5.1",
2021-05-06 21:15:22 +00:00
"clipboard-copy": "^4.0.1",
2023-07-25 00:50:55 +00:00
"cross-fetch": "^4.0.0",
2023-12-14 17:30:51 +00:00
"csv-parser": "^3.0.0",
2021-08-22 15:25:17 +00:00
"domino": "^2.1.6",
2023-10-15 20:43:06 +00:00
"formik": "^2.4.5",
2023-07-25 00:50:55 +00:00
"github-slugger": "^2.0.0",
"google-protobuf": "^3.21.2",
2023-10-15 20:43:06 +00:00
"graphql": "^16.8.1",
2023-11-22 16:30:43 +00:00
"graphql-scalar": "^0.1.0",
"graphql-tag": "^2.12.6",
2022-05-12 18:44:21 +00:00
"graphql-type-json": "^0.3.2",
"isomorphic-ws": "^5.0.0",
2023-12-08 01:13:20 +00:00
"ln-service": "^57.1.3",
"macaroon": "^3.0.4",
2023-10-15 20:43:06 +00:00
"mathjs": "^11.11.2",
"mdast-util-find-and-replace": "^3.0.1",
2023-07-25 00:50:55 +00:00
"mdast-util-from-markdown": "^2.0.0",
2023-07-25 18:59:07 +00:00
"mdast-util-gfm": "^3.0.0",
2023-07-25 00:50:55 +00:00
"mdast-util-to-string": "^4.0.0",
2023-07-25 18:59:07 +00:00
"micromark-extension-gfm": "^3.0.0",
2023-10-15 20:43:06 +00:00
"next": "^13.5.4",
"next-auth": "^4.23.2",
"next-plausible": "^3.11.1",
2023-07-25 00:50:55 +00:00
"next-seo": "^6.1.0",
2022-02-05 17:29:41 +00:00
"node-s3-url-encode": "^0.0.4",
2023-10-15 20:43:06 +00:00
"nodemailer": "^6.9.6",
2023-07-24 22:50:12 +00:00
"nostr": "^0.2.8",
Support receiving with NWC (#1310) * Add NWC receives * Refactor sendPayment+createInvoice with nwcCall function * Update badge * Add method support checks * Add timeout to NWC test invoice * Fix NWC isConfigured state All NWC fields are marked as optional but NWC should only be considered configured if one of them is set. * Fix relay.fetch() throws 'crypto is not defined' in node nip04.encrypt() was failing in worker because 'crypto is not defined'. Updating to nostr-tools v2.7.2 fixed that. However, now crypto.randomUUID() in relay.fetch() was throwing 'crypto is not defined'. Importing crypto from 'crypto' fixed that. However, with the import, randomUUID() does not work so I switched to randomBytes(). Running relay.fetch() now works in browser and node. * recv must not support pay_invoice * Fix Relay connection check * this.url was undefined * error was an object * Fix additional isConfigured check runs always It was meant to only catch false positives, not turn negatives into false positives. * Rename testConnectServer to testCreateInvoice * Rename testConnectClient to testSendPayment * Only run testSendPayment if send is configured The return value of testSendPayment was used before but it only returned something for LNC. And for LNC, we only wanted to save the transformation during validation, so it was not needed. * Always use withTimeout in NWC test functions * Fix fragment name * Use get_info command exclusively * Check permissions more efficiently * Log NWC request-response flow * Fix variable name * Call ws.send after listener is added * Fix websocket not closed after timeout * Also check that pay_keysend etc. are not supported * fix lnc session key save --------- Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com> Co-authored-by: k00b <k00b@stacker.news>
2024-08-21 15:13:27 +00:00
"nostr-tools": "^2.7.2",
2023-08-02 02:06:15 +00:00
"nprogress": "^0.2.0",
2023-01-22 20:17:50 +00:00
"opentimestamps": "^0.4.9",
2021-08-22 15:25:17 +00:00
"page-metadata-parser": "^1.1.4",
2023-07-24 22:50:12 +00:00
"pg-boss": "^9.0.3",
"piexifjs": "^1.0.6",
not-custodial zap beta (#1178) * not-custodial zap scaffolding * invoice forward state machine * small refinements to state machine * make wrap invoice work * get state machine working end to end * untested logic layout for paidAction invoice wraps * perform pessimisitic actions before outgoing payment * working end to end * remove unneeded params from wallets/server/createInvoice * fix cltv relative/absolute confusion + cancelling forwards * small refinements * add p2p wrap info to paidAction docs * fallback to SN invoice when wrap fails * fix paidAction retry description * consistent naming scheme for state machine * refinements * have sn pay bounded outbound fee * remove debug logging * reenable lnc permissions checks * don't p2p zap on item forward splits * make createInvoice params json encodeable * direct -> p2p badge on notifications * allow no tls in dev for core lightning * fix autowithdraw to create invoice with msats * fix autowithdraw msats/sats inconsitency * label p2p zaps properly in satistics * add fees to autowithdrawal notifications * add RETRYING as terminal paid action state * Update api/paidAction/README.md Co-authored-by: ekzyis <ek@stacker.news> * Update api/paidAction/README.md Co-authored-by: ekzyis <ek@stacker.news> * Update api/lnd/index.js Co-authored-by: ekzyis <ek@stacker.news> * ek suggestions * add bugetable to nwc card * get paranoid with numbers * better finalize retries and better max timeout height * refine forward failure transitions * more accurate satistics p2p status * make sure paidaction cancel in state machine only * dont drop bolt11s unless status is not null * only allow PENDING_HELD to transition to FORWARDING * add mermaid state machine diagrams to paid action doc * fix cancel transition name * cleanup readme * move forwarding outside of transition * refine testServerConnect and make sure ensureB64 transforms * remove unused params from testServerConnect --------- Co-authored-by: ekzyis <ek@stacker.news> Co-authored-by: k00b <k00b@stacker.news>
2024-08-13 14:48:30 +00:00
"prisma": "^5.17.0",
2022-11-06 17:28:58 +00:00
"qrcode.react": "^3.1.0",
"react": "^18.2.0",
2022-05-16 20:51:22 +00:00
"react-avatar-editor": "^13.0.0",
2023-10-15 20:43:06 +00:00
"react-bootstrap": "^2.9.0",
2023-07-24 22:50:12 +00:00
"react-countdown": "^2.3.5",
2023-10-15 20:43:06 +00:00
"react-datepicker": "^4.20.0",
"react-dom": "^18.2.0",
2023-12-28 01:05:34 +00:00
"react-ios-pwa-prompt": "^1.8.4",
"react-markdown": "^9.0.1",
2023-07-25 00:50:55 +00:00
"react-string-replace": "^1.1.1",
2022-11-06 17:28:58 +00:00
"react-syntax-highlighter": "^15.5.0",
2023-10-15 20:43:06 +00:00
"react-textarea-autosize": "^8.5.3",
2022-02-12 14:06:41 +00:00
"react-twitter-embed": "^4.0.4",
2023-07-25 00:50:55 +00:00
"react-youtube": "^10.1.0",
2023-10-15 20:43:06 +00:00
"recharts": "^2.9.0",
"remark-gfm": "^4.0.0",
2023-07-25 00:50:55 +00:00
"remove-markdown": "^0.5.0",
2023-10-15 20:43:06 +00:00
"sass": "^1.69.3",
"serviceworker-storage": "^0.1.0",
"textarea-caret": "^3.1.0",
2023-10-15 20:43:06 +00:00
"tldts": "^6.0.16",
2023-09-27 01:33:54 +00:00
"tsx": "^3.13.0",
2023-07-25 00:50:55 +00:00
"unist-util-visit": "^5.0.0",
2023-12-14 17:30:51 +00:00
"unzipper": "^0.10.14",
2023-01-12 18:05:47 +00:00
"url-unshort": "^6.1.0",
2023-10-15 20:43:06 +00:00
"web-push": "^3.6.6",
2023-07-24 22:50:12 +00:00
"webln": "^0.3.2",
2023-10-15 20:43:06 +00:00
"webpack": "^5.89.0",
"workbox-navigation-preload": "^7.0.0",
Service worker rework, Web Target Share API & Web Push API (#324) * npm uninstall next-pwa next-pwa was last updated in August 2022. There is also an issue which mentions that next-pwa is abandoned (?): https://github.com/shadowwalker/next-pwa/issues/482 But the main reason for me uninstalling it is that it adds a lot of preconfigured stuff which is not necessary for us. It even lead to a bug since pages were cached without our knowledge. So I will go with a different PWA approach. This different approach should do the following: - make it more transparent what the service worker is doing - gives us more control to configure the service worker and thus making it easier * Use workbox-webpack-plugin Every other plugin (`next-offline`, `next-workbox-webpack-plugin`, `next-with-workbox`, ...) added unnecessary configuration which felt contrary to how PWAs should be built. (PWAs should progressivly enhance the website in small steps, see https://web.dev/learn/pwa/getting-started/#focus-on-a-feature) These default configurations even lead to worse UX since they made invalid assumptions about stacker.news: We _do not_ want to cache our start url and we _do not_ want to cache anything unless explicitly told to. Almost every page on SN should be fresh for the best UX. To achieve this, by default, the service worker falls back to the network (as if the service worker wasn't there). Therefore, this should be the simplest configuration with a valid precache and cache busting support. In the future, we can try to use prefetching to improve performance of navigation requests. * Add support for Web Share Target API See https://developer.chrome.com/articles/web-share-target/ * Use Web Push API for push notifications I followed this (very good!) guide: https://web.dev/notifications/ * Refactor code related to Web Push * Send push notification to users on events * Merge notifications * Send notification to author of every parent recursively * Remove unused userId param in savePushSubscription As it should be, the user id is retrieved from the authenticated user in the backend. * Resubscribe user if push subscription changed * Update old subscription if oldEndpoint was given * Allow users to unsubscribe * Use LTREE operator instead of recursive query * Always show checkbox for push notifications * Justify checkbox to end * Update title of first push notification * Fix warning from uncontrolled to controlled * Add comment about Notification.requestPermission * Fix timestamp * Catch error on push subscription toggle * Wrap function bodies in try/catch * Use Promise.allSettled * Filter subscriptions by user notification settings * Fix user notification filter * Use skipWaiting --------- Co-authored-by: ekzyis <ek@stacker.news>
2023-07-04 19:36:07 +00:00
"workbox-precaching": "^7.0.0",
"workbox-recipes": "^7.0.0",
"workbox-routing": "^7.0.0",
"workbox-strategies": "^7.0.0",
"workbox-webpack-plugin": "^7.0.0",
"workbox-window": "^7.0.0",
2023-10-15 20:43:06 +00:00
"yup": "^1.3.2"
2021-03-25 19:29:24 +00:00
},
2021-06-03 22:32:28 +00:00
"engines": {
2023-08-01 00:56:52 +00:00
"node": "18.17.0"
2021-06-03 22:32:28 +00:00
},
2021-03-25 19:29:24 +00:00
"standard": {
2023-07-25 14:14:45 +00:00
"plugins": [
"@next/next"
],
2021-03-25 19:29:24 +00:00
"extends": [
2023-07-25 00:50:55 +00:00
"next"
2023-08-16 00:52:55 +00:00
]
2021-03-25 19:29:24 +00:00
},
"devDependencies": {
2023-10-15 20:43:06 +00:00
"@next/eslint-plugin-next": "^13.5.4",
"eslint": "^8.51.0",
"jest": "^29.7.0",
2023-07-24 22:50:12 +00:00
"standard": "^17.1.0"
2021-03-22 20:36:10 +00:00
}
}