diff --git a/web/package-lock.json b/web/package-lock.json index 1bdfa643a9..b0ff9b2bf2 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -83,8 +83,9 @@ "ts-jest": "^29.0.3", "tsconfig-paths-webpack-plugin": "^4.0.0", "typedoc": "^0.25.4", + "typedoc-plugin-external-module-map": "^2.0.1", + "typedoc-plugin-merge-modules": "^5.1.0", "typedoc-plugin-missing-exports": "^2.1.0", - "typedoc-plugin-rename-defaults": "^0.7.0", "typescript": "^5.3.3", "webpack": "^5.89.0", "webpack-cli": "^5.1.4", @@ -17863,37 +17864,31 @@ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" } }, - "node_modules/typedoc-plugin-missing-exports": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.1.0.tgz", - "integrity": "sha512-+1DhqZCEu7Vu5APnrqpPwl31D+hXpt1fV0Le9ycCRL1eLVdatdl6KVt4SEVwPxnEpKwgOn2dNX6I9+0F1aO2aA==", + "node_modules/typedoc-plugin-external-module-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/typedoc-plugin-external-module-map/-/typedoc-plugin-external-module-map-2.0.1.tgz", + "integrity": "sha512-B8GC2SxQdTc7PR7etJ7Ahwv7OJNSB3/S8sfQ46nN8fOgcWw9CqTyl/542ZPemxO2UNRwKgV2vdxttbXV82NIpA==", "dev": true, "peerDependencies": { - "typedoc": "0.24.x || 0.25.x" + "typedoc": ">=0.24 <2.0" } }, - "node_modules/typedoc-plugin-rename-defaults": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/typedoc-plugin-rename-defaults/-/typedoc-plugin-rename-defaults-0.7.0.tgz", - "integrity": "sha512-NudSQ1o/XLHNF9c4y7LzIZxfE9ltz09yCDklBPJpP5VMRvuBpYGIbQ0ZgmPz+EIV8vPx9Z/OyKwzp4HT2vDtfg==", + "node_modules/typedoc-plugin-merge-modules": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-merge-modules/-/typedoc-plugin-merge-modules-5.1.0.tgz", + "integrity": "sha512-jXH27L/wlxFjErgBXleh3opVgjVTXFEuBo68Yfl18S9Oh/IqxK6NV94jlEJ9hl4TXc9Zm2l7Rfk41CEkcCyvFQ==", "dev": true, - "dependencies": { - "camelcase": "^8.0.0" - }, "peerDependencies": { - "typedoc": "0.22.x || 0.23.x || 0.24.x || 0.25.x" + "typedoc": "0.24.x || 0.25.x" } }, - "node_modules/typedoc-plugin-rename-defaults/node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "node_modules/typedoc-plugin-missing-exports": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.1.0.tgz", + "integrity": "sha512-+1DhqZCEu7Vu5APnrqpPwl31D+hXpt1fV0Le9ycCRL1eLVdatdl6KVt4SEVwPxnEpKwgOn2dNX6I9+0F1aO2aA==", "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "typedoc": "0.24.x || 0.25.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { diff --git a/web/package.json b/web/package.json index bd24065f75..d88a2d5a18 100644 --- a/web/package.json +++ b/web/package.json @@ -18,7 +18,9 @@ "stylelint": "stylelint 'src/**/*.{css,scss}'", "stylelint:fix": "stylelint --fix 'src/**/*.{css,scss}'", "check-types": "tsc --skipLibCheck", - "typedoc": "npx typedoc && echo Tip: && echo xdg-open jsdoc.out/index.html", + "typedoc": "npm run typedoc:client && npm run typedoc:components", + "typedoc:client": "npx typedoc --entryPoints src/client --out jsdoc.out/client", + "typedoc:components": "npx typedoc --entryPoints src/components --out jsdoc.out/components", "test": "jest" }, "engines": { @@ -87,8 +89,9 @@ "ts-jest": "^29.0.3", "tsconfig-paths-webpack-plugin": "^4.0.0", "typedoc": "^0.25.4", + "typedoc-plugin-external-module-map": "^2.0.1", + "typedoc-plugin-merge-modules": "^5.1.0", "typedoc-plugin-missing-exports": "^2.1.0", - "typedoc-plugin-rename-defaults": "^0.7.0", "typescript": "^5.3.3", "webpack": "^5.89.0", "webpack-cli": "^5.1.4", diff --git a/web/src/App.jsx b/web/src/App.jsx index 8a333563a3..f9d0379baa 100644 --- a/web/src/App.jsx +++ b/web/src/App.jsx @@ -17,6 +17,8 @@ * * To contact SUSE LLC about this file by physical or electronic mail, you may * find current contact information at www.suse.com. + * + * ".*\/src\/components\/([\\w\\-_]+)\/", */ import React, { useEffect, useState } from "react"; diff --git a/web/typedoc.json b/web/typedoc.json index f744aeb395..52d91bb045 100644 --- a/web/typedoc.json +++ b/web/typedoc.json @@ -1,23 +1,29 @@ { "$schema": "https://typedoc.org/schema.json", "name": "Agama Installer", - "entryPoints": [ - "./src", - ], "entryPointStrategy": "expand", "exclude": [ "./src/lib" ], - "excludeNotDocumented": true, - "out": "jsdoc.out", "plugin": [ - "typedoc-plugin-missing-exports", - "typedoc-plugin-rename-defaults" + "typedoc-plugin-external-module-map", + "typedoc-plugin-merge-modules", + ], + "excludeReferences": true, + "mergeModulesMergeMode": "module-category", + "external-modulemap": [ + ".*\/src\/(client)\/", + ".*\/src\/components\/([\\w\\-_]+)\/", ], "sort": [ - "source-order" + "alphabetical", + "visibility" ], - "categorizeByGroup": false, + "navigation": { + "includeCategories": true, + "includeGroups": true + }, + "categorizeByGroup": true, "navigationLinks": { "GitHub": "https://github.com/openSUSE/agama" },