mirror of
https://github.com/discordjs/discord.js.git
synced 2024-08-21 08:04:42 +12:00
refactor: switch to vercel pg
This commit is contained in:
parent
9a8110047e
commit
c4767bacde
10 changed files with 125 additions and 89 deletions
|
@ -52,11 +52,11 @@
|
||||||
"@discordjs/ui": "workspace:^",
|
"@discordjs/ui": "workspace:^",
|
||||||
"@microsoft/tsdoc": "^0.14.2",
|
"@microsoft/tsdoc": "^0.14.2",
|
||||||
"@microsoft/tsdoc-config": "0.16.2",
|
"@microsoft/tsdoc-config": "0.16.2",
|
||||||
"@planetscale/database": "^1.11.0",
|
|
||||||
"@react-icons/all-files": "^4.1.0",
|
"@react-icons/all-files": "^4.1.0",
|
||||||
"@vercel/analytics": "^1.1.1",
|
"@vercel/analytics": "^1.1.1",
|
||||||
"@vercel/edge-config": "^0.4.1",
|
"@vercel/edge-config": "^0.4.1",
|
||||||
"@vercel/og": "^0.5.20",
|
"@vercel/og": "^0.5.20",
|
||||||
|
"@vercel/postgres": "^0.5.1",
|
||||||
"ariakit": "2.0.0-next.44",
|
"ariakit": "2.0.0-next.44",
|
||||||
"bright": "^0.8.4",
|
"bright": "^0.8.4",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
|
|
|
@ -1,26 +1,15 @@
|
||||||
import { readFile } from 'node:fs/promises';
|
import { readFile } from 'node:fs/promises';
|
||||||
import { join } from 'node:path';
|
import { join } from 'node:path';
|
||||||
import { connect } from '@planetscale/database';
|
import { sql } from '@vercel/postgres';
|
||||||
|
|
||||||
const sql = connect({
|
|
||||||
url: process.env.DATABASE_URL!,
|
|
||||||
async fetch(url, init) {
|
|
||||||
delete init?.cache;
|
|
||||||
return fetch(url, { ...init, next: { revalidate: 3_600 } });
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
export const fetchVersions = async (packageName: string): Promise<string[]> => {
|
export const fetchVersions = async (packageName: string): Promise<string[]> => {
|
||||||
if (process.env.NEXT_PUBLIC_LOCAL_DEV || process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') {
|
if (process.env.NEXT_PUBLIC_LOCAL_DEV === 'true' || process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') {
|
||||||
return ['main'];
|
return ['main'];
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { rows } = await sql.execute('select version from documentation where name = ? order by version desc', [
|
const { rows } = await sql`select version from documentation where name = ${packageName} order by version desc`;
|
||||||
packageName,
|
|
||||||
]);
|
|
||||||
|
|
||||||
// @ts-expect-error: https://github.com/planetscale/database-js/issues/71
|
|
||||||
return rows.map((row) => row.version);
|
return rows.map((row) => row.version);
|
||||||
} catch {
|
} catch {
|
||||||
return [];
|
return [];
|
||||||
|
@ -28,7 +17,7 @@ export const fetchVersions = async (packageName: string): Promise<string[]> => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const fetchModelJSON = async (packageName: string, version: string) => {
|
export const fetchModelJSON = async (packageName: string, version: string) => {
|
||||||
if (process.env.NEXT_PUBLIC_LOCAL_DEV) {
|
if (process.env.NEXT_PUBLIC_LOCAL_DEV === 'true') {
|
||||||
try {
|
try {
|
||||||
const res = await readFile(
|
const res = await readFile(
|
||||||
join(process.cwd(), '..', '..', 'packages', packageName, 'docs', 'docs.api.json'),
|
join(process.cwd(), '..', '..', 'packages', packageName, 'docs', 'docs.api.json'),
|
||||||
|
@ -43,12 +32,8 @@ export const fetchModelJSON = async (packageName: string, version: string) => {
|
||||||
|
|
||||||
if (process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') {
|
if (process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') {
|
||||||
try {
|
try {
|
||||||
const { rows } = await sql.execute('select data from documentation where name = ? and version = ?', [
|
const { rows } = await sql`select data from documentation where name = ${packageName} and version = ${'main'}`;
|
||||||
packageName,
|
|
||||||
'main',
|
|
||||||
]);
|
|
||||||
|
|
||||||
// @ts-expect-error: https://github.com/planetscale/database-js/issues/71
|
|
||||||
return rows[0]?.data ?? null;
|
return rows[0]?.data ?? null;
|
||||||
} catch {
|
} catch {
|
||||||
return null;
|
return null;
|
||||||
|
@ -56,12 +41,8 @@ export const fetchModelJSON = async (packageName: string, version: string) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { rows } = await sql.execute('select data from documentation where name = ? and version = ?', [
|
const { rows } = await sql`select data from documentation where name = ${packageName} and version = ${version}`;
|
||||||
packageName,
|
|
||||||
version,
|
|
||||||
]);
|
|
||||||
|
|
||||||
// @ts-expect-error: https://github.com/planetscale/database-js/issues/71
|
|
||||||
return rows[0]?.data ?? null;
|
return rows[0]?.data ?? null;
|
||||||
} catch {
|
} catch {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -7,7 +7,7 @@ import Link from 'next/link';
|
||||||
import { usePathname } from 'next/navigation';
|
import { usePathname } from 'next/navigation';
|
||||||
import { useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
|
|
||||||
const isDev = process.env.NEXT_PUBLIC_LOCAL_DEV ?? process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview';
|
const isDev = process.env.NEXT_PUBLIC_LOCAL_DEV === 'true' ?? process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview';
|
||||||
|
|
||||||
export default function VersionSelect({ versions }: { readonly versions: string[] }) {
|
export default function VersionSelect({ versions }: { readonly versions: string[] }) {
|
||||||
const pathname = usePathname();
|
const pathname = usePathname();
|
||||||
|
|
|
@ -1,26 +1,15 @@
|
||||||
import { connect } from '@planetscale/database';
|
|
||||||
import { get } from '@vercel/edge-config';
|
import { get } from '@vercel/edge-config';
|
||||||
|
import { sql } from '@vercel/postgres';
|
||||||
import { NextResponse, type NextRequest } from 'next/server';
|
import { NextResponse, type NextRequest } from 'next/server';
|
||||||
import { PACKAGES } from './util/constants';
|
import { PACKAGES } from './util/constants';
|
||||||
|
|
||||||
const sql = connect({
|
|
||||||
url: process.env.DATABASE_URL!,
|
|
||||||
async fetch(url, init) {
|
|
||||||
delete init?.cache;
|
|
||||||
return fetch(url, { ...init, next: { revalidate: 3_600 } });
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
async function fetchLatestVersion(packageName: string): Promise<string> {
|
async function fetchLatestVersion(packageName: string): Promise<string> {
|
||||||
if (process.env.NEXT_PUBLIC_LOCAL_DEV || process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') {
|
if (process.env.NEXT_PUBLIC_LOCAL_DEV === 'true' || process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') {
|
||||||
return 'main';
|
return 'main';
|
||||||
}
|
}
|
||||||
|
|
||||||
const { rows } = await sql.execute('select version from documentation where name = ? order by version desc', [
|
const { rows } = await sql`select version from documentation where name = ${packageName} order by version desc`;
|
||||||
packageName,
|
|
||||||
]);
|
|
||||||
|
|
||||||
// @ts-expect-error: https://github.com/planetscale/database-js/issues/71
|
|
||||||
return rows.map((row) => row.version).at(1) ?? 'main';
|
return rows.map((row) => row.version).at(1) ?? 'main';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
"@actions/core": "^1.10.1",
|
"@actions/core": "^1.10.1",
|
||||||
"@actions/glob": "^0.4.0",
|
"@actions/glob": "^0.4.0",
|
||||||
"@discordjs/scripts": "workspace:^",
|
"@discordjs/scripts": "workspace:^",
|
||||||
"@planetscale/database": "^1.11.0",
|
"@vercel/postgres": "^0.5.1",
|
||||||
"meilisearch": "^0.35.0",
|
"meilisearch": "^0.35.0",
|
||||||
"tslib": "^2.6.2",
|
"tslib": "^2.6.2",
|
||||||
"undici": "5.27.2"
|
"undici": "5.27.2"
|
||||||
|
|
|
@ -2,8 +2,7 @@ import { readFile } from 'node:fs/promises';
|
||||||
import process from 'node:process';
|
import process from 'node:process';
|
||||||
import { getInput, setFailed } from '@actions/core';
|
import { getInput, setFailed } from '@actions/core';
|
||||||
import { create } from '@actions/glob';
|
import { create } from '@actions/glob';
|
||||||
import { connect } from '@planetscale/database';
|
import { createPool } from '@vercel/postgres';
|
||||||
import { fetch } from 'undici';
|
|
||||||
|
|
||||||
if (!process.env.DATABASE_URL) {
|
if (!process.env.DATABASE_URL) {
|
||||||
setFailed('DATABASE_URL is not set');
|
setFailed('DATABASE_URL is not set');
|
||||||
|
@ -12,9 +11,8 @@ if (!process.env.DATABASE_URL) {
|
||||||
const pkg = getInput('package') || '*';
|
const pkg = getInput('package') || '*';
|
||||||
const version = getInput('version') || 'main';
|
const version = getInput('version') || 'main';
|
||||||
|
|
||||||
const sql = connect({
|
const pool = createPool({
|
||||||
fetch,
|
connectionString: process.env.DATABASE_URL,
|
||||||
url: process.env.DATABASE_URL!,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const globber = await create(`packages/${pkg}/docs/docs.api.json`);
|
const globber = await create(`packages/${pkg}/docs/docs.api.json`);
|
||||||
|
@ -22,7 +20,7 @@ for await (const file of globber.globGenerator()) {
|
||||||
const data = await readFile(file, 'utf8');
|
const data = await readFile(file, 'utf8');
|
||||||
try {
|
try {
|
||||||
console.log(`Uploading ${file} with ${version}...`);
|
console.log(`Uploading ${file} with ${version}...`);
|
||||||
await sql.execute('replace into documentation (version, data) values (?, ?)', [version, data]);
|
await pool.sql`insert into documentation (version, data) values (${version}, ${data}) on conflict (version) do update set data = EXCLUDED.data`;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const err = error as Error;
|
const err = error as Error;
|
||||||
setFailed(err.message);
|
setFailed(err.message);
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
import process from 'node:process';
|
import process from 'node:process';
|
||||||
import { setFailed } from '@actions/core';
|
import { setFailed } from '@actions/core';
|
||||||
import { generateAllIndices } from '@discordjs/scripts';
|
import { generateAllIndices } from '@discordjs/scripts';
|
||||||
import { connect } from '@planetscale/database';
|
import { createPool } from '@vercel/postgres';
|
||||||
import { MeiliSearch } from 'meilisearch';
|
import { MeiliSearch } from 'meilisearch';
|
||||||
import { fetch } from 'undici';
|
|
||||||
|
|
||||||
if (!process.env.DATABASE_URL) {
|
if (!process.env.DATABASE_URL) {
|
||||||
setFailed('DATABASE_URL is not set');
|
setFailed('DATABASE_URL is not set');
|
||||||
|
@ -17,9 +16,8 @@ if (!process.env.SEARCH_API_KEY) {
|
||||||
setFailed('SEARCH_API_KEY is not set');
|
setFailed('SEARCH_API_KEY is not set');
|
||||||
}
|
}
|
||||||
|
|
||||||
const sql = connect({
|
const pool = createPool({
|
||||||
fetch,
|
connectionString: process.env.DATABASE_URL,
|
||||||
url: process.env.DATABASE_URL!,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const client = new MeiliSearch({
|
const client = new MeiliSearch({
|
||||||
|
@ -32,20 +30,15 @@ try {
|
||||||
const indices = await generateAllIndices({
|
const indices = await generateAllIndices({
|
||||||
fetchPackageVersions: async (pkg) => {
|
fetchPackageVersions: async (pkg) => {
|
||||||
console.log(`Fetching versions for ${pkg}...`);
|
console.log(`Fetching versions for ${pkg}...`);
|
||||||
const { rows } = await sql.execute('select version from documentation where name = ?', [pkg]);
|
const { rows } = await pool.sql`select version from documentation where name = ${pkg}`;
|
||||||
|
|
||||||
// @ts-expect-error: https://github.com/planetscale/database-js/issues/71
|
|
||||||
return rows.map((row) => row.version);
|
return rows.map((row) => row.version);
|
||||||
},
|
},
|
||||||
fetchPackageVersionDocs: async (pkg, version) => {
|
fetchPackageVersionDocs: async (pkg, version) => {
|
||||||
console.log(`Fetching data for ${pkg} ${version}...`);
|
console.log(`Fetching data for ${pkg} ${version}...`);
|
||||||
const { rows } = await sql.execute('select data from documentation where name = ? and version = ?', [
|
const { rows } = await pool.sql`select data from documentation where name = ${pkg} and version = ${version}`;
|
||||||
pkg,
|
|
||||||
version,
|
|
||||||
]);
|
|
||||||
|
|
||||||
// @ts-expect-error: https://github.com/planetscale/database-js/issues/71
|
return rows[0]?.data ?? null;
|
||||||
return rows[0].data;
|
|
||||||
},
|
},
|
||||||
writeToFile: false,
|
writeToFile: false,
|
||||||
});
|
});
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
"@discordjs/api-extractor-utils": "workspace:^",
|
"@discordjs/api-extractor-utils": "workspace:^",
|
||||||
"@microsoft/tsdoc": "0.14.2",
|
"@microsoft/tsdoc": "0.14.2",
|
||||||
"@microsoft/tsdoc-config": "0.16.2",
|
"@microsoft/tsdoc-config": "0.16.2",
|
||||||
"@planetscale/database": "^1.11.0",
|
"@vercel/postgres": "^0.5.1",
|
||||||
"tslib": "^2.6.2",
|
"tslib": "^2.6.2",
|
||||||
"undici": "5.27.2",
|
"undici": "5.27.2",
|
||||||
"yaml": "2.3.4"
|
"yaml": "2.3.4"
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
import { readFile } from 'node:fs/promises';
|
import { readFile } from 'node:fs/promises';
|
||||||
import process, { cwd } from 'node:process';
|
import process, { cwd } from 'node:process';
|
||||||
import { create } from '@actions/glob';
|
import { create } from '@actions/glob';
|
||||||
import { connect } from '@planetscale/database';
|
import { createPool } from '@vercel/postgres';
|
||||||
|
|
||||||
const sql = connect({
|
const pool = createPool({
|
||||||
url: process.env.DATABASE_URL!,
|
connectionString: process.env.DATABASE_URL,
|
||||||
});
|
});
|
||||||
|
|
||||||
process.chdir(`${cwd()}/../../`);
|
process.chdir(`${cwd()}/../../`);
|
||||||
const globber = await create(`packages/*/docs/*.api.json`);
|
const globber = await create(`packages/*/docs/*.api.json`);
|
||||||
// const globber2 = await create(`discord.js/*.json`);
|
|
||||||
for await (const file of globber.globGenerator()) {
|
for await (const file of globber.globGenerator()) {
|
||||||
const parsed = /(?<semver>\d+.\d+.\d+)-?.*/.exec(file);
|
const parsed = /(?<semver>\d+.\d+.\d+)-?.*/.exec(file);
|
||||||
const data = await readFile(file, 'utf8');
|
const data = await readFile(file, 'utf8');
|
||||||
|
@ -17,14 +16,14 @@ for await (const file of globber.globGenerator()) {
|
||||||
if (parsed?.groups) {
|
if (parsed?.groups) {
|
||||||
console.log(parsed.groups.semver, file);
|
console.log(parsed.groups.semver, file);
|
||||||
try {
|
try {
|
||||||
await sql.execute('replace into documentation (version, data) values (?, ?)', [parsed.groups.semver, data]);
|
await pool.sql`insert into documentation (version, data) values (${parsed.groups.semver}, ${data}) on conflict (name, version) do update set data = EXCLUDED.data`;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('main', file);
|
console.log('main', file);
|
||||||
try {
|
try {
|
||||||
await sql.execute('replace into documentation (version, data) values (?, ?)', ['main', data]);
|
await pool.sql`insert into documentation (version, data) values (${'main'}, ${data}) on conflict (name, version) do update set data = EXCLUDED.data`;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
|
|
118
pnpm-lock.yaml
118
pnpm-lock.yaml
|
@ -244,9 +244,6 @@ importers:
|
||||||
'@microsoft/tsdoc-config':
|
'@microsoft/tsdoc-config':
|
||||||
specifier: 0.16.2
|
specifier: 0.16.2
|
||||||
version: 0.16.2(patch_hash=35av6rrndvjtr2u2jso66jatbu)
|
version: 0.16.2(patch_hash=35av6rrndvjtr2u2jso66jatbu)
|
||||||
'@planetscale/database':
|
|
||||||
specifier: ^1.11.0
|
|
||||||
version: 1.11.0
|
|
||||||
'@react-icons/all-files':
|
'@react-icons/all-files':
|
||||||
specifier: ^4.1.0
|
specifier: ^4.1.0
|
||||||
version: 4.1.0(react@18.2.0)
|
version: 4.1.0(react@18.2.0)
|
||||||
|
@ -259,6 +256,9 @@ importers:
|
||||||
'@vercel/og':
|
'@vercel/og':
|
||||||
specifier: ^0.5.20
|
specifier: ^0.5.20
|
||||||
version: 0.5.20
|
version: 0.5.20
|
||||||
|
'@vercel/postgres':
|
||||||
|
specifier: ^0.5.1
|
||||||
|
version: 0.5.1
|
||||||
ariakit:
|
ariakit:
|
||||||
specifier: 2.0.0-next.44
|
specifier: 2.0.0-next.44
|
||||||
version: 2.0.0-next.44(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0)
|
version: 2.0.0-next.44(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0)
|
||||||
|
@ -386,9 +386,9 @@ importers:
|
||||||
'@discordjs/scripts':
|
'@discordjs/scripts':
|
||||||
specifier: workspace:^
|
specifier: workspace:^
|
||||||
version: link:../scripts
|
version: link:../scripts
|
||||||
'@planetscale/database':
|
'@vercel/postgres':
|
||||||
specifier: ^1.11.0
|
specifier: ^0.5.1
|
||||||
version: 1.11.0
|
version: 0.5.1
|
||||||
meilisearch:
|
meilisearch:
|
||||||
specifier: ^0.35.0
|
specifier: ^0.35.0
|
||||||
version: 0.35.0
|
version: 0.35.0
|
||||||
|
@ -933,7 +933,7 @@ importers:
|
||||||
version: 5.27.2
|
version: 5.27.2
|
||||||
ws:
|
ws:
|
||||||
specifier: 8.14.2
|
specifier: 8.14.2
|
||||||
version: 8.14.2
|
version: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3)
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@discordjs/api-extractor':
|
'@discordjs/api-extractor':
|
||||||
specifier: workspace:^
|
specifier: workspace:^
|
||||||
|
@ -1340,9 +1340,9 @@ importers:
|
||||||
'@microsoft/tsdoc-config':
|
'@microsoft/tsdoc-config':
|
||||||
specifier: 0.16.2
|
specifier: 0.16.2
|
||||||
version: 0.16.2(patch_hash=35av6rrndvjtr2u2jso66jatbu)
|
version: 0.16.2(patch_hash=35av6rrndvjtr2u2jso66jatbu)
|
||||||
'@planetscale/database':
|
'@vercel/postgres':
|
||||||
specifier: ^1.11.0
|
specifier: ^0.5.1
|
||||||
version: 1.11.0
|
version: 0.5.1
|
||||||
tslib:
|
tslib:
|
||||||
specifier: ^2.6.2
|
specifier: ^2.6.2
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
|
@ -1560,7 +1560,7 @@ importers:
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
ws:
|
ws:
|
||||||
specifier: ^8.14.2
|
specifier: ^8.14.2
|
||||||
version: 8.14.2
|
version: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3)
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@babel/core':
|
'@babel/core':
|
||||||
specifier: ^7.23.3
|
specifier: ^7.23.3
|
||||||
|
@ -1651,7 +1651,7 @@ importers:
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
ws:
|
ws:
|
||||||
specifier: ^8.14.2
|
specifier: ^8.14.2
|
||||||
version: 8.14.2
|
version: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3)
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@discordjs/api-extractor':
|
'@discordjs/api-extractor':
|
||||||
specifier: workspace:^
|
specifier: workspace:^
|
||||||
|
@ -4929,6 +4929,12 @@ packages:
|
||||||
tar-fs: 2.1.1
|
tar-fs: 2.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@neondatabase/serverless@0.6.0:
|
||||||
|
resolution: {integrity: sha512-qXxBRYN0m2v8kVQBfMxbzNGn2xFAhTXFibzQlE++NfJ56Shz3m7+MyBBtXDlEH+3Wfa6lToDXf1MElocY4sJ3w==}
|
||||||
|
dependencies:
|
||||||
|
'@types/pg': 8.6.6
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@next/bundle-analyzer@14.0.3-canary.5:
|
/@next/bundle-analyzer@14.0.3-canary.5:
|
||||||
resolution: {integrity: sha512-PhGJFo0FDJxIlNyD8SZmVBrDmSESyS2R5snCH0sqCY4OGlJJbWsxQ1EXlL63nO6UtPqxuifcyHUQJNSm6eFWLg==}
|
resolution: {integrity: sha512-PhGJFo0FDJxIlNyD8SZmVBrDmSESyS2R5snCH0sqCY4OGlJJbWsxQ1EXlL63nO6UtPqxuifcyHUQJNSm6eFWLg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -5362,11 +5368,6 @@ packages:
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@planetscale/database@1.11.0:
|
|
||||||
resolution: {integrity: sha512-aWbU+D/IRHoDE9975y+Q4c+EwwAWxCPwFId+N1AhQVFXzbeJMkj6KN2iQtoi03elcLMRdfT+V3i9Z4WRw+/oIA==}
|
|
||||||
engines: {node: '>=16'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@polka/url@1.0.0-next.23:
|
/@polka/url@1.0.0-next.23:
|
||||||
resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==}
|
resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -7191,7 +7192,7 @@ packages:
|
||||||
util: 0.12.5
|
util: 0.12.5
|
||||||
util-deprecate: 1.0.2
|
util-deprecate: 1.0.2
|
||||||
watchpack: 2.4.0
|
watchpack: 2.4.0
|
||||||
ws: 8.14.2
|
ws: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- bufferutil
|
- bufferutil
|
||||||
- encoding
|
- encoding
|
||||||
|
@ -7972,6 +7973,14 @@ packages:
|
||||||
resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
|
resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@types/pg@8.6.6:
|
||||||
|
resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==}
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 18.18.9
|
||||||
|
pg-protocol: 1.6.0
|
||||||
|
pg-types: 2.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/pretty-hrtime@1.0.2:
|
/@types/pretty-hrtime@1.0.2:
|
||||||
resolution: {integrity: sha512-vyv9knII8XeW8TnXDcGH7HqG6FeR56ESN6ExM34d/U8Zvs3xuG34euV6CVyB7KEYI7Ts4lQM8b4NL72e7UadnA==}
|
resolution: {integrity: sha512-vyv9knII8XeW8TnXDcGH7HqG6FeR56ESN6ExM34d/U8Zvs3xuG34euV6CVyB7KEYI7Ts4lQM8b4NL72e7UadnA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -8725,6 +8734,16 @@ packages:
|
||||||
yoga-wasm-web: 0.3.3
|
yoga-wasm-web: 0.3.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@vercel/postgres@0.5.1:
|
||||||
|
resolution: {integrity: sha512-JKl8QOBIDnifhkxAhIKtY0A5Tb8oWBf2nzZhm0OH7Ffjsl0hGVnDL2w1/FCfpX8xna3JAWM034NGuhZfTFdmiw==}
|
||||||
|
engines: {node: '>=14.6'}
|
||||||
|
dependencies:
|
||||||
|
'@neondatabase/serverless': 0.6.0
|
||||||
|
bufferutil: 4.0.8
|
||||||
|
utf-8-validate: 6.0.3
|
||||||
|
ws: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3)
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@vercel/python@4.1.0:
|
/@vercel/python@4.1.0:
|
||||||
resolution: {integrity: sha512-EIQXK5zL6fce0Barh74gc7xyLtRyvgmLZDIVQ8yJLtFxPlPCRY3GXkdJ7Jdcw8Pd0uuVF0vIHatv18xSLbcwtg==}
|
resolution: {integrity: sha512-EIQXK5zL6fce0Barh74gc7xyLtRyvgmLZDIVQ8yJLtFxPlPCRY3GXkdJ7Jdcw8Pd0uuVF0vIHatv18xSLbcwtg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -9915,6 +9934,13 @@ packages:
|
||||||
base64-js: 1.5.1
|
base64-js: 1.5.1
|
||||||
ieee754: 1.2.1
|
ieee754: 1.2.1
|
||||||
|
|
||||||
|
/bufferutil@4.0.8:
|
||||||
|
resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==}
|
||||||
|
engines: {node: '>=6.14.2'}
|
||||||
|
requiresBuild: true
|
||||||
|
dependencies:
|
||||||
|
node-gyp-build: 4.6.1
|
||||||
|
|
||||||
/builtin-modules@1.1.1:
|
/builtin-modules@1.1.1:
|
||||||
resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==}
|
resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
@ -17519,7 +17545,6 @@ packages:
|
||||||
/node-gyp-build@4.6.1:
|
/node-gyp-build@4.6.1:
|
||||||
resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==}
|
resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
|
||||||
|
|
||||||
/node-int64@0.4.0:
|
/node-int64@0.4.0:
|
||||||
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
|
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
|
||||||
|
@ -18232,6 +18257,26 @@ packages:
|
||||||
is-reference: 3.0.2
|
is-reference: 3.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/pg-int8@1.0.1:
|
||||||
|
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
|
||||||
|
engines: {node: '>=4.0.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/pg-protocol@1.6.0:
|
||||||
|
resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/pg-types@2.2.0:
|
||||||
|
resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
dependencies:
|
||||||
|
pg-int8: 1.0.1
|
||||||
|
postgres-array: 2.0.0
|
||||||
|
postgres-bytea: 1.0.0
|
||||||
|
postgres-date: 1.0.7
|
||||||
|
postgres-interval: 1.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/picocolors@1.0.0:
|
/picocolors@1.0.0:
|
||||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
||||||
|
|
||||||
|
@ -18410,6 +18455,28 @@ packages:
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
|
|
||||||
|
/postgres-array@2.0.0:
|
||||||
|
resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postgres-bytea@1.0.0:
|
||||||
|
resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postgres-date@1.0.7:
|
||||||
|
resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postgres-interval@1.2.0:
|
||||||
|
resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
xtend: 4.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
/prebuild-install@7.1.1:
|
/prebuild-install@7.1.1:
|
||||||
resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
|
resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
@ -21816,6 +21883,13 @@ packages:
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
|
|
||||||
|
/utf-8-validate@6.0.3:
|
||||||
|
resolution: {integrity: sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==}
|
||||||
|
engines: {node: '>=6.14.2'}
|
||||||
|
requiresBuild: true
|
||||||
|
dependencies:
|
||||||
|
node-gyp-build: 4.6.1
|
||||||
|
|
||||||
/util-deprecate@1.0.2:
|
/util-deprecate@1.0.2:
|
||||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||||
|
|
||||||
|
@ -22541,7 +22615,7 @@ packages:
|
||||||
optional: true
|
optional: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/ws@8.14.2:
|
/ws@8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3):
|
||||||
resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
|
resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -22552,6 +22626,9 @@ packages:
|
||||||
optional: true
|
optional: true
|
||||||
utf-8-validate:
|
utf-8-validate:
|
||||||
optional: true
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
bufferutil: 4.0.8
|
||||||
|
utf-8-validate: 6.0.3
|
||||||
|
|
||||||
/xdg-app-paths@5.1.0:
|
/xdg-app-paths@5.1.0:
|
||||||
resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==}
|
resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==}
|
||||||
|
@ -22579,7 +22656,6 @@ packages:
|
||||||
/xtend@4.0.2:
|
/xtend@4.0.2:
|
||||||
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
||||||
engines: {node: '>=0.4'}
|
engines: {node: '>=0.4'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/y18n@4.0.3:
|
/y18n@4.0.3:
|
||||||
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
||||||
|
|
Loading…
Reference in a new issue