there is no need for matching, capturing results, and validating nullablity
just using `.test` would be enough and significantly faster
for more info, see https://stackoverflow.com/10940138/16476610
The `node16` module resolution requires imports to use the `.js` file
extension in type definitions.
`@rollup/plugin-typescript` is needed to make this work with the Vite
setup used by Mermaid.
The module option for Mermaid internally is set to `nodenext`. This is
needed to support `.json` imports. Note that setting `module` to
`node16` or `nodenext` implies a matching `moduleResolution` value.
Mostly, fixing these eslint-plugin-tsdoc style issues involved:
- Moving types from JSDoc to TypeScript types
- Making sure that all `@param paramName - description`
had both a `-` and a description.
Occasionally, for some functions, if the JSDoc was completely
empty, I just deleted it, since there was no point in keeping it.