(dependencies) upgrade pageres to 8.1.0

This commit is contained in:
Valentyne Stigloher 2024-11-17 22:45:18 +01:00
parent 590fafe6d1
commit 92c87a841d
4 changed files with 530 additions and 216 deletions

View File

@ -61,7 +61,7 @@
"node-fetch": "^2.6.12", "node-fetch": "^2.6.12",
"nodemailer": "^6.7.8", "nodemailer": "^6.7.8",
"nuxt": "^3.14.159", "nuxt": "^3.14.159",
"pageres": "^6.3.1", "pageres": "^8.1.0",
"papaparse": "^5.4.1", "papaparse": "^5.4.1",
"plausible-api": "https://github.com/avo7/plausible-api.git#main", "plausible-api": "https://github.com/avo7/plausible-api.git#main",
"qr-code-styling": "^1.6.0-rc.1", "qr-code-styling": "^1.6.0-rc.1",

718
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,7 @@ const shoot = async (url: string, filename: string): Promise<void> => {
delay: 3, delay: 3,
scale: 2, scale: 2,
}); });
pr.src(process.env.BASE_URL + url, ['1500x300']); pr.source(process.env.BASE_URL + url, ['1500x300']);
for (const buffer of await pr.run()) { for (const buffer of await pr.run()) {
fs.mkdirSync(dir, { recursive: true }); fs.mkdirSync(dir, { recursive: true });
const target = `${dir}/${filename}.png`; const target = `${dir}/${filename}.png`;

View File

@ -13,25 +13,19 @@ import dbConnection from './db.ts';
import type { Database } from './db.ts'; import type { Database } from './db.ts';
import isHighLoadTime from './overload.js'; import isHighLoadTime from './overload.js';
import type { Config } from '~/locale/config.ts';
import jwt from '~/server/jwt.ts'; import jwt from '~/server/jwt.ts';
import { loadSuml } from '~/server/loader.ts';
const s3 = new S3(awsConfig); const s3 = new S3(awsConfig);
const urlBases: Record<string, string> = {}; const urlBases: Record<string, string> = {};
const domainLocaleMap: Record<string, string> = {};
if ((process.env.NODE_ENV === 'development' || process.env.ENV === 'test') && process.env.BASE_URL) { if ((process.env.NODE_ENV === 'development' || process.env.ENV === 'test') && process.env.BASE_URL) {
const config = loadSuml('config') as Config;
for (const { code } of allLocales) { for (const { code } of allLocales) {
urlBases[code] = `${process.env.BASE_URL}/card/@`; urlBases[code] = `${process.env.BASE_URL}/card/@`;
} }
domainLocaleMap[process.env.BASE_URL.replace(/^https?:\/\//, '')] = config.locale;
} else { } else {
for (const { code, url } of allLocales) { for (const { code, url } of allLocales) {
urlBases[code] = `${url}/card/@`; urlBases[code] = `${url}/card/@`;
domainLocaleMap[url.replace(/^https?:\/\//, '')] = code;
} }
} }
@ -61,9 +55,9 @@ const shoot = async (db: Database, mode: 'light' | 'dark'): Promise<void> => {
darkMode: mode === 'dark', darkMode: mode === 'dark',
delay: 3, delay: 3,
scale: 1.5, scale: 1.5,
// launchOptions: { launchOptions: {
// executablePath: '/opt/homebrew/bin/chromium', headless: 'new',
// }, },
}); });
for (const { locale, username } of profiles) { for (const { locale, username } of profiles) {
@ -80,12 +74,18 @@ const shoot = async (db: Database, mode: 'light' | 'dark'): Promise<void> => {
'15m', '15m',
); );
pr.src(`${urlBases[locale] + username}?token=${encodeURIComponent(token)}`, ['1024x300']); pr.source(`${urlBases[locale] + username}?token=${encodeURIComponent(token)}`, ['1024x300'], {
filename: `${username}-${locale}`,
});
} }
for (const buffer of await pr.run()) { for (const buffer of await pr.run()) {
const [, domain, username] = buffer.filename.match(/(.*)!card!@(.*)!token=.*-1024x300\.png/)!; const match = buffer.filename.match(/(.+)-(\w+)\.png/);
const locale = domainLocaleMap[domain]; if (!match) {
console.error('invalid filename', buffer.filename);
continue;
}
const [, username, locale] = match;
results[`${locale}/${username.replace(/[^A-Za-z0-9.-]/g, '_')}`] = buffer; results[`${locale}/${username.replace(/[^A-Za-z0-9.-]/g, '_')}`] = buffer;
} }
} catch (error) { } catch (error) {