v0.22.0
🚀 Major Changes
- this is the first version which I feel very confident in saying that not only is it Vite 4 compatible (the last version was too) but many of the problematic downstream deps which CJS only have been switch to ESM
- this was a bit painful for me (@yankeeinlondon ) but I imagine for others too which I appologize for
- I had hoped the pretty good test coverages would prevent the types of problems we've had recently but in this painful transition to ESM only Javascript I was only testing the source code and it was passing 100% of the time but the transpiled code wasn't always working as it should have
- in this release -- and all going forward -- a release can not be made without all functional tests passing but also:
- tsc tests - meaning that we run
tsc --noEmit
to capture any type errors that "tsc" finds (which is more than just eslint) - node tests - meaning we actually run the transpiled javascript to be sure there are no errors
- tsc tests - meaning that we run
- I expect most of these changes will eliminate most of the problems folks have experienced over the past month or two
- Fortunely for the Javascript universe, projects like Vite are moving folks to ESM at an increasing pace and we'll all be better off when there's only a single module system
Last but not least:
- because the popular -- but old --
gray-matter
package was making async calls to node functions as well as having really old deps of it's own that are undoubtedly gathering dust and possibly security issues ... I refactored it. - you will notice that we now depend on
@yankeeinlondon/gray-matter
instead ofgray-matter
. I refactored gray-matter 6 months ago to ESM and put in a pull request but got no response so yesterday I refactored it to Typescript. There are some generous uses ofany
but the type system is fully generated rather than hand crafted as it was before. - all original tests were refactored to use vitest instead of mocha
- all of the tests pass with two exceptions which I looked at without full context of the internals and the current results actually looked reasonable to me so I've just added the skip keyword for now
- ultimately I do hope that the
gray-matter
folks eventually accept my PR but until they do I'll work off this TS/ESM fork
Please note: though I term these "major changes" there are no intended breaking changes to the API
🐞 Bug Fixes
- Fixed stray typing errors related to migration of some types to builder-api package - by @yankeeinlondon (be51a)