14 Commits

Author SHA1 Message Date
Jeff Williams
959dc4f296
fix(jsdoc-tag): prevent ReDOS
Verified with https://github.com/NicolaasWeideman/RegexStaticAnalysis.
2023-12-21 13:49:36 -08:00
Jeff Williams
2a5ae15ed3
refactor: memoize type-related functions
I did some quick-and-dirty profiling, and these functions made up ~2% of the flamegraph, mostly for when they called through to the type parser; also, it's likely that they'll be called repeatedly with many of the same inputs. Memoizing the functions cuts them to ~1% of the flamegraph.
2023-12-10 17:37:36 -08:00
Jeff Williams
5a74ffd016
chore(jsdoc-eslint-config): move packages to the correct package.json file; enable Prettier; fix linter issues 2023-11-25 10:28:22 -08:00
Jeff Williams
75d1cbdf91
feat(jsdoc-tag): add includesInlineTag method 2023-11-21 20:44:25 -08:00
Jeff Williams
89f2c72da4
refactor: provide logging functions in dependencies; stop using EventBus
These changes enable templates to use the logging functions even if they're not installed in the same `node_modules` directory as JSDoc.

Includes API changes to various modules and functions that didn't have access to the dependency object. Most notably, you now call a function to retrieve tag definitions, rather than just using an exported object as-is.
2023-11-15 17:43:21 -08:00
Jeff Williams
5e4f999497
refactor: don't use deprecated RegExp.$1...$9 properties
Plus some miscellaneous cleanup.
2023-10-11 16:40:23 -07:00
Jeff Williams
954d17f87c
feat(jsdoc-doclet): emit events when certain doclet properties change 2023-09-10 14:56:27 -07:00
Jeff Williams
c04508f295
refactor: migrate to ES modules 2023-02-28 20:12:24 -08:00
Jeff Williams
eccb0a53e1
refactor: move tag dictionary to @jsdoc/tag package 2023-01-21 13:24:34 -08:00
Jeff Williams
775a4195b5
refactor: move tag definitions to @jsdoc/tag package 2023-01-21 13:12:31 -08:00
Jeff Williams
913f8841e0
refactor: move Tag class and tag validator to @jsdoc/tag 2023-01-15 19:45:08 -08:00
Jeff Williams
8c6aad8440
chore: add license headers, and a CI check for their presence 2023-01-08 16:11:38 -08:00
Jeff Williams
1305499207 chore: use Prettier to format source files 2021-09-19 13:20:31 -07:00
Jeff Williams
6dcd879ade refactor(jsdoc): move tag and inline to new @jsdoc/tag package 2020-12-24 17:37:37 -08:00