Provide workarounds for both TS (bad peer-provided types handling) and Glint (mishandling of extensions) issues#292
Provide workarounds for both TS (bad peer-provided types handling) and Glint (mishandling of extensions) issues#292NullVoxPopuli wants to merge 3 commits intomainfrom
Conversation
BoussonKarel
left a comment
There was a problem hiding this comment.
Applied these changes to my addon (created using blueprint v2.16.0) and they fixed my issues with relative imports of .gts files in my declarations.
BoussonKarel
left a comment
There was a problem hiding this comment.
Applied these changes to my addon (created using blueprint v2.16.0) and they fixed my issues with relative imports of .gts files in my declarations.
| }, | ||
| }, | ||
| <% } %> | ||
| ], |
There was a problem hiding this comment.
I feel like this plugin shouldn't be exploded inline into addon's rollup configs 🤔 should it be a new dependency that just provides this? or is it just something that the Embroider addon-dev is providing as a plugin (like the other ones in this file)?
There was a problem hiding this comment.
addon-dev could provide it, if it weren't using tsc to compile (because the way embroider is configured to use tsc right now doesn't actually support await import() in CJS (it gets converted to a require....)).
I would just call it addon.declarations(/* default output "declarations" folder */ ) or something like that.
There was a problem hiding this comment.
I could also just publish a new package that provides these few lines, which is very easy (your first suggestion).
maybe.. declarations() is how it's invoked
(doing this would allow me to author a CJS version of the plugin that does proper await import, for addon-dev to use, if that's what we wanted)
There was a problem hiding this comment.
I'd also like to see the Rollup config remain simple and dependencies to a minimum. If I understood the release notes right, the reference directives won't appear with typescript@5.5?
- Do not perserve references in declaration emit, unless preserve=true microsoft/TypeScript#57681
- https://devblogs.microsoft.com/typescript/announcing-typescript-5-5-rc/#simplified-reference-directive-declaration-emit
If so, the blueprint could remain as is (or only be updated to handle importing .gts files), and those who are on typescript@<=5.4 could install fix-bad-declaration-output. Maybe you could first try out the release candidate for 5.5 in v2 addons.
There was a problem hiding this comment.
Naw glint is still borked out of the box
|
Superseded by #315 |
|
thank you! |
This isn't ideal, and I would have PR'd it sooner, but I was kind of hoping that we'd have solutions to these problems by now... but we don't.
To unblock people and to make the blueprint usable for folks wishing to use typescript, we need this work around.
Here are the issues that this PR resolves:
TOCtype typed-ember/glint#697