Directive collision
Kansuler opened this issue · 1 comments
I'm using a project with Svelte and three-elements and there is a collision when using the ref:
directive. Svelte emits a deprecation warning that at the moment cannot be intercepted. The ref directive is no longer supported — use bind:this={material} instead
.
I've started an issue in the Svelte repository about being able to intercept these errors, however ref
is not uncommon as a directive.
I'd like to put forward two suggestions to give it more flexibility, and avoid collision with other libraries.
- Prefixing three-elements specific directives would avoid possible collisions with other libraries/frameworks.
- Expose the function that registers directives so that you are able to put an alias/register another directive with the same function.
Hi, and thanks for submitting this issue!
The good (?) news is that I too stumbled over this issue earlier, and am very interested in finding a good solution.
The bad news is that I've unfortunately not had the chance to work on three-elements for many months now, and am sort of out the loop. I would even go as far as saying that the future of the project is unclear at this point, at least with me as a maintainer. I'm hoping to find the time to make a sort of official announcement for this some time soon.
In the meantime, both of your suggestions sound sane. I would like to add that when I was still actively working on this library, I was intending to provide (or ask the community to provide) framework-specific bindings to make using three-elements super-straightforward (starting with providing type information, but also glue code where it makes sense.) A Svelte-specific binding would have the opportunity to wrap around and hide such a workaround.
I'm sorry if my reply to you isn't sounding too hopeful. I will be trying to find a new maintainer for the project (or pick up the mantle myself again, if time and work allow it) some time soon.