From 859fc5730c628e7298bb187b4c8916ff98454cc9 Mon Sep 17 00:00:00 2001 From: Karibash Date: Thu, 20 Nov 2025 08:24:56 +0900 Subject: [PATCH 1/2] feat(plugin-typedoc): Upgrade to TypeDoc v0.28 with new API # Conflicts: # pnpm-lock.yaml --- e2e/fixtures/plugin-typedoc/index.test.ts | 16 +- packages/plugin-typedoc/package.json | 4 +- packages/plugin-typedoc/src/index.ts | 33 ++-- packages/plugin-typedoc/src/patch.ts | 4 - packages/plugin-typedoc/src/utils.ts | 3 - pnpm-lock.yaml | 229 +++++++++++----------- 6 files changed, 139 insertions(+), 150 deletions(-) delete mode 100644 packages/plugin-typedoc/src/utils.ts diff --git a/e2e/fixtures/plugin-typedoc/index.test.ts b/e2e/fixtures/plugin-typedoc/index.test.ts index ed4efd6c6..918d307bb 100644 --- a/e2e/fixtures/plugin-typedoc/index.test.ts +++ b/e2e/fixtures/plugin-typedoc/index.test.ts @@ -31,10 +31,10 @@ test.describe('plugin-typedoc single entry', async () => { [ '@rspress-fixture/rspress-plugin-typedoc-single', 'Functions', - 'Function: createMiddleware', - 'Function: mergeMiddlewares', + 'Function: createMiddleware()', + 'Function: mergeMiddlewares()', 'Types', - 'Type alias: Middleware', + 'Type Alias: Middleware()', ].join(','), ); }); @@ -68,21 +68,21 @@ test.describe('plugin-typedoc multi entries', async () => { [ '@rspress-fixture/rspress-plugin-typedoc-multi', 'Functions', - 'Function: createMiddleware', - 'Function: mergeMiddlewares', - 'Function: getRspressUrl', + 'Function: createMiddleware()', + 'Function: mergeMiddlewares()', + 'Function: getRspressUrl()', 'Modules', 'Module: middleware', 'Module: raw-link', 'Types', - 'Type alias: Middleware', + 'Type Alias: Middleware()', ].join(','), ); }); test('Should render raw link correctly', async ({ page }) => { await page.goto( - `http://localhost:${appPort}/api/functions/raw_link.getRspressUrl.html`, + `http://localhost:${appPort}/api/functions/raw-link.getRspressUrl.html`, { waitUntil: 'networkidle', }, diff --git a/packages/plugin-typedoc/package.json b/packages/plugin-typedoc/package.json index b35dd883b..a59e4ff75 100644 --- a/packages/plugin-typedoc/package.json +++ b/packages/plugin-typedoc/package.json @@ -33,8 +33,8 @@ "reset": "rimraf ./**/node_modules" }, "dependencies": { - "typedoc": "0.24.8", - "typedoc-plugin-markdown": "3.17.1" + "typedoc": "0.28.15", + "typedoc-plugin-markdown": "4.9.0" }, "devDependencies": { "@microsoft/api-extractor": "^7.55.1", diff --git a/packages/plugin-typedoc/src/index.ts b/packages/plugin-typedoc/src/index.ts index 19f947fcd..03d70f8de 100644 --- a/packages/plugin-typedoc/src/index.ts +++ b/packages/plugin-typedoc/src/index.ts @@ -1,7 +1,7 @@ import path from 'node:path'; import type { RspressPlugin } from '@rspress/core'; -import { Application, TSConfigReader } from 'typedoc'; -import { load } from 'typedoc-plugin-markdown'; +import { Application } from 'typedoc'; +import { load as loadPluginMarkdown } from 'typedoc-plugin-markdown'; import { API_DIR } from './constants'; import { patchGeneratedApiDocs } from './patch'; @@ -19,35 +19,36 @@ export interface PluginTypeDocOptions { } export function pluginTypeDoc(options: PluginTypeDocOptions): RspressPlugin { - let docRoot: string | undefined; const { entryPoints = [], outDir = API_DIR } = options; return { name: '@rspress/plugin-typedoc', async config(config) { - const app = new Application(); - docRoot = config.root; - app.options.addReader(new TSConfigReader()); - load(app); - app.bootstrap({ + const app = await Application.bootstrapWithPlugins({ name: config.title, entryPoints, - theme: 'markdown', disableSources: true, + router: 'kind', readme: 'none', githubPages: false, requiredToBeDocumented: ['Class', 'Function', 'Interface'], - plugin: ['typedoc-plugin-markdown'], - // @ts-expect-error - FIXME: current version of MarkdownTheme has no export, bump related package versions + // @ts-expect-error - Typedoc does not export a type for this options + plugin: [loadPluginMarkdown], + entryFileName: 'index', + hidePageHeader: true, hideBreadcrumbs: true, - hideMembersSymbol: true, - allReflectionsHaveOwnDocument: true, + pageTitleTemplates: { + module: '{kind}: {name}', // e.g. "Module: MyModule" + }, }); - const project = app.convert(); + const project = await app.convert(); if (project) { // 1. Generate doc/api, doc/api/_meta.json by typedoc - const absoluteApiDir = path.join(docRoot!, outDir); - await app.generateDocs(project, absoluteApiDir); + const absoluteApiDir = path.join(config.root!, outDir); + await app.outputs.writeOutput( + { name: 'markdown', path: absoluteApiDir }, + project, + ); await patchGeneratedApiDocs(absoluteApiDir); } return config; diff --git a/packages/plugin-typedoc/src/patch.ts b/packages/plugin-typedoc/src/patch.ts index d3da2d97b..a9deba7f6 100644 --- a/packages/plugin-typedoc/src/patch.ts +++ b/packages/plugin-typedoc/src/patch.ts @@ -70,9 +70,5 @@ async function generateMetaJson(absoluteApiDir: string) { export async function patchGeneratedApiDocs(absoluteApiDir: string) { await patchLinks(absoluteApiDir); - await fs.rename( - path.join(absoluteApiDir, 'README.md'), - path.join(absoluteApiDir, 'index.md'), - ); await generateMetaJson(absoluteApiDir); } diff --git a/packages/plugin-typedoc/src/utils.ts b/packages/plugin-typedoc/src/utils.ts deleted file mode 100644 index 3c7d7b940..000000000 --- a/packages/plugin-typedoc/src/utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function transformModuleName(name: string) { - return name.replace(/\//g, '_').replace(/-/g, '_'); -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f81ea99e8..37fb5e629 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1570,11 +1570,11 @@ importers: specifier: workspace:^2.0.0-rc.1 version: link:../core typedoc: - specifier: 0.24.8 - version: 0.24.8(typescript@5.8.2) + specifier: 0.28.15 + version: 0.28.15(typescript@5.8.2) typedoc-plugin-markdown: - specifier: 3.17.1 - version: 3.17.1(typedoc@0.24.8(typescript@5.8.2)) + specifier: 4.9.0 + version: 4.9.0(typedoc@0.28.15(typescript@5.8.2)) devDependencies: '@microsoft/api-extractor': specifier: ^7.55.1 @@ -1882,28 +1882,24 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] '@ast-grep/napi-linux-arm64-musl@0.37.0': resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] '@ast-grep/napi-linux-x64-gnu@0.37.0': resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] '@ast-grep/napi-linux-x64-musl@0.37.0': resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] '@ast-grep/napi-win32-arm64-msvc@0.37.0': resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} @@ -2104,28 +2100,24 @@ packages: engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [musl] '@biomejs/cli-linux-arm64@2.3.8': resolution: {integrity: sha512-Uo1OJnIkJgSgF+USx970fsM/drtPcQ39I+JO+Fjsaa9ZdCN1oysQmy6oAGbyESlouz+rzEckLTF6DS7cWse95g==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [glibc] '@biomejs/cli-linux-x64-musl@2.3.8': resolution: {integrity: sha512-YGLkqU91r1276uwSjiUD/xaVikdxgV1QpsicT0bIA1TaieM6E5ibMZeSyjQ/izBn4tKQthUSsVZacmoJfa3pDA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [musl] '@biomejs/cli-linux-x64@2.3.8': resolution: {integrity: sha512-QDPMD5bQz6qOVb3kiBui0zKZXASLo0NIQ9JVJio5RveBEFgDgsvJFUvZIbMbUZT3T00M/1wdzwWXk4GIh0KaAw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [glibc] '@biomejs/cli-win32-arm64@2.3.8': resolution: {integrity: sha512-H4IoCHvL1fXKDrTALeTKMiE7GGWFAraDwBYFquE/L/5r1927Te0mYIGseXi4F+lrrwhSWbSGt5qPFswNoBaCxg==} @@ -2616,6 +2608,9 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@gerrit0/mini-shiki@3.17.1': + resolution: {integrity: sha512-u7gBnLsvhyVpwR4G8LcSHDlPn8Hg8zNeuzzR4+p2AxvQrQ+BDGo/mLMCpo58VFiIbl8+ie42fqunDclZ4RxNWw==} + '@inquirer/external-editor@1.0.3': resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} engines: {node: '>=18'} @@ -2802,25 +2797,21 @@ packages: resolution: {integrity: sha512-4ZSjvCjnBT0WpGdF12hvgLWmok4WftaE09fOWWrMm4b2m8F/5yKgU6usPFTehQa5oqTp08KW60kZMLaOQHOJQg==} cpu: [arm64] os: [linux] - libc: [glibc] '@nx/nx-linux-arm64-musl@21.6.10': resolution: {integrity: sha512-lNzlTsgr7nY56ddIpLTzYZTuNA3FoeWb9Ald07pCWc0EHSZ0W4iatJ+NNnj/QLINW8HWUehE9mAV5qZlhVFBmg==} cpu: [arm64] os: [linux] - libc: [musl] '@nx/nx-linux-x64-gnu@21.6.10': resolution: {integrity: sha512-nJxUtzcHwk8TgDdcqUmbJnEMV3baQxmdWn77d1NTP4cG677A7jdV93hbnCcw+AQonaFLUzDwJOIX8eIPZ32GLw==} cpu: [x64] os: [linux] - libc: [glibc] '@nx/nx-linux-x64-musl@21.6.10': resolution: {integrity: sha512-+VwITTQW9wswP7EvFzNOucyaU86l2UcO6oYxFiwNvRioTlDOE5U7lxYmCgj3OHeGCmy9jhXlujdD+t3OhOT3gQ==} cpu: [x64] os: [linux] - libc: [musl] '@nx/nx-win32-arm64-msvc@21.6.10': resolution: {integrity: sha512-kkK/0GNVs7pdcgksLfoMBT8k92XGfcePPuhhS1Tsyq+zc3gpsPo+vNIGfeIf2FumKBsUdWUHuChfpxBmjcVFVw==} @@ -2898,42 +2889,36 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [musl] '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} @@ -3012,67 +2997,56 @@ packages: resolution: {integrity: sha512-EPlb95nUsz6Dd9Qy13fI5kUPXNSljaG9FiJ4YUGU1O/Q77i5DYFW5KR8g1OzTcdZUqQQ1KdDqsTohdFVwCwjqg==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.53.2': resolution: {integrity: sha512-BOmnVW+khAUX+YZvNfa0tGTEMVVEerOxN0pDk2E6N6DsEIa2Ctj48FOMfNDdrwinocKaC7YXUZ1pHlKpnkja/Q==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.53.2': resolution: {integrity: sha512-Xt2byDZ+6OVNuREgBXr4+CZDJtrVso5woFtpKdGPhpTPHcNG7D8YXeQzpNbFRxzTVqJf7kvPMCub/pcGUWgBjA==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.53.2': resolution: {integrity: sha512-+LdZSldy/I9N8+klim/Y1HsKbJ3BbInHav5qE9Iy77dtHC/pibw1SR/fXlWyAk0ThnpRKoODwnAuSjqxFRDHUQ==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.53.2': resolution: {integrity: sha512-8ms8sjmyc1jWJS6WdNSA23rEfdjWB30LH8Wqj0Cqvv7qSHnvw6kgMMXRdop6hkmGPlyYBdRPkjJnj3KCUHV/uQ==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.53.2': resolution: {integrity: sha512-3HRQLUQbpBDMmzoxPJYd3W6vrVHOo2cVW8RUo87Xz0JPJcBLBr5kZ1pGcQAhdZgX9VV7NbGNipah1omKKe23/g==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.53.2': resolution: {integrity: sha512-fMjKi+ojnmIvhk34gZP94vjogXNNUKMEYs+EDaB/5TG/wUkoeua7p7VCHnE6T2Tx+iaghAqQX8teQzcvrYpaQA==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.53.2': resolution: {integrity: sha512-XuGFGU+VwUUV5kLvoAdi0Wz5Xbh2SrjIxCtZj6Wq8MDp4bflb/+ThZsVxokM7n0pcbkEr2h5/pzqzDYI7cCgLQ==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.53.2': resolution: {integrity: sha512-w6yjZF0P+NGzWR3AXWX9zc0DNEGdtvykB03uhonSHMRa+oWA6novflo2WaJr6JZakG2ucsyb+rvhrKac6NIy+w==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.53.2': resolution: {integrity: sha512-yo8d6tdfdeBArzC7T/PnHd7OypfI9cbuZzPnzLJIyKYFhAQ8SvlkKtKBMbXDxe1h03Rcr7u++nFS7tqXz87Gtw==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.53.2': resolution: {integrity: sha512-ah59c1YkCxKExPP8O9PwOvs+XRLKwh/mV+3YdKqQ5AMQ0r4M4ZDuOrpWkUaqO7fzAHdINzV9tEVu8vNw48z0lA==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-openharmony-arm64@4.53.2': resolution: {integrity: sha512-4VEd19Wmhr+Zy7hbUsFZ6YXEiP48hE//KPLCSVNY5RMGX2/7HZ+QkN55a3atM1C/BZCGIgqN+xrVgtdak2S9+A==} @@ -3198,25 +3172,21 @@ packages: resolution: {integrity: sha512-K68YDoV2e4s+nlrKZxgF0HehiiRwOAGgZFUwJNRMZ7MUrTGMNlPTJlM+bNdaCjDb6GFxBVFcNwIa1sU+0tF1zg==} cpu: [arm64] os: [linux] - libc: [glibc] '@rspack/binding-linux-arm64-musl@1.6.5': resolution: {integrity: sha512-JPtxFBOq7RRmBIwpdGIStf8iyCILehDsjQtEB0Kkhtm7TsAkVGwtC41GLcNuPxcQBKqNDmD8cy3yLYhXadH2CQ==} cpu: [arm64] os: [linux] - libc: [musl] '@rspack/binding-linux-x64-gnu@1.6.5': resolution: {integrity: sha512-oh4ZNo2HtizZ/E6UK3BEONu20h8VVBw9GAXuWmo1u22cJSihzg+WfRNCMjRDil82LqSsyAgBwnU+dEjEYGKyAA==} cpu: [x64] os: [linux] - libc: [glibc] '@rspack/binding-linux-x64-musl@1.6.5': resolution: {integrity: sha512-8Xebp5bvPJqjifpkFEAX5nUvoU2JvbMU3gwAkEovRRuvooCXnVT2tqkUBjkR3AhivAGgAxAr9hRzUUz/6QWt3Q==} cpu: [x64] os: [linux] - libc: [musl] '@rspack/binding-wasm32-wasi@1.6.5': resolution: {integrity: sha512-oINZNqzTxM+9dSUOjAORodHXYoJYzXvpaHI2U6ecEmoWaBCs+x3V3Po8DhpNFBwotB+jGlcoVhEHjpg5uaO6pw==} @@ -3358,15 +3328,24 @@ packages: '@shikijs/engine-oniguruma@3.12.2': resolution: {integrity: sha512-hozwnFHsLvujK4/CPVHNo3Bcg2EsnG8krI/ZQ2FlBlCRpPZW4XAEQmEwqegJsypsTAN9ehu2tEYe30lYKSZW/w==} + '@shikijs/engine-oniguruma@3.18.0': + resolution: {integrity: sha512-15+O2iy+nYU/IdiBIExXuK0JJABa/8tdnRDODBmLhdygQ43aCuipN5N9vTfS8jvkMByHMR09b5jtX2la0CCoOA==} + '@shikijs/langs@3.12.2': resolution: {integrity: sha512-bVx5PfuZHDSHoBal+KzJZGheFuyH4qwwcwG/n+MsWno5cTlKmaNtTsGzJpHYQ8YPbB5BdEdKU1rga5/6JGY8ww==} + '@shikijs/langs@3.18.0': + resolution: {integrity: sha512-Deq7ZoYBtimN0M8pD5RU5TKz7DhUSTPtQOBuJpMxPDDJ+MJ7nT90DEmhDM2V0Nzp6DjfTAd+Z7ibpzr8arWqiA==} + '@shikijs/rehype@3.12.2': resolution: {integrity: sha512-9wg+FKv0ByaQScTonpZdrDhADOoJP/yCWLAuiYYG6GehwNV5rGwnLvWKj33UmtLedKMSHzWUdB+Un6rfDFo/FA==} '@shikijs/themes@3.12.2': resolution: {integrity: sha512-fTR3QAgnwYpfGczpIbzPjlRnxyONJOerguQv1iwpyQZ9QXX4qy/XFQqXlf17XTsorxnHoJGbH/LXBvwtqDsF5A==} + '@shikijs/themes@3.18.0': + resolution: {integrity: sha512-wzg6vNniXC5J4ChNBJJIZFTWxmrERJMWknehmM++0OAKJqZ41WpnO7PmPOumvMsUaL1SC08Nb/JVdaJd2aTsZg==} + '@shikijs/transformers@3.12.2': resolution: {integrity: sha512-+z1aMq4N5RoNGY8i7qnTYmG2MBYzFmwkm/yOd6cjEI7OVzcldVvzQCfxU1YbIVgsyB0xHVc2jFe1JhgoXyUoSQ==} @@ -3378,6 +3357,9 @@ packages: '@shikijs/types@3.12.2': resolution: {integrity: sha512-K5UIBzxCyv0YoxN3LMrKB9zuhp1bV+LgewxuVwHdl4Gz5oePoUFrr9EfgJlGlDeXCU1b/yhdnXeuRvAnz8HN8Q==} + '@shikijs/types@3.18.0': + resolution: {integrity: sha512-YLmpuroH06TpvqRXKR0YqlI0nQ56c8+BO/m9A9ht36WRdxmML4ivUsnpXuJU7PiClLRD2M66ilY2YJ0KE+8q7A==} + '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -3862,9 +3844,6 @@ packages: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-sequence-parser@1.1.1: - resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -4065,6 +4044,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -4846,11 +4829,6 @@ packages: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -5257,6 +5235,9 @@ packages: resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + lint-staged@15.5.2: resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==} engines: {node: '>=18.12.0'} @@ -5350,6 +5331,10 @@ packages: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} @@ -5358,11 +5343,6 @@ packages: engines: {node: '>= 20'} hasBin: true - marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -5475,6 +5455,9 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + medium-zoom@1.1.0: resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} @@ -6111,6 +6094,10 @@ packages: engines: {node: '>=18'} hasBin: true + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -6227,6 +6214,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -6495,56 +6486,48 @@ packages: engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - libc: glibc sass-embedded-linux-arm@1.90.0: resolution: {integrity: sha512-FeBxI5Q2HvM3CCadcEcQgvWbDPVs2YEF0PZ87fbAVTCG8dV+iNnQreSz7GRJroknpvbRhm5t2gedvcgmTnPb2Q==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - libc: glibc sass-embedded-linux-musl-arm64@1.90.0: resolution: {integrity: sha512-xLH7+PFq763MoEm3vI7hQk5E+nStiLWbijHEYW/tEtCbcQIphgzSkDItEezxXew3dU4EJ1jqrBUySPdoXFLqWA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - libc: musl sass-embedded-linux-musl-arm@1.90.0: resolution: {integrity: sha512-EB2z0fUXdUdvSoddf4DzdZQkD/xyreD72gwAi8YScgUvR4HMXI7bLcK/n78Rft6OnqvV8090hjC8FsLDo3x5xQ==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - libc: musl sass-embedded-linux-musl-riscv64@1.90.0: resolution: {integrity: sha512-L21UkOgnSrD+ERF+jo1IWneGv40t0ap9+3cI+wZWYhQS5MkxponhT9QaNU57JEDJwB9mOl01LVw14opz4SN+VQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - libc: musl sass-embedded-linux-musl-x64@1.90.0: resolution: {integrity: sha512-NeAycQlsdhFdnIeSmRmScYUyCd+uE+x15NLFunbF8M0PgCKurrUhaxgGKSuBbaK56FpxarKOHCqcOrWbemIGzQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - libc: musl sass-embedded-linux-riscv64@1.90.0: resolution: {integrity: sha512-lJopaQhW8S+kaQ61vMqq3c+bOurcf9RdZf2EmzQYpc2y1vT5cWfRNrRkbAgO/23IQxsk/fq3UIUnsjnyQmi6MA==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - libc: glibc sass-embedded-linux-x64@1.90.0: resolution: {integrity: sha512-Cc061gBfMPwH9rN7neQaH36cvOQC+dFMSGIeX5qUOhrEL4Ng51iqBV6aI4RIB1jCFGth6eDydVRN1VdV9qom8A==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - libc: glibc sass-embedded-unknown-all@1.90.0: resolution: {integrity: sha512-DBGzHVCJDqtjTHZFohush9YTxd4ZxhIygIRTNRXnA0359woF9Z8AS7/YxfzwkqrTX5durSJa6ZamGFYVLoRphQ==} @@ -6640,9 +6623,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@0.14.7: - resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} - shiki@3.12.2: resolution: {integrity: sha512-uIrKI+f9IPz1zDT+GMz+0RjzKJiijVr6WDWm9Pe3NNY6QigKCfifCEv9v9R2mDASKKjzjQ2QpFLcxaR3iHSnMA==} @@ -7023,27 +7003,26 @@ packages: resolution: {integrity: sha512-G6zXWS1dLj6eagy6sVhOMQiLtJdxQBHIA9Z6HFUNLOlr6MFOgzV8wvmidtPONfPtEUv0uZsy77XJNzTAfwPDaA==} engines: {node: '>=16'} - typedoc-plugin-markdown@3.17.1: - resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} + typedoc-plugin-markdown@4.9.0: + resolution: {integrity: sha512-9Uu4WR9L7ZBgAl60N/h+jqmPxxvnC9nQAlnnO/OujtG2ubjnKTVUFY1XDhcMY+pCqlX3N2HsQM2QTYZIU9tJuw==} + engines: {node: '>= 18'} peerDependencies: - typedoc: '>=0.24.0' + typedoc: 0.28.x - typedoc@0.24.8: - resolution: {integrity: sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==} - engines: {node: '>= 14.14'} + typedoc@0.28.15: + resolution: {integrity: sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==} + engines: {node: '>= 18', pnpm: '>= 10'} hasBin: true peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x typescript@5.8.2: resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true - uglify-js@3.19.2: - resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==} - engines: {node: '>=0.8.0'} - hasBin: true + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} unc-path-regex@0.1.2: resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} @@ -7248,12 +7227,6 @@ packages: vscode-languageserver-textdocument@1.0.12: resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - - vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} @@ -7305,9 +7278,6 @@ packages: engines: {node: '>=8'} hasBin: true - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -8305,6 +8275,14 @@ snapshots: '@floating-ui/utils@0.2.10': {} + '@gerrit0/mini-shiki@3.17.1': + dependencies: + '@shikijs/engine-oniguruma': 3.18.0 + '@shikijs/langs': 3.18.0 + '@shikijs/themes': 3.18.0 + '@shikijs/types': 3.18.0 + '@shikijs/vscode-textmate': 10.0.2 + '@inquirer/external-editor@1.0.3(@types/node@22.10.2)': dependencies: chardet: 2.1.1 @@ -9093,10 +9071,19 @@ snapshots: '@shikijs/types': 3.12.2 '@shikijs/vscode-textmate': 10.0.2 + '@shikijs/engine-oniguruma@3.18.0': + dependencies: + '@shikijs/types': 3.18.0 + '@shikijs/vscode-textmate': 10.0.2 + '@shikijs/langs@3.12.2': dependencies: '@shikijs/types': 3.12.2 + '@shikijs/langs@3.18.0': + dependencies: + '@shikijs/types': 3.18.0 + '@shikijs/rehype@3.12.2': dependencies: '@shikijs/types': 3.12.2 @@ -9110,6 +9097,10 @@ snapshots: dependencies: '@shikijs/types': 3.12.2 + '@shikijs/themes@3.18.0': + dependencies: + '@shikijs/types': 3.18.0 + '@shikijs/transformers@3.12.2': dependencies: '@shikijs/core': 3.12.2 @@ -9129,6 +9120,11 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 + '@shikijs/types@3.18.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + '@shikijs/vscode-textmate@10.0.2': {} '@sinclair/typebox@0.34.41': {} @@ -9710,8 +9706,6 @@ snapshots: ansi-regex@6.2.2: {} - ansi-sequence-parser@1.1.1: {} - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -9900,6 +9894,11 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + optional: true + chrome-trace-event@1.0.4: {} ci-info@3.8.0: {} @@ -10750,15 +10749,6 @@ snapshots: section-matter: 1.0.0 strip-bom-string: 1.0.0 - handlebars@4.7.8: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.2 - has-flag@4.0.0: {} has-symbols@1.1.0: {} @@ -11224,6 +11214,10 @@ snapshots: lines-and-columns@2.0.4: {} + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + lint-staged@15.5.2: dependencies: chalk: 5.6.2 @@ -11324,12 +11318,19 @@ snapshots: markdown-extensions@2.0.0: {} + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + markdown-table@3.0.3: {} marked@16.3.0: {} - marked@4.3.0: {} - math-intrinsics@1.1.0: {} mdast-util-definitions@5.1.2: @@ -11646,6 +11647,8 @@ snapshots: mdn-data@2.0.30: {} + mdurl@2.0.0: {} + medium-zoom@1.1.0: {} memfs@4.51.1: @@ -12161,7 +12164,7 @@ snapshots: minimatch@9.0.3: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.5: dependencies: @@ -12547,6 +12550,8 @@ snapshots: picocolors: 1.1.1 sade: 1.8.1 + punycode.js@2.3.1: {} + punycode@2.3.1: {} qrcode.react@4.2.0(react@19.2.0): @@ -12687,6 +12692,9 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.1.2: + optional: true + recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -13085,6 +13093,7 @@ snapshots: sass@1.90.0: dependencies: + chokidar: 4.0.3 immutable: 5.0.3 source-map-js: 1.2.1 optionalDependencies: @@ -13152,13 +13161,6 @@ snapshots: shebang-regex@3.0.0: {} - shiki@0.14.7: - dependencies: - ansi-sequence-parser: 1.1.1 - jsonc-parser: 3.2.0 - vscode-oniguruma: 1.7.0 - vscode-textmate: 8.0.0 - shiki@3.12.2: dependencies: '@shikijs/core': 3.12.2 @@ -13574,23 +13576,22 @@ snapshots: type-fest@4.30.0: {} - typedoc-plugin-markdown@3.17.1(typedoc@0.24.8(typescript@5.8.2)): + typedoc-plugin-markdown@4.9.0(typedoc@0.28.15(typescript@5.8.2)): dependencies: - handlebars: 4.7.8 - typedoc: 0.24.8(typescript@5.8.2) + typedoc: 0.28.15(typescript@5.8.2) - typedoc@0.24.8(typescript@5.8.2): + typedoc@0.28.15(typescript@5.8.2): dependencies: + '@gerrit0/mini-shiki': 3.17.1 lunr: 2.3.9 - marked: 4.3.0 - minimatch: 9.0.3 - shiki: 0.14.7 + markdown-it: 14.1.0 + minimatch: 9.0.5 typescript: 5.8.2 + yaml: 2.8.1 typescript@5.8.2: {} - uglify-js@3.19.2: - optional: true + uc.micro@2.1.0: {} unc-path-regex@0.1.2: {} @@ -13850,10 +13851,6 @@ snapshots: vscode-languageserver-textdocument@1.0.12: {} - vscode-oniguruma@1.7.0: {} - - vscode-textmate@8.0.0: {} - vscode-uri@3.1.0: {} vue-template-compiler@2.7.16: @@ -13928,8 +13925,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - wordwrap@1.0.0: {} - wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 From 1a77243227d010b1d3885920249e8a95e977867f Mon Sep 17 00:00:00 2001 From: Karibash Date: Sat, 29 Nov 2025 12:07:13 +0900 Subject: [PATCH 2/2] test(e2e): Fix the Typedoc build error that occurs on Windows --- e2e/fixtures/plugin-typedoc/multi/rspress.config.ts | 6 +++--- e2e/fixtures/plugin-typedoc/single/rspress.config.ts | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/e2e/fixtures/plugin-typedoc/multi/rspress.config.ts b/e2e/fixtures/plugin-typedoc/multi/rspress.config.ts index c697f36a7..39f0fbfda 100644 --- a/e2e/fixtures/plugin-typedoc/multi/rspress.config.ts +++ b/e2e/fixtures/plugin-typedoc/multi/rspress.config.ts @@ -7,9 +7,9 @@ export default defineConfig({ plugins: [ pluginTypeDoc({ entryPoints: [ - path.join('./src/index.ts'), - path.join('./src/middleware.ts'), - path.join('./src/raw-link.ts'), + './src/index.ts', + './src/middleware.ts', + './src/raw-link.ts', ], }), ], diff --git a/e2e/fixtures/plugin-typedoc/single/rspress.config.ts b/e2e/fixtures/plugin-typedoc/single/rspress.config.ts index f94f6f7a1..519815eaf 100644 --- a/e2e/fixtures/plugin-typedoc/single/rspress.config.ts +++ b/e2e/fixtures/plugin-typedoc/single/rspress.config.ts @@ -6,10 +6,7 @@ export default defineConfig({ root: path.join(__dirname, 'doc'), plugins: [ pluginTypeDoc({ - entryPoints: [ - path.join('./src/index.ts'), - // path.join('../../packages/rspack/src/hello.ts') - ], + entryPoints: ['./src/index.ts'], }), ], });