feat: Support plugin, shortcode & helper files written in Typescript #170
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Firstly, thank y'all for this project. I had been daydreaming about something like partial hydration for quite a while, and to see this executed through the svelte ecosystem is a huge plus!
This PR has the same goals as #72: provide support for writing plugin, shortcode & helper files in Typescript.
To achieve that, I omitted the file extension when calling
require
directly, to be able to handle any extension that the environment supports. I also tried to userequire.resolve
for cases where the path had to be known (e.g. when passing a path tofs.existsSync
), but since jest cannot mock it (as per jestjs/jest#9543), I had to recur to hardcoding.ts
as a possible extension for those files.I got my own personal site to build with these changes, but I've just started migrating it to elder.js, so tests with larger codebases would be nice before considering merging.