mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-19 13:03:31 +01:00
feat: discord-api-types on docs
This commit is contained in:
12
.github/workflows/documentation.yml
vendored
12
.github/workflows/documentation.yml
vendored
@@ -105,11 +105,9 @@ jobs:
|
|||||||
- name: Upload documentation to database
|
- name: Upload documentation to database
|
||||||
if: ${{ env.REF_TYPE == 'tag' && (!inputs.ref || inputs.ref == 'main') }}
|
if: ${{ env.REF_TYPE == 'tag' && (!inputs.ref || inputs.ref == 'main') }}
|
||||||
env:
|
env:
|
||||||
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
|
||||||
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
||||||
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
||||||
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
@@ -123,11 +121,9 @@ jobs:
|
|||||||
- name: Upload documentation to database
|
- name: Upload documentation to database
|
||||||
if: ${{ env.REF_TYPE == 'tag' && inputs.ref && inputs.ref != 'main' }}
|
if: ${{ env.REF_TYPE == 'tag' && inputs.ref && inputs.ref != 'main' }}
|
||||||
env:
|
env:
|
||||||
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
|
||||||
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
||||||
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
||||||
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
@@ -141,7 +137,6 @@ jobs:
|
|||||||
- name: Upload split documentation to blob storage
|
- name: Upload split documentation to blob storage
|
||||||
if: ${{ env.REF_TYPE == 'tag' && (!inputs.ref || inputs.ref == 'main') }}
|
if: ${{ env.REF_TYPE == 'tag' && (!inputs.ref || inputs.ref == 'main') }}
|
||||||
env:
|
env:
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
@@ -154,7 +149,6 @@ jobs:
|
|||||||
- name: Upload split documentation to blob storage
|
- name: Upload split documentation to blob storage
|
||||||
if: ${{ env.REF_TYPE == 'tag' && inputs.ref && inputs.ref != 'main' }}
|
if: ${{ env.REF_TYPE == 'tag' && inputs.ref && inputs.ref != 'main' }}
|
||||||
env:
|
env:
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
@@ -181,11 +175,9 @@ jobs:
|
|||||||
- name: Upload documentation to database
|
- name: Upload documentation to database
|
||||||
if: ${{ env.REF_TYPE == 'branch' && (!inputs.ref || inputs.ref == 'main') }}
|
if: ${{ env.REF_TYPE == 'branch' && (!inputs.ref || inputs.ref == 'main') }}
|
||||||
env:
|
env:
|
||||||
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
|
||||||
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
||||||
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
||||||
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
@@ -196,11 +188,9 @@ jobs:
|
|||||||
- name: Upload documentation to database
|
- name: Upload documentation to database
|
||||||
if: ${{ env.REF_TYPE == 'branch' && inputs.ref && inputs.ref != 'main' }}
|
if: ${{ env.REF_TYPE == 'branch' && inputs.ref && inputs.ref != 'main' }}
|
||||||
env:
|
env:
|
||||||
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
|
||||||
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
CF_D1_DOCS_API_KEY: ${{ secrets.CF_D1_DOCS_API_KEY }}
|
||||||
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
CF_D1_DOCS_ID: ${{ secrets.CF_D1_DOCS_ID }}
|
||||||
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
@@ -211,7 +201,6 @@ jobs:
|
|||||||
- name: Upload split documentation to blob storage
|
- name: Upload split documentation to blob storage
|
||||||
if: ${{ env.REF_TYPE == 'branch' && (!inputs.ref || inputs.ref == 'main') }}
|
if: ${{ env.REF_TYPE == 'branch' && (!inputs.ref || inputs.ref == 'main') }}
|
||||||
env:
|
env:
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
@@ -221,7 +210,6 @@ jobs:
|
|||||||
- name: Upload split documentation to blob storage
|
- name: Upload split documentation to blob storage
|
||||||
if: ${{ env.REF_TYPE == 'branch' && inputs.ref && inputs.ref != 'main' }}
|
if: ${{ env.REF_TYPE == 'branch' && inputs.ref && inputs.ref != 'main' }}
|
||||||
env:
|
env:
|
||||||
BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }}
|
|
||||||
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
CF_R2_DOCS_URL: ${{ secrets.CF_R2_DOCS_URL }}
|
||||||
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
CF_R2_DOCS_ACCESS_KEY_ID: ${{ secrets.CF_R2_DOCS_ACCESS_KEY_ID }}
|
||||||
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
CF_R2_DOCS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_DOCS_SECRET_ACCESS_KEY }}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@
|
|||||||
"@vercel/analytics": "^1.5.0",
|
"@vercel/analytics": "^1.5.0",
|
||||||
"@vercel/edge-config": "^1.4.0",
|
"@vercel/edge-config": "^1.4.0",
|
||||||
"@vercel/postgres": "^0.10.0",
|
"@vercel/postgres": "^0.10.0",
|
||||||
|
"cloudflare": "^4.2.0",
|
||||||
"cmdk": "^1.1.1",
|
"cmdk": "^1.1.1",
|
||||||
"cva": "1.0.0-beta.3",
|
"cva": "1.0.0-beta.3",
|
||||||
"geist": "^1.3.1",
|
"geist": "^1.3.1",
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export default async function Image({
|
|||||||
|
|
||||||
const isMain = version === 'main';
|
const isMain = version === 'main';
|
||||||
const fileContent = await fetch(
|
const fileContent = await fetch(
|
||||||
`${process.env.BLOB_STORAGE_URL}/rewrite/${packageName}/${version}.${normalizeItem}.api.json`,
|
`${process.env.CF_R2_DOCS_BUCKET_URL}/${packageName}/${version}.${normalizeItem}.api.json`,
|
||||||
{ next: { revalidate: isMain ? 0 : 604_800 } },
|
{ next: { revalidate: isMain ? 0 : 604_800 } },
|
||||||
);
|
);
|
||||||
const node = await fileContent.json();
|
const node = await fileContent.json();
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import type { Metadata } from 'next';
|
|||||||
import { MDXRemote } from 'next-mdx-remote-client/rsc';
|
import { MDXRemote } from 'next-mdx-remote-client/rsc';
|
||||||
import remarkGfm from 'remark-gfm';
|
import remarkGfm from 'remark-gfm';
|
||||||
import { DocItem } from '@/components/DocItem';
|
import { DocItem } from '@/components/DocItem';
|
||||||
|
import { PACKAGES_WITH_ENTRY_POINTS } from '@/util/constants';
|
||||||
import { fetchNode } from '@/util/fetchNode';
|
import { fetchNode } from '@/util/fetchNode';
|
||||||
import { parseDocsPathParams } from '@/util/parseDocsPathParams';
|
import { parseDocsPathParams } from '@/util/parseDocsPathParams';
|
||||||
import { getSingletonHighlighter } from '@/util/shiki.bundle';
|
import { getSingletonHighlighter } from '@/util/shiki.bundle';
|
||||||
@@ -52,6 +53,12 @@ export default async function Page({
|
|||||||
const { entryPoints: parsedEntrypoints, foundItem } = parseDocsPathParams(item);
|
const { entryPoints: parsedEntrypoints, foundItem } = parseDocsPathParams(item);
|
||||||
|
|
||||||
if (!foundItem) {
|
if (!foundItem) {
|
||||||
|
const hasEntryPoint = PACKAGES_WITH_ENTRY_POINTS.includes(packageName);
|
||||||
|
|
||||||
|
if (hasEntryPoint) {
|
||||||
|
return <>Placeholder</>;
|
||||||
|
}
|
||||||
|
|
||||||
const fileContent = await readFile(join(process.cwd(), `src/assets/readme/${packageName}/home-README.md`), 'utf8');
|
const fileContent = await readFile(join(process.cwd(), `src/assets/readme/${packageName}/home-README.md`), 'utf8');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,20 +1,25 @@
|
|||||||
import { sql } from '@vercel/postgres';
|
import Cloudflare from 'cloudflare';
|
||||||
import { NextResponse, type NextRequest } from 'next/server';
|
import { NextResponse, type NextRequest } from 'next/server';
|
||||||
import { PACKAGES } from './util/constants';
|
import { PACKAGES } from './util/constants';
|
||||||
import { ENV } from './util/env';
|
import { ENV } from './util/env';
|
||||||
|
|
||||||
|
const client = new Cloudflare({
|
||||||
|
apiToken: process.env.CF_D1_DOCS_API_KEY,
|
||||||
|
});
|
||||||
|
|
||||||
async function fetchLatestVersion(packageName: string): Promise<string> {
|
async function fetchLatestVersion(packageName: string): Promise<string> {
|
||||||
if (ENV.IS_LOCAL_DEV) {
|
if (ENV.IS_LOCAL_DEV) {
|
||||||
return 'main';
|
return 'main';
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { rows } = await sql<{ version: string }>`with ordered_versions as (
|
const { result } = await client.d1.database.query(process.env.CF_D1_DOCS_ID!, {
|
||||||
select version from documentation where name = ${packageName} and version != 'main' order by string_to_array(version, '.')::int[] desc
|
account_id: process.env.CF_ACCOUNT_ID!,
|
||||||
)
|
sql: `select version from documentation where name = ? and version != 'main' order by version desc limit 1;`,
|
||||||
select version from ordered_versions limit 1`;
|
params: [packageName],
|
||||||
|
});
|
||||||
|
|
||||||
return rows[0]?.version ?? 'main';
|
return (result[0]?.results as { version: string }[] | undefined)?.[0]?.version ?? 'main';
|
||||||
} catch {
|
} catch {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
export const PACKAGES = [
|
export const PACKAGES = [
|
||||||
{ name: 'discord.js' },
|
{ name: 'discord.js' },
|
||||||
|
{ name: 'discord-api-types' },
|
||||||
{ name: 'brokers' },
|
{ name: 'brokers' },
|
||||||
{ name: 'builders' },
|
{ name: 'builders' },
|
||||||
{ name: 'collection' },
|
{ name: 'collection' },
|
||||||
@@ -11,7 +12,6 @@ export const PACKAGES = [
|
|||||||
{ name: 'util' },
|
{ name: 'util' },
|
||||||
{ name: 'voice' },
|
{ name: 'voice' },
|
||||||
{ name: 'ws' },
|
{ name: 'ws' },
|
||||||
// { name: 'discord-api-types' },
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export const PACKAGES_WITH_ENTRY_POINTS = ['discord-api-types'];
|
export const PACKAGES_WITH_ENTRY_POINTS = ['discord-api-types'];
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export async function fetchDependencies({
|
|||||||
try {
|
try {
|
||||||
const isMain = version === 'main';
|
const isMain = version === 'main';
|
||||||
const fileContent = await fetch(
|
const fileContent = await fetch(
|
||||||
`${process.env.BLOB_STORAGE_URL}/rewrite/${packageName}/${version}.dependencies.api.json`,
|
`${process.env.CF_R2_DOCS_BUCKET_URL}/${packageName}/${version}.dependencies.api.json`,
|
||||||
{ next: { revalidate: isMain ? 0 : 604_800 } },
|
{ next: { revalidate: isMain ? 0 : 604_800 } },
|
||||||
);
|
);
|
||||||
const parsedDependencies = await fileContent.json();
|
const parsedDependencies = await fileContent.json();
|
||||||
|
|||||||
@@ -1,34 +1,36 @@
|
|||||||
import { readFile } from 'node:fs/promises';
|
import { readFile } from 'node:fs/promises';
|
||||||
import { join } from 'node:path';
|
import { join } from 'node:path';
|
||||||
// import { sql } from '@vercel/postgres';
|
import { PACKAGES_WITH_ENTRY_POINTS } from './constants';
|
||||||
import { ENV } from './env';
|
import { ENV } from './env';
|
||||||
|
|
||||||
export async function fetchEntryPoints(packageName: string, version: string) {
|
export async function fetchEntryPoints(packageName: string, version: string) {
|
||||||
|
const hasEntryPoint = PACKAGES_WITH_ENTRY_POINTS.includes(packageName);
|
||||||
|
|
||||||
|
if (!hasEntryPoint) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
if (ENV.IS_LOCAL_DEV) {
|
if (ENV.IS_LOCAL_DEV) {
|
||||||
const fileContent = await readFile(
|
const fileContent = await readFile(
|
||||||
join(process.cwd(), `../../packages/${packageName}/docs/${packageName}/split/${version}.entrypoints.api.json`),
|
join(
|
||||||
|
process.cwd(),
|
||||||
|
`${hasEntryPoint ? `../../../discord-api-types` : `../../packages/${packageName}`}/docs/${packageName}/split/${version}.entrypoints.api.json`,
|
||||||
|
),
|
||||||
'utf8',
|
'utf8',
|
||||||
);
|
);
|
||||||
|
|
||||||
return JSON.parse(fileContent);
|
return JSON.parse(fileContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
// try {
|
const isMain = version === 'main';
|
||||||
// const { rows } = await sql<{
|
const fileContent = await fetch(
|
||||||
// entryPoint: string;
|
`${process.env.CF_R2_DOCS_BUCKET_URL}/${packageName}/${version}.entrypoints.api.json`,
|
||||||
// }>`select entryPoint from documentation where name = ${packageName} and version = ${version} order by
|
{ next: { revalidate: isMain ? 0 : 604_800 } },
|
||||||
// case
|
);
|
||||||
// when version = 'main' then 0
|
|
||||||
// else 1
|
|
||||||
// end,
|
|
||||||
// case
|
|
||||||
// when version = 'main' then null
|
|
||||||
// else string_to_array(version, '.')::int[]
|
|
||||||
// end desc;
|
|
||||||
// `;
|
|
||||||
|
|
||||||
// return rows;
|
if (!fileContent.ok) {
|
||||||
// } catch {
|
return null;
|
||||||
return [];
|
}
|
||||||
// }
|
|
||||||
|
return fileContent.json();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { readFile } from 'node:fs/promises';
|
import { readFile } from 'node:fs/promises';
|
||||||
import { join } from 'node:path';
|
import { join } from 'node:path';
|
||||||
|
import { PACKAGES_WITH_ENTRY_POINTS } from './constants';
|
||||||
import { ENV } from './env';
|
import { ENV } from './env';
|
||||||
|
|
||||||
export async function fetchNode({
|
export async function fetchNode({
|
||||||
@@ -13,6 +14,7 @@ export async function fetchNode({
|
|||||||
readonly packageName: string;
|
readonly packageName: string;
|
||||||
readonly version: string;
|
readonly version: string;
|
||||||
}) {
|
}) {
|
||||||
|
const hasEntryPoint = PACKAGES_WITH_ENTRY_POINTS.includes(packageName);
|
||||||
const normalizedEntryPoint = entryPoint ? `${entryPoint}.` : '';
|
const normalizedEntryPoint = entryPoint ? `${entryPoint}.` : '';
|
||||||
const normalizeItem = item.replaceAll(':', '.').toLowerCase();
|
const normalizeItem = item.replaceAll(':', '.').toLowerCase();
|
||||||
|
|
||||||
@@ -20,7 +22,7 @@ export async function fetchNode({
|
|||||||
const fileContent = await readFile(
|
const fileContent = await readFile(
|
||||||
join(
|
join(
|
||||||
process.cwd(),
|
process.cwd(),
|
||||||
`../../packages/${packageName}/docs/${packageName}/split/${version}.${normalizedEntryPoint}${normalizeItem}.api.json`,
|
`${hasEntryPoint || normalizedEntryPoint ? `../../../discord-api-types` : `../../packages/${packageName}`}/docs/${packageName}/split/${version}.${normalizedEntryPoint}${normalizeItem}.api.json`,
|
||||||
),
|
),
|
||||||
'utf8',
|
'utf8',
|
||||||
);
|
);
|
||||||
@@ -30,7 +32,7 @@ export async function fetchNode({
|
|||||||
|
|
||||||
const isMain = version === 'main';
|
const isMain = version === 'main';
|
||||||
const fileContent = await fetch(
|
const fileContent = await fetch(
|
||||||
`${process.env.BLOB_STORAGE_URL}/rewrite/${packageName}/${version}.${normalizedEntryPoint}${normalizeItem}.api.json`,
|
`${process.env.CF_R2_DOCS_BUCKET_URL}/${packageName}/${version}.${normalizedEntryPoint}${normalizeItem}.api.json`,
|
||||||
{ next: { revalidate: isMain ? 0 : 604_800 } },
|
{ next: { revalidate: isMain ? 0 : 604_800 } },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { readFile } from 'node:fs/promises';
|
import { readFile } from 'node:fs/promises';
|
||||||
import { join } from 'node:path';
|
import { join } from 'node:path';
|
||||||
|
import { PACKAGES_WITH_ENTRY_POINTS } from './constants';
|
||||||
import { ENV } from './env';
|
import { ENV } from './env';
|
||||||
|
|
||||||
export async function fetchSitemap({
|
export async function fetchSitemap({
|
||||||
@@ -11,13 +12,14 @@ export async function fetchSitemap({
|
|||||||
readonly packageName: string;
|
readonly packageName: string;
|
||||||
readonly version: string;
|
readonly version: string;
|
||||||
}) {
|
}) {
|
||||||
|
const hasEntryPoint = PACKAGES_WITH_ENTRY_POINTS.includes(packageName);
|
||||||
const normalizedEntryPoint = entryPoint ? `${entryPoint}.` : '';
|
const normalizedEntryPoint = entryPoint ? `${entryPoint}.` : '';
|
||||||
|
|
||||||
if (ENV.IS_LOCAL_DEV) {
|
if (ENV.IS_LOCAL_DEV) {
|
||||||
const fileContent = await readFile(
|
const fileContent = await readFile(
|
||||||
join(
|
join(
|
||||||
process.cwd(),
|
process.cwd(),
|
||||||
`../../packages/${packageName}/docs/${packageName}/split/${version}.${normalizedEntryPoint}sitemap.api.json`,
|
`${hasEntryPoint || normalizedEntryPoint ? `../../../discord-api-types` : `../../packages/${packageName}`}/docs/${packageName}/split/${version}.${normalizedEntryPoint}sitemap.api.json`,
|
||||||
),
|
),
|
||||||
'utf8',
|
'utf8',
|
||||||
);
|
);
|
||||||
@@ -27,7 +29,7 @@ export async function fetchSitemap({
|
|||||||
|
|
||||||
const isMain = version === 'main';
|
const isMain = version === 'main';
|
||||||
const fileContent = await fetch(
|
const fileContent = await fetch(
|
||||||
`${process.env.BLOB_STORAGE_URL}/rewrite/${packageName}/${version}.${normalizedEntryPoint}sitemap.api.json`,
|
`${process.env.CF_R2_DOCS_BUCKET_URL}/${packageName}/${version}.${normalizedEntryPoint}sitemap.api.json`,
|
||||||
{
|
{
|
||||||
next: { revalidate: isMain ? 0 : 604_800 },
|
next: { revalidate: isMain ? 0 : 604_800 },
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,26 +1,23 @@
|
|||||||
import { sql } from '@vercel/postgres';
|
import Cloudflare from 'cloudflare';
|
||||||
import { ENV } from './env';
|
import { ENV } from './env';
|
||||||
|
|
||||||
|
const client = new Cloudflare({
|
||||||
|
apiToken: process.env.CF_D1_DOCS_API_KEY,
|
||||||
|
});
|
||||||
|
|
||||||
export async function fetchVersions(packageName: string) {
|
export async function fetchVersions(packageName: string) {
|
||||||
if (ENV.IS_LOCAL_DEV) {
|
if (ENV.IS_LOCAL_DEV) {
|
||||||
return [{ version: 'main' }];
|
return [{ version: 'main' }];
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { rows } = await sql<{
|
const { result } = await client.d1.database.query(process.env.CF_D1_DOCS_ID!, {
|
||||||
version: string;
|
account_id: process.env.CF_ACCOUNT_ID!,
|
||||||
}>`select version from documentation where name = ${packageName} order by
|
sql: `select version from documentation where name = ? order by version desc;`,
|
||||||
case
|
params: [packageName],
|
||||||
when version = 'main' then 0
|
});
|
||||||
else 1
|
|
||||||
end,
|
|
||||||
case
|
|
||||||
when version = 'main' then null
|
|
||||||
else string_to_array(version, '.')::int[]
|
|
||||||
end desc;
|
|
||||||
`;
|
|
||||||
|
|
||||||
return rows;
|
return (result[0]?.results as { version: string }[] | undefined) ?? [];
|
||||||
} catch {
|
} catch {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,10 @@ 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 { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
||||||
import { put } from '@vercel/blob';
|
|
||||||
import { createPool } from '@vercel/postgres';
|
|
||||||
import Cloudflare from 'cloudflare';
|
import Cloudflare from 'cloudflare';
|
||||||
import pLimit from 'p-limit';
|
import pLimit from 'p-limit';
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!process.env.DATABASE_URL ||
|
|
||||||
!process.env.CF_R2_DOCS_URL ||
|
!process.env.CF_R2_DOCS_URL ||
|
||||||
!process.env.CF_R2_DOCS_ACCESS_KEY_ID ||
|
!process.env.CF_R2_DOCS_ACCESS_KEY_ID ||
|
||||||
!process.env.CF_R2_DOCS_SECRET_ACCESS_KEY ||
|
!process.env.CF_R2_DOCS_SECRET_ACCESS_KEY ||
|
||||||
@@ -25,10 +22,6 @@ if (
|
|||||||
const pkg = getInput('package') || '*';
|
const pkg = getInput('package') || '*';
|
||||||
const version = getInput('version') || 'main';
|
const version = getInput('version') || 'main';
|
||||||
|
|
||||||
const pool = createPool({
|
|
||||||
connectionString: process.env.DATABASE_URL,
|
|
||||||
});
|
|
||||||
|
|
||||||
const S3 = new S3Client({
|
const S3 = new S3Client({
|
||||||
region: 'auto',
|
region: 'auto',
|
||||||
endpoint: process.env.CF_R2_DOCS_URL!,
|
endpoint: process.env.CF_R2_DOCS_URL!,
|
||||||
@@ -60,15 +53,6 @@ for await (const file of globber.globGenerator()) {
|
|||||||
|
|
||||||
const key = `${name.replace('@discordjs/', '')}/${version}.json`;
|
const key = `${name.replace('@discordjs/', '')}/${version}.json`;
|
||||||
|
|
||||||
const { url } = await put(key, data, {
|
|
||||||
access: 'public',
|
|
||||||
addRandomSuffix: false,
|
|
||||||
});
|
|
||||||
await pool.sql`insert into documentation (name, version, url) values (${name.replace(
|
|
||||||
'@discordjs/',
|
|
||||||
'',
|
|
||||||
)}, ${version}, ${url}) on conflict (name, version) do update set url = EXCLUDED.url`;
|
|
||||||
|
|
||||||
await S3.send(
|
await S3.send(
|
||||||
new PutObjectCommand({
|
new PutObjectCommand({
|
||||||
Bucket: process.env.CF_R2_DOCS_BUCKET,
|
Bucket: process.env.CF_R2_DOCS_BUCKET,
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import { setTimeout as sleep } from 'node:timers/promises';
|
|||||||
import { setFailed, getInput } from '@actions/core';
|
import { setFailed, getInput } from '@actions/core';
|
||||||
import { create } from '@actions/glob';
|
import { create } from '@actions/glob';
|
||||||
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
|
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
|
||||||
import { put } from '@vercel/blob';
|
|
||||||
import PQueue from 'p-queue';
|
import PQueue from 'p-queue';
|
||||||
|
|
||||||
if (
|
if (
|
||||||
@@ -47,10 +46,6 @@ for await (const file of globber.globGenerator()) {
|
|||||||
const name = basename(file).replace('main.', '');
|
const name = basename(file).replace('main.', '');
|
||||||
async function upload(retries = 0) {
|
async function upload(retries = 0) {
|
||||||
try {
|
try {
|
||||||
await put(`rewrite/${pkgName}/${version}.${name}`, data, {
|
|
||||||
access: 'public',
|
|
||||||
addRandomSuffix: false,
|
|
||||||
});
|
|
||||||
await S3.send(
|
await S3.send(
|
||||||
new PutObjectCommand({
|
new PutObjectCommand({
|
||||||
Bucket: process.env.CF_R2_DOCS_BUCKET,
|
Bucket: process.env.CF_R2_DOCS_BUCKET,
|
||||||
|
|||||||
23
pnpm-lock.yaml
generated
23
pnpm-lock.yaml
generated
@@ -45,7 +45,7 @@ importers:
|
|||||||
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
|
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
|
||||||
eslint-import-resolver-typescript:
|
eslint-import-resolver-typescript:
|
||||||
specifier: ^4.3.4
|
specifier: ^4.3.4
|
||||||
version: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2))
|
version: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-plugin-react-compiler:
|
eslint-plugin-react-compiler:
|
||||||
specifier: 19.1.0-rc.1
|
specifier: 19.1.0-rc.1
|
||||||
version: 19.1.0-rc.1(eslint@9.25.1(jiti@2.4.2))
|
version: 19.1.0-rc.1(eslint@9.25.1(jiti@2.4.2))
|
||||||
@@ -275,6 +275,9 @@ importers:
|
|||||||
'@vercel/postgres':
|
'@vercel/postgres':
|
||||||
specifier: ^0.10.0
|
specifier: ^0.10.0
|
||||||
version: 0.10.0(utf-8-validate@6.0.5)
|
version: 0.10.0(utf-8-validate@6.0.5)
|
||||||
|
cloudflare:
|
||||||
|
specifier: ^4.2.0
|
||||||
|
version: 4.2.0(encoding@0.1.13)
|
||||||
cmdk:
|
cmdk:
|
||||||
specifier: ^1.1.1
|
specifier: ^1.1.1
|
||||||
version: 1.1.1(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
version: 1.1.1(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||||
@@ -568,7 +571,7 @@ importers:
|
|||||||
version: 9.25.1(jiti@2.4.2)
|
version: 9.25.1(jiti@2.4.2)
|
||||||
eslint-config-neon:
|
eslint-config-neon:
|
||||||
specifier: ^0.2.7
|
specifier: ^0.2.7
|
||||||
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
||||||
eslint-formatter-compact:
|
eslint-formatter-compact:
|
||||||
specifier: ^8.40.0
|
specifier: ^8.40.0
|
||||||
version: 8.40.0
|
version: 8.40.0
|
||||||
@@ -1454,7 +1457,7 @@ importers:
|
|||||||
version: 9.25.1(jiti@2.4.2)
|
version: 9.25.1(jiti@2.4.2)
|
||||||
eslint-config-neon:
|
eslint-config-neon:
|
||||||
specifier: ^0.2.7
|
specifier: ^0.2.7
|
||||||
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
||||||
eslint-formatter-compact:
|
eslint-formatter-compact:
|
||||||
specifier: ^8.40.0
|
specifier: ^8.40.0
|
||||||
version: 8.40.0
|
version: 8.40.0
|
||||||
@@ -1757,7 +1760,7 @@ importers:
|
|||||||
version: 9.25.1(jiti@2.4.2)
|
version: 9.25.1(jiti@2.4.2)
|
||||||
eslint-config-neon:
|
eslint-config-neon:
|
||||||
specifier: ^0.2.7
|
specifier: ^0.2.7
|
||||||
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
version: 0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
||||||
eslint-formatter-compact:
|
eslint-formatter-compact:
|
||||||
specifier: ^8.40.0
|
specifier: ^8.40.0
|
||||||
version: 8.40.0
|
version: 8.40.0
|
||||||
@@ -21798,7 +21801,7 @@ snapshots:
|
|||||||
|
|
||||||
cloudflare@4.2.0(encoding@0.1.13):
|
cloudflare@4.2.0(encoding@0.1.13):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.19.87
|
'@types/node': 18.17.9
|
||||||
'@types/node-fetch': 2.6.12
|
'@types/node-fetch': 2.6.12
|
||||||
abort-controller: 3.0.0
|
abort-controller: 3.0.0
|
||||||
agentkeepalive: 4.6.0
|
agentkeepalive: 4.6.0
|
||||||
@@ -22928,7 +22931,7 @@ snapshots:
|
|||||||
eslint: 9.25.1(jiti@2.4.2)
|
eslint: 9.25.1(jiti@2.4.2)
|
||||||
semver: 7.6.3
|
semver: 7.6.3
|
||||||
|
|
||||||
eslint-config-neon@0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4):
|
eslint-config-neon@0.2.7(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@angular-eslint/eslint-plugin': 19.3.0(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
'@angular-eslint/eslint-plugin': 19.3.0(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
||||||
'@angular-eslint/eslint-plugin-template': 19.3.0(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
'@angular-eslint/eslint-plugin-template': 19.3.0(@typescript-eslint/types@8.31.0)(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4))(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
||||||
@@ -22943,7 +22946,7 @@ snapshots:
|
|||||||
'@typescript-eslint/parser': 8.29.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
'@typescript-eslint/parser': 8.29.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.5.4)
|
||||||
astro-eslint-parser: 1.2.2
|
astro-eslint-parser: 1.2.2
|
||||||
eslint-config-prettier: 10.1.1(eslint@9.25.1(jiti@2.4.2))
|
eslint-config-prettier: 10.1.1(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-import-resolver-typescript: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2))
|
eslint-import-resolver-typescript: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-mdx: 3.3.2(eslint@9.25.1(jiti@2.4.2))
|
eslint-mdx: 3.3.2(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-plugin-astro: 1.3.1(eslint@9.25.1(jiti@2.4.2))
|
eslint-plugin-astro: 1.3.1(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-plugin-cypress: 4.2.0(eslint@9.25.1(jiti@2.4.2))
|
eslint-plugin-cypress: 4.2.0(eslint@9.25.1(jiti@2.4.2))
|
||||||
@@ -22994,7 +22997,7 @@ snapshots:
|
|||||||
'@typescript-eslint/parser': 8.29.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.29.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
|
||||||
astro-eslint-parser: 1.2.2
|
astro-eslint-parser: 1.2.2
|
||||||
eslint-config-prettier: 10.1.1(eslint@9.25.1(jiti@2.4.2))
|
eslint-config-prettier: 10.1.1(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-import-resolver-typescript: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2))
|
eslint-import-resolver-typescript: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-mdx: 3.3.2(eslint@9.25.1(jiti@2.4.2))
|
eslint-mdx: 3.3.2(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-plugin-astro: 1.3.1(eslint@9.25.1(jiti@2.4.2))
|
eslint-plugin-astro: 1.3.1(eslint@9.25.1(jiti@2.4.2))
|
||||||
eslint-plugin-cypress: 4.2.0(eslint@9.25.1(jiti@2.4.2))
|
eslint-plugin-cypress: 4.2.0(eslint@9.25.1(jiti@2.4.2))
|
||||||
@@ -23097,7 +23100,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)):
|
eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
eslint: 9.25.1(jiti@2.4.2)
|
eslint: 9.25.1(jiti@2.4.2)
|
||||||
@@ -23140,7 +23143,7 @@ snapshots:
|
|||||||
'@typescript-eslint/parser': 8.29.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.29.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
|
||||||
eslint: 9.25.1(jiti@2.4.2)
|
eslint: 9.25.1(jiti@2.4.2)
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-import-resolver-typescript: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2))
|
eslint-import-resolver-typescript: 4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.4(eslint-plugin-import-x@4.10.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
|||||||
38
turbo.json
38
turbo.json
@@ -34,17 +34,16 @@
|
|||||||
"VERCEL_ENV",
|
"VERCEL_ENV",
|
||||||
"NEXT_PUBLIC_LOCAL_DEV",
|
"NEXT_PUBLIC_LOCAL_DEV",
|
||||||
"EDGE_CONFIG",
|
"EDGE_CONFIG",
|
||||||
"DATABASE_URL",
|
|
||||||
"MAX_FETCH_SIZE",
|
"MAX_FETCH_SIZE",
|
||||||
"POSTGRES_URL",
|
"CF_ACCOUNT_ID",
|
||||||
"POSTGRES_URL_NON_POOLING",
|
"CF_R2_DOCS_URL",
|
||||||
"POSTGRES_PRISMA_URL",
|
"CF_R2_DOCS_ACCESS_KEY_ID",
|
||||||
"POSTGRES_USER",
|
"CF_R2_DOCS_SECRET_ACCESS_KEY",
|
||||||
"POSTGRES_PASSWORD",
|
"CF_R2_DOCS_TOKEN",
|
||||||
"POSTGRES_HOST",
|
"CF_R2_DOCS_BUCKET",
|
||||||
"POSTGRES_DATABASE",
|
"CF_R2_DOCS_BUCKET_URL",
|
||||||
"BLOB_READ_WRITE_TOKEN",
|
"CF_D1_DOCS_ID",
|
||||||
"BLOB_STORAGE_URL"
|
"CF_D1_DOCS_API_KEY"
|
||||||
],
|
],
|
||||||
"dependsOn": ["^build", "^docs"],
|
"dependsOn": ["^build", "^docs"],
|
||||||
"inputs": [
|
"inputs": [
|
||||||
@@ -66,17 +65,16 @@
|
|||||||
"VERCEL_ENV",
|
"VERCEL_ENV",
|
||||||
"NEXT_PUBLIC_LOCAL_DEV",
|
"NEXT_PUBLIC_LOCAL_DEV",
|
||||||
"EDGE_CONFIG",
|
"EDGE_CONFIG",
|
||||||
"DATABASE_URL",
|
|
||||||
"MAX_FETCH_SIZE",
|
"MAX_FETCH_SIZE",
|
||||||
"POSTGRES_URL",
|
"CF_ACCOUNT_ID",
|
||||||
"POSTGRES_URL_NON_POOLING",
|
"CF_R2_DOCS_URL",
|
||||||
"POSTGRES_PRISMA_URL",
|
"CF_R2_DOCS_ACCESS_KEY_ID",
|
||||||
"POSTGRES_USER",
|
"CF_R2_DOCS_SECRET_ACCESS_KEY",
|
||||||
"POSTGRES_PASSWORD",
|
"CF_R2_DOCS_TOKEN",
|
||||||
"POSTGRES_HOST",
|
"CF_R2_DOCS_BUCKET",
|
||||||
"POSTGRES_DATABASE",
|
"CF_R2_DOCS_BUCKET_URL",
|
||||||
"BLOB_READ_WRITE_TOKEN",
|
"CF_D1_DOCS_ID",
|
||||||
"BLOB_STORAGE_URL"
|
"CF_D1_DOCS_API_KEY"
|
||||||
],
|
],
|
||||||
"dependsOn": ["^build"],
|
"dependsOn": ["^build"],
|
||||||
"inputs": [
|
"inputs": [
|
||||||
|
|||||||
Reference in New Issue
Block a user