diff --git a/index.js b/index.js index cfa1c0a..d951f57 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,5 @@ import { Converter } from "typedoc"; +import camelCase from "camelcase"; /** * @param {Readonly} app @@ -34,13 +35,16 @@ export function load(app) { } } - // Finally, fallback to the file name + // Finally, fallback to the camel cased module (file) name if (reflection.parent && reflection.parent.name) { - // Removes the folder name - const name = reflection.parent.name.split("/").pop(); + let name = reflection.parent.getFriendlyFullName(); if (name) { - // Example: User.entity becomes just User - reflection.name = name.split(".")[0]; + // Remove the folder name if there is any + name = name.split("/").pop(); + + name = camelCase(name, { preserveConsecutiveUppercase: true }); + + reflection.name = name; } } } diff --git a/package-lock.json b/package-lock.json index 00dad69..70da5dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,9 @@ "name": "typedoc-plugin-rename-defaults", "version": "0.6.7", "license": "MIT", + "dependencies": { + "camelcase": "^8.0.0" + }, "devDependencies": { "serve": "^14.2.1", "typedoc": "^0.25.2", @@ -186,6 +189,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -206,12 +221,11 @@ } }, "node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "dev": true, + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" diff --git a/package.json b/package.json index 0bc809f..faeb9e2 100644 --- a/package.json +++ b/package.json @@ -32,5 +32,8 @@ "volta": { "node": "18.18.2", "npm": "10.2.1" + }, + "dependencies": { + "camelcase": "^8.0.0" } } diff --git a/test/test9.ts b/test/test9.ts new file mode 100644 index 0000000..86a72d2 --- /dev/null +++ b/test/test9.ts @@ -0,0 +1,4 @@ +/** + * @module test9.TEST.test + */ +export default "some text"