Remove google-translate dep, upgrade firebase-admin, pin csv-parse, and improve processUsers.js

- Remove @iamtraction/google-translate (and undici vulnerability) — translation
  no longer needed, language files now copy English content directly
- Upgrade firebase-admin from ^12.0.0 to ^13.8.0
- Pin csv-parse to ~5.5.0 to avoid major version bump
- Use networkidle2 + 2s delay in processUsers.js for reliable screenshots

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nuno Coração
2026-04-13 22:19:07 +01:00
parent 8fda75b134
commit c6d40c6d3f
5 changed files with 234 additions and 148 deletions
+3 -37
View File
@@ -12,7 +12,6 @@
"dependencies": {
"@headlessui/react": "^2.2.10",
"@heroicons/react": "^2.2.0",
"@iamtraction/google-translate": "^2.0.1",
"@tailwindcss/forms": "^0.5.11",
"commander": "^14.0.3"
},
@@ -136,15 +135,6 @@
"dev": true,
"license": "Apache-2.0"
},
"node_modules/@fastify/busboy": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
"license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/@floating-ui/core": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.3.tgz",
@@ -222,18 +212,6 @@
"react": ">= 16 || ^19.0.0-rc"
}
},
"node_modules/@iamtraction/google-translate": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@iamtraction/google-translate/-/google-translate-2.0.1.tgz",
"integrity": "sha512-kOTkt23zflxpgxLIe9tLvDU8IvNscXYbgMSXydNkZGWDtJ75YJiU3v7EBz+t7h/gSiY7sT5r4dlFkMrHCl+N6A==",
"license": "MIT",
"dependencies": {
"undici": "^5.12.0"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@iconify/types": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
@@ -3407,9 +3385,9 @@
"license": "Apache-2.0"
},
"node_modules/lodash-es": {
"version": "4.17.23",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz",
"integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
"integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
"dev": true,
"license": "MIT"
},
@@ -4399,18 +4377,6 @@
"ulid": "bin/cli.js"
}
},
"node_modules/undici": {
"version": "5.29.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
"license": "MIT",
"dependencies": {
"@fastify/busboy": "^2.0.0"
},
"engines": {
"node": ">=14.0"
}
},
"node_modules/undici-types": {
"version": "7.18.2",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
-1
View File
@@ -117,7 +117,6 @@
"dependencies": {
"@headlessui/react": "^2.2.10",
"@heroicons/react": "^2.2.0",
"@iamtraction/google-translate": "^2.0.1",
"@tailwindcss/forms": "^0.5.11",
"commander": "^14.0.3"
}
+4 -41
View File
@@ -1,51 +1,17 @@
const fs = require("fs/promises");
const crypto = require("crypto");
const puppeteer = require("puppeteer");
const translate = require("@iamtraction/google-translate");
const configDir = "./exampleSite/config/_default";
const defaultLang = "en";
const usersFolderPath = "./exampleSite/content/users/";
let cache = {};
function generateDirName(seed, index) {
const hash = crypto.createHash("md5");
hash.update(seed);
return index + "-" + hash.digest("hex");
}
async function convert(text, from, to) {
const options = { from, to };
if (!cache[to]) cache[to] = {};
if (cache[to][text]) return cache[to][text];
const translated_text = await translate(text, options);
cache[to][text] = translated_text.text;
return translated_text.text;
}
async function translateFrontMatterTags(block, targetLang, tags) {
const array = block.split("\n");
let translatedBlock = "";
for (const line of array) {
let newElement = line;
if (line.indexOf(":") > -1) {
const elements = line.split(":");
if (elements[0].indexOf("tags") != -1) {
const translatedTags = [];
for (const tag of tags) {
const tempTag = await convert(tag, defaultLang, targetLang);
translatedTags.push(tempTag);
}
const trasnlatedTagsString = translatedTags.join(", ");
newElement = elements[0] + ": [" + trasnlatedTagsString + "]";
}
}
translatedBlock += newElement + "\n";
}
return translatedBlock;
}
(async () => {
const targetLangs = [];
const configFiles = await fs.readdir(configDir);
@@ -129,14 +95,11 @@ async function translateFrontMatterTags(block, targetLang, tags) {
console.log(i, user.title, dir);
await fs.writeFile(dir + "/index.md", userMDFile);
for (var lang of targetLangs) {
const langfilename = lang
if (lang == "pt-br" || lang == "pt-pt")
lang = "pt"
const content = await translateFrontMatterTags(userMDFile, lang, user.tags);
await fs.writeFile(dir + `/index.${langfilename}.md`, content);
for (const lang of targetLangs) {
await fs.writeFile(dir + `/index.${lang}.md`, userMDFile);
}
await page.goto(user.url);
await page.goto(user.url, { waitUntil: "networkidle2", timeout: 30000 });
await new Promise(resolve => setTimeout(resolve, 2000));
await page.screenshot({ path: dir + "/feature.webp", type: "webp", quality: 50 });
}
}
+225 -67
View File
@@ -9,7 +9,7 @@
"version": "1.0.0",
"dependencies": {
"csv-parse": "^5.5.0",
"firebase-admin": "^12.0.0"
"firebase-admin": "^13.8.0"
}
},
"node_modules/@fastify/busboy": {
@@ -19,88 +19,107 @@
"license": "MIT"
},
"node_modules/@firebase/app-check-interop-types": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.2.tgz",
"integrity": "sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ==",
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz",
"integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==",
"license": "Apache-2.0"
},
"node_modules/@firebase/app-types": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.2.tgz",
"integrity": "sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ==",
"license": "Apache-2.0"
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.4.tgz",
"integrity": "sha512-crX9TA5SVYZwLPG7/R16IsH8FLlgkPXjJUVhsVpHVDSqJiq3D/NuFTM5ctxGTExXAOeIn//69tQw47CPerM8MQ==",
"license": "Apache-2.0",
"dependencies": {
"@firebase/logger": "0.5.0"
}
},
"node_modules/@firebase/auth-interop-types": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.3.tgz",
"integrity": "sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ==",
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz",
"integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==",
"license": "Apache-2.0"
},
"node_modules/@firebase/component": {
"version": "0.6.9",
"resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.9.tgz",
"integrity": "sha512-gm8EUEJE/fEac86AvHn8Z/QW8BvR56TBw3hMW0O838J/1mThYQXAIQBgUv75EqlCZfdawpWLrKt1uXvp9ciK3Q==",
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.7.2.tgz",
"integrity": "sha512-iyVDGc6Vjx7Rm0cAdccLH/NG6fADsgJak/XW9IA2lPf8AjIlsemOpFGKczYyPHxm4rnKdR8z6sK4+KEC7NwmEg==",
"license": "Apache-2.0",
"dependencies": {
"@firebase/util": "1.10.0",
"@firebase/util": "1.15.0",
"tslib": "^2.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@firebase/database": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.8.tgz",
"integrity": "sha512-dzXALZeBI1U5TXt6619cv0+tgEhJiwlUtQ55WNZY7vGAjv7Q1QioV969iYwt1AQQ0ovHnEW0YW9TiBfefLvErg==",
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.1.2.tgz",
"integrity": "sha512-lP96CMjMPy/+d1d9qaaHjHHdzdwvEOuyyLq9ehX89e2XMKwS1jHNzYBO+42bdSumuj5ukPbmnFtViZu8YOMT+w==",
"license": "Apache-2.0",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.2",
"@firebase/auth-interop-types": "0.2.3",
"@firebase/component": "0.6.9",
"@firebase/logger": "0.4.2",
"@firebase/util": "1.10.0",
"@firebase/app-check-interop-types": "0.3.3",
"@firebase/auth-interop-types": "0.2.4",
"@firebase/component": "0.7.2",
"@firebase/logger": "0.5.0",
"@firebase/util": "1.15.0",
"faye-websocket": "0.11.4",
"tslib": "^2.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@firebase/database-compat": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.8.tgz",
"integrity": "sha512-OpeWZoPE3sGIRPBKYnW9wLad25RaWbGyk7fFQe4xnJQKRzlynWeFBSRRAoLE2Old01WXwskUiucNqUUVlFsceg==",
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.1.3.tgz",
"integrity": "sha512-GMyfWjD8mehjg/QpNkY/tl9G/MoeugPeg91n9D0atggxbWuKF/2KhVPHZDH+XmoP0EKYqMWYTtKxBsaBaNKLYQ==",
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.9",
"@firebase/database": "1.0.8",
"@firebase/database-types": "1.0.5",
"@firebase/logger": "0.4.2",
"@firebase/util": "1.10.0",
"@firebase/component": "0.7.2",
"@firebase/database": "1.1.2",
"@firebase/database-types": "1.0.19",
"@firebase/logger": "0.5.0",
"@firebase/util": "1.15.0",
"tslib": "^2.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@firebase/database-types": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.5.tgz",
"integrity": "sha512-fTlqCNwFYyq/C6W7AJ5OCuq5CeZuBEsEwptnVxlNPkWCo5cTTyukzAHRSO/jaQcItz33FfYrrFk1SJofcu2AaQ==",
"version": "1.0.19",
"resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.19.tgz",
"integrity": "sha512-FqewjUZmV9LqFfuEnmgdcUpiOUz7qwLXxnm/H8BcMFEzQXtd1yyUDm8ex5VRad2nuTE+ahOuCjUAM/cyDncO+g==",
"license": "Apache-2.0",
"dependencies": {
"@firebase/app-types": "0.9.2",
"@firebase/util": "1.10.0"
"@firebase/app-types": "0.9.4",
"@firebase/util": "1.15.0"
}
},
"node_modules/@firebase/logger": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.2.tgz",
"integrity": "sha512-Q1VuA5M1Gjqrwom6I6NUU4lQXdo9IAQieXlujeHZWvRt1b7qQ0KwBaNAjgxG27jgF9/mUwsNmO8ptBCGVYhB0A==",
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.5.0.tgz",
"integrity": "sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@firebase/util": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.10.0.tgz",
"integrity": "sha512-xKtx4A668icQqoANRxyDLBLz51TAbDP9KRfpbKGxiCAW346d0BeJe5vN6/hKxxmWwnZ0mautyv39JxviwwQMOQ==",
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.15.0.tgz",
"integrity": "sha512-AmWf3cHAOMbrCPG4xdPKQaj5iHnyYfyLKZxwz+Xf55bqKbpAmcYifB4jQinT2W9XhDRHISOoPyBOariJpCG6FA==",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@google-cloud/firestore": {
@@ -522,7 +541,6 @@
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
"license": "MIT",
"optional": true,
"engines": {
"node": ">= 14"
}
@@ -598,15 +616,13 @@
"url": "https://feross.org/support"
}
],
"license": "MIT",
"optional": true
"license": "MIT"
},
"node_modules/bignumber.js": {
"version": "9.3.1",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
"integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
"license": "MIT",
"optional": true,
"engines": {
"node": "*"
}
@@ -685,6 +701,15 @@
"integrity": "sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==",
"license": "MIT"
},
"node_modules/data-uri-to-buffer": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
"integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
"license": "MIT",
"engines": {
"node": ">= 12"
}
},
"node_modules/debug": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
@@ -839,8 +864,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"license": "MIT",
"optional": true
"license": "MIT"
},
"node_modules/farmhash-modern": {
"version": "1.1.0",
@@ -855,8 +879,7 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"license": "MIT",
"optional": true
"license": "MIT"
},
"node_modules/fast-xml-builder": {
"version": "1.1.4",
@@ -907,28 +930,124 @@
"node": ">=0.8.0"
}
},
"node_modules/fetch-blob": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
"integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/jimmywarting"
},
{
"type": "paypal",
"url": "https://paypal.me/jimmywarting"
}
],
"license": "MIT",
"dependencies": {
"node-domexception": "^1.0.0",
"web-streams-polyfill": "^3.0.3"
},
"engines": {
"node": "^12.20 || >= 14.13"
}
},
"node_modules/firebase-admin": {
"version": "12.7.0",
"resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-12.7.0.tgz",
"integrity": "sha512-raFIrOyTqREbyXsNkSHyciQLfv8AUZazehPaQS1lZBSCDYW74FYXU0nQZa3qHI4K+hawohlDbywZ4+qce9YNxA==",
"version": "13.8.0",
"resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-13.8.0.tgz",
"integrity": "sha512-iawoQkmZbsA+2DY5UEuB8f6jSlskzzySoye0D2F6e3zlDZX9DUcXf0HhZqLUn/P6WhLGvTf6ZtCmshZvhAgTYg==",
"license": "Apache-2.0",
"dependencies": {
"@fastify/busboy": "^3.0.0",
"@firebase/database-compat": "1.0.8",
"@firebase/database-types": "1.0.5",
"@types/node": "^22.0.1",
"@firebase/database-compat": "^2.0.0",
"@firebase/database-types": "^1.0.6",
"farmhash-modern": "^1.1.0",
"fast-deep-equal": "^3.1.1",
"google-auth-library": "^10.6.1",
"jsonwebtoken": "^9.0.0",
"jwks-rsa": "^3.1.0",
"node-forge": "^1.3.1",
"uuid": "^10.0.0"
"node-forge": "^1.4.0",
"uuid": "^11.0.2"
},
"engines": {
"node": ">=14"
"node": ">=18"
},
"optionalDependencies": {
"@google-cloud/firestore": "^7.7.0",
"@google-cloud/storage": "^7.7.0"
"@google-cloud/firestore": "^7.11.0",
"@google-cloud/storage": "^7.19.0"
}
},
"node_modules/firebase-admin/node_modules/gaxios": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.4.tgz",
"integrity": "sha512-bTIgTsM2bWn3XklZISBTQX7ZSddGW+IO3bMdGaemHZ3tbqExMENHLx6kKZ/KlejgrMtj8q7wBItt51yegqalrA==",
"license": "Apache-2.0",
"dependencies": {
"extend": "^3.0.2",
"https-proxy-agent": "^7.0.1",
"node-fetch": "^3.3.2"
},
"engines": {
"node": ">=18"
}
},
"node_modules/firebase-admin/node_modules/gcp-metadata": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz",
"integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==",
"license": "Apache-2.0",
"dependencies": {
"gaxios": "^7.0.0",
"google-logging-utils": "^1.0.0",
"json-bigint": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/firebase-admin/node_modules/google-auth-library": {
"version": "10.6.2",
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.6.2.tgz",
"integrity": "sha512-e27Z6EThmVNNvtYASwQxose/G57rkRuaRbQyxM2bvYLLX/GqWZ5chWq2EBoUchJbCc57eC9ArzO5wMsEmWftCw==",
"license": "Apache-2.0",
"dependencies": {
"base64-js": "^1.3.0",
"ecdsa-sig-formatter": "^1.0.11",
"gaxios": "^7.1.4",
"gcp-metadata": "8.1.2",
"google-logging-utils": "1.1.3",
"jws": "^4.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/firebase-admin/node_modules/google-logging-utils": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz",
"integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==",
"license": "Apache-2.0",
"engines": {
"node": ">=14"
}
},
"node_modules/firebase-admin/node_modules/node-fetch": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
"integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
"license": "MIT",
"dependencies": {
"data-uri-to-buffer": "^4.0.0",
"fetch-blob": "^3.1.4",
"formdata-polyfill": "^4.0.10"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/node-fetch"
}
},
"node_modules/form-data": {
@@ -949,6 +1068,18 @@
"node": ">= 0.12"
}
},
"node_modules/formdata-polyfill": {
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
"license": "MIT",
"dependencies": {
"fetch-blob": "^3.1.2"
},
"engines": {
"node": ">=12.20.0"
}
},
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -1252,7 +1383,6 @@
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"license": "MIT",
"optional": true,
"dependencies": {
"agent-base": "^7.1.2",
"debug": "4"
@@ -1305,7 +1435,6 @@
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
"license": "MIT",
"optional": true,
"dependencies": {
"bignumber.js": "^9.0.0"
}
@@ -1511,6 +1640,26 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
"node_modules/node-domexception": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
"deprecated": "Use your platform's native DOMException instead",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/jimmywarting"
},
{
"type": "github",
"url": "https://paypal.me/jimmywarting"
}
],
"license": "MIT",
"engines": {
"node": ">=10.5.0"
}
},
"node_modules/node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
@@ -1873,16 +2022,25 @@
"optional": true
},
"node_modules/uuid": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
"integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
"integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
"uuid": "dist/esm/bin/uuid"
}
},
"node_modules/web-streams-polyfill": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
"integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
"license": "MIT",
"engines": {
"node": ">= 8"
}
},
"node_modules/webidl-conversions": {
+2 -2
View File
@@ -9,7 +9,7 @@
"seed-views:force": "node seed-firebase-views.js --force"
},
"dependencies": {
"csv-parse": "^5.5.0",
"firebase-admin": "^12.0.0"
"csv-parse": "~5.5.0",
"firebase-admin": "^13.8.0"
}
}