TypeStrong/TypeDoc
### [`v0.20.0`](https://togithub.com/TypeStrong/TypeDoc/releases/v0.20.0)
[Compare Source](https://togithub.com/TypeStrong/TypeDoc/compare/v0.19.2...v0.20.0)
##### Migration from previous versions
Version 0.20 completely reworks how documentation is generated by TypeDoc. In previous versions, there was `--mode file` and `--mode modules`, which documented files according to their content on the filesystem. This worked reasonably well before ES modules were commonly used, but was insufficient for the modern ecosystem. In 0.20, TypeDoc documents your project according to what you export.
With this in mind, there are several breaking changes that will likely effect you:
1\. TypeScript compiler options must be specified in a tsconfig.json file, they may not be passed directly to TypeDoc.
1\. Removed options - `mode`, `excludeNotExported`, `includeDeclarations`, `ignoreCompilerErrors` ([#1403](https://togithub.com/TypeStrong/typedoc/issues/1403)), `entryPoint`
1\. `inputFiles` has been renamed to `entryPoints` to better reflect its usage
1\. Existing third party themes may be broken due to changes to the type structure
1\. The behavior of `exclude` has changed, it is now only used to filter entry points if a directory is provided as the entry point.
The command line for most projects now should be fairly simple:
```bash
npx typedoc src/index.ts
```
If you have more than one entry point, TypeDoc will create a module for each entry point. The module name will be derived from the entry file name. If the derived name is not the desired name, you can use a module comment with the `@module` tag to change it:
```ts
/**
* @packageDocumentation
* @module myLibrary
*/
```
##### Bug Fixes
- A few of the issues with the type converter ([6ff7fcd](https://togithub.com/TypeStrong/TypeDoc/commit/6ff7fcd1d2cc14eeae1f16399e15d8cb7d7f2346))
- Accessor with a set signature was converted incorrectly ([1200212](https://togithub.com/TypeStrong/TypeDoc/commit/12002124d9be2dae8d0a9dee885f816975b0df12))
- Array types were converted incorrectly ([c892c00](https://togithub.com/TypeStrong/TypeDoc/commit/c892c0019a94bdb527eeaa1cf8c08e713ece0f3c))
- Categorization was broken with a single entry point ([7f6e924](https://togithub.com/TypeStrong/TypeDoc/commit/7f6e924035adce5b8a5520a4d9c3940dd1f54702))
- Change target back to ES2018 ([671e6d3](https://togithub.com/TypeStrong/TypeDoc/commit/671e6d3ece5efa4b3296aec8a7140f1872034154))
- ConstructorType node support ([7ba17f6](https://togithub.com/TypeStrong/TypeDoc/commit/7ba17f611c5dcd4ff93007c5b19b0c84d7102101))
- Correct handling of arrays in generic constraints ([d575dc0](https://togithub.com/TypeStrong/TypeDoc/commit/d575dc0ddc7189ef44db381e4447b4df9f7d837c)), closes [#1408](https://togithub.com/TypeStrong/TypeDoc/issues/1408)
- Declaration merged namespaces sometimes produced multiple reflections ([5de3bf5](https://togithub.com/TypeStrong/TypeDoc/commit/5de3bf5ebed12690c094a1c7330ea1c57457a57b))
- Fix bug in ReferenceType equality check ([3f63956](https://togithub.com/TypeStrong/TypeDoc/commit/3f6395671f07d70c2e508d2b1b34d626d86bfea1)), closes [#1383](https://togithub.com/TypeStrong/TypeDoc/issues/1383)
- Hidden module-namespaces ([88fa674](https://togithub.com/TypeStrong/TypeDoc/commit/88fa674c29130fc88998d6c2d52e3e57c668db5a)), closes [#1396](https://togithub.com/TypeStrong/TypeDoc/issues/1396)
- isExternal flag wasn't set properly ([0060eb7](https://togithub.com/TypeStrong/TypeDoc/commit/0060eb7505c3622976b24ee1543815552d0a65d5))
- JSON schema had incorrect value types ([26a9c0d](https://togithub.com/TypeStrong/TypeDoc/commit/26a9c0db4168687b4fa659fcede085e65b04302c)), closes [#1389](https://togithub.com/TypeStrong/TypeDoc/issues/1389)
- Lint ([d75c67c](https://togithub.com/TypeStrong/TypeDoc/commit/d75c67c5edfebcfb15c2d01659b42baa254e5c4b))
- Missing comments on variable functions ([e15bcd6](https://togithub.com/TypeStrong/TypeDoc/commit/e15bcd6093249479b5d9713e399d92163c46b789)), closes [#1421](https://togithub.com/TypeStrong/TypeDoc/issues/1421)
- Normalize unions ([9f8375d](https://togithub.com/TypeStrong/TypeDoc/commit/9f8375d724cd13e4ab37211d4a88e9d228260edb)), closes [#571](https://togithub.com/TypeStrong/TypeDoc/issues/571)
- Reintroduce support for index signatures ([20a7d5f](https://togithub.com/TypeStrong/TypeDoc/commit/20a7d5f5dbb51420fb4c67275755ea306f90bf41))
- Resolve type parameters in concrete subclasses ([85cd06d](https://togithub.com/TypeStrong/TypeDoc/commit/85cd06d236902b359d4d17745b95bd29ee4fd5ef))
- Somehow didn't save a file ([33c2bc6](https://togithub.com/TypeStrong/TypeDoc/commit/33c2bc69bd7da205fee0157b1087b4873b9a3ba8))
- **docs:** A typo in description of DefaultTheme.getMapping ([#1416](https://togithub.com/TypeStrong/TypeDoc/issues/1416)) ([a4c3d9e](https://togithub.com/TypeStrong/TypeDoc/commit/a4c3d9ed2fe9962b8a185407b9b3da83d2594899))
- **perf:** Only create extra programs when dealing with solution style tsconfigs ([6525a7b](https://togithub.com/TypeStrong/TypeDoc/commit/6525a7b1c7d47e710dd82aa7cb8caefb525d3124))
- Missing default exports ([017fad1](https://togithub.com/TypeStrong/TypeDoc/commit/017fad18c32c71d0abf77c884c7870ea502b85c7))
- Reference types should always be given resolved symbols ([1d6120f](https://togithub.com/TypeStrong/TypeDoc/commit/1d6120f7d1453de16b61ffca7afa76a4ff719a34))
- Rendering works again ([17bf655](https://togithub.com/TypeStrong/TypeDoc/commit/17bf655677a51470052f4130fe35b4c48ef0cff5))
- Some issues with inheritence ([033b1ae](https://togithub.com/TypeStrong/TypeDoc/commit/033b1aee28d024af6838b8329d0e72b501b53013))
- Support for specify a directory as an entry point ([ac4c688](https://togithub.com/TypeStrong/TypeDoc/commit/ac4c68816eea0efab67c73c4be3c2e6899ce493d))
- Type converters threw on older TS versions ([1161cb2](https://togithub.com/TypeStrong/TypeDoc/commit/1161cb2b89eaa8c4308484060924be0ef7609336))
- TypeDoc should warn users about missing entry points ([8c51af8](https://togithub.com/TypeStrong/TypeDoc/commit/8c51af82114680daecbbae95b0a80afbe18af060))
- We pick up all properties now ([4845209](https://togithub.com/TypeStrong/TypeDoc/commit/4845209ca2890ab77f2da0b33574447af40949a9))
##### Features
- Add logLevel option ([80c4524](https://togithub.com/TypeStrong/TypeDoc/commit/80c45249010e6e5d20d77c13a6d2e380bb245f8d))
- Automatically generate schema for typedoc.json ([cd84548](https://togithub.com/TypeStrong/TypeDoc/commit/cd84548a107e7fc42c7b7e728f4d8819a6a3b424))
- Colors in console output ([49189de](https://togithub.com/TypeStrong/TypeDoc/commit/49189de67227992769c2fff9044a74ab7a4d3440))
- Initial attempt at support for project references ([e1106dd](https://togithub.com/TypeStrong/TypeDoc/commit/e1106dd6bfdaec7cdcc92394a923896e43edc202)), closes [#1414](https://togithub.com/TypeStrong/TypeDoc/issues/1414)
- Mostly working library mode ([bcbd401](https://togithub.com/TypeStrong/TypeDoc/commit/bcbd401be32c287fd6c4ae3d465d5c26c6bc4db2))
- new option "markedOptions" ([#1412](https://togithub.com/TypeStrong/TypeDoc/issues/1412)) ([2bf6e49](https://togithub.com/TypeStrong/TypeDoc/commit/2bf6e491cb8d09522a7e449371d922f586ee7697))
- Options may specify a validation function ([#1398](https://togithub.com/TypeStrong/TypeDoc/issues/1398)) ([884332b](https://togithub.com/TypeStrong/TypeDoc/commit/884332b6314e24305c561f36453d1ac21b27d568))
- Partial support for global files ([9cb5b9c](https://togithub.com/TypeStrong/TypeDoc/commit/9cb5b9c8d5b7de4ddcff23a06930147bd77fdff1))
- Support for `[@module](https://togithub.com/module)` tag ([15cb73c](https://togithub.com/TypeStrong/TypeDoc/commit/15cb73cc880befa1dbf33304ab6f91bbd0d944c8))
- Support for mapped types ([1036069](https://togithub.com/TypeStrong/TypeDoc/commit/103606903a2c94e58de5874fbf918b9c2ba0ffd7))
- Support for the remaining literal types ([695f5c7](https://togithub.com/TypeStrong/TypeDoc/commit/695f5c75ca1511aba04de6eb483b5f54a647503a))
- Support for TS 4.1 mapped types + string literal types ([a32c976](https://togithub.com/TypeStrong/TypeDoc/commit/a32c9766c486b4c66d6399353cd56801724851dd)), closes [#1397](https://togithub.com/TypeStrong/TypeDoc/issues/1397)
- Switch back to search.js ([f0af1f1](https://togithub.com/TypeStrong/TypeDoc/commit/f0af1f19fcb01e2930a7bde87048c047fe6e2d3c)), closes [#1339](https://togithub.com/TypeStrong/TypeDoc/issues/1339)
##### API Breaking changes
- `Application.generateDocs`, `Application.generateJson` now return a promise
- Converter.EVENT_FILE_BEGIN has been removed - it no longer makes sense since re-exports are fully supported
- `"string-literal"` type removed, there is now a single `"literal"` type that includes string literals, number literals, bigint literals, and null
- `context.fileNames` has been removed
- `isExported` / `isConstructorProperty` ReflectionFlags remvoed
- `Converter.EVENT_FUNCTION_IMPLEMENTATION` removed - it was inappropriately used to perform some data extraction, which was unreliable since not all function declarations include an implementation
- `Converter.EVENT_BEGIN` listeners may not access `context.program`. If they need access to a TS program, they should instead use `context.programs` and find the one they are interested in.
##### Thanks!
Thank you to everyone who helped test the 0.20 beta, and the following code contributors:
- [@gamtiq](https://togithub.com/gamtiq)
- [@krisztianb](https://togithub.com/krisztianb)
- [@maximkott](https://togithub.com/maximkott)
- [@paztis](https://togithub.com/paztis)
- [@socsieng](https://togithub.com/socsieng)
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^0.19.0
->^0.20.0
Release Notes
TypeStrong/TypeDoc
### [`v0.20.0`](https://togithub.com/TypeStrong/TypeDoc/releases/v0.20.0) [Compare Source](https://togithub.com/TypeStrong/TypeDoc/compare/v0.19.2...v0.20.0) ##### Migration from previous versions Version 0.20 completely reworks how documentation is generated by TypeDoc. In previous versions, there was `--mode file` and `--mode modules`, which documented files according to their content on the filesystem. This worked reasonably well before ES modules were commonly used, but was insufficient for the modern ecosystem. In 0.20, TypeDoc documents your project according to what you export. With this in mind, there are several breaking changes that will likely effect you: 1\. TypeScript compiler options must be specified in a tsconfig.json file, they may not be passed directly to TypeDoc. 1\. Removed options - `mode`, `excludeNotExported`, `includeDeclarations`, `ignoreCompilerErrors` ([#1403](https://togithub.com/TypeStrong/typedoc/issues/1403)), `entryPoint` 1\. `inputFiles` has been renamed to `entryPoints` to better reflect its usage 1\. Existing third party themes may be broken due to changes to the type structure 1\. The behavior of `exclude` has changed, it is now only used to filter entry points if a directory is provided as the entry point. The command line for most projects now should be fairly simple: ```bash npx typedoc src/index.ts ``` If you have more than one entry point, TypeDoc will create a module for each entry point. The module name will be derived from the entry file name. If the derived name is not the desired name, you can use a module comment with the `@module` tag to change it: ```ts /** * @packageDocumentation * @module myLibrary */ ``` ##### Bug Fixes - A few of the issues with the type converter ([6ff7fcd](https://togithub.com/TypeStrong/TypeDoc/commit/6ff7fcd1d2cc14eeae1f16399e15d8cb7d7f2346)) - Accessor with a set signature was converted incorrectly ([1200212](https://togithub.com/TypeStrong/TypeDoc/commit/12002124d9be2dae8d0a9dee885f816975b0df12)) - Array types were converted incorrectly ([c892c00](https://togithub.com/TypeStrong/TypeDoc/commit/c892c0019a94bdb527eeaa1cf8c08e713ece0f3c)) - Categorization was broken with a single entry point ([7f6e924](https://togithub.com/TypeStrong/TypeDoc/commit/7f6e924035adce5b8a5520a4d9c3940dd1f54702)) - Change target back to ES2018 ([671e6d3](https://togithub.com/TypeStrong/TypeDoc/commit/671e6d3ece5efa4b3296aec8a7140f1872034154)) - ConstructorType node support ([7ba17f6](https://togithub.com/TypeStrong/TypeDoc/commit/7ba17f611c5dcd4ff93007c5b19b0c84d7102101)) - Correct handling of arrays in generic constraints ([d575dc0](https://togithub.com/TypeStrong/TypeDoc/commit/d575dc0ddc7189ef44db381e4447b4df9f7d837c)), closes [#1408](https://togithub.com/TypeStrong/TypeDoc/issues/1408) - Declaration merged namespaces sometimes produced multiple reflections ([5de3bf5](https://togithub.com/TypeStrong/TypeDoc/commit/5de3bf5ebed12690c094a1c7330ea1c57457a57b)) - Fix bug in ReferenceType equality check ([3f63956](https://togithub.com/TypeStrong/TypeDoc/commit/3f6395671f07d70c2e508d2b1b34d626d86bfea1)), closes [#1383](https://togithub.com/TypeStrong/TypeDoc/issues/1383) - Hidden module-namespaces ([88fa674](https://togithub.com/TypeStrong/TypeDoc/commit/88fa674c29130fc88998d6c2d52e3e57c668db5a)), closes [#1396](https://togithub.com/TypeStrong/TypeDoc/issues/1396) - isExternal flag wasn't set properly ([0060eb7](https://togithub.com/TypeStrong/TypeDoc/commit/0060eb7505c3622976b24ee1543815552d0a65d5)) - JSON schema had incorrect value types ([26a9c0d](https://togithub.com/TypeStrong/TypeDoc/commit/26a9c0db4168687b4fa659fcede085e65b04302c)), closes [#1389](https://togithub.com/TypeStrong/TypeDoc/issues/1389) - Lint ([d75c67c](https://togithub.com/TypeStrong/TypeDoc/commit/d75c67c5edfebcfb15c2d01659b42baa254e5c4b)) - Missing comments on variable functions ([e15bcd6](https://togithub.com/TypeStrong/TypeDoc/commit/e15bcd6093249479b5d9713e399d92163c46b789)), closes [#1421](https://togithub.com/TypeStrong/TypeDoc/issues/1421) - Normalize unions ([9f8375d](https://togithub.com/TypeStrong/TypeDoc/commit/9f8375d724cd13e4ab37211d4a88e9d228260edb)), closes [#571](https://togithub.com/TypeStrong/TypeDoc/issues/571) - Reintroduce support for index signatures ([20a7d5f](https://togithub.com/TypeStrong/TypeDoc/commit/20a7d5f5dbb51420fb4c67275755ea306f90bf41)) - Resolve type parameters in concrete subclasses ([85cd06d](https://togithub.com/TypeStrong/TypeDoc/commit/85cd06d236902b359d4d17745b95bd29ee4fd5ef)) - Somehow didn't save a file ([33c2bc6](https://togithub.com/TypeStrong/TypeDoc/commit/33c2bc69bd7da205fee0157b1087b4873b9a3ba8)) - **docs:** A typo in description of DefaultTheme.getMapping ([#1416](https://togithub.com/TypeStrong/TypeDoc/issues/1416)) ([a4c3d9e](https://togithub.com/TypeStrong/TypeDoc/commit/a4c3d9ed2fe9962b8a185407b9b3da83d2594899)) - **perf:** Only create extra programs when dealing with solution style tsconfigs ([6525a7b](https://togithub.com/TypeStrong/TypeDoc/commit/6525a7b1c7d47e710dd82aa7cb8caefb525d3124)) - Missing default exports ([017fad1](https://togithub.com/TypeStrong/TypeDoc/commit/017fad18c32c71d0abf77c884c7870ea502b85c7)) - Reference types should always be given resolved symbols ([1d6120f](https://togithub.com/TypeStrong/TypeDoc/commit/1d6120f7d1453de16b61ffca7afa76a4ff719a34)) - Rendering works again ([17bf655](https://togithub.com/TypeStrong/TypeDoc/commit/17bf655677a51470052f4130fe35b4c48ef0cff5)) - Some issues with inheritence ([033b1ae](https://togithub.com/TypeStrong/TypeDoc/commit/033b1aee28d024af6838b8329d0e72b501b53013)) - Support for specify a directory as an entry point ([ac4c688](https://togithub.com/TypeStrong/TypeDoc/commit/ac4c68816eea0efab67c73c4be3c2e6899ce493d)) - Type converters threw on older TS versions ([1161cb2](https://togithub.com/TypeStrong/TypeDoc/commit/1161cb2b89eaa8c4308484060924be0ef7609336)) - TypeDoc should warn users about missing entry points ([8c51af8](https://togithub.com/TypeStrong/TypeDoc/commit/8c51af82114680daecbbae95b0a80afbe18af060)) - We pick up all properties now ([4845209](https://togithub.com/TypeStrong/TypeDoc/commit/4845209ca2890ab77f2da0b33574447af40949a9)) ##### Features - Add logLevel option ([80c4524](https://togithub.com/TypeStrong/TypeDoc/commit/80c45249010e6e5d20d77c13a6d2e380bb245f8d)) - Automatically generate schema for typedoc.json ([cd84548](https://togithub.com/TypeStrong/TypeDoc/commit/cd84548a107e7fc42c7b7e728f4d8819a6a3b424)) - Colors in console output ([49189de](https://togithub.com/TypeStrong/TypeDoc/commit/49189de67227992769c2fff9044a74ab7a4d3440)) - Initial attempt at support for project references ([e1106dd](https://togithub.com/TypeStrong/TypeDoc/commit/e1106dd6bfdaec7cdcc92394a923896e43edc202)), closes [#1414](https://togithub.com/TypeStrong/TypeDoc/issues/1414) - Mostly working library mode ([bcbd401](https://togithub.com/TypeStrong/TypeDoc/commit/bcbd401be32c287fd6c4ae3d465d5c26c6bc4db2)) - new option "markedOptions" ([#1412](https://togithub.com/TypeStrong/TypeDoc/issues/1412)) ([2bf6e49](https://togithub.com/TypeStrong/TypeDoc/commit/2bf6e491cb8d09522a7e449371d922f586ee7697)) - Options may specify a validation function ([#1398](https://togithub.com/TypeStrong/TypeDoc/issues/1398)) ([884332b](https://togithub.com/TypeStrong/TypeDoc/commit/884332b6314e24305c561f36453d1ac21b27d568)) - Partial support for global files ([9cb5b9c](https://togithub.com/TypeStrong/TypeDoc/commit/9cb5b9c8d5b7de4ddcff23a06930147bd77fdff1)) - Support for `[@module](https://togithub.com/module)` tag ([15cb73c](https://togithub.com/TypeStrong/TypeDoc/commit/15cb73cc880befa1dbf33304ab6f91bbd0d944c8)) - Support for mapped types ([1036069](https://togithub.com/TypeStrong/TypeDoc/commit/103606903a2c94e58de5874fbf918b9c2ba0ffd7)) - Support for the remaining literal types ([695f5c7](https://togithub.com/TypeStrong/TypeDoc/commit/695f5c75ca1511aba04de6eb483b5f54a647503a)) - Support for TS 4.1 mapped types + string literal types ([a32c976](https://togithub.com/TypeStrong/TypeDoc/commit/a32c9766c486b4c66d6399353cd56801724851dd)), closes [#1397](https://togithub.com/TypeStrong/TypeDoc/issues/1397) - Switch back to search.js ([f0af1f1](https://togithub.com/TypeStrong/TypeDoc/commit/f0af1f19fcb01e2930a7bde87048c047fe6e2d3c)), closes [#1339](https://togithub.com/TypeStrong/TypeDoc/issues/1339) ##### API Breaking changes - `Application.generateDocs`, `Application.generateJson` now return a promise - Converter.EVENT_FILE_BEGIN has been removed - it no longer makes sense since re-exports are fully supported - `"string-literal"` type removed, there is now a single `"literal"` type that includes string literals, number literals, bigint literals, and null - `context.fileNames` has been removed - `isExported` / `isConstructorProperty` ReflectionFlags remvoed - `Converter.EVENT_FUNCTION_IMPLEMENTATION` removed - it was inappropriately used to perform some data extraction, which was unreliable since not all function declarations include an implementation - `Converter.EVENT_BEGIN` listeners may not access `context.program`. If they need access to a TS program, they should instead use `context.programs` and find the one they are interested in. ##### Thanks! Thank you to everyone who helped test the 0.20 beta, and the following code contributors: - [@gamtiq](https://togithub.com/gamtiq) - [@krisztianb](https://togithub.com/krisztianb) - [@maximkott](https://togithub.com/maximkott) - [@paztis](https://togithub.com/paztis) - [@socsieng](https://togithub.com/socsieng)Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.