diff --git a/package.json b/package.json index 9b041e7e..e365b783 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "root", "private": true, + "packageManager": "yarn@1.22.22", "workspaces": [ "website" ], diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index e8fd90e3..77f340fc 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -3,14 +3,6 @@ import type { Options as ChangelogOptions } from "@nullbot/docusaurus-plugin-cha import type * as Preset from "@nullbot/docusaurus-preset-nonepress"; import { themes } from "prism-react-renderer"; -// By default, we use Docusaurus Faster -// DOCUSAURUS_SLOWER=true is useful for benchmarking faster against slower -// hyperfine --prepare 'yarn clear:website' --runs 3 'DOCUSAURUS_SLOWER=true yarn build:website:fast' 'yarn build:website:fast' -const isSlower = process.env.DOCUSAURUS_SLOWER === "true"; -if (isSlower) { - console.log("🐢 Using slower Docusaurus build"); -} - // color mode config const colorMode: Preset.ThemeConfig["colorMode"] = { defaultMode: "light", diff --git a/website/package.json b/website/package.json index c2000329..8a3ca182 100644 --- a/website/package.json +++ b/website/package.json @@ -13,37 +13,38 @@ "docusaurus": "docusaurus", "start": "docusaurus start --host 0.0.0.0 --port 3000", "build": "docusaurus build", + "build:fast": "cross-env BUILD_FAST=true yarn build", + "build:fast:rsdoctor": "cross-env BUILD_FAST=true RSDOCTOR=true yarn build", + "build:fast:profile": "cross-env BUILD_FAST=true node --cpu-prof --cpu-prof-dir .cpu-prof ./node_modules/.bin/docusaurus build", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", "clear": "docusaurus clear", "serve": "docusaurus serve", "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc" + "typecheck": "tsc", + "prettier": "prettier --config ../.prettierrc --write ." }, "dependencies": { - "@docusaurus/core": "^3.6.2", + "@docusaurus/core": "^3.7.0", "@mdx-js/react": "^3.0.0", "@nullbot/docusaurus-plugin-changelog": "^3.0.0", "@nullbot/docusaurus-preset-nonepress": "^3.0.0", - "@swc/core": "^1.7.26", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", "prism-react-renderer": "^2.3.0", - "raw-loader": "^4.0.2", - "react": "^18.0.0", + "react": "^19.0.0", "react-color": "^2.19.3", - "react-dom": "^18.0.0", - "react-use-pagination": "^2.0.1", - "swc-loader": "^0.2.6" + "react-dom": "^19.0.0", + "react-use-pagination": "^2.0.1" }, "devDependencies": { - "@docusaurus/faster": "^3.6.2", - "@docusaurus/module-type-aliases": "^3.6.2", + "@docusaurus/faster": "^3.7.0", + "@docusaurus/module-type-aliases": "^3.7.0", "@nullbot/docusaurus-tsconfig": "^3.0.0", "@types/react-color": "^3.0.10", "asciinema-player": "^3.5.0", - "typescript": "~5.5.2" + "typescript": "~5.7.2" }, "browserslist": { "production": [ diff --git a/website/src/components/Asciinema/container.tsx b/website/src/components/Asciinema/container.tsx index 8ccb7bc9..602b3d46 100644 --- a/website/src/components/Asciinema/container.tsx +++ b/website/src/components/Asciinema/container.tsx @@ -25,7 +25,7 @@ export type Props = { export default function AsciinemaContainer({ url, options = {}, -}: Props): JSX.Element { +}: Props): React.ReactNode { const ref = useRef(null); useEffect(() => { diff --git a/website/src/components/Asciinema/index.tsx b/website/src/components/Asciinema/index.tsx index f7c98af4..48f486c3 100644 --- a/website/src/components/Asciinema/index.tsx +++ b/website/src/components/Asciinema/index.tsx @@ -1,14 +1,14 @@ import React from "react"; -import "asciinema-player/dist/bundle/asciinema-player.css"; import BrowserOnly from "@docusaurus/BrowserOnly"; +import "asciinema-player/dist/bundle/asciinema-player.css"; -import "./styles.css"; import type { Props } from "./container"; +import "./styles.css"; export type { Props } from "./container"; -export default function Asciinema(props: Props): JSX.Element { +export default function Asciinema(props: Props): React.ReactNode { return ( ([]); const [label, setLabel] = useState(""); const [color, setColor] = useState("#ea5252"); diff --git a/website/src/components/Form/Plugin.tsx b/website/src/components/Form/Plugin.tsx index a149ea14..068c975a 100644 --- a/website/src/components/Form/Plugin.tsx +++ b/website/src/components/Form/Plugin.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Form } from "."; -export default function PluginForm(): JSX.Element { +export default function PluginForm(): React.ReactNode { const formItems = [ { name: "包信息", diff --git a/website/src/components/Form/index.tsx b/website/src/components/Form/index.tsx index bd844275..af53f687 100644 --- a/website/src/components/Form/index.tsx +++ b/website/src/components/Form/index.tsx @@ -32,7 +32,7 @@ export function Form({ children, formItems, handleSubmit, -}: Props): JSX.Element { +}: Props): React.ReactNode { const [currentStep, setCurrentStep] = useState(0); const [result, setResult] = useState>({}); const [allowTags, setAllowTags] = useState([]); @@ -125,7 +125,7 @@ export function FormItem({ allowTags: TagType[]; result: Record; setResult: (key: string, value: string) => void; -}): JSX.Element { +}): React.ReactNode { return ( <>