Merge pull request #6 from Crossbell-Box/feat/ipfs-gateway

This commit is contained in:
DIYgod 2022-09-08 18:27:42 +01:00 committed by GitHub
commit 8149f31310
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 543 additions and 39 deletions

View File

@ -11,4 +11,4 @@ NEXT_PUBLIC_CSB_IO="https://crossbell.io"
NEXT_PUBLIC_CSB_SCAN="https://scan.crossbell.io"
NEXT_PUBLIC_IPFS_GATEWAY="https://ipfs.4everland.xyz/ipfs/"
REDIS_URL=
REDIS_URL=

6
.gitignore vendored
View File

@ -7,4 +7,8 @@ dist
.env
.env.production
generated/
test-results/
test-results/
# IDE Specific
.idea
.vscode

View File

@ -1,6 +1,7 @@
// @ts-check
const pkg = require("./package.json")
const spawn = require("cross-spawn")
const { withIpfsGateway } = require("@crossbell/ipfs-gateway-next")
class UnoCSS {
/**
@ -22,7 +23,7 @@ class UnoCSS {
}
/** @type {import('next').NextConfig} */
module.exports = {
module.exports = withIpfsGateway({
env: {
APP_DESCRIPTION: pkg.description,
},
@ -35,4 +36,8 @@ module.exports = {
config.plugins.push(new UnoCSS())
return config
},
}
ipfsGateway: {
gatewayPath: "/_ipfs/:cid/:pathToResource*",
},
})

View File

@ -24,6 +24,8 @@
"@codemirror/language": "^0.20.0",
"@codemirror/state": "^0.20.0",
"@codemirror/view": "^0.20.3",
"@crossbell/ipfs-gateway": "0.0.8",
"@crossbell/ipfs-react": "0.0.8",
"@emoji-mart/data": "^1.0.3",
"@emoji-mart/react": "^1.0.0",
"@floating-ui/react-dom-interactions": "^0.6.3",
@ -91,6 +93,7 @@
"zustand": "4.0.0-rc.1"
},
"devDependencies": {
"@crossbell/ipfs-gateway-next": "0.0.8",
"@iconify-json/bi": "^1.1.3",
"@iconify-json/bxs": "^1.1.2",
"@iconify-json/carbon": "^1.1.5",

View File

@ -6,6 +6,9 @@ specifiers:
'@codemirror/language': ^0.20.0
'@codemirror/state': ^0.20.0
'@codemirror/view': ^0.20.3
'@crossbell/ipfs-gateway': 0.0.8
'@crossbell/ipfs-gateway-next': 0.0.8
'@crossbell/ipfs-react': 0.0.8
'@emoji-mart/data': ^1.0.3
'@emoji-mart/react': ^1.0.0
'@floating-ui/react-dom-interactions': ^0.6.3
@ -115,6 +118,8 @@ dependencies:
'@codemirror/language': 0.20.2
'@codemirror/state': 0.20.1
'@codemirror/view': 0.20.7
'@crossbell/ipfs-gateway': 0.0.8
'@crossbell/ipfs-react': 0.0.8_so5vadufurwfipabrlusujhu4q
'@emoji-mart/data': 1.0.3
'@emoji-mart/react': 1.0.0_kbqdcrm7a2jamcyb7krk3b53dq
'@floating-ui/react-dom-interactions': 0.6.6_twyhzqqpkwvvgrmyeapdo6i4my
@ -182,6 +187,7 @@ dependencies:
zustand: 4.0.0-rc.1_react@18.2.0
devDependencies:
'@crossbell/ipfs-gateway-next': 0.0.8_mvl7v37kivpl2bowikc3nft5te
'@iconify-json/bi': 1.1.3
'@iconify-json/bxs': 1.1.2
'@iconify-json/carbon': 1.1.5
@ -276,7 +282,7 @@ packages:
dependencies:
'@babel/compat-data': 7.18.5
'@babel/helper-validator-option': 7.16.7
browserslist: 4.21.0
browserslist: 4.21.3
semver: 6.3.0
dev: false
@ -633,6 +639,49 @@ packages:
- supports-color
dev: false
/@crossbell/ipfs-fetch/0.0.8:
resolution: {integrity: sha512-Ekv+C2+0JiGmEKa+ICtZjwAbLiPUKJuuKn/ws8c7jSMaomiJu5sI0KfaU1Jna3Qa+KYtgnCAixkZ5Bebud9wuQ==}
/@crossbell/ipfs-gateway-next/0.0.8_mvl7v37kivpl2bowikc3nft5te:
resolution: {integrity: sha512-e1GXSKR/Gw8CBZBbNIPIHqZjlOiGPJ1HVD1jpw1VmHPUQHh2b+VCwLX/+f38RmDgTo2vJunsLr7VpcwLqHXKsA==}
peerDependencies:
next: ^12
dependencies:
'@crossbell/ipfs-fetch': 0.0.8
'@crossbell/ipfs-gateway-sw': 0.0.8
copy-webpack-plugin: 11.0.0_webpack@5.74.0
next: 12.1.6_biqbaboplfbrettd7655fr4n2y
webpack: 5.74.0_esbuild@0.14.47
transitivePeerDependencies:
- '@swc/core'
- esbuild
- uglify-js
- webpack-cli
dev: true
/@crossbell/ipfs-gateway-sw/0.0.8:
resolution: {integrity: sha512-1/zIYLjnBAyYA9CcOADpQIWfcZGBtz/V8R8i17smptRfeeQo0vE42hl02rxAS3fvciK2kqu7WPUHWfE/0FT0+A==}
dependencies:
'@crossbell/ipfs-fetch': 0.0.8
/@crossbell/ipfs-gateway/0.0.8:
resolution: {integrity: sha512-/I4R+bXtsk8OaY9z86bDeW3U22YbR2QcL9VFSS5tJukDY8L9ijUBppTCsrOXZ+8zW6hqpH3RKzh5YoRuZOpBNQ==}
dependencies:
'@crossbell/ipfs-fetch': 0.0.8
'@crossbell/ipfs-gateway-sw': 0.0.8
query-string: 7.1.1
dev: false
/@crossbell/ipfs-react/0.0.8_so5vadufurwfipabrlusujhu4q:
resolution: {integrity: sha512-HksoeLENV42+Ff9umG7xkUZIpytFQImzBjdJ764qJmGqV5oIgWPaNd7AaJgCjchctJPaFFRyHWM7/yWpAOkMsw==}
peerDependencies:
'@crossbell/ipfs-gateway': 0.0.8
react: ^17 || ^18
dependencies:
'@crossbell/ipfs-gateway': 0.0.8
react: 18.2.0
dev: false
/@emoji-mart/data/1.0.3:
resolution: {integrity: sha512-SwxtfLOPiis9iXwWLjZHpUIUwYV/ghfBG6jpVP2HZgCt/dE8Q4r1RQg1Y5TyYBYKk8N5RKuLWJi1DNrEUIWj+A==}
dev: false
@ -1463,29 +1512,31 @@ packages:
dependencies:
'@jridgewell/set-array': 1.1.1
'@jridgewell/sourcemap-codec': 1.4.13
'@jridgewell/trace-mapping': 0.3.13
dev: false
'@jridgewell/trace-mapping': 0.3.15
/@jridgewell/resolve-uri/3.0.7:
resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==}
engines: {node: '>=6.0.0'}
dev: false
/@jridgewell/set-array/1.1.1:
resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==}
engines: {node: '>=6.0.0'}
dev: false
/@jridgewell/source-map/0.3.2:
resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==}
dependencies:
'@jridgewell/gen-mapping': 0.3.1
'@jridgewell/trace-mapping': 0.3.15
dev: true
/@jridgewell/sourcemap-codec/1.4.13:
resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==}
dev: false
/@jridgewell/trace-mapping/0.3.13:
resolution: {integrity: sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==}
/@jridgewell/trace-mapping/0.3.15:
resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==}
dependencies:
'@jridgewell/resolve-uri': 3.0.7
'@jridgewell/sourcemap-codec': 1.4.13
dev: false
/@json-rpc-tools/provider/1.7.6:
resolution: {integrity: sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==}
@ -1996,12 +2047,34 @@ packages:
'@types/ms': 0.7.31
dev: false
/@types/eslint-scope/3.7.4:
resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==}
dependencies:
'@types/eslint': 8.4.6
'@types/estree': 0.0.51
dev: true
/@types/eslint/8.4.6:
resolution: {integrity: sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==}
dependencies:
'@types/estree': 0.0.51
'@types/json-schema': 7.0.11
dev: true
/@types/estree/0.0.51:
resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
dev: true
/@types/hast/2.3.4:
resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==}
dependencies:
'@types/unist': 2.0.6
dev: false
/@types/json-schema/7.0.11:
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
dev: true
/@types/json5/0.0.29:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true
@ -2617,6 +2690,120 @@ packages:
resolution: {integrity: sha512-K1undnK70vLLauqdE8bq/l98isTF2FDhcP0UPpXVSjkSWe3xhAn5eRXk5jfA1E5ycNm84Ws/rQFUD7ue11nciw==}
dev: false
/@webassemblyjs/ast/1.11.1:
resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==}
dependencies:
'@webassemblyjs/helper-numbers': 1.11.1
'@webassemblyjs/helper-wasm-bytecode': 1.11.1
dev: true
/@webassemblyjs/floating-point-hex-parser/1.11.1:
resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==}
dev: true
/@webassemblyjs/helper-api-error/1.11.1:
resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==}
dev: true
/@webassemblyjs/helper-buffer/1.11.1:
resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==}
dev: true
/@webassemblyjs/helper-numbers/1.11.1:
resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==}
dependencies:
'@webassemblyjs/floating-point-hex-parser': 1.11.1
'@webassemblyjs/helper-api-error': 1.11.1
'@xtuc/long': 4.2.2
dev: true
/@webassemblyjs/helper-wasm-bytecode/1.11.1:
resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==}
dev: true
/@webassemblyjs/helper-wasm-section/1.11.1:
resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==}
dependencies:
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/helper-buffer': 1.11.1
'@webassemblyjs/helper-wasm-bytecode': 1.11.1
'@webassemblyjs/wasm-gen': 1.11.1
dev: true
/@webassemblyjs/ieee754/1.11.1:
resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==}
dependencies:
'@xtuc/ieee754': 1.2.0
dev: true
/@webassemblyjs/leb128/1.11.1:
resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==}
dependencies:
'@xtuc/long': 4.2.2
dev: true
/@webassemblyjs/utf8/1.11.1:
resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==}
dev: true
/@webassemblyjs/wasm-edit/1.11.1:
resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==}
dependencies:
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/helper-buffer': 1.11.1
'@webassemblyjs/helper-wasm-bytecode': 1.11.1
'@webassemblyjs/helper-wasm-section': 1.11.1
'@webassemblyjs/wasm-gen': 1.11.1
'@webassemblyjs/wasm-opt': 1.11.1
'@webassemblyjs/wasm-parser': 1.11.1
'@webassemblyjs/wast-printer': 1.11.1
dev: true
/@webassemblyjs/wasm-gen/1.11.1:
resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==}
dependencies:
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/helper-wasm-bytecode': 1.11.1
'@webassemblyjs/ieee754': 1.11.1
'@webassemblyjs/leb128': 1.11.1
'@webassemblyjs/utf8': 1.11.1
dev: true
/@webassemblyjs/wasm-opt/1.11.1:
resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==}
dependencies:
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/helper-buffer': 1.11.1
'@webassemblyjs/wasm-gen': 1.11.1
'@webassemblyjs/wasm-parser': 1.11.1
dev: true
/@webassemblyjs/wasm-parser/1.11.1:
resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==}
dependencies:
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/helper-api-error': 1.11.1
'@webassemblyjs/helper-wasm-bytecode': 1.11.1
'@webassemblyjs/ieee754': 1.11.1
'@webassemblyjs/leb128': 1.11.1
'@webassemblyjs/utf8': 1.11.1
dev: true
/@webassemblyjs/wast-printer/1.11.1:
resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==}
dependencies:
'@webassemblyjs/ast': 1.11.1
'@xtuc/long': 4.2.2
dev: true
/@xtuc/ieee754/1.2.0:
resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
dev: true
/@xtuc/long/4.2.2:
resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
dev: true
/@zxing/text-encoding/0.9.0:
resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==}
requiresBuild: true
@ -2630,6 +2817,14 @@ packages:
event-target-shim: 5.0.1
dev: false
/acorn-import-assertions/1.8.0_acorn@8.7.1:
resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==}
peerDependencies:
acorn: ^8
dependencies:
acorn: 8.7.1
dev: true
/acorn-jsx/5.3.2_acorn@8.7.1:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@ -2679,6 +2874,32 @@ packages:
indent-string: 4.0.0
dev: true
/ajv-formats/2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependenciesMeta:
ajv:
optional: true
dependencies:
ajv: 8.11.0
dev: true
/ajv-keywords/3.5.2_ajv@6.12.6:
resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
peerDependencies:
ajv: ^6.9.1
dependencies:
ajv: 6.12.6
dev: true
/ajv-keywords/5.1.0_ajv@8.11.0:
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
peerDependencies:
ajv: ^8.8.2
dependencies:
ajv: 8.11.0
fast-deep-equal: 3.1.3
dev: true
/ajv/6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
dependencies:
@ -2688,6 +2909,15 @@ packages:
uri-js: 4.4.1
dev: true
/ajv/8.11.0:
resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==}
dependencies:
fast-deep-equal: 3.1.3
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
uri-js: 4.4.1
dev: true
/ansi-escapes/4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
@ -3105,6 +3335,7 @@ packages:
electron-to-chromium: 1.4.169
node-releases: 2.0.5
update-browserslist-db: 1.0.4_browserslist@4.21.0
dev: true
/browserslist/4.21.3:
resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==}
@ -3115,7 +3346,6 @@ packages:
electron-to-chromium: 1.4.211
node-releases: 2.0.6
update-browserslist-db: 1.0.5_browserslist@4.21.3
dev: false
/bs58/4.0.1:
resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==}
@ -3154,7 +3384,6 @@ packages:
/buffer-from/1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
dev: false
/buffer-xor/1.0.3:
resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==}
@ -3236,7 +3465,6 @@ packages:
/caniuse-lite/1.0.30001374:
resolution: {integrity: sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw==}
dev: false
/carbites/1.0.6:
resolution: {integrity: sha512-dS9IQvnrb5VIRvSTNz5Ff+mB9d2MFfi5mojtJi7Rlss79VeF190jr0sZdA7eW0CGHotvHkZaWuM6wgfD9PEFRg==}
@ -3320,6 +3548,11 @@ packages:
fsevents: 2.3.2
dev: true
/chrome-trace-event/1.0.3:
resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
engines: {node: '>=6.0'}
dev: true
/cipher-base/1.0.4:
resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==}
dependencies:
@ -3442,6 +3675,10 @@ packages:
resolution: {integrity: sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==}
dev: false
/commander/2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
dev: true
/commander/9.4.0:
resolution: {integrity: sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==}
engines: {node: ^12.20.0 || >=14}
@ -3465,10 +3702,25 @@ packages:
toggle-selection: 1.0.6
dev: false
/copy-webpack-plugin/11.0.0_webpack@5.74.0:
resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==}
engines: {node: '>= 14.15.0'}
peerDependencies:
webpack: ^5.1.0
dependencies:
fast-glob: 3.2.11
glob-parent: 6.0.2
globby: 13.1.2
normalize-path: 3.0.0
schema-utils: 4.0.0
serialize-javascript: 6.0.0
webpack: 5.74.0_esbuild@0.14.47
dev: true
/core-js-compat/3.23.2:
resolution: {integrity: sha512-lrgZvxFwbQp9v7E8mX0rJ+JX7Bvh4eGULZXA1IAyjlsnWvCdw6TF8Tg6xtaSUSJMrSrMaLdpmk+V54LM1dvfOA==}
dependencies:
browserslist: 4.21.0
browserslist: 4.21.3
semver: 7.0.0
dev: false
@ -3835,10 +4087,10 @@ packages:
/electron-to-chromium/1.4.169:
resolution: {integrity: sha512-Yb7UFva1sLlAaRyCkgoFF3qWvwZacFDtsGKi44rZsk8vnhL0DMhsUdhI4Dz9CCJQfftncDMGSI3AYiDtg8mD/w==}
dev: true
/electron-to-chromium/1.4.211:
resolution: {integrity: sha512-BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A==}
dev: false
/elliptic/6.5.4:
resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==}
@ -3877,6 +4129,14 @@ packages:
iconv-lite: 0.6.3
dev: false
/enhanced-resolve/5.10.0:
resolution: {integrity: sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==}
engines: {node: '>=10.13.0'}
dependencies:
graceful-fs: 4.2.10
tapable: 2.2.1
dev: true
/entities/2.2.0:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
dev: false
@ -3924,6 +4184,10 @@ packages:
string.prototype.trimstart: 1.0.5
unbox-primitive: 1.0.2
/es-module-lexer/0.9.3:
resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
dev: true
/es-shim-unscopables/1.0.0:
resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
dependencies:
@ -4362,6 +4626,14 @@ packages:
string.prototype.matchall: 4.0.7
dev: true
/eslint-scope/5.1.1:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
engines: {node: '>=8.0.0'}
dependencies:
esrecurse: 4.3.0
estraverse: 4.3.0
dev: true
/eslint-scope/7.1.1:
resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -4457,6 +4729,11 @@ packages:
estraverse: 5.3.0
dev: true
/estraverse/4.3.0:
resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
engines: {node: '>=4.0'}
dev: true
/estraverse/5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
@ -4712,7 +4989,6 @@ packages:
/events/3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
dev: false
/evp_bytestokey/1.0.3:
resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
@ -4994,6 +5270,10 @@ packages:
is-glob: 4.0.3
dev: true
/glob-to-regexp/0.4.1:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
dev: true
/glob/7.1.7:
resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
dependencies:
@ -5039,6 +5319,17 @@ packages:
slash: 3.0.0
dev: true
/globby/13.1.2:
resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
dir-glob: 3.0.1
fast-glob: 3.2.11
ignore: 5.2.0
merge2: 1.4.1
slash: 4.0.0
dev: true
/glur/1.1.2:
resolution: {integrity: sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==}
dev: false
@ -5051,7 +5342,6 @@ packages:
/graceful-fs/4.2.10:
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
dev: false
/graphql/16.5.0:
resolution: {integrity: sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA==}
@ -5868,6 +6158,15 @@ packages:
readable-stream: 3.6.0
dev: false
/jest-worker/27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
'@types/node': 17.0.45
merge-stream: 2.0.0
supports-color: 8.1.1
dev: true
/jiti/1.14.0:
resolution: {integrity: sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==}
hasBin: true
@ -5899,7 +6198,6 @@ packages:
/json-parse-even-better-errors/2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
dev: false
/json-rpc-engine/5.4.0:
resolution: {integrity: sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==}
@ -5924,6 +6222,10 @@ packages:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
/json-schema-traverse/1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
dev: true
/json-stable-stringify-without-jsonify/1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
@ -6087,6 +6389,11 @@ packages:
wrap-ansi: 7.0.0
dev: true
/loader-runner/4.3.0:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
engines: {node: '>=6.11.5'}
dev: true
/local-pkg/0.4.1:
resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==}
engines: {node: '>=14'}
@ -6672,14 +6979,12 @@ packages:
/mime-db/1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
dev: false
/mime-types/2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
dev: false
/mime/3.0.0:
resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
@ -6833,6 +7138,10 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
/neo-async/2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
dev: true
/next-tick/1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
dev: false
@ -6925,10 +7234,10 @@ packages:
/node-releases/2.0.5:
resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==}
dev: true
/node-releases/2.0.6:
resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
dev: false
/normalize-package-data/2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
@ -7597,7 +7906,6 @@ packages:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
dependencies:
safe-buffer: 5.2.1
dev: false
/react-avatar-editor/12.0.0_biqbaboplfbrettd7655fr4n2y:
resolution: {integrity: sha512-l7NrN8CXlUXbMhnbkuduAtR3+AlDz+DzYWlYBNr7q+rNeJMZlv26ap3Dk/D1WK/MPlnoS33iITlhLkuDsYQpug==}
@ -7946,6 +8254,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
/require-from-string/2.0.2:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
dev: true
/require-main-filename/2.0.0:
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
dev: false
@ -8058,7 +8371,6 @@ packages:
/safe-buffer/5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: false
/safe-event-emitter/1.0.1:
resolution: {integrity: sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==}
@ -8080,6 +8392,25 @@ packages:
dependencies:
loose-envify: 1.4.0
/schema-utils/3.1.1:
resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==}
engines: {node: '>= 10.13.0'}
dependencies:
'@types/json-schema': 7.0.11
ajv: 6.12.6
ajv-keywords: 3.5.2_ajv@6.12.6
dev: true
/schema-utils/4.0.0:
resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==}
engines: {node: '>= 12.13.0'}
dependencies:
'@types/json-schema': 7.0.11
ajv: 8.11.0
ajv-formats: 2.1.1
ajv-keywords: 5.1.0_ajv@8.11.0
dev: true
/scrypt-js/3.0.1:
resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==}
dev: false
@ -8115,6 +8446,12 @@ packages:
dependencies:
lru-cache: 6.0.0
/serialize-javascript/6.0.0:
resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==}
dependencies:
randombytes: 2.1.0
dev: true
/set-blocking/2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
dev: false
@ -8175,6 +8512,11 @@ packages:
engines: {node: '>=8'}
dev: true
/slash/4.0.0:
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
engines: {node: '>=12'}
dev: true
/slice-ansi/3.0.0:
resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
engines: {node: '>=8'}
@ -8209,6 +8551,18 @@ packages:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
/source-map-support/0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
dependencies:
buffer-from: 1.1.2
source-map: 0.6.1
dev: true
/source-map/0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
dev: true
/sourcemap-codec/1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
dev: true
@ -8452,6 +8806,13 @@ packages:
dependencies:
has-flag: 4.0.0
/supports-color/8.1.1:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
dependencies:
has-flag: 4.0.0
dev: true
/supports-preserve-symlinks-flag/1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
@ -8487,6 +8848,47 @@ packages:
- ts-node
dev: true
/tapable/2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
dev: true
/terser-webpack-plugin/5.3.6_re7r4lo5gfzrpcrvjit2xliiqa:
resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==}
engines: {node: '>= 10.13.0'}
peerDependencies:
'@swc/core': '*'
esbuild: '*'
uglify-js: '*'
webpack: ^5.1.0
peerDependenciesMeta:
'@swc/core':
optional: true
esbuild:
optional: true
uglify-js:
optional: true
dependencies:
'@jridgewell/trace-mapping': 0.3.15
esbuild: 0.14.47
jest-worker: 27.5.1
schema-utils: 3.1.1
serialize-javascript: 6.0.0
terser: 5.15.0
webpack: 5.74.0_esbuild@0.14.47
dev: true
/terser/5.15.0:
resolution: {integrity: sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==}
engines: {node: '>=10'}
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.2
acorn: 8.7.1
commander: 2.20.3
source-map-support: 0.5.21
dev: true
/text-table/0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
@ -8811,6 +9213,7 @@ packages:
browserslist: 4.21.0
escalade: 3.1.1
picocolors: 1.0.0
dev: true
/update-browserslist-db/1.0.5_browserslist@4.21.3:
resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==}
@ -8821,7 +9224,6 @@ packages:
browserslist: 4.21.3
escalade: 3.1.1
picocolors: 1.0.0
dev: false
/uri-js/4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@ -9086,6 +9488,14 @@ packages:
- utf-8-validate
dev: false
/watchpack/2.4.0:
resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
engines: {node: '>=10.13.0'}
dependencies:
glob-to-regexp: 0.4.1
graceful-fs: 4.2.10
dev: true
/web-encoding/1.1.5:
resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==}
dependencies:
@ -9180,6 +9590,51 @@ packages:
wildcard: 2.0.0
dev: false
/webpack-sources/3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
dev: true
/webpack/5.74.0_esbuild@0.14.47:
resolution: {integrity: sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
webpack-cli: '*'
peerDependenciesMeta:
webpack-cli:
optional: true
dependencies:
'@types/eslint-scope': 3.7.4
'@types/estree': 0.0.51
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/wasm-edit': 1.11.1
'@webassemblyjs/wasm-parser': 1.11.1
acorn: 8.7.1
acorn-import-assertions: 1.8.0_acorn@8.7.1
browserslist: 4.21.3
chrome-trace-event: 1.0.3
enhanced-resolve: 5.10.0
es-module-lexer: 0.9.3
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1
graceful-fs: 4.2.10
json-parse-even-better-errors: 2.3.1
loader-runner: 4.3.0
mime-types: 2.1.35
neo-async: 2.6.2
schema-utils: 3.1.1
tapable: 2.2.1
terser-webpack-plugin: 5.3.6_re7r4lo5gfzrpcrvjit2xliiqa
watchpack: 2.4.0
webpack-sources: 3.2.3
transitivePeerDependencies:
- '@swc/core'
- esbuild
- uglify-js
dev: true
/websocket/1.0.34:
resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==}
engines: {node: '>=4.0.0'}

9
src/lib/ipfs-gateway.ts Normal file
View File

@ -0,0 +1,9 @@
import { IpfsGateway } from "@crossbell/ipfs-gateway"
export const IPFS_SW_GATEWAY_PREFIX = "/_ipfs/"
export const ipfsGateway = new IpfsGateway({
serviceWorker: {
gatewayPrefix: IPFS_SW_GATEWAY_PREFIX,
},
})

View File

@ -1,14 +1,33 @@
import { IPFS_GATEWAY } from "~/lib/env"
import { isIpfsUrl } from "@crossbell/ipfs-gateway"
export const toGateway = (url: string) => {
return url
?.replace("ipfs://", IPFS_GATEWAY)
.replace("https://gateway.ipfs.io/ipfs/", IPFS_GATEWAY)
.replace("https://ipfs.io/ipfs/", IPFS_GATEWAY)
.replace("https://cf-ipfs.com/ipfs/", IPFS_GATEWAY)
.replace("https://ipfs.4everland.xyz/ipfs/", IPFS_GATEWAY)
import { IPFS_GATEWAY } from "~/lib/env"
import { ipfsGateway } from "./ipfs-gateway"
const IPFS_PREFIX = "ipfs://"
export type ToGatewayConfig = {
needRequestAtServerSide?: boolean
}
export const toGateway = (url: string, config?: ToGatewayConfig) => {
const ipfsUrl = toIPFS(url)
if (isIpfsUrl(ipfsUrl)) {
if (config?.needRequestAtServerSide && typeof window === "undefined") {
return ipfsGateway.getFallbackWeb2Url(ipfsUrl)
} else {
return ipfsGateway.getSwWeb2Url(ipfsUrl)
}
} else {
return url
}
}
export const toIPFS = (url: string) => {
return url?.replace(IPFS_GATEWAY, "ipfs://")
return url
?.replace(IPFS_GATEWAY, IPFS_PREFIX)
.replace("https://gateway.ipfs.io/ipfs/", IPFS_PREFIX)
.replace("https://ipfs.io/ipfs/", IPFS_PREFIX)
.replace("https://cf-ipfs.com/ipfs/", IPFS_PREFIX)
.replace("https://ipfs.4everland.xyz/ipfs/", IPFS_PREFIX)
}

View File

@ -1,8 +1,11 @@
import Unidata from "unidata.js"
import { IPFS_GATEWAY } from "../lib/env"
import { IPFS_SW_GATEWAY_PREFIX } from "../lib/ipfs-gateway"
let unidata = new Unidata({
ipfsGateway: IPFS_GATEWAY,
ipfsGateway:
typeof window === "undefined" ? IPFS_GATEWAY : IPFS_SW_GATEWAY_PREFIX,
})
export default unidata

View File

@ -2,6 +2,7 @@ import { Toaster } from "react-hot-toast"
import "~/css/main.css"
import "~/generated/uno.css"
import { StoreProvider, createStore } from "~/lib/store"
import { IpfsGatewayContext } from "@crossbell/ipfs-react"
import { getDefaultWallets, RainbowKitProvider } from "@rainbow-me/rainbowkit"
import { configureChains, createClient, WagmiConfig } from "wagmi"
import { jsonRpcProvider } from "wagmi/providers/jsonRpc"
@ -15,6 +16,7 @@ import { PersistQueryClientProvider } from "@tanstack/react-query-persist-client
import { createIDBPersister } from "~/lib/persister.client"
import { connectorsForWallets, wallet } from "@rainbow-me/rainbowkit"
import { CSB_SCAN, IPFS_GATEWAY } from "~/lib/env"
import { ipfsGateway } from "~/lib/ipfs-gateway"
import "@rainbow-me/rainbowkit/styles.css"
@ -79,7 +81,9 @@ function MyApp({ Component, pageProps }: any) {
>
<Hydrate state={pageProps.dehydratedState}>
<ReactQueryDevtools />
<Component {...pageProps} />
<IpfsGatewayContext.Provider value={ipfsGateway}>
<Component {...pageProps} />
</IpfsGatewayContext.Provider>
<Toaster />
</Hydrate>
</PersistQueryClientProvider>

View File

@ -47,7 +47,9 @@ export default async function middleware(req: NextRequest) {
if (tenant) {
const url = req.nextUrl.clone()
url.pathname = `/_site/${tenant}${url.pathname}`
if (url.pathname !== "/ipfs-gateway-sw.js") {
url.pathname = `/_site/${tenant}${url.pathname}`
}
return NextResponse.rewrite(url)
}