From c7cd229caea47e8201802de314821fdf84576839 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Thu, 19 Sep 2024 14:36:02 +0200 Subject: [PATCH] adapter migrate from vercel to node --- package-lock.json | 861 ++++++++---------- package.json | 2 +- src/hooks.server.ts | 26 +- .../community/create-post/+page.server.ts | 639 ++++++------- svelte.config.js | 4 +- vite.config.js | 26 +- 6 files changed, 727 insertions(+), 831 deletions(-) diff --git a/package-lock.json b/package-lock.json index 91cefe73..4f9000de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@internationalized/date": "^3.5.5", "@playwright/test": "^1.43.1", "@rollup/plugin-dynamic-import-vars": "^2.1.2", - "@sveltejs/adapter-vercel": "^5.3.0", + "@sveltejs/adapter-node": "^5.2.3", "@sveltejs/kit": "^2.5.15", "@sveltejs/vite-plugin-svelte": "^3.1.0", "@types/gtag.js": "^0.0.19", @@ -1905,26 +1905,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "dev": true, - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, "node_modules/@melt-ui/svelte": { "version": "0.76.2", "resolved": "https://registry.npmjs.org/@melt-ui/svelte/-/svelte-0.76.2.tgz", @@ -2036,6 +2016,99 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rollup/plugin-commonjs": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz", + "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^10.4.1", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=16.0.0 || 14 >= 14.17" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/@rollup/plugin-dynamic-import-vars": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-2.1.2.tgz", @@ -2060,6 +2133,27 @@ } } }, + "node_modules/@rollup/plugin-json": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", + "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", @@ -2988,19 +3082,282 @@ "node": ">=16.0.0" } }, - "node_modules/@sveltejs/adapter-vercel": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-5.4.1.tgz", - "integrity": "sha512-JLcD1OgMnu9lQ8EssxVGxv7w0waWuyVzItTT1eqIH98Krufd9qfr1uC9zgo82z3dJ9v1AfPEbvIX5tonceg7XQ==", + "node_modules/@sveltejs/adapter-node": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.3.tgz", + "integrity": "sha512-0KNrTc9NiEhB1vyVL0HiqZaW2P5JWNJgTYT5PnUZCLO9Oydx8G+6PNtJPJ/NNPyeGrn+6LwR5L8GNRvA4b5Bpw==", "dev": true, + "license": "MIT", "dependencies": { - "@vercel/nft": "^0.27.1", - "esbuild": "^0.21.5" + "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "rollup": "^4.9.5" }, "peerDependencies": { "@sveltejs/kit": "^2.4.0" } }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.0.tgz", + "integrity": "sha512-/IZQvg6ZR0tAkEi4tdXOraQoWeJy9gbQ/cx4I7k9dJaCk9qrXEcdouxRVz5kZXt5C2bQ9pILoAA+KB4C/d3pfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.0.tgz", + "integrity": "sha512-ETHi4bxrYnvOtXeM7d4V4kZWixib2jddFacJjsOjwbgYSRsyXYtZHC4ht134OsslPIcnkqT+TKV4eU8rNBKyyQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.0.tgz", + "integrity": "sha512-ZWgARzhSKE+gVUX7QWaECoRQsPwaD8ZR0Oxb3aUpzdErTvlEadfQpORPXkKSdKbFci9v8MJfkTtoEHnnW9Ulng==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.0.tgz", + "integrity": "sha512-h0ZAtOfHyio8Az6cwIGS+nHUfRMWBDO5jXB8PQCARVF6Na/G6XS2SFxDl8Oem+S5ZsHQgtsI7RT4JQnI1qrlaw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.0.tgz", + "integrity": "sha512-9pxQJSPwFsVi0ttOmqLY4JJ9pg9t1gKhK0JDbV1yUEETSx55fdyCjt39eBQ54OQCzAF0nVGO6LfEH1KnCPvelA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.0.tgz", + "integrity": "sha512-YJ5Ku5BmNJZb58A4qSEo3JlIG4d3G2lWyBi13ABlXzO41SsdnUKi3HQHe83VpwBVG4jHFTW65jOQb8qyoR+qzg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.0.tgz", + "integrity": "sha512-U4G4u7f+QCqHlVg1Nlx+qapZy+QoG+NV6ux+upo/T7arNGwKvKP2kmGM4W5QTbdewWFgudQxi3kDNST9GT1/mg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.0.tgz", + "integrity": "sha512-aQpNlKmx3amwkA3a5J6nlXSahE1ijl0L9KuIjVOUhfOh7uw2S4piR3mtpxpRtbnK809SBtyPsM9q15CPTsY7HQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.0.tgz", + "integrity": "sha512-9fx6Zj/7vve/Fp4iexUFRKb5+RjLCff6YTRQl4CoDhdMfDoobWmhAxQWV3NfShMzQk1Q/iCnageFyGfqnsmeqQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.0.tgz", + "integrity": "sha512-VWQiCcN7zBgZYLjndIEh5tamtnKg5TGxyZPWcN9zBtXBwfcGSZ5cHSdQZfQH/GB4uRxk0D3VYbOEe/chJhPGLQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.0.tgz", + "integrity": "sha512-EHmPnPWvyYqncObwqrosb/CpH3GOjE76vWVs0g4hWsDRUVhg61hBmlVg5TPXqF+g+PvIbqkC7i3h8wbn4Gp2Fg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.0.tgz", + "integrity": "sha512-tsSWy3YQzmpjDKnQ1Vcpy3p9Z+kMFbSIesCdMNgLizDWFhrLZIoN21JSq01g+MZMDFF+Y1+4zxgrlqPjid5ohg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.0.tgz", + "integrity": "sha512-anr1Y11uPOQrpuU8XOikY5lH4Qu94oS6j0xrulHk3NkLDq19MlX8Ng/pVipjxBJ9a2l3+F39REZYyWQFkZ4/fw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.0.tgz", + "integrity": "sha512-7LB+Bh+Ut7cfmO0m244/asvtIGQr5pG5Rvjz/l1Rnz1kDzM02pSX9jPaS0p+90H5I1x4d1FkCew+B7MOnoatNw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.0.tgz", + "integrity": "sha512-+3qZ4rer7t/QsC5JwMpcvCVPRcJt1cJrYS/TMJZzXIJbxWFQEVhrIc26IhB+5Z9fT9umfVc+Es2mOZgl+7jdJQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.0.tgz", + "integrity": "sha512-YdicNOSJONVx/vuPkgPTyRoAPx3GbknBZRCOUkK84FJ/YTfs/F0vl/YsMscrB6Y177d+yDRcj+JWMPMCgshwrA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sveltejs/adapter-node/node_modules/rollup": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.0.tgz", + "integrity": "sha512-W21MUIFPZ4+O2Je/EU+GP3iz7PH4pVPUXSbEZdatQnxo29+3rsUjgrJmzuAZU24z7yRAnFN6ukxeAhZh/c7hzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.0", + "@rollup/rollup-android-arm64": "4.22.0", + "@rollup/rollup-darwin-arm64": "4.22.0", + "@rollup/rollup-darwin-x64": "4.22.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.0", + "@rollup/rollup-linux-arm-musleabihf": "4.22.0", + "@rollup/rollup-linux-arm64-gnu": "4.22.0", + "@rollup/rollup-linux-arm64-musl": "4.22.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.0", + "@rollup/rollup-linux-riscv64-gnu": "4.22.0", + "@rollup/rollup-linux-s390x-gnu": "4.22.0", + "@rollup/rollup-linux-x64-gnu": "4.22.0", + "@rollup/rollup-linux-x64-musl": "4.22.0", + "@rollup/rollup-win32-arm64-msvc": "4.22.0", + "@rollup/rollup-win32-ia32-msvc": "4.22.0", + "@rollup/rollup-win32-x64-msvc": "4.22.0", + "fsevents": "~2.3.2" + } + }, "node_modules/@sveltejs/kit": { "version": "2.5.18", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.18.tgz", @@ -3137,45 +3494,6 @@ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "dev": true }, - "node_modules/@vercel/nft": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.27.3.tgz", - "integrity": "sha512-oySTdDSzUAFDXpsSLk9Q943o+/Yu/+TCFxnehpFQEf/3khi2stMpTHPVNwFdvZq/Z4Ky93lE+MGHpXCRpMkSCA==", - "dev": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.5", - "@rollup/pluginutils": "^4.0.0", - "acorn": "^8.6.0", - "acorn-import-attributes": "^1.9.5", - "async-sema": "^3.1.1", - "bindings": "^1.4.0", - "estree-walker": "2.0.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.2", - "node-gyp-build": "^4.2.2", - "resolve-from": "^5.0.0" - }, - "bin": { - "nft": "out/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@vercel/nft/node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "dev": true, - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, "node_modules/@vitest/expect": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", @@ -3260,12 +3578,6 @@ "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==", "dev": true }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -3290,15 +3602,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-walk": { "version": "8.3.3", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", @@ -3378,26 +3681,6 @@ "svg.select.js": "^3.0.1" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "deprecated": "This package is no longer supported.", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -3430,12 +3713,6 @@ "astring": "bin/astring" } }, - "node_modules/async-sema": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", - "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", - "dev": true - }, "node_modules/autoprefixer": { "version": "10.4.19", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", @@ -3522,15 +3799,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, "node_modules/bits-ui": { "version": "0.21.13", "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-0.21.13.tgz", @@ -3882,15 +4150,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -4006,15 +4265,6 @@ "simple-swizzle": "^0.2.2" } }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } - }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -4024,6 +4274,13 @@ "node": ">= 12" } }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -4081,12 +4338,6 @@ "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", "dev": true }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true - }, "node_modules/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", @@ -4449,12 +4700,6 @@ "node": ">=8" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -4821,12 +5066,6 @@ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", "dev": true }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -4947,30 +5186,6 @@ "url": "https://github.com/sponsors/rawify" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5000,27 +5215,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "deprecated": "This package is no longer supported.", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -5217,12 +5411,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -5290,19 +5478,6 @@ "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==" }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -5875,30 +6050,6 @@ "@jridgewell/sourcemap-codec": "^1.4.15" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/marked": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", @@ -6051,31 +6202,6 @@ "node": ">=8" } }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/mixpanel": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/mixpanel/-/mixpanel-0.18.0.tgz", @@ -6195,58 +6321,12 @@ "node": ">= 0.6" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", - "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", - "dev": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -6304,19 +6384,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "deprecated": "This package is no longer supported.", - "dev": true, - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, "node_modules/nprogress": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", @@ -6914,20 +6981,6 @@ "pify": "^2.3.0" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -6972,15 +7025,6 @@ "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "dev": true }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", @@ -7006,22 +7050,6 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/rollup": { "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", @@ -7168,12 +7196,6 @@ "node": ">=10" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, "node_modules/set-cookie-parser": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", @@ -7288,12 +7310,6 @@ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -7361,35 +7377,6 @@ "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/string-similarity": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz", @@ -8002,35 +7989,6 @@ "node": ">=10.13.0" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", @@ -8115,12 +8073,6 @@ "node": ">=6" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", @@ -8508,22 +8460,6 @@ } } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -8574,15 +8510,6 @@ "node": ">=8" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -8663,12 +8590,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yaml": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", diff --git a/package.json b/package.json index 64df2d03..3b0e5ce5 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@internationalized/date": "^3.5.5", "@playwright/test": "^1.43.1", "@rollup/plugin-dynamic-import-vars": "^2.1.2", - "@sveltejs/adapter-vercel": "^5.3.0", + "@sveltejs/adapter-node": "^5.2.3", "@sveltejs/kit": "^2.5.15", "@sveltejs/vite-plugin-svelte": "^3.1.0", "@types/gtag.js": "^0.0.19", diff --git a/src/hooks.server.ts b/src/hooks.server.ts index b4a1c7e5..83fdb047 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,30 +1,38 @@ import PocketBase from "pocketbase"; import { serializeNonPOJOs } from "$lib/utils"; -const usRegion = new Set(["cle1", "iad1", "pdx1", "sfo1"]); - export const handle = async ({ event, resolve }) => { // Use optional chaining and nullish coalescing for safer property access const regionHeader = event?.request?.headers?.get("x-vercel-id") ?? "fra1::fra1::8t4xg-1700258428633-157d82fdfcc7"; - // Use a more compatible way to get the first element of the split array - const userRegion = regionHeader.split("::")[0] || ""; + const ip = + event.request.headers.get("x-forwarded-for") || + event.request.headers.get("remote-address"); - const isUsRegion = usRegion.has(userRegion); + let isUS = false; + + if (ip) { + const geoResponse = await fetch(`https://ipinfo.io/${ip}/geo`); + const geoData = await geoResponse.json(); + if (geoData.country === "US") { + isUS = true; + //console.log("yelllo", geoData); + } + } // Use a ternary operator instead of the logical OR for better compatibility - const pbURL = isUsRegion + const pbURL = isUS ? import.meta.env.VITE_USEAST_POCKETBASE_URL : import.meta.env.VITE_EU_POCKETBASE_URL; - const apiURL = isUsRegion + const apiURL = isUS ? import.meta.env.VITE_USEAST_API_URL : import.meta.env.VITE_EU_API_URL; - const fastifyURL = isUsRegion + const fastifyURL = isUS ? import.meta.env.VITE_USEAST_FASTIFY_URL : import.meta.env.VITE_EU_FASTIFY_URL; - const wsURL = isUsRegion + const wsURL = isUS ? import.meta.env.VITE_USEAST_WS_URL : import.meta.env.VITE_EU_WS_URL; diff --git a/src/routes/community/create-post/+page.server.ts b/src/routes/community/create-post/+page.server.ts index da63aef5..0d99b847 100644 --- a/src/routes/community/create-post/+page.server.ts +++ b/src/routes/community/create-post/+page.server.ts @@ -1,397 +1,364 @@ -import { createPostTextSchema,createPostImageSchema, createPostLinkSchema } from '$lib/schemas'; -import { validateData } from '$lib/utils'; -import { error, fail, redirect } from '@sveltejs/kit'; -import { serialize } from 'object-to-formdata'; -import { marked } from 'marked'; +import { + createPostTextSchema, + createPostImageSchema, + createPostLinkSchema, +} from "$lib/schemas"; +import { validateData } from "$lib/utils"; +import { error, fail, redirect } from "@sveltejs/kit"; +import { serialize } from "object-to-formdata"; +import { marked } from "marked"; -import got from 'got'; -import cheerio from 'cheerio'; -import BlobUtil from 'blob-util'; -import sharp from 'sharp'; +import got from "got"; +import cheerio from "cheerio"; +import * as blobUtil from "blob-util"; // Changed import +import sharp from "sharp"; +function removeDuplicateClasses(str) { + return str.replace( + /class="([^"]*)"/, + (match, classAttr) => + `class="${[...new Set(classAttr.split(" "))].join(" ")}"` + ); +} +function addClassesToHtml(htmlString) { + // Helper function to add a class to a specific tag + function addClassToTag(tag, className) { + // Add class if the tag doesn't already have a class attribute + const regex = new RegExp(`<${tag}(?![^>]*\\bclass=)([^>]*)>`, "g"); + htmlString = htmlString.replace(regex, `<${tag} class="${className}"$1>`); -export const config = { - runtime: 'nodejs20.x', - }; - - - function removeDuplicateClasses(str) { - return str.replace(/class="([^"]*)"/, (match, classAttr) => `class="${[...new Set(classAttr.split(' '))].join(' ')}"`); + // Append the new class to tags that already have a class attribute, ensuring no duplicates + const regexWithClass = new RegExp( + `(<${tag}[^>]*\\bclass=["'][^"']*)(?!.*\\b${className}\\b)([^"']*)["']`, + "g" + ); + htmlString = htmlString.replace(regexWithClass, `$1 ${className}$2"`); } - function addClassesToHtml(htmlString) { - // Helper function to add a class to a specific tag - function addClassToTag(tag, className) { - // Add class if the tag doesn't already have a class attribute - const regex = new RegExp(`<${tag}(?![^>]*\\bclass=)([^>]*)>`, 'g'); - htmlString = htmlString.replace(regex, `<${tag} class="${className}"$1>`); - - // Append the new class to tags that already have a class attribute, ensuring no duplicates - const regexWithClass = new RegExp(`(<${tag}[^>]*\\bclass=["'][^"']*)(?!.*\\b${className}\\b)([^"']*)["']`, 'g'); - htmlString = htmlString.replace(regexWithClass, `$1 ${className}$2"`); - } - - // Add classes to headings - addClassToTag('h1', 'text-lg'); - addClassToTag('h2', 'text-lg'); - addClassToTag('h3', 'text-lg'); - addClassToTag('h4', 'text-lg'); - addClassToTag('h5', 'text-lg'); - addClassToTag('h6', 'text-lg'); - - // Add classes to anchor tags - addClassToTag('a', 'text-blue-400 hover:text-white underline'); - - // Add classes to ordered lists - addClassToTag('ol', 'list-decimal ml-10 text-sm'); - - // Add classes to unordered lists - addClassToTag('ul', 'list-disc ml-10 text-sm -mt-5'); - - // Add classes to blockquotes and their paragraphs - function addClassToBlockquote() { - // Add class to blockquote - htmlString = htmlString.replace( - /
]*)>\s*

\n

]*)>\s*

\n

{ + addClassToBlockquote(); - if (!locals.pb.authStore.isValid) { - redirect(303, '/login'); - } + // Remove duplicate classes after all modifications + htmlString = removeDuplicateClasses(htmlString); + + return htmlString; +} + +export const load = async ({ locals }) => { + if (!locals.pb.authStore.isValid) { + redirect(303, "/login"); + } }; - - - - export const actions = { + createPostText: async ({ request, locals }) => { + let newPost = ""; + const body = await request.formData(); + body.delete("thumbnail"); + body.append("user", locals?.user?.id); - createPostText: async ({ request, locals }) => { + let { formData, errors } = await validateData(body, createPostTextSchema); - let newPost = ''; - const body = await request.formData(); - body.delete('thumbnail'); - body.append('user', locals?.user?.id); + formData.description = addClassesToHtml(marked(formData?.description)); - let {formData, errors} = await validateData( body, createPostTextSchema); + formData.tagTopic = JSON.parse(formData.tagTopic)[0]; + formData.upvote = 1; - formData.description = addClassesToHtml(marked(formData?.description)) - + if (errors) { + return fail(400, { + data: formData, + errors: errors.fieldErrors, + }); + } - formData.tagTopic = JSON.parse(formData.tagTopic)[0] - formData.upvote = 1 - + //Each post gives the user +1 Karma points + await locals.pb.collection("users").update(locals.user.id, { + "karma+": 1, + }); - if(errors) - { - return fail(400, { - data: formData, - errors: errors.fieldErrors - }) - } + try { + newPost = await locals.pb.collection("posts").create(serialize(formData)); - + // add the tagTopic manually because serialize does not work on arrays + await locals?.pb.collection("posts").update(newPost.id, { + tagTopic: formData.tagTopic, + }); - //Each post gives the user +1 Karma points - await locals.pb.collection("users").update(locals.user.id, { - "karma+": 1, - }) + //Save it collection alreadyVoted to keep track if user voted or not + //FormData for alreadyVoted - try { + let formDataAlreadyVoted = new FormData(); + formDataAlreadyVoted.append("post", newPost?.id); + formDataAlreadyVoted.append("user", newPost?.user); + formDataAlreadyVoted.append("type", "upvote"); + //console.log(formDataAlreadyVoted) + await locals.pb.collection("alreadyVoted").create(formDataAlreadyVoted); + } catch (err) { + console.log("Error: ", err); + error(err.status, err.message); + } - newPost = await locals.pb.collection('posts').create(serialize(formData)); - + if (newPost?.id?.length !== 0) { + redirect(303, "/community/post/" + newPost?.id); + } else { + redirect(303, "/community"); + } + }, - // add the tagTopic manually because serialize does not work on arrays - await locals?.pb.collection("posts").update(newPost.id, { - "tagTopic": formData.tagTopic, - }) + createPostImage: async ({ request, locals }) => { + let newPost = ""; + const body = await request.formData(); + const thumb = body.get("thumbnail"); - //Save it collection alreadyVoted to keep track if user voted or not - //FormData for alreadyVoted - - let formDataAlreadyVoted = new FormData(); - formDataAlreadyVoted.append('post', newPost?.id); - formDataAlreadyVoted.append('user', newPost?.user); - formDataAlreadyVoted.append('type', 'upvote'); - //console.log(formDataAlreadyVoted) - await locals.pb.collection('alreadyVoted').create(formDataAlreadyVoted); + if (thumb?.size === 0) { + body.delete("thumbnail"); + } + body.append("user", locals?.user?.id); - - } catch (err) { - console.log('Error: ', err); - error(err.status, err.message); - } + let { formData, errors } = await validateData(body, createPostImageSchema); - if(newPost?.id?.length !== 0) { - redirect(303, '/community/post/'+newPost?.id); - } else { - redirect(303, '/community'); - } - + formData.tagTopic = JSON.parse(formData.tagTopic)[0]; + formData.upvote = 1; + if (errors) { + return fail(400, { + data: formData, + errors: errors.fieldErrors, + }); + } - }, + //Each post gives the user +1 Karma points + await locals.pb.collection("users").update(locals?.user?.id, { + "karma+": 1, + }); - createPostImage: async ({ request, locals }) => { - let newPost = ''; - const body = await request.formData(); - const thumb = body.get('thumbnail'); + if (formData.thumbnail.type.includes("image")) { + try { + const image = formData.thumbnail; + const imageBuffer = await image.arrayBuffer(); + const imageBufferArray = new Uint8Array(imageBuffer); + let optimizedImageBuffer; - if (thumb?.size === 0) { - body.delete('thumbnail'); - } + if (image.type === "image/gif") { + // Process GIF files differently + optimizedImageBuffer = imageBufferArray; + } else { + // Process other image formats (e.g., JPEG, PNG) using sharp library + optimizedImageBuffer = await sharp(imageBufferArray) + .resize({ + width: 800, + height: 1000, + fit: sharp.fit.inside, + withoutEnlargement: true, + }) + .jpeg({ quality: 80 }) + .toBuffer(); + } - body.append('user', locals?.user?.id); + formData.thumbnail = new File([optimizedImageBuffer], image.name, { + type: image.type, + lastModified: image.lastModified, + }); + } catch (err) { + console.log("Error:", err); + error(err.status, err.message); + } + } - let {formData, errors} = await validateData( body, createPostImageSchema); - - formData.tagTopic = JSON.parse(formData.tagTopic)[0] - formData.upvote = 1 + try { + newPost = await locals.pb.collection("posts").create(serialize(formData)); + // add the tagTopic manually because serialize does not work on arrays + await locals?.pb.collection("posts").update(newPost.id, { + tagTopic: formData?.tagTopic, + }); - if(errors) - { + //Save it collection alreadyVoted to keep track if user voted or not + //FormData for alreadyVoted - return fail(400, { - data: formData, - errors: errors.fieldErrors - }) - } - - + let formDataAlreadyVoted = new FormData(); + formDataAlreadyVoted.append("post", newPost.id); + formDataAlreadyVoted.append("user", newPost.user); + formDataAlreadyVoted.append("type", "upvote"); + //console.log(formDataAlreadyVoted) + await locals.pb.collection("alreadyVoted").create(formDataAlreadyVoted); + } catch (err) { + console.log("Error: ", err); + error(err.status, err.message); + } - //Each post gives the user +1 Karma points - await locals.pb.collection("users").update(locals?.user?.id, { - "karma+": 1, - }) + if (newPost?.id?.length !== 0) { + redirect(303, "/community/post/" + newPost?.id); + } else { + redirect(303, "/community"); + } + }, + createPostLink: async ({ request, locals }) => { + let newPost = ""; + const body = await request.formData(); + const url = body.get("link"); + let image; + let description; + let imageBlob; - - if (formData.thumbnail.type.includes('image')) { - try { - const image = formData.thumbnail; - const imageBuffer = await image.arrayBuffer(); - const imageBufferArray = new Uint8Array(imageBuffer); - let optimizedImageBuffer; - - if (image.type === 'image/gif') { - // Process GIF files differently - optimizedImageBuffer = imageBufferArray; - } else { - // Process other image formats (e.g., JPEG, PNG) using sharp library - optimizedImageBuffer = await sharp(imageBufferArray) - .resize({ - width: 800, - height: 1000, - fit: sharp.fit.inside, - withoutEnlargement: true, - }) - .jpeg({ quality: 80 }) - .toBuffer(); - } - - formData.thumbnail = new File([optimizedImageBuffer], image.name, { - type: image.type, - lastModified: image.lastModified, - }); - + try { + const response = await got(url, { + headers: { + "user-agent": + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3", + }, + responseType: "buffer", + }); - } catch (err) { - console.log('Error:', err); - error(err.status, err.message); - } - } - - + const $ = cheerio.load(response.body); + //const title = $('head title').text(); + description = $('head meta[property="og:description"]').attr("content"); + image = $('head meta[property="og:image"]').attr("content"); - - try { - - newPost = await locals.pb.collection('posts').create(serialize(formData)); - - - // add the tagTopic manually because serialize does not work on arrays - await locals?.pb.collection("posts").update(newPost.id, { - "tagTopic": formData?.tagTopic, - }) + if (!image) { + let largestSize = 0; + let largestImage = ""; + $("img").each(async function () { + if ( + $(this).attr("src") && + $(this) + .attr("src") + .match(/\.(webp|jpg|jpeg|png|gif)$/) + ) { + try { + const imageBuffer = await got(image, { + headers: { + "user-agent": + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3", + }, + responseType: "buffer", + }).then((response) => response.body); + imageBlob = await blobUtil.createBlob([imageBuffer], { + // Changed usage + type: "image/jpeg", + }); + } catch (error) { + // Handle the error when getting the image + console.error("Error getting image:", error); + } + } + }); + image = largestImage; + } - - //Save it collection alreadyVoted to keep track if user voted or not - //FormData for alreadyVoted - - let formDataAlreadyVoted = new FormData(); - formDataAlreadyVoted.append('post', newPost.id); - formDataAlreadyVoted.append('user', newPost.user); - formDataAlreadyVoted.append('type', 'upvote'); - //console.log(formDataAlreadyVoted) - await locals.pb.collection('alreadyVoted').create(formDataAlreadyVoted); - - } catch (err) { - console.log('Error: ', err); - error(err.status, err.message); - } + // Download the image and append it to the form data + const imageBuffer = await got(image, { + headers: { + "user-agent": + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3", + }, + responseType: "buffer", + }).then((response) => response.body); + imageBlob = await blobUtil.createBlob([imageBuffer], { + // Changed usage + type: "image/jpeg", + }); + } catch (e) { + console.log(e); + } - - if(newPost?.id?.length !== 0) { - redirect(303, '/community/post/'+newPost?.id); - } else { - redirect(303, '/community'); - } + //body.delete('thumbnail') + //body.append('thumbnail', imageBlob); + // Append the title to the form data + //body.append('name', title); + body.append("user", locals.user.id); + body.append("description", description); - }, - - - createPostLink: async ({ request, locals }) => { - let newPost = ''; - const body = await request.formData(); - const url = body.get('link') - let image; - let description; - let imageBlob; - - try { - const response = await got(url, { headers: { - 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' - }, - responseType: 'buffer' }); - - const $ = cheerio.load(response.body); - //const title = $('head title').text(); - description= $('head meta[property="og:description"]').attr('content'); - image = $('head meta[property="og:image"]').attr('content'); - - if (!image) { - let largestSize = 0; - let largestImage = ''; - $('img').each(async function() { - if ($(this).attr('src') && $(this).attr('src').match(/\.(webp|jpg|jpeg|png|gif)$/)) { - try { - const imageBuffer = await got($(this).attr('src'), { headers: {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'},responseType: 'buffer' }).then(response => response.body); - const imageSize = (await sharp(imageBuffer).metadata()).width * (await sharp(imageBuffer).metadata()).height; - if (imageSize > largestSize) { - largestSize = imageSize; - largestImage = $(this).attr('src'); - } - } catch (error) { - // Handle the error when getting the image - console.error('Error getting image:', error); - } - } - }); - image = largestImage; - } - - - // Download the image and append it to the form data - const imageBuffer = await got(image, { headers: {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'},responseType: 'buffer' }).then(response => response.body); - imageBlob = await BlobUtil.createBlob([imageBuffer], { type: 'image/jpeg' }); - - } - - catch(e) - { - console.log(e) - } - - - //body.delete('thumbnail') - //body.append('thumbnail', imageBlob); - - // Append the title to the form data - //body.append('name', title); - body.append('user', locals.user.id); - body.append('description', description); - - - - /* + /* const thumb = body.get('thumbnail'); if (thumb.size === 0) { body.delete('thumbnail'); } */ - - let {formData, errors} = await validateData( body, createPostLinkSchema); + let { formData, errors } = await validateData(body, createPostLinkSchema); - formData.tagTopic = JSON.parse(formData.tagTopic)[0] - formData.upvote = 1 + formData.tagTopic = JSON.parse(formData.tagTopic)[0]; + formData.upvote = 1; + if (imageBlob?.length !== 0) { + formData.thumbnail = imageBlob; + } - if (imageBlob?.length !== 0) { - formData.thumbnail = imageBlob + if (errors) { + return fail(400, { + data: formData, + errors: errors.fieldErrors, + }); + } - } + //Each post gives the user +1 Karma points + await locals.pb.collection("users").update(locals?.user?.id, { + "karma+": 1, + }); - if(errors) - { - return fail(400, { - data: formData, - errors: errors.fieldErrors - }) - } + try { + newPost = await locals.pb.collection("posts").create(serialize(formData)); + // add the tagTopic manually because serialize does not work on arrays + await locals.pb.collection("posts").update(newPost.id, { + tagTopic: formData.tagTopic, + }); - //Each post gives the user +1 Karma points - await locals.pb.collection("users").update(locals?.user?.id, { - "karma+": 1, - }) + //Save it collection alreadyVoted to keep track if user voted or not + //FormData for alreadyVoted - try { - newPost = await locals.pb.collection('posts').create(serialize(formData)); - + let formDataAlreadyVoted = new FormData(); + formDataAlreadyVoted.append("post", newPost.id); + formDataAlreadyVoted.append("user", newPost.user); + formDataAlreadyVoted.append("type", "upvote"); + //console.log(formDataAlreadyVoted) + await locals.pb.collection("alreadyVoted").create(formDataAlreadyVoted); + } catch (err) { + console.log("Error: ", err); + error(err.status, err.message); + } - // add the tagTopic manually because serialize does not work on arrays - await locals.pb.collection("posts").update(newPost.id, { - "tagTopic": formData.tagTopic, - }) - - //Save it collection alreadyVoted to keep track if user voted or not - //FormData for alreadyVoted - - let formDataAlreadyVoted = new FormData(); - formDataAlreadyVoted.append('post', newPost.id); - formDataAlreadyVoted.append('user', newPost.user); - formDataAlreadyVoted.append('type', 'upvote'); - //console.log(formDataAlreadyVoted) - await locals.pb.collection('alreadyVoted').create(formDataAlreadyVoted); - - } catch (err) { - console.log('Error: ', err); - error(err.status, err.message); - } - - if(newPost?.id?.length !== 0) { - redirect(303, '/community/post/'+newPost?.id); - } else { - redirect(303, '/community'); - } - - }, - - -}; \ No newline at end of file + if (newPost?.id?.length !== 0) { + redirect(303, "/community/post/" + newPost?.id); + } else { + redirect(303, "/community"); + } + }, +}; diff --git a/svelte.config.js b/svelte.config.js index 52c355ed..138b79eb 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,5 +1,5 @@ //import adapter from '@sveltejs/adapter-static'; -import adapter from "@sveltejs/adapter-vercel"; +import adapter from "@sveltejs/adapter-node"; import compression from "compression"; import { vitePreprocess } from "@sveltejs/vite-plugin-svelte"; @@ -10,8 +10,6 @@ const config = { adapter: adapter({ // Add the compression middleware to the adapter options middleware: (handler) => compression()(handler), - runtime: "nodejs20.x", - regions: ["fra1"], worker: true, // Add this line if the adapter supports handling worker files }), }, diff --git a/vite.config.js b/vite.config.js index efbaae5b..35522022 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,35 +1,37 @@ -import { sveltekit } from '@sveltejs/kit/vite'; -import { visualizer } from 'rollup-plugin-visualizer'; +import { sveltekit } from "@sveltejs/kit/vite"; +import { visualizer } from "rollup-plugin-visualizer"; /** @type {import('vite').UserConfig} */ const config = { plugins: [ sveltekit(), - visualizer({ open: true }) // Plugin to visualize the bundle + //visualizer({ open: true }) // Plugin to visualize the bundle ], server: { cors: true, }, build: { - target: 'esnext', + target: "esnext", minify: true, chunkSizeWarningLimit: 500, // Lower this to ensure chunks are appropriately sized rollupOptions: { output: { manualChunks(id) { - if (id.includes('node_modules')) { - return id.toString().split('node_modules/')[1].split('/')[0].toString(); + if (id.includes("node_modules")) { + return id + .toString() + .split("node_modules/")[1] + .split("/")[0] + .toString(); } - } - } + }, + }, }, brotliSize: true, // Enable Brotli compression }, optimizeDeps: { - exclude: [ - 'pocketbase', - ], - } + exclude: ["pocketbase"], + }, }; export default config;