Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Svelte adapter #31

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

feat: Svelte adapter #31

wants to merge 12 commits into from

Conversation

david-roeger
Copy link

This PR:

  • Adds initial implementation of the Svelte adapter
  • Adds initial tests for the Solid adapter

Regarding the questions in the issue:

  1. Packaging - I switched from tsub to svelte-package the official svelte way of well building packages. The build output from tsub threw errors when I tried to use it.
  2. Testing - I used testing-library svelte version. (The test for counting the rerender is a bit ugly because of onMount isn't called when rendering components  testing-library/svelte-testing-library#222)
  3. Reactivity interop - since svelte offers native store support this is quite nice. For the Api surface I tried to stay as close to the other packages.

Note: I just copy and pasted the shallow function - it might be worth refactoring that into the core package?

Closes #4

@david-roeger
Copy link
Author

For the setup of the whole package I mainly copied and pasted from the vue example and svelte-query. I hope the setup is fine.

@david-roeger david-roeger mentioned this pull request Nov 5, 2023
@crutchcorn
Copy link
Member

crutchcorn commented Dec 13, 2023

This looks great to me, but I'm not a Svelte-spert admittedly 😅

Tagging in @LukeHagar to review the Svelte code, as he was offering to help out with a Svelte adapter for Forms

PS I'm so sorry I missed this PR - I just didn't see it at the time; no excuses. Sorry!

@LukeHagar
Copy link

I just wanted to follow up here, this looks like a good implementation, and I'm glad to see you using the existing Svelte store functions.

That being said I think this will end up changing once runes come about.

@david-roeger
Copy link
Author

david-roeger commented Dec 14, 2023

@LukeHagar That's what we talked about yesterday in the discord. I played a bit around with runes and that's what I got so far:
See david-roeger#1
Or in the repl

But the tooling around svelte-5 is... well not there yet and I can't get svelte-package to output types for index.svelte.ts files or tests working

@crutchcorn does it make sense to release the adapter in it's current form for svelte-4 or should we just wait until svelte-5 arrives?

@crutchcorn
Copy link
Member

crutchcorn commented Dec 16, 2023

Let's hold off for Svelte 5 - apologies for sending us all down this goose chase until then 😅😅

@david-roeger
Copy link
Author

Hey there,
with Svelte 5 now being in Release Candidate Stage I would be like to continue working on the adapter :)

…k-main

# Conflicts:
#	.gitignore
#	babel.config.cjs
#	docs/installation.md
#	package.json
#	packages/solid-store/src/index.ts
#	packages/solid-store/vitest.config.ts
#	pnpm-lock.yaml
@LukeHagar
Copy link

Sounds great to me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Svelte Adapter
4 participants