Changelog
Release 0.3.0
-
100% test coverage / all functionality verified in detail.
-
Full support for any file format that Typescript supports including React. You may now leverage
esm-d-tsto create bundled declarations for Typescript source code. -
esm-d-ts 0.3.0supports Typescript5.5 - 5.9.x. A forthcoming0.4.0release will support Typescript6.x. -
Added plugin support for alternate file formats that support ES Modules. The first plugin available adds support for Svelte 4 components (
.sveltefiles). For more information on Svelte component support please see: @typhonjs-build-test/esm-d-ts-plugin-svelte. Eventually, additional 1st party support may be added for alternate file formats / frameworks that can be transpiled to ESM. Presently, 1st party plugins simply need to be installed as additional developer dependencies and load automatically. You may also provide custom 3rd party plugins via newpluginsconfiguration option. -
Added
bundleDTSconvenience function and newbundlecommand from the CLI which allows easy bundling of existing well formatted module based Typescript declarations. -
Added
emitCTSoption to output additional '.d.cts' file for strict Typescript adherence for packages that are dual ESM / CJS. When referencingrequireas an export condition in an dual ESM / CJS package thetypesreferenced must be.d.ctsfor therequirecondition for strict Typescript adherence. -
Added
importsLocalsupport from@typhonjs-build-test/rollup-plugin-pkg-importsallowing#importsub-paths to be replaced / remapped to actual sub-path package paths.
Release 0.2.2
- Added a TS AST transformer to support import types in
@implementsJSDoc tags. This allows you to reference an interface from a class and have it properly converted toimplements <INTERFACE>in the declarations generated. - Added
transformer"meta-transformer" to reduce the boilerplate of creating custom TS AST transformers.
Release 0.2.1
- Added a new internal AST transformer that corrects the output of the TS compiler for setter accessor parameter names.
The TS compiler for ESM will rename setter accessor parameter names to
argregardless of the value set in the source file. If there is a JSDoc comment associated with a setter the first@paramtag name will be set to the AST node param name. Downstream tooling such as TypeDoc0.25.7+validates comment /@paramname against the type declaration name; this change fixes that mismatch.
Release 0.2.0
-
Added
@module/@packageDocumentationcomment pass-through to generated DTS when this comment type appears in the main entry point source file. This is helpful when generating docs from the DTS file. -
Introduces optional postprocessing of the generated bundled Typescript declaration.
- First post processor is for
@inheritDocsupport.
- First post processor is for
-
Added
outputPostprocessconfiguration option to separately output postprocessing to an alternate filepath for easier debugging / comparison.
Release 0.1.1
- Support for
.mjssource files.- Caveat: when using
import typesyou must specify the.mjsextension like:@param {import('./AFile.mjs').ASymbol}
- Caveat: when using
Release 0.1.0
- Initial beta release