chore: remaining deps and lighthouse removal

This commit is contained in:
iCrawl
2023-11-08 18:20:16 +01:00
parent 34d0224b68
commit e72b552ae2
27 changed files with 559 additions and 708 deletions

View File

@@ -11,9 +11,9 @@ on:
- '@discordjs/builders'
- '@discordjs/collection'
- '@discordjs/core'
- create-discord-bot
- 'create-discord-bot'
- '@discordjs/formatters'
- discord.js
- 'discord.js'
- '@discordjs/next'
- '@discordjs/proxy'
- '@discordjs/rest'

View File

@@ -1,20 +0,0 @@
name: 'Lighthouse Audit (main)'
on:
workflow_dispatch:
jobs:
lighthouse_audit_main:
name: 'Lighthouse Audit (main)'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Audit production URLs with Lighthouse
id: lighthouse_audit
uses: treosh/lighthouse-ci-action@v10
with:
urls: |
https://discordjs.dev
https://guide.discordjs.dev
uploadArtifacts: true
temporaryPublicStorage: true

View File

@@ -1,88 +0,0 @@
name: 'Lighthouse Audit'
on:
issue_comment:
types: [created, edited]
jobs:
lighthouse_audit:
name: 'Lighthouse Audit'
if: ${{ github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- name: Get Vercel preview URL
id: get_preview_url
uses: actions/github-script@v6
with:
script: |
const comment = context.payload.comment;
const regex = /https:\/\/[a-z0-9-]+\.vercel\.app/g;
const matches = comment.body.match(regex);
let previewUrl = "";
if (matches && matches.length) {
previewUrl = matches[0];
console.log('Preview url found:', previewUrl);
}
console.log("No preview url found.");
core.setOutput('vercel_preview_url', previewUrl);
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Add comment to PR
if: ${{ steps.get_preview_url.outputs.vercel_preview_url != '' }}
id: loading_comment_to_pr
uses: marocchino/sticky-pull-request-comment@v2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
number: ${{ github.event.issue.number }}
header: lighthouse
message: |
Running Lighthouse audit...
- name: Checkout repository
if: ${{ steps.get_preview_url.outputs.vercel_preview_url != '' }}
uses: actions/checkout@v3
- name: Audit preview URL with Lighthouse
if: ${{ steps.get_preview_url.outputs.vercel_preview_url != '' }}
id: lighthouse_audit
uses: treosh/lighthouse-ci-action@v10
with:
urls: |
${{ steps.get_preview_url.outputs.vercel_preview_url }}
uploadArtifacts: true
temporaryPublicStorage: true
- name: Format lighthouse score
if: ${{ steps.get_preview_url.outputs.vercel_preview_url != '' }}
id: format_lighthouse_score
uses: actions/github-script@v6
with:
script: |
const result = ${{ steps.lighthouse_audit.outputs.manifest }}[0].summary
const links = ${{ steps.lighthouse_audit.outputs.links }}
const formatResult = (res) => Math.round((res * 100))
Object.keys(result).forEach(key => result[key] = formatResult(result[key]))
const score = res => res >= 90 ? '🟢' : res >= 50 ? '🟠' : '🔴'
const comment = [
`⚡️ [Lighthouse report](${Object.values(links)[0]}) for the changes in this PR:`,
'| Category | Score |',
'| --- | --- |',
`| ${score(result.performance)} Performance | ${result.performance} |`,
`| ${score(result.accessibility)} Accessibility | ${result.accessibility} |`,
`| ${score(result['best-practices'])} Best practices | ${result['best-practices']} |`,
`| ${score(result.seo)} SEO | ${result.seo} |`,
`| ${score(result.pwa)} PWA | ${result.pwa} |`,
' ',
`*Lighthouse ran on [${Object.keys(links)[0]}](${Object.keys(links)[0]})*`
].join('\n')
core.setOutput("comment", comment);
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Add comment to PR
if: ${{ steps.get_preview_url.outputs.vercel_preview_url != '' }}
id: comment_to_pr
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ github.event.issue.number }}
header: lighthouse
message: |
${{ steps.format_lighthouse_score.outputs.comment }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,6 +1,5 @@
{
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"eslint.useESLintClass": true,
"eslint.experimental.useFlatConfig": true,
"eslint.workingDirectories": [
{ "directory": "${workspaceFolder}" },
@@ -16,7 +15,6 @@
},
"editor.trimAutoWhitespace": false,
"files.associations": {
"*.mdx": "markdown",
"api-extractor.json": "jsonc",
"api-extractor-docs.json": "jsonc",
"tsconfig.json": "jsonc",
@@ -27,8 +25,10 @@
"files.eol": "\n",
"npm.packageManager": "pnpm",
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"deno.enable": false,
"deno.enablePaths": ["./packages/create-discord-bot/template/Deno"],
"deno.lint": true,
"deno.lint": false,
"deno.unstable": false,
"deno.config": "./packages/create-discord-bot/template/Deno/deno.jsonc"
}

View File

@@ -67,12 +67,12 @@
},
"devDependencies": {
"@next/bundle-analyzer": "14.0.2-canary.20",
"@testing-library/react": "^14.0.0",
"@testing-library/react": "^14.1.0",
"@testing-library/user-event": "^14.5.1",
"@types/html-escaper": "^3.0.1",
"@types/html-escaper": "^3.0.2",
"@types/node": "18.18.8",
"@types/react": "^18.2.36",
"@types/react-dom": "^18.2.14",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"@unocss/eslint-plugin": "^0.57.2",
"@unocss/postcss": "^0.57.2",
"@unocss/reset": "^0.57.2",
@@ -92,7 +92,7 @@
"turbo": "^1.10.16",
"typescript": "^5.2.2",
"unocss": "^0.57.2",
"vercel": "^32.5.0",
"vercel": "^32.5.2",
"vitest": "^0.34.6"
},
"engines": {

View File

@@ -5,23 +5,19 @@
"jsx": "preserve",
"baseUrl": ".",
"noEmit": true,
"skipLibCheck": true,
"plugins": [
{
"name": "next"
}
],
"paths": {
"~/*": ["./src/*"],
"contentlayer/generated": ["./.contentlayer/generated"]
},
"moduleResolution": "node",
"resolvePackageJsonExports": false,
"resolvePackageJsonImports": false,
"esModuleInterop": true,
"allowJs": true,
"incremental": true
"incremental": true,
"plugins": [
{
"name": "next"
}
]
},
"include": ["src/**/*.ts", "src/**/*.tsx", "next-env.d.ts", ".next/types/**/*.ts", ".contentlayer/generated"],
"include": ["**/*.ts", "**/*.tsx", "next-env.d.ts", ".next/types/**/*.ts", ".contentlayer/generated"],
"exclude": ["node_modules"]
}

View File

@@ -76,11 +76,11 @@
},
"devDependencies": {
"@next/bundle-analyzer": "14.0.2-canary.20",
"@testing-library/react": "^14.0.0",
"@testing-library/react": "^14.1.0",
"@testing-library/user-event": "^14.5.1",
"@types/node": "18.18.8",
"@types/react": "^18.2.36",
"@types/react-dom": "^18.2.14",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"@unocss/eslint-plugin": "^0.57.2",
"@unocss/postcss": "^0.57.2",
"@unocss/reset": "^0.57.2",
@@ -97,7 +97,7 @@
"prettier": "^3.0.3",
"turbo": "^1.10.16",
"typescript": "^5.2.2",
"vercel": "^32.5.0",
"vercel": "^32.5.2",
"vitest": "^0.34.6"
},
"engines": {

View File

@@ -1,6 +1,7 @@
import type { ApiFunction, ApiItem } from '@discordjs/api-extractor-model';
import { ApiModel } from '@discordjs/api-extractor-model';
import dynamic from 'next/dynamic';
import {} from 'next/types';
import { notFound } from 'next/navigation';
import { cache, type PropsWithChildren } from 'react';
import { fetchModelJSON, fetchVersions } from '~/app/docAPI';
@@ -15,12 +16,12 @@ import { Providers } from './providers';
const Header = dynamic(async () => import('~/components/Header'));
const Footer = dynamic(async () => import('~/components/Footer'));
export interface VersionRouteParams {
interface VersionRouteParams {
package: string;
version: string;
}
export async function generateStaticParams() {
export const generateStaticParams = async () => {
const params: VersionRouteParams[] = [];
await Promise.all(
@@ -32,7 +33,7 @@ export async function generateStaticParams() {
);
return params;
}
};
const serializeIntoSidebarItemData = cache((item: ApiItem) => {
return {

View File

@@ -1,33 +1,38 @@
import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
import type { SerializeOptions } from 'next-mdx-remote/dist/types';
import { MDXRemote } from 'next-mdx-remote/rsc';
import { compileMDX } from 'next-mdx-remote/rsc';
import { cache } from 'react';
import rehypeSlug from 'rehype-slug';
import remarkGfm from 'remark-gfm';
import { SyntaxHighlighter } from '~/components/SyntaxHighlighter';
import type { VersionRouteParams } from './layout';
interface VersionRouteParams {
package: string;
version: string;
}
const loadREADME = cache(async (packageName: string) => {
return readFile(join(process.cwd(), 'src', 'assets', 'readme', packageName, 'home-README.md'), 'utf8');
});
const mdxOptions = {
mdxOptions: {
remarkPlugins: [remarkGfm],
rehypePlugins: [rehypeSlug],
format: 'mdx',
},
} satisfies SerializeOptions;
export async function generateStaticParams({ params }: { params: VersionRouteParams }) {
return [{ package: params.package, version: params.version }];
}
export default async function Page({ params }: { params: VersionRouteParams }) {
const { package: packageName } = params;
const readmeSource = await loadREADME(packageName);
const readmeSource = await loadREADME(params.package);
const { content } = await compileMDX({
source: readmeSource,
// @ts-expect-error SyntaxHighlighter is assignable
components: { pre: SyntaxHighlighter },
options: {
mdxOptions: {
remarkPlugins: [remarkGfm],
rehypePlugins: [rehypeSlug],
format: 'mdx',
},
},
});
return (
<div className="relative top-4 max-w-none prose">
{/* @ts-expect-error SyntaxHighlighter is assignable */}
<MDXRemote components={{ pre: SyntaxHighlighter }} options={mdxOptions} source={readmeSource} />
</div>
);
return <div className="relative top-4 max-w-none prose">{content}</div>;
}

View File

@@ -1,6 +1,6 @@
import { Code } from 'bright';
export function SyntaxHighlighter(props: typeof Code) {
export async function SyntaxHighlighter(props: typeof Code) {
return (
<>
<div data-theme="dark">

View File

@@ -5,22 +5,18 @@
"jsx": "preserve",
"baseUrl": ".",
"noEmit": true,
"skipLibCheck": true,
"paths": {
"~/*": ["./src/*"]
},
"esModuleInterop": true,
"allowJs": true,
"incremental": true,
"plugins": [
{
"name": "next"
}
],
"paths": {
"~/*": ["./src/*"]
},
"moduleResolution": "node",
"resolvePackageJsonExports": false,
"resolvePackageJsonImports": false,
"esModuleInterop": true,
"allowJs": true,
"incremental": true
]
},
"include": ["src/**/*.ts", "src/**/*.tsx", "next-env.d.ts", ".next/types/**/*.ts"],
"include": ["**/*.ts", "**/*.tsx", "next-env.d.ts", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}

View File

@@ -7,7 +7,6 @@ import prettier from 'eslint-config-neon/flat/prettier.js';
import react from 'eslint-config-neon/flat/react.js';
import typescript from 'eslint-config-neon/flat/typescript.js';
import merge from 'lodash.merge';
// import {join} from "node:path"
const commonFiles = '{js,mjs,cjs,ts,mts,cts,jsx,tsx}';

View File

@@ -53,7 +53,7 @@
"@commitlint/config-angular": "^18.1.0",
"@favware/cliff-jumper": "^2.2.1",
"@favware/npm-deprecate": "^1.0.7",
"@types/lodash.merge": "^4.6.8",
"@types/lodash.merge": "^4.6.9",
"@unocss/eslint-plugin": "^0.57.2",
"@vitest/coverage-v8": "^0.34.6",
"conventional-changelog-cli": "^4.1.0",
@@ -67,13 +67,16 @@
"turbo": "^1.10.16",
"typescript": "^5.2.2",
"unocss": "^0.57.2",
"vercel": "^32.5.0",
"vercel": "^32.5.2",
"vitest": "^0.34.6"
},
"pnpm": {
"peerDependencyRules": {
"ignoreMissing": [
"*"
],
"allowedAny": [
"*"
]
},
"overrides": {

View File

@@ -35,8 +35,8 @@
"@rushstack/node-core-library": "3.61.0"
},
"devDependencies": {
"@types/node": "^18.18.8",
"@types/jest": "^29.5.7",
"@types/jest": "^29.5.8",
"@types/node": "^18.18.9",
"cross-env": "^7.0.3",
"eslint": "^8.53.0",
"eslint-config-neon": "^0.1.57",

View File

@@ -55,19 +55,19 @@
"@rushstack/node-core-library": "3.61.0",
"@rushstack/rig-package": "0.5.1",
"@rushstack/ts-command-line": "4.17.1",
"colors": "~1.2.1",
"colors": "~1.4.0",
"lodash": "~4.17.15",
"resolve": "~1.22.1",
"semver": "~7.5.4",
"source-map": "~0.6.1",
"source-map": "~0.7.4",
"typescript": "^5.2.2"
},
"devDependencies": {
"@types/lodash": "^4.14.200",
"@types/node": "^18.18.8",
"@types/resolve": "^1.20.4",
"@types/semver": "^7.5.0",
"@types/jest": "^29.5.7",
"@types/jest": "^29.5.8",
"@types/lodash": "^4.14.201",
"@types/node": "^18.18.9",
"@types/resolve": "^1.20.5",
"@types/semver": "^7.5.5",
"cpy-cli": "^5.0.0",
"cross-env": "^7.0.3",
"eslint": "^8.53.0",

View File

@@ -178,6 +178,7 @@ export class SourceMapper {
// Load up the source map
const rawSourceMap: RawSourceMap = JsonFile.load(sourceMapPath) as RawSourceMap;
// @ts-expect-error: Whatever
const sourceMapConsumer: SourceMapConsumer = new SourceMapConsumer(rawSourceMap);
const mappingItems: MappingItem[] = [];

View File

@@ -55,11 +55,11 @@
"validate-npm-package-name": "^5.0.0"
},
"devDependencies": {
"@favware/cliff-jumper": "^2.2.1",
"@discordjs/api-extractor": "workspace:^",
"@favware/cliff-jumper": "^2.2.1",
"@types/node": "18.18.8",
"@types/prompts": "^2.4.7",
"@types/validate-npm-package-name": "^4.0.1",
"@types/prompts": "^2.4.8",
"@types/validate-npm-package-name": "^4.0.2",
"@vitest/coverage-v8": "^0.34.6",
"cross-env": "^7.0.3",
"eslint": "^8.53.0",

View File

@@ -59,7 +59,7 @@
"@discordjs/util": "workspace:^",
"@discordjs/ws": "workspace:^",
"@sapphire/snowflake": "3.5.1",
"@types/ws": "8.5.8",
"@types/ws": "8.5.9",
"discord-api-types": "0.37.61",
"fast-deep-equal": "3.1.3",
"lodash.snakecase": "4.1.1",
@@ -68,8 +68,8 @@
"ws": "8.14.2"
},
"devDependencies": {
"@discordjs/docgen": "workspace:^",
"@discordjs/api-extractor": "workspace:^",
"@discordjs/docgen": "workspace:^",
"@favware/cliff-jumper": "2.2.1",
"@types/node": "16.18.60",
"cross-env": "^7.0.3",

View File

@@ -65,7 +65,7 @@
},
"devDependencies": {
"@favware/cliff-jumper": "^2.2.1",
"@types/jsdoc-to-markdown": "^7.0.5",
"@types/jsdoc-to-markdown": "^7.0.6",
"@types/node": "18.18.8",
"cross-env": "^7.0.3",
"eslint": "^8.53.0",

View File

@@ -70,10 +70,10 @@
"undici": "5.27.2"
},
"devDependencies": {
"@favware/cliff-jumper": "^2.2.1",
"@discordjs/api-extractor": "workspace:^",
"@favware/cliff-jumper": "^2.2.1",
"@types/node": "18.18.8",
"@types/supertest": "^2.0.15",
"@types/supertest": "^2.0.16",
"@vitest/coverage-v8": "^0.34.6",
"cross-env": "^7.0.3",
"eslint": "^8.53.0",

View File

@@ -68,8 +68,8 @@
"@storybook/react-vite": "^7.5.3",
"@storybook/testing-library": "^0.2.2",
"@types/node": "18.18.8",
"@types/react": "^18.2.36",
"@types/react-dom": "^18.2.14",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"@unocss/eslint-plugin": "^0.57.2",
"@unocss/reset": "^0.57.2",
"@vitejs/plugin-react": "^4.1.1",

View File

@@ -62,7 +62,7 @@
},
"homepage": "https://discord.js.org",
"dependencies": {
"@types/ws": "^8.5.8",
"@types/ws": "^8.5.9",
"discord-api-types": "0.37.61",
"prism-media": "^1.3.5",
"tslib": "^2.6.2",
@@ -72,9 +72,9 @@
"@babel/core": "^7.23.2",
"@babel/preset-env": "^7.23.2",
"@babel/preset-typescript": "^7.23.2",
"@favware/cliff-jumper": "^2.2.1",
"@discordjs/api-extractor": "workspace:^",
"@types/jest": "^29.5.7",
"@favware/cliff-jumper": "^2.2.1",
"@types/jest": "^29.5.8",
"@types/node": "16.18.60",
"cross-env": "^7.0.3",
"esbuild-plugin-version-injector": "^1.2.1",

View File

@@ -76,15 +76,15 @@
"@discordjs/rest": "workspace:^",
"@discordjs/util": "workspace:^",
"@sapphire/async-queue": "^1.5.0",
"@types/ws": "^8.5.8",
"@types/ws": "^8.5.9",
"@vladfrangu/async_event_emitter": "^2.2.2",
"discord-api-types": "0.37.61",
"tslib": "^2.6.2",
"ws": "^8.14.2"
},
"devDependencies": {
"@favware/cliff-jumper": "^2.2.1",
"@discordjs/api-extractor": "workspace:^",
"@favware/cliff-jumper": "^2.2.1",
"@types/node": "18.17.9",
"@vitest/coverage-v8": "^0.34.6",
"cross-env": "^7.0.3",

981
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -43,7 +43,7 @@
// Language and Environment
"experimentalDecorators": true,
"lib": ["ESNext"],
"target": "ES2022",
"target": "ESNext",
"useDefineForClassFields": true
}
}

View File

@@ -1,5 +1,8 @@
{
"$schema": "https://turbo.build/schema.json",
"remoteCache": {
"enabled": true
},
"globalDependencies": [
".commitlintrc.json",
".gitignore",