mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
build(website): build site from db data
This commit is contained in:
11
packages/actions/src/uploadDocumentation/action.yml
Normal file
11
packages/actions/src/uploadDocumentation/action.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
name: 'Upload documentation'
|
||||
description: 'Uploads the docs.json file to a planetscale database'
|
||||
inputs:
|
||||
package:
|
||||
description: 'The package string'
|
||||
required: true
|
||||
semver:
|
||||
description: 'The semver string'
|
||||
runs:
|
||||
using: node16
|
||||
main: ../../dist/uploadDocumentation/index.mjs
|
||||
29
packages/actions/src/uploadDocumentation/index.ts
Normal file
29
packages/actions/src/uploadDocumentation/index.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
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';
|
||||
|
||||
if (!process.env.DATABASE_URL) {
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const pkg = getInput('package', { required: true });
|
||||
const version = getInput('version') || 'main';
|
||||
|
||||
const sql = connect({
|
||||
fetch,
|
||||
url: process.env.DATABASE_URL,
|
||||
});
|
||||
|
||||
const globber = await create(`packages/${pkg}/docs/docs.api.json`);
|
||||
for await (const file of globber.globGenerator()) {
|
||||
const data = await readFile(file, 'utf8');
|
||||
try {
|
||||
await sql.execute('replace into documentation (version, data) values (?, ?)', [version, data]);
|
||||
} catch (error) {
|
||||
const err = error as Error;
|
||||
setFailed(err.message);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user