ci: update scripts for documentation changes (#9055)

* ci: update scripts for documentation changes

* refactor: use tsconfig files

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
Suneet Tipirneni
2023-01-17 14:15:01 -05:00
committed by GitHub
parent 2e48faf91a
commit 56ef3ad8a0
29 changed files with 123 additions and 19 deletions

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"fmt": "yarn format", "fmt": "yarn format",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\" && yarn downlevel-dts ./dist-docs ./dist-docs", "build:docs": "tsc -p tsconfig.docs.json && yarn downlevel-dts ./dist-docs ./dist-docs",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"fmt": "yarn format", "fmt": "yarn format",

View File

@@ -0,0 +1,8 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs",
"exactOptionalPropertyTypes": false
}
}

View File

@@ -5,15 +5,14 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"fmt": "yarn format", "fmt": "yarn format",
"docs": "yarn build:docs && api-extractor run --local", "docs": "yarn build:docs && api-extractor run --local",
"prepack": "yarn lint && yarn test && yarn build", "prepack": "yarn lint && yarn test && yarn build",
"changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/collection/*'", "changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/collection/*'",
"release": "cliff-jumper", "release": "cliff-jumper"
"docs:declarations": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist\""
}, },
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.mjs", "module": "./dist/index.mjs",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src --ext .mjs,.js,.ts --fix --format=pretty",
"docs": "yarn build:docs && api-extractor run --local", "docs": "yarn build:docs && api-extractor run --local",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"docs": "yarn build:docs && api-extractor run --local", "docs": "yarn build:docs && api-extractor run --local",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"docs": "yarn build:docs && api-extractor run --local", "docs": "yarn build:docs && api-extractor run --local",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"fmt": "yarn format", "fmt": "yarn format",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"fmt": "yarn format", "fmt": "yarn format",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -4,6 +4,7 @@ import { chdir } from 'node:process';
import { copy } from 'fs-extra'; import { copy } from 'fs-extra';
import { parse as parseYAML, stringify as stringifyYAML } from 'yaml'; import { parse as parseYAML, stringify as stringifyYAML } from 'yaml';
import cliffJumperJSON from './template/.cliff-jumperrc.json'; import cliffJumperJSON from './template/.cliff-jumperrc.json';
import apiExtractorJSON from './template/api-extractor.json';
import templateJSON from './template/template.package.json'; import templateJSON from './template/template.package.json';
interface LabelerData { interface LabelerData {
@@ -52,6 +53,15 @@ export async function createPackage(packageName: string, packageDescription?: st
await writeFile('.cliff-jumperrc.json', JSON.stringify(newCliffJumperJSON, null, 2)); await writeFile('.cliff-jumperrc.json', JSON.stringify(newCliffJumperJSON, null, 2));
// Update api-extractor.json
const newApiExtractorJSON = { ...apiExtractorJSON };
newApiExtractorJSON.docModel.projectFolderUrl = newApiExtractorJSON.docModel.projectFolderUrl.replace(
'{name}',
packageName,
);
await writeFile('api-extractor.json', JSON.stringify(newApiExtractorJSON, null, 2));
// Move to github directory // Move to github directory
chdir(join('..', '..', '.github')); chdir(join('..', '..', '.github'));

View File

@@ -0,0 +1,6 @@
{
"extends": "../../api-extractor.json",
"docModel": {
"projectFolderUrl": "https://github.com/discordjs/discord.js/tree/main/packages/{name}"
}
}

View File

@@ -1,3 +0,0 @@
{
"extends": "../../api-extractor.json"
}

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,9 +5,10 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"docs": "api-extractor run --local", "docs": "yarn build:docs && api-extractor run --local",
"prepack": "yarn build && yarn lint", "prepack": "yarn build && yarn lint",
"changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/{name}/*'", "changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/{name}/*'",
"release": "cliff-jumper" "release": "cliff-jumper"

View File

@@ -4,7 +4,7 @@
"description": "Utilities shared across Discord.js packages", "description": "Utilities shared across Discord.js packages",
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"test": "vitest run && tsd", "test": "vitest run && tsd",
"lint": "prettier --check . && TIMING=1 eslint src --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && TIMING=1 eslint src --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && TIMING=1 eslint src --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && TIMING=1 eslint src --ext .mjs,.js,.ts --fix --format=pretty",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -4,7 +4,7 @@
"description": "Implementation of the Discord Voice API for node.js", "description": "Implementation of the Discord Voice API for node.js",
"scripts": { "scripts": {
"build": "tsup && node scripts/postbuild.mjs", "build": "tsup && node scripts/postbuild.mjs",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"test": "jest --coverage", "test": "jest --coverage",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"test": "vitest run", "test": "vitest run",
"build": "tsup", "build": "tsup",
"build:docs": "tsc --emitDeclarationOnly --declarationMap --skipLibCheck --outDir \"dist-docs\"", "build:docs": "tsc -p tsconfig.docs.json",
"lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty", "lint": "prettier --check . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --format=pretty",
"format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty", "format": "prettier --write . && cross-env TIMING=1 eslint src __tests__ --ext .mjs,.js,.ts --fix --format=pretty",
"docs": "yarn build:docs && api-extractor run --local", "docs": "yarn build:docs && api-extractor run --local",

View File

@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.docs.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"outDir": "dist-docs"
}
}

7
tsconfig.docs.json Normal file
View File

@@ -0,0 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"emitDeclarationOnly": true,
"skipLibCheck": true
}
}

View File

@@ -130,8 +130,7 @@
"outputs": [] "outputs": []
}, },
"docs": { "docs": {
"dependsOn": ["^build"], "outputs": ["../../api-extractor.json", "api-extractor.json", "docs/**", "tsconfig.json", "dist-docs"]
"outputs": ["../../api-extractor.json", "api-extractor.json", "docs/**", "tsconfig.json"]
}, },
"changelog": { "changelog": {
"outputs": ["cliff.toml", "CHANGELOG.md"] "outputs": ["cliff.toml", "CHANGELOG.md"]