Improved caching system
This commit is contained in:
parent
7f1f4a7f89
commit
3e4d1bff26
15
MIGRATION.md
15
MIGRATION.md
|
@ -1,14 +1,15 @@
|
|||
## DOD
|
||||
|
||||
- Jugment
|
||||
- Scans
|
||||
- Gallery (add the magazine cover)
|
||||
- Jugment chapter 1
|
||||
- Magnitude negative
|
||||
- Tags for Chapter 2 and up
|
||||
- Soundtrack
|
||||
- Missing tags
|
||||
- Missing scans booklet / images
|
||||
- Missing vol2 cd
|
||||
- Soundtrack vol1
|
||||
- Missing scans
|
||||
- booklet?
|
||||
- Soundtrack vol2
|
||||
- Missing cd
|
||||
- Missing scans
|
||||
- booklet?
|
||||
- https://v3.accords-library.com/en/pages/song-of-fourteen-years
|
||||
- missing source to https://web.archive.org/web/20151104092843/http://kho-dazat.tumblr.com/post/73835598260/you-are-the-light-the-light-that-illuminates-my
|
||||
- missing parent collectible
|
||||
|
|
5
TODO.md
5
TODO.md
|
@ -9,6 +9,11 @@
|
|||
|
||||
## Short term
|
||||
|
||||
- [Feat] [caching] Use getURLs for precaching + precache everything
|
||||
- [Feat] [caching] Refresh payload cache (wordings, languages...) when receiving webhook
|
||||
- [Bugs] Make sure uploads name are slug-like and with an extension.
|
||||
- [Bugs] Nyupun can't upload subtitles files
|
||||
- [Bugs] https://v3.accords-library.com/en/collectibles/dod-original-soundtrack/scans obi is way too big
|
||||
- [Feat] 404, 500 pages
|
||||
- [Feat] [RichTextContent] Handle relationship
|
||||
- [Feat] [Timeline] Improve layout/spacing on mobile
|
||||
|
|
|
@ -21,7 +21,7 @@ export default defineConfig({
|
|||
name: "on-server-start",
|
||||
hooks: {
|
||||
"astro:config:done": () => {
|
||||
console.log("Running on startup script in 10s...")
|
||||
console.log("Running on startup script in 10s...");
|
||||
setTimeout(() => fetch(`http://${ASTRO_HOST}:${ASTRO_PORT}/en/api/on-startup`), 10_000);
|
||||
},
|
||||
},
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"name": "v3.accords-library.com",
|
||||
"version": "3.0.0-beta.3",
|
||||
"version": "3.0.0-beta.5",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "v3.accords-library.com",
|
||||
"version": "3.0.0-beta.3",
|
||||
"version": "3.0.0-beta.5",
|
||||
"dependencies": {
|
||||
"@astrojs/check": "^0.7.0",
|
||||
"@astrojs/node": "^8.3.0",
|
||||
"@astrojs/node": "^8.3.1",
|
||||
"accept-language": "^3.0.18",
|
||||
"astro": "4.10.2",
|
||||
"astro": "4.10.3",
|
||||
"astro-icon": "^1.1.0",
|
||||
"tippy.js": "^6.3.7",
|
||||
"ua-parser-js": "^1.0.38"
|
||||
|
@ -253,9 +253,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@astrojs/node": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/node/-/node-8.3.0.tgz",
|
||||
"integrity": "sha512-XskynbRTrpY9nqzc4NDrulNWoynRvVO+8UmEKjw6KZABUYUmjZqN88sa/RXtXl0CPI2sPZ5Gzi3WXH8y2PKd5Q==",
|
||||
"version": "8.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@astrojs/node/-/node-8.3.1.tgz",
|
||||
"integrity": "sha512-JwJzE1zyNcb2Tnk1PJIiIV2vGadR/h0C7h3WeN50H7S/DbNpkGrfwKrOxxpZwhkujnudddToA9U4yv+IPlCf0g==",
|
||||
"dependencies": {
|
||||
"send": "^0.18.0",
|
||||
"server-destroy": "^1.0.1"
|
||||
|
@ -1669,9 +1669,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/aix-ppc64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
|
||||
"integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
|
||||
"integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
|
@ -1684,9 +1684,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
|
||||
"integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
|
||||
"integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
|
@ -1699,9 +1699,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
|
||||
"integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1714,9 +1714,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1729,9 +1729,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
|
||||
"integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1744,9 +1744,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1759,9 +1759,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-arm64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
|
||||
"integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1774,9 +1774,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1789,9 +1789,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
|
||||
"integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
|
||||
"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
|
@ -1804,9 +1804,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
|
||||
"integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1819,9 +1819,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ia32": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
|
||||
"integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
|
||||
"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
|
@ -1834,9 +1834,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-loong64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
|
||||
"integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
|
||||
"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
|
@ -1849,9 +1849,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-mips64el": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
|
||||
"integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
|
||||
"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
|
@ -1864,9 +1864,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ppc64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
|
||||
"integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
|
||||
"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
|
@ -1879,9 +1879,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-riscv64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
|
||||
"integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
|
||||
"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
|
@ -1894,9 +1894,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-s390x": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
|
||||
"integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
|
||||
"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
|
@ -1909,9 +1909,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1924,9 +1924,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1939,9 +1939,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1954,9 +1954,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/sunos-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1969,9 +1969,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-arm64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
|
||||
"integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1984,9 +1984,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-ia32": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
|
||||
"integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
|
||||
"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
|
@ -1999,9 +1999,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
|
||||
"integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -2769,9 +2769,9 @@
|
|||
]
|
||||
},
|
||||
"node_modules/@shikijs/core": {
|
||||
"version": "1.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.6.4.tgz",
|
||||
"integrity": "sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA=="
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.7.0.tgz",
|
||||
"integrity": "sha512-O6j27b7dGmJbR3mjwh/aHH8Ld+GQvA0OQsNO43wKWnqbAae3AYXrhFyScHGX8hXZD6vX2ngjzDFkZY5srtIJbQ=="
|
||||
},
|
||||
"node_modules/@trysound/sax": {
|
||||
"version": "0.2.0",
|
||||
|
@ -3035,9 +3035,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.11.3",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
||||
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz",
|
||||
"integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==",
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
|
@ -3147,9 +3147,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/astro": {
|
||||
"version": "4.10.2",
|
||||
"resolved": "https://registry.npmjs.org/astro/-/astro-4.10.2.tgz",
|
||||
"integrity": "sha512-SBdkoOanPsxKlKVU4uu/XG0G7NYAFoqmfBtq9SPMJ34B7Hr1MxVdEugERs8IwYN6UaxdDVcqA++9PvH6Onq2cg==",
|
||||
"version": "4.10.3",
|
||||
"resolved": "https://registry.npmjs.org/astro/-/astro-4.10.3.tgz",
|
||||
"integrity": "sha512-TWCJM+Vg+y0UoEz/H75rfp/u2N8yxeQQ2UrU9+fMcbjlzQJtGGDq3ApdundqPZgAuCryRuJnrKytStMZCFnlvQ==",
|
||||
"dependencies": {
|
||||
"@astrojs/compiler": "^2.8.0",
|
||||
"@astrojs/internal-helpers": "0.4.0",
|
||||
|
@ -3163,7 +3163,7 @@
|
|||
"@babel/types": "^7.24.7",
|
||||
"@types/babel__core": "^7.20.5",
|
||||
"@types/cookie": "^0.6.0",
|
||||
"acorn": "^8.11.3",
|
||||
"acorn": "^8.12.0",
|
||||
"aria-query": "^5.3.0",
|
||||
"axobject-query": "^4.0.0",
|
||||
"boxen": "^7.1.1",
|
||||
|
@ -3202,13 +3202,13 @@
|
|||
"rehype": "^13.0.1",
|
||||
"resolve": "^1.22.8",
|
||||
"semver": "^7.6.2",
|
||||
"shiki": "^1.6.3",
|
||||
"shiki": "^1.6.5",
|
||||
"string-width": "^7.1.0",
|
||||
"strip-ansi": "^7.1.0",
|
||||
"tsconfck": "^3.1.0",
|
||||
"unist-util-visit": "^5.0.0",
|
||||
"vfile": "^6.0.1",
|
||||
"vite": "^5.2.13",
|
||||
"vite": "^5.3.1",
|
||||
"vitefu": "^0.2.5",
|
||||
"which-pm": "^2.2.0",
|
||||
"yargs-parser": "^21.1.1",
|
||||
|
@ -3246,388 +3246,6 @@
|
|||
"astro": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/aix-ppc64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
|
||||
"integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"aix"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/android-arm": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
|
||||
"integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/android-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/android-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/darwin-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/freebsd-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/freebsd-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-arm": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
|
||||
"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-ia32": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
|
||||
"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-loong64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
|
||||
"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-mips64el": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
|
||||
"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-ppc64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
|
||||
"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-riscv64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
|
||||
"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-s390x": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
|
||||
"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/linux-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/netbsd-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"netbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/openbsd-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/sunos-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"sunos"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/win32-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/win32-ia32": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
|
||||
"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/esbuild": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
||||
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.21.5",
|
||||
"@esbuild/android-arm": "0.21.5",
|
||||
"@esbuild/android-arm64": "0.21.5",
|
||||
"@esbuild/android-x64": "0.21.5",
|
||||
"@esbuild/darwin-arm64": "0.21.5",
|
||||
"@esbuild/darwin-x64": "0.21.5",
|
||||
"@esbuild/freebsd-arm64": "0.21.5",
|
||||
"@esbuild/freebsd-x64": "0.21.5",
|
||||
"@esbuild/linux-arm": "0.21.5",
|
||||
"@esbuild/linux-arm64": "0.21.5",
|
||||
"@esbuild/linux-ia32": "0.21.5",
|
||||
"@esbuild/linux-loong64": "0.21.5",
|
||||
"@esbuild/linux-mips64el": "0.21.5",
|
||||
"@esbuild/linux-ppc64": "0.21.5",
|
||||
"@esbuild/linux-riscv64": "0.21.5",
|
||||
"@esbuild/linux-s390x": "0.21.5",
|
||||
"@esbuild/linux-x64": "0.21.5",
|
||||
"@esbuild/netbsd-x64": "0.21.5",
|
||||
"@esbuild/openbsd-x64": "0.21.5",
|
||||
"@esbuild/sunos-x64": "0.21.5",
|
||||
"@esbuild/win32-arm64": "0.21.5",
|
||||
"@esbuild/win32-ia32": "0.21.5",
|
||||
"@esbuild/win32-x64": "0.21.5"
|
||||
}
|
||||
},
|
||||
"node_modules/autoprefixer": {
|
||||
"version": "10.4.19",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
|
||||
|
@ -3762,11 +3380,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/braces": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||
"dependencies": {
|
||||
"fill-range": "^7.0.1"
|
||||
"fill-range": "^7.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
|
@ -4604,9 +4222,9 @@
|
|||
"integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg=="
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
|
||||
"integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
||||
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
|
@ -4615,29 +4233,29 @@
|
|||
"node": ">=12"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.20.2",
|
||||
"@esbuild/android-arm": "0.20.2",
|
||||
"@esbuild/android-arm64": "0.20.2",
|
||||
"@esbuild/android-x64": "0.20.2",
|
||||
"@esbuild/darwin-arm64": "0.20.2",
|
||||
"@esbuild/darwin-x64": "0.20.2",
|
||||
"@esbuild/freebsd-arm64": "0.20.2",
|
||||
"@esbuild/freebsd-x64": "0.20.2",
|
||||
"@esbuild/linux-arm": "0.20.2",
|
||||
"@esbuild/linux-arm64": "0.20.2",
|
||||
"@esbuild/linux-ia32": "0.20.2",
|
||||
"@esbuild/linux-loong64": "0.20.2",
|
||||
"@esbuild/linux-mips64el": "0.20.2",
|
||||
"@esbuild/linux-ppc64": "0.20.2",
|
||||
"@esbuild/linux-riscv64": "0.20.2",
|
||||
"@esbuild/linux-s390x": "0.20.2",
|
||||
"@esbuild/linux-x64": "0.20.2",
|
||||
"@esbuild/netbsd-x64": "0.20.2",
|
||||
"@esbuild/openbsd-x64": "0.20.2",
|
||||
"@esbuild/sunos-x64": "0.20.2",
|
||||
"@esbuild/win32-arm64": "0.20.2",
|
||||
"@esbuild/win32-ia32": "0.20.2",
|
||||
"@esbuild/win32-x64": "0.20.2"
|
||||
"@esbuild/aix-ppc64": "0.21.5",
|
||||
"@esbuild/android-arm": "0.21.5",
|
||||
"@esbuild/android-arm64": "0.21.5",
|
||||
"@esbuild/android-x64": "0.21.5",
|
||||
"@esbuild/darwin-arm64": "0.21.5",
|
||||
"@esbuild/darwin-x64": "0.21.5",
|
||||
"@esbuild/freebsd-arm64": "0.21.5",
|
||||
"@esbuild/freebsd-x64": "0.21.5",
|
||||
"@esbuild/linux-arm": "0.21.5",
|
||||
"@esbuild/linux-arm64": "0.21.5",
|
||||
"@esbuild/linux-ia32": "0.21.5",
|
||||
"@esbuild/linux-loong64": "0.21.5",
|
||||
"@esbuild/linux-mips64el": "0.21.5",
|
||||
"@esbuild/linux-ppc64": "0.21.5",
|
||||
"@esbuild/linux-riscv64": "0.21.5",
|
||||
"@esbuild/linux-s390x": "0.21.5",
|
||||
"@esbuild/linux-x64": "0.21.5",
|
||||
"@esbuild/netbsd-x64": "0.21.5",
|
||||
"@esbuild/openbsd-x64": "0.21.5",
|
||||
"@esbuild/sunos-x64": "0.21.5",
|
||||
"@esbuild/win32-arm64": "0.21.5",
|
||||
"@esbuild/win32-ia32": "0.21.5",
|
||||
"@esbuild/win32-x64": "0.21.5"
|
||||
}
|
||||
},
|
||||
"node_modules/escalade": {
|
||||
|
@ -4797,9 +4415,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||
"dependencies": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
},
|
||||
|
@ -8556,11 +8174,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/shiki": {
|
||||
"version": "1.6.4",
|
||||
"resolved": "https://registry.npmjs.org/shiki/-/shiki-1.6.4.tgz",
|
||||
"integrity": "sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==",
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/shiki/-/shiki-1.7.0.tgz",
|
||||
"integrity": "sha512-H5pMn4JA7ayx8H0qOz1k2qANq6mZVCMl1gKLK6kWIrv1s2Ial4EmD4s4jE8QB5Dw03d/oCQUxc24sotuyR5byA==",
|
||||
"dependencies": {
|
||||
"@shikijs/core": "1.6.4"
|
||||
"@shikijs/core": "1.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/signal-exit": {
|
||||
|
@ -9186,11 +8804,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "5.2.13",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.2.13.tgz",
|
||||
"integrity": "sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==",
|
||||
"version": "5.3.1",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz",
|
||||
"integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==",
|
||||
"dependencies": {
|
||||
"esbuild": "^0.20.1",
|
||||
"esbuild": "^0.21.3",
|
||||
"postcss": "^8.4.38",
|
||||
"rollup": "^4.13.0"
|
||||
},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "v3.accords-library.com",
|
||||
"version": "3.0.0-beta.4",
|
||||
"version": "3.0.0-beta.5",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"start": "astro dev",
|
||||
|
@ -20,9 +20,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@astrojs/check": "^0.7.0",
|
||||
"@astrojs/node": "^8.3.0",
|
||||
"@astrojs/node": "^8.3.1",
|
||||
"accept-language": "^3.0.18",
|
||||
"astro": "4.10.2",
|
||||
"astro": "4.10.3",
|
||||
"astro-icon": "^1.1.0",
|
||||
"tippy.js": "^6.3.7",
|
||||
"ua-parser-js": "^1.0.38"
|
||||
|
|
|
@ -1,16 +1,6 @@
|
|||
import type { APIRoute } from "astro";
|
||||
import {
|
||||
Collections,
|
||||
WebHookOperationType,
|
||||
type WebHookMessage,
|
||||
} from "src/shared/payload/payload-sdk";
|
||||
import {
|
||||
invalidateDataCache,
|
||||
refreshCurrencies,
|
||||
refreshLocales,
|
||||
refreshWebsiteConfig,
|
||||
refreshWordings,
|
||||
} from "src/utils/payload";
|
||||
import type { AfterOperationWebHookMessage } from "src/shared/payload/payload-sdk";
|
||||
import { invalidateDataCache } from "src/utils/payload";
|
||||
|
||||
export const POST: APIRoute = async ({ request }) => {
|
||||
const auth = request.headers.get("Authorization");
|
||||
|
@ -19,30 +9,13 @@ export const POST: APIRoute = async ({ request }) => {
|
|||
return new Response(null, { status: 403, statusText: "Forbidden" });
|
||||
}
|
||||
|
||||
const { collection, operation, id } = (await request.json()) as WebHookMessage;
|
||||
console.log("[Webhook] Received message from CMS:", { collection, Collections, id });
|
||||
const message = (await request.json()) as AfterOperationWebHookMessage;
|
||||
console.log("[Webhook] Received messages from CMS:", message);
|
||||
|
||||
if (id && operation !== WebHookOperationType.create) {
|
||||
await invalidateDataCache(id);
|
||||
}
|
||||
await invalidateDataCache(
|
||||
[...(message.id ? [message.id] : []), ...message.addedDependantIds],
|
||||
message.urls
|
||||
);
|
||||
|
||||
switch (collection) {
|
||||
case Collections.Wordings:
|
||||
await refreshWordings();
|
||||
break;
|
||||
|
||||
case Collections.Currencies:
|
||||
await refreshCurrencies();
|
||||
break;
|
||||
|
||||
case Collections.Languages:
|
||||
await refreshLocales();
|
||||
break;
|
||||
|
||||
case Collections.WebsiteConfig:
|
||||
await refreshWebsiteConfig();
|
||||
break;
|
||||
}
|
||||
|
||||
return new Response(null, { status: 200, statusText: "Ok" });
|
||||
return new Response(null, { status: 202, statusText: "Accepted" });
|
||||
};
|
||||
|
|
|
@ -1,177 +1,177 @@
|
|||
{
|
||||
"disclaimer": "Usage subject to terms: https://openexchangerates.org/terms",
|
||||
"license": "https://openexchangerates.org/license",
|
||||
"timestamp": 1718449213,
|
||||
"timestamp": 1718769601,
|
||||
"base": "USD",
|
||||
"rates": {
|
||||
"AED": 3.673,
|
||||
"AFN": 70.629925,
|
||||
"ALL": 93.766029,
|
||||
"AMD": 387.09398,
|
||||
"ANG": 1.79792,
|
||||
"AOA": 855.5,
|
||||
"ARS": 901.78997,
|
||||
"AUD": 1.513088,
|
||||
"AWG": 1.80125,
|
||||
"AFN": 70.163141,
|
||||
"ALL": 93.552377,
|
||||
"AMD": 388.086509,
|
||||
"ANG": 1.802556,
|
||||
"AOA": 854.494667,
|
||||
"ARS": 905.759291,
|
||||
"AUD": 1.501458,
|
||||
"AWG": 1.8,
|
||||
"AZN": 1.7,
|
||||
"BAM": 1.825818,
|
||||
"BAM": 1.821501,
|
||||
"BBD": 2,
|
||||
"BDT": 117.237829,
|
||||
"BGN": 1.828515,
|
||||
"BHD": 0.376276,
|
||||
"BIF": 2867.428126,
|
||||
"BDT": 117.292047,
|
||||
"BGN": 1.8212,
|
||||
"BHD": 0.376891,
|
||||
"BIF": 2869.980338,
|
||||
"BMD": 1,
|
||||
"BND": 1.350399,
|
||||
"BOB": 6.893272,
|
||||
"BRL": 5.3773,
|
||||
"BND": 1.35155,
|
||||
"BOB": 6.897451,
|
||||
"BRL": 5.4413,
|
||||
"BSD": 1,
|
||||
"BTC": 0.000015094941,
|
||||
"BTN": 83.342478,
|
||||
"BWP": 13.582319,
|
||||
"BYN": 3.264326,
|
||||
"BZD": 2.010911,
|
||||
"CAD": 1.37535,
|
||||
"CDF": 2819.794327,
|
||||
"CHF": 0.89102,
|
||||
"CLF": 0.033781,
|
||||
"CLP": 932.13,
|
||||
"CNH": 7.27105,
|
||||
"CNY": 7.2548,
|
||||
"COP": 4140.0662,
|
||||
"CRC": 525.947274,
|
||||
"BTC": 0.000015288954,
|
||||
"BTN": 83.247452,
|
||||
"BWP": 13.517364,
|
||||
"BYN": 3.26637,
|
||||
"BZD": 2.012145,
|
||||
"CAD": 1.372048,
|
||||
"CDF": 2835.224044,
|
||||
"CHF": 0.884319,
|
||||
"CLF": 0.033902,
|
||||
"CLP": 935.45,
|
||||
"CNH": 7.273883,
|
||||
"CNY": 7.2559,
|
||||
"COP": 4122.284393,
|
||||
"CRC": 525.542692,
|
||||
"CUC": 1,
|
||||
"CUP": 25.75,
|
||||
"CVE": 102.825557,
|
||||
"CZK": 23.0983,
|
||||
"DJF": 177.628631,
|
||||
"DKK": 6.9657,
|
||||
"DOP": 59.234388,
|
||||
"DZD": 134.823,
|
||||
"EGP": 47.71,
|
||||
"CVE": 102.693429,
|
||||
"CZK": 23.131,
|
||||
"DJF": 177.73558,
|
||||
"DKK": 6.947223,
|
||||
"DOP": 59.183449,
|
||||
"DZD": 134.598577,
|
||||
"EGP": 47.7088,
|
||||
"ERN": 15,
|
||||
"ETB": 57.057587,
|
||||
"EUR": 0.933053,
|
||||
"FJD": 2.2387,
|
||||
"FKP": 0.789079,
|
||||
"GBP": 0.789079,
|
||||
"GEL": 2.87,
|
||||
"GGP": 0.789079,
|
||||
"GHS": 15.01562,
|
||||
"GIP": 0.789079,
|
||||
"ETB": 57.520491,
|
||||
"EUR": 0.931299,
|
||||
"FJD": 2.25895,
|
||||
"FKP": 0.786911,
|
||||
"GBP": 0.786911,
|
||||
"GEL": 2.84,
|
||||
"GGP": 0.786911,
|
||||
"GHS": 15.02333,
|
||||
"GIP": 0.786911,
|
||||
"GMD": 67.75,
|
||||
"GNF": 8588.587525,
|
||||
"GTQ": 7.749335,
|
||||
"GYD": 208.737801,
|
||||
"HKD": 7.81055,
|
||||
"HNL": 24.65706,
|
||||
"HRK": 7.03975,
|
||||
"HTG": 132.335527,
|
||||
"HUF": 372.07,
|
||||
"IDR": 16486.5,
|
||||
"ILS": 3.7242,
|
||||
"IMP": 0.789079,
|
||||
"INR": 83.55155,
|
||||
"IQD": 1306.849431,
|
||||
"IRR": 42100,
|
||||
"ISK": 139.040389,
|
||||
"JEP": 0.789079,
|
||||
"JMD": 155.257148,
|
||||
"GNF": 8593.158878,
|
||||
"GTQ": 7.745895,
|
||||
"GYD": 208.758212,
|
||||
"HKD": 7.808162,
|
||||
"HNL": 25.078995,
|
||||
"HRK": 7.016854,
|
||||
"HTG": 132.267879,
|
||||
"HUF": 366.849287,
|
||||
"IDR": 16349.509717,
|
||||
"ILS": 3.716955,
|
||||
"IMP": 0.786911,
|
||||
"INR": 83.381051,
|
||||
"IQD": 1306.660001,
|
||||
"IRR": 42087.5,
|
||||
"ISK": 139.04,
|
||||
"JEP": 0.786911,
|
||||
"JMD": 155.440387,
|
||||
"JOD": 0.7089,
|
||||
"JPY": 157.42503042,
|
||||
"KES": 129.202198,
|
||||
"KGS": 87.1182,
|
||||
"KHR": 4108.729824,
|
||||
"KMF": 457.499995,
|
||||
"JPY": 157.859,
|
||||
"KES": 129.27,
|
||||
"KGS": 87.6016,
|
||||
"KHR": 4112.767316,
|
||||
"KMF": 458.849846,
|
||||
"KPW": 900,
|
||||
"KRW": 1383.27,
|
||||
"KWD": 0.306225,
|
||||
"KYD": 0.831445,
|
||||
"KZT": 451.01908,
|
||||
"LAK": 21788.785264,
|
||||
"LBP": 89337.02505,
|
||||
"LKR": 303.408359,
|
||||
"LRD": 193.537555,
|
||||
"LSL": 18.318086,
|
||||
"LYD": 4.83704,
|
||||
"MAD": 10.025552,
|
||||
"MDL": 17.730591,
|
||||
"MGA": 4440.702811,
|
||||
"MKD": 57.457919,
|
||||
"MMK": 2201.379322,
|
||||
"KRW": 1382.002686,
|
||||
"KWD": 0.306682,
|
||||
"KYD": 0.831866,
|
||||
"KZT": 459.016771,
|
||||
"LAK": 21889.130162,
|
||||
"LBP": 89643.929605,
|
||||
"LKR": 304.461947,
|
||||
"LRD": 193.81036,
|
||||
"LSL": 18.097846,
|
||||
"LYD": 4.840137,
|
||||
"MAD": 9.975878,
|
||||
"MDL": 17.828505,
|
||||
"MGA": 4470.377749,
|
||||
"MKD": 57.384069,
|
||||
"MMK": 2096.43,
|
||||
"MNT": 3450,
|
||||
"MOP": 8.026577,
|
||||
"MRU": 39.295939,
|
||||
"MUR": 46.775637,
|
||||
"MVR": 15.41,
|
||||
"MWK": 1729.752588,
|
||||
"MXN": 18.4648,
|
||||
"MYR": 4.719499,
|
||||
"MZN": 63.899991,
|
||||
"NAD": 18.318086,
|
||||
"NGN": 1495.5,
|
||||
"NIO": 36.723084,
|
||||
"NOK": 10.68245,
|
||||
"NPR": 133.348263,
|
||||
"NZD": 1.627075,
|
||||
"OMR": 0.384948,
|
||||
"MOP": 8.027251,
|
||||
"MRU": 39.448914,
|
||||
"MUR": 46.666698,
|
||||
"MVR": 15.395,
|
||||
"MWK": 1730.787269,
|
||||
"MXN": 18.4099,
|
||||
"MYR": 4.708,
|
||||
"MZN": 63.885,
|
||||
"NAD": 18.097846,
|
||||
"NGN": 1484.33,
|
||||
"NIO": 36.741079,
|
||||
"NOK": 10.573511,
|
||||
"NPR": 133.44253,
|
||||
"NZD": 1.63038,
|
||||
"OMR": 0.384941,
|
||||
"PAB": 1,
|
||||
"PEN": 3.770504,
|
||||
"PGK": 3.887723,
|
||||
"PHP": 58.700001,
|
||||
"PKR": 277.884288,
|
||||
"PLN": 4.092232,
|
||||
"PYG": 7503.069605,
|
||||
"QAR": 3.638178,
|
||||
"RON": 4.653,
|
||||
"RSD": 109.359,
|
||||
"RUB": 89.307513,
|
||||
"RWF": 1308.992161,
|
||||
"SAR": 3.752179,
|
||||
"SBD": 8.4616,
|
||||
"SCR": 13.560479,
|
||||
"SDG": 586,
|
||||
"SEK": 10.63185,
|
||||
"SGD": 1.3535,
|
||||
"SHP": 0.789079,
|
||||
"PEN": 3.789035,
|
||||
"PGK": 3.890178,
|
||||
"PHP": 58.671002,
|
||||
"PKR": 278.046054,
|
||||
"PLN": 4.041156,
|
||||
"PYG": 7507.477573,
|
||||
"QAR": 3.640673,
|
||||
"RON": 4.6337,
|
||||
"RSD": 109.022,
|
||||
"RUB": 85.747634,
|
||||
"RWF": 1305.577777,
|
||||
"SAR": 3.751877,
|
||||
"SBD": 8.471937,
|
||||
"SCR": 13.937,
|
||||
"SDG": 601,
|
||||
"SEK": 10.433372,
|
||||
"SGD": 1.350881,
|
||||
"SHP": 0.786911,
|
||||
"SLL": 20969.5,
|
||||
"SOS": 570.149738,
|
||||
"SRD": 31.572,
|
||||
"SOS": 571.352636,
|
||||
"SRD": 31.231,
|
||||
"SSP": 130.26,
|
||||
"STD": 22281.8,
|
||||
"STN": 22.847018,
|
||||
"SVC": 8.729426,
|
||||
"STN": 22.817654,
|
||||
"SVC": 8.734971,
|
||||
"SYP": 2512.53,
|
||||
"SZL": 18.307455,
|
||||
"THB": 36.630765,
|
||||
"TJS": 10.669464,
|
||||
"SZL": 18.092071,
|
||||
"THB": 36.730254,
|
||||
"TJS": 10.681083,
|
||||
"TMT": 3.5,
|
||||
"TND": 3.122488,
|
||||
"TOP": 2.35645,
|
||||
"TRY": 32.7375,
|
||||
"TTD": 6.779503,
|
||||
"TWD": 32.3458,
|
||||
"TZS": 2619.02838,
|
||||
"UAH": 40.593838,
|
||||
"UGX": 3705.886831,
|
||||
"TND": 3.125274,
|
||||
"TOP": 2.361474,
|
||||
"TRY": 32.617701,
|
||||
"TTD": 6.781034,
|
||||
"TWD": 32.385,
|
||||
"TZS": 2615,
|
||||
"UAH": 40.591421,
|
||||
"UGX": 3711.377309,
|
||||
"USD": 1,
|
||||
"UYU": 39.291418,
|
||||
"UZS": 12584.375498,
|
||||
"VES": 36.372315,
|
||||
"VND": 25455.008685,
|
||||
"UYU": 39.353278,
|
||||
"UZS": 12604.759961,
|
||||
"VES": 36.348426,
|
||||
"VND": 25451.768898,
|
||||
"VUV": 118.722,
|
||||
"WST": 2.8,
|
||||
"XAF": 612.042932,
|
||||
"XAG": 0.03380837,
|
||||
"XAU": 0.00042863,
|
||||
"XAF": 610.891881,
|
||||
"XAG": 0.03397836,
|
||||
"XAU": 0.00042947,
|
||||
"XCD": 2.70255,
|
||||
"XDR": 0.756096,
|
||||
"XOF": 612.042932,
|
||||
"XPD": 0.00113108,
|
||||
"XPF": 111.342892,
|
||||
"XPT": 0.00104433,
|
||||
"YER": 250.33747,
|
||||
"ZAR": 18.35321,
|
||||
"ZMW": 26.168747,
|
||||
"XDR": 0.757639,
|
||||
"XOF": 610.891881,
|
||||
"XPD": 0.00113672,
|
||||
"XPF": 111.133493,
|
||||
"XPT": 0.00102682,
|
||||
"YER": 250.350066,
|
||||
"ZAR": 18.039756,
|
||||
"ZMW": 25.779293,
|
||||
"ZWL": 322
|
||||
}
|
||||
}
|
|
@ -1278,18 +1278,11 @@ export enum AttributeTypes {
|
|||
|
||||
/* WEB HOOKS */
|
||||
|
||||
export interface WebHookMessage {
|
||||
collection: Collections;
|
||||
operation: WebHookOperationType;
|
||||
export type AfterOperationWebHookMessage = {
|
||||
id?: string;
|
||||
}
|
||||
|
||||
export enum WebHookOperationType {
|
||||
create = "create",
|
||||
update = "update",
|
||||
delete = "delete",
|
||||
}
|
||||
|
||||
addedDependantIds: string[];
|
||||
urls: string[];
|
||||
};
|
||||
/* RICH TEXT */
|
||||
|
||||
export type RichTextContent = {
|
||||
|
@ -2024,6 +2017,7 @@ export type EndpointAllPaths = {
|
|||
audios: string[];
|
||||
images: string[];
|
||||
recorders: string[];
|
||||
chronologyEvents: string[];
|
||||
};
|
||||
|
||||
// SDK
|
||||
|
@ -2044,6 +2038,31 @@ type GetPayloadSDKParams = {
|
|||
|
||||
const logResponse = (res: Response) => console.log(res.status, res.statusText, res.url);
|
||||
|
||||
export const getSDKEndpoint = {
|
||||
getConfigEndpoint: () => `/globals/${Collections.WebsiteConfig}/config`,
|
||||
getFolderEndpoint: (slug: string) => `/${Collections.Folders}/slug/${slug}`,
|
||||
getLanguagesEndpoint: () => `/${Collections.Languages}/all`,
|
||||
getCurrenciesEndpoint: () => `/${Collections.Currencies}/all`,
|
||||
getWordingsEndpoint: () => `/${Collections.Wordings}/all`,
|
||||
getPageEndpoint: (slug: string) => `/${Collections.Pages}/slug/${slug}`,
|
||||
getCollectibleEndpoint: (slug: string) => `/${Collections.Collectibles}/slug/${slug}`,
|
||||
getCollectibleScansEndpoint: (slug: string) => `/${Collections.Collectibles}/slug/${slug}/scans`,
|
||||
getCollectibleScanPageEndpoint: (slug: string, index: string) =>
|
||||
`/${Collections.Collectibles}/slug/${slug}/scans/${index}`,
|
||||
getCollectibleGalleryEndpoint: (slug: string) =>
|
||||
`/${Collections.Collectibles}/slug/${slug}/gallery`,
|
||||
getCollectibleGalleryImageEndpoint: (slug: string, index: string) =>
|
||||
`/${Collections.Collectibles}/slug/${slug}/gallery/${index}`,
|
||||
getChronologyEventsEndpoint: () => `/${Collections.ChronologyEvents}/all`,
|
||||
getChronologyEventByIDEndpoint: (id: string) => `/${Collections.ChronologyEvents}/id/${id}`,
|
||||
getImageByIDEndpoint: (id: string) => `/${Collections.Images}/id/${id}`,
|
||||
getAudioByIDEndpoint: (id: string) => `/${Collections.Audios}/id/${id}`,
|
||||
getVideoByIDEndpoint: (id: string) => `/${Collections.Videos}/id/${id}`,
|
||||
getRecorderByIDEndpoint: (id: string) => `/${Collections.Recorders}/id/${id}`,
|
||||
getAllPathsEndpoint: () => `/all-paths`,
|
||||
getLoginEndpoint: () => `/${Collections.Recorders}/login`,
|
||||
};
|
||||
|
||||
export const getPayloadSDK = ({
|
||||
apiURL,
|
||||
email,
|
||||
|
@ -2052,7 +2071,7 @@ export const getPayloadSDK = ({
|
|||
responseCache,
|
||||
}: GetPayloadSDKParams) => {
|
||||
const refreshToken = async () => {
|
||||
const loginUrl = `${apiURL}/${Collections.Recorders}/login`;
|
||||
const loginUrl = `${apiURL}${getSDKEndpoint.getLoginEndpoint()}`;
|
||||
const loginResult = await fetch(loginUrl, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
|
@ -2072,13 +2091,13 @@ export const getPayloadSDK = ({
|
|||
return token;
|
||||
};
|
||||
|
||||
const request = async (url: string): Promise<any> => {
|
||||
const cachedResponse = responseCache?.get(url);
|
||||
const request = async (endpoint: string): Promise<any> => {
|
||||
const cachedResponse = responseCache?.get(endpoint);
|
||||
if (cachedResponse) {
|
||||
return cachedResponse;
|
||||
}
|
||||
|
||||
const result = await fetch(url, {
|
||||
const result = await fetch(`${apiURL}${endpoint}`, {
|
||||
headers: {
|
||||
Authorization: `JWT ${tokenCache?.get() ?? (await refreshToken())}`,
|
||||
},
|
||||
|
@ -2090,52 +2109,53 @@ export const getPayloadSDK = ({
|
|||
}
|
||||
|
||||
const data = await result.json();
|
||||
responseCache?.set(url, data);
|
||||
responseCache?.set(endpoint, data);
|
||||
return data;
|
||||
};
|
||||
|
||||
return {
|
||||
getConfig: async (): Promise<EndpointWebsiteConfig> =>
|
||||
await request(`${apiURL}/globals/${Collections.WebsiteConfig}/config`),
|
||||
await request(getSDKEndpoint.getConfigEndpoint()),
|
||||
getFolder: async (slug: string): Promise<EndpointFolder> =>
|
||||
await request(`${apiURL}/${Collections.Folders}/slug/${slug}`),
|
||||
await request(getSDKEndpoint.getFolderEndpoint(slug)),
|
||||
getLanguages: async (): Promise<Language[]> =>
|
||||
await request(`${apiURL}/${Collections.Languages}/all`),
|
||||
await request(getSDKEndpoint.getLanguagesEndpoint()),
|
||||
getCurrencies: async (): Promise<Currency[]> =>
|
||||
await request(`${apiURL}/${Collections.Currencies}/all`),
|
||||
await request(getSDKEndpoint.getCurrenciesEndpoint()),
|
||||
getWordings: async (): Promise<EndpointWording[]> =>
|
||||
await request(`${apiURL}/${Collections.Wordings}/all`),
|
||||
await request(getSDKEndpoint.getWordingsEndpoint()),
|
||||
getPage: async (slug: string): Promise<EndpointPage> =>
|
||||
await request(`${apiURL}/${Collections.Pages}/slug/${slug}`),
|
||||
await request(getSDKEndpoint.getPageEndpoint(slug)),
|
||||
getCollectible: async (slug: string): Promise<EndpointCollectible> =>
|
||||
await request(`${apiURL}/${Collections.Collectibles}/slug/${slug}`),
|
||||
await request(getSDKEndpoint.getCollectibleEndpoint(slug)),
|
||||
getCollectibleScans: async (slug: string): Promise<EndpointCollectibleScans> =>
|
||||
await request(`${apiURL}/${Collections.Collectibles}/slug/${slug}/scans`),
|
||||
await request(getSDKEndpoint.getCollectibleScansEndpoint(slug)),
|
||||
getCollectibleScanPage: async (
|
||||
slug: string,
|
||||
index: string
|
||||
): Promise<EndpointCollectibleScanPage> =>
|
||||
await request(`${apiURL}/${Collections.Collectibles}/slug/${slug}/scans/${index}`),
|
||||
await request(getSDKEndpoint.getCollectibleScanPageEndpoint(slug, index)),
|
||||
getCollectibleGallery: async (slug: string): Promise<EndpointCollectibleGallery> =>
|
||||
await request(`${apiURL}/${Collections.Collectibles}/slug/${slug}/gallery`),
|
||||
await request(getSDKEndpoint.getCollectibleGalleryEndpoint(slug)),
|
||||
getCollectibleGalleryImage: async (
|
||||
slug: string,
|
||||
index: string
|
||||
): Promise<EndpointCollectibleGalleryImage> =>
|
||||
await request(`${apiURL}/${Collections.Collectibles}/slug/${slug}/gallery/${index}`),
|
||||
await request(getSDKEndpoint.getCollectibleGalleryImageEndpoint(slug, index)),
|
||||
getChronologyEvents: async (): Promise<EndpointChronologyEvent[]> =>
|
||||
await request(`${apiURL}/${Collections.ChronologyEvents}/all`),
|
||||
await request(getSDKEndpoint.getChronologyEventsEndpoint()),
|
||||
getChronologyEventByID: async (id: string): Promise<EndpointChronologyEvent> =>
|
||||
await request(`${apiURL}/${Collections.ChronologyEvents}/id/${id}`),
|
||||
await request(getSDKEndpoint.getChronologyEventByIDEndpoint(id)),
|
||||
getImageByID: async (id: string): Promise<EndpointImage> =>
|
||||
await request(`${apiURL}/${Collections.Images}/id/${id}`),
|
||||
await request(getSDKEndpoint.getImageByIDEndpoint(id)),
|
||||
getAudioByID: async (id: string): Promise<EndpointAudio> =>
|
||||
await request(`${apiURL}/${Collections.Audios}/id/${id}`),
|
||||
await request(getSDKEndpoint.getAudioByIDEndpoint(id)),
|
||||
getVideoByID: async (id: string): Promise<EndpointVideo> =>
|
||||
await request(`${apiURL}/${Collections.Videos}/id/${id}`),
|
||||
await request(getSDKEndpoint.getVideoByIDEndpoint(id)),
|
||||
getRecorderByID: async (id: string): Promise<EndpointRecorder> =>
|
||||
await request(`${apiURL}/${Collections.Recorders}/id/${id}`),
|
||||
getAllPaths: async (): Promise<EndpointAllPaths> => await request(`${apiURL}/all-paths`),
|
||||
request: async (url: string): Promise<any> => await request(url),
|
||||
await request(getSDKEndpoint.getRecorderByIDEndpoint(id)),
|
||||
getAllPaths: async (): Promise<EndpointAllPaths> =>
|
||||
await request(getSDKEndpoint.getAllPathsEndpoint()),
|
||||
request: async (pathname: string): Promise<any> => await request(pathname),
|
||||
};
|
||||
};
|
||||
|
|
|
@ -60,18 +60,23 @@ export const payload = getPayloadSDK({
|
|||
},
|
||||
});
|
||||
|
||||
export const invalidateDataCache = async (id: string) => {
|
||||
const responsesToInvalidate = idsCacheMap.get(id);
|
||||
if (!responsesToInvalidate) return;
|
||||
idsCacheMap.delete(id);
|
||||
export const invalidateDataCache = async (ids: string[], urls: string[]) => {
|
||||
const urlsToInvalidate = new Set<string>(urls);
|
||||
|
||||
for (const url of responsesToInvalidate) {
|
||||
ids.forEach((id) => {
|
||||
const urlsForThisId = idsCacheMap.get(id);
|
||||
if (!urlsForThisId) return;
|
||||
idsCacheMap.delete(id);
|
||||
[...urlsForThisId].forEach((url) => urlsToInvalidate.add(url));
|
||||
});
|
||||
|
||||
for (const url of urlsToInvalidate) {
|
||||
responseCache.delete(url);
|
||||
console.log("[ResponseCaching][Invalidation] Deleted cache for", url);
|
||||
try {
|
||||
await payload.request(url);
|
||||
console.log("[ResponseCaching][Invalidation] Success for", url);
|
||||
} catch (e) {
|
||||
console.log("[ResponseCaching][Invalidation] Failure for", url);
|
||||
console.log("[ResponseCaching][Revalidation] Failure for", url);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,14 +121,23 @@ export const initPayload = async () => {
|
|||
const result = await payload.getAllPaths();
|
||||
|
||||
for (const slug of result.pages) {
|
||||
try {
|
||||
await payload.getPage(slug);
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache page", slug, e);
|
||||
}
|
||||
}
|
||||
|
||||
for (const slug of result.folders) {
|
||||
try {
|
||||
await payload.getFolder(slug);
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache folder", slug, e);
|
||||
}
|
||||
}
|
||||
|
||||
for (const slug of result.collectibles) {
|
||||
try {
|
||||
const collectible = await payload.getCollectible(slug);
|
||||
if (collectible.scans) {
|
||||
await payload.getCollectibleScans(slug);
|
||||
|
@ -131,29 +145,48 @@ export const initPayload = async () => {
|
|||
if (collectible.gallery) {
|
||||
await payload.getCollectibleGallery(slug);
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache collectible", slug, e);
|
||||
}
|
||||
}
|
||||
|
||||
for (const id of result.recorders) {
|
||||
try {
|
||||
await payload.getRecorderByID(id);
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache recorder", id, e);
|
||||
}
|
||||
|
||||
for (const id of result.recorders) {
|
||||
await payload.getRecorderByID(id);
|
||||
}
|
||||
|
||||
for (const id of result.audios) {
|
||||
try {
|
||||
await payload.getAudioByID(id);
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache audio", id, e);
|
||||
}
|
||||
}
|
||||
|
||||
for (const id of result.videos) {
|
||||
try {
|
||||
await payload.getVideoByID(id);
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache video", id, e);
|
||||
}
|
||||
}
|
||||
|
||||
for (const id of result.images) {
|
||||
try {
|
||||
await payload.getImageByID(id);
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache image", id, e);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
await payload.getChronologyEvents();
|
||||
} catch (e) {
|
||||
console.warn("[Precaching] Couldn't precache chronology events", e);
|
||||
}
|
||||
|
||||
payloadInitialized = true;
|
||||
console.log("[ResponseCaching] Precaching completed!", responseCache.size, "responses cached");
|
||||
|
|
Loading…
Reference in New Issue