{"_id":"@ayios/typedoc-plugin-merge-modules","_rev":"2-1fffb96e38dafbb0cf83af63c3b6dbf0","name":"@ayios/typedoc-plugin-merge-modules","dist-tags":{"latest":"5.1.0"},"versions":{"5.1.0":{"name":"@ayios/typedoc-plugin-merge-modules","version":"5.1.0","keywords":["typedoc-plugin","typedocplugin"],"author":{"url":"https://github.com/krisztianb","name":"Krisztián Balla"},"license":"ISC","_id":"@ayios/typedoc-plugin-merge-modules@5.1.0","maintainers":[{"name":"devax1t","email":"zc76wl4f@protonmail.com"}],"homepage":"https://github.com/krisztianb/typedoc-plugin-merge-modules#readme","bugs":{"url":"https://github.com/krisztianb/typedoc-plugin-merge-modules/issues"},"dist":{"shasum":"373d5d75f19a6467cd93dc8c464df712cb185540","tarball":"https://registry.npmjs.org/@ayios/typedoc-plugin-merge-modules/-/typedoc-plugin-merge-modules-5.1.0.tgz","fileCount":20,"integrity":"sha512-cZcwv9ms6MbMzSxjMblk26xzhFhPP67/Zhv7SS5491VPxKtiRc2GBkAeMT/Cvm7DHAlxV08gEzCXWl/+LcI+8g==","signatures":[{"sig":"MEYCIQCak51CF93uk0XSRNla0gmakFVj5thvMTS920G2IpeDhAIhAJcSFcc8QaNTibGbaSwcHjtKQDF8TgCKTUXIhEFEahbt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38177},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"lint":"eslint ./src ./test","test":"cd test && node test.js","build":"rimraf dist && tsc","format":"prettier --check ./src ./test"},"_npmUser":{"name":"devax1t","email":"zc76wl4f@protonmail.com"},"repository":{"url":"git+https://github.com/krisztianb/typedoc-plugin-merge-modules.git","type":"git"},"_npmVersion":"10.8.1","description":"Plugin for TypeDoc that merges the content of modules.","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.48.0","rimraf":"5.0.1","cypress":"12.13.0","typedoc":"0.25.0","prettier":"3.0.3","typescript":"5.2.2","@types/node":"18.16.20","@types/mocha":"10.0.1","eslint-plugin-jsdoc":"46.5.1","eslint-plugin-unicorn":"48.0.1","@typescript-eslint/parser":"6.5.0","eslint-plugin-ordered-imports":"0.6.0","@typescript-eslint/eslint-plugin":"6.5.0"},"peerDependencies":{"typedoc":"0.24.x || 0.25.x"},"_npmOperationalInternal":{"tmp":"tmp/typedoc-plugin-merge-modules_5.1.0_1728014636245_0.8728611139544911","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-10-04T04:03:56.051Z","modified":"2025-07-31T18:42:04.843Z","5.1.0":"2024-10-04T04:03:56.482Z"},"bugs":{"url":"https://github.com/krisztianb/typedoc-plugin-merge-modules/issues"},"author":{"url":"https://github.com/krisztianb","name":"Krisztián Balla"},"license":"ISC","homepage":"https://github.com/krisztianb/typedoc-plugin-merge-modules#readme","keywords":["typedoc-plugin","typedocplugin"],"repository":{"url":"git+https://github.com/krisztianb/typedoc-plugin-merge-modules.git","type":"git"},"description":"Plugin for TypeDoc that merges the content of modules.","maintainers":[{"email":"zc76wl4f@protonmail.com","name":"devax1t"},{"email":"admin@ayios.xyz","name":"ayiosdev"}],"readme":"[![NPM Version](https://badge.fury.io/js/typedoc-plugin-merge-modules.svg)](https://badge.fury.io/js/typedoc-plugin-merge-modules) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=67UU75EUH4S8A)\n\n# typedoc-plugin-merge-modules\n\nThis is a plugin for [TypeDoc](https://github.com/TypeStrong/typedoc) that merges the content of modules.\n\nUse cases:\n\n* If you want to document an entire application and not a library, you can specify all files that you want to have documented as entry points for TypeDoc and use this plugin to merge all modules into the project root removing the extra module layer.\n* If you want to merge the content of some modules in the TypeDoc output, you can use this plugin and [module annotations](https://typedoc.org/guides/doccomments/#files) in your files to specify which modules should be combined.\n\n## Example\n\nHere is an example of how the navigation menu of TypeDoc's output changes when merging all modules into the project root using the plugin:\n\n![Example](https://raw.githubusercontent.com/krisztianb/typedoc-plugin-merge-modules/master/doc/example.png)\n\n## Installation\n\nThis module can be installed using [npm](https://www.npmjs.com/package/typedoc-plugin-merge-modules):\n\n```sh\n$ npm install typedoc-plugin-merge-modules --save-dev\n```\n\nThe plugin requires TypeDoc version 0.24.x or 0.25.x to be installed. After installation you need to activate the plugin with a [typedoc command line argument](https://typedoc.org/options/configuration/#plugin) or inside your [typedoc config file](https://typedoc.org/options/configuration/#json-files).\n\nHere is an example using a JavaScript config file:\n\n```js\n/** @type { import('typedoc').TypeDocOptionMap & import('typedoc-plugin-merge-modules').Config } */\nmodule.exports = {\n    out: \"output\",\n    entryPointStrategy: \"expand\",\n    entryPoints: [\"input/module1.ts\", \"input/module2.ts\"],\n    tsconfig: \"tsconfig.json\",\n    readme: \"MAIN.md\",\n    plugin: [\"typedoc-plugin-merge-modules\"],\n    mergeModulesRenameDefaults: true, // NEW option of TypeDoc added by this plugin\n    mergeModulesMergeMode: \"project\", // NEW option of TypeDoc added by this plugin\n};\n```\n\nAfter installation TypeDoc can be used normally and you can configure this plugin as described below.\n\n## Options\n\nThe following options are added to TypeDoc when the plugin is installed:\n\n| Name & Format | Description | Default |\n| ------------- | ----------- | ------- |\n| **mergeModulesRenameDefaults** `<boolean>` | Defines if the plugin should rename default exports to their original name. | `true` |\n| **mergeModulesMergeMode** `<\"project\"\\|\"module\"\\|\"module-category\"\\|\"off\">` | Defines how the plugin should merge modules:<br/><br/><ul><li>`\"project\"` = The plugin merges the content of all modules into the project root.</li><li>`\"module\"` = The plugin merges modules with the same name. By default the filename is the module name, which you can overwrite using [module comments](https://typedoc.org/tags/module/).</li><li>`\"module-category\"` = Same as `\"module\"` but will only merge modules that have the same [category](https://typedoc.org/tags/category/).</li><li>`\"off\"` =  Disables the plugin.</li></ul> | `\"project\"` |\n\nWhen you set `mergeModulesMergeMode` to `\"module\"` OR `\"module-category\"` in combination with [module comments](https://typedoc.org/tags/module/) you should add the tag `@mergeTarget` to the comment of the module whose comment should be used in the merge result.\n\n## Bugs\n\nPlease report bugs [here](https://github.com/krisztianb/typedoc-plugin-merge-modules/issues).\nThanks for your contribution!\n\n## Credits\n\nSpecial thanks go to the following people that contributed to this project:\n\n-   [Gerrit Birkeland](https://github.com/Gerrit0) for the suggested solution and code example.\n-   [Felipe Santos](https://github.com/felipecrs) for suggesting improvements.\n-   [Sho Otani](https://github.com/beijaflor) for implementing the merging of modules by name.\n\n## Donate\n\nIf you find this piece of software helpful, please consider a donation. Any amount is greatly appreciated.\n\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=67UU75EUH4S8A)\n","readmeFilename":"README.md"}