refactor: switch to vercel pg

This commit is contained in:
iCrawl
2023-11-13 21:07:01 +01:00
parent 9a8110047e
commit c4767bacde
10 changed files with 125 additions and 89 deletions

View File

@@ -2,8 +2,7 @@ import { readFile } from 'node:fs/promises';
import process from 'node:process';
import { getInput, setFailed } from '@actions/core';
import { create } from '@actions/glob';
import { connect } from '@planetscale/database';
import { fetch } from 'undici';
import { createPool } from '@vercel/postgres';
if (!process.env.DATABASE_URL) {
setFailed('DATABASE_URL is not set');
@@ -12,9 +11,8 @@ if (!process.env.DATABASE_URL) {
const pkg = getInput('package') || '*';
const version = getInput('version') || 'main';
const sql = connect({
fetch,
url: process.env.DATABASE_URL!,
const pool = createPool({
connectionString: process.env.DATABASE_URL,
});
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');
try {
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) {
const err = error as Error;
setFailed(err.message);