* format test config
* chore: changed name for store file
* updated vite in example project
* chore: fix manual install instructions
* chore: updated instructions and examples in readme
* chore: fix igniter installer
* chore: fix igniter installer tests. update guides
* add an exmaple with a static svelte component in a live view parent with list
* adjusted the styling of example
* chore: added more e2e tests
* chore: preserve client state
* chore: added tests for simple counter
* chore: added live lights e2e tests
* chore: added sigil e2e tests
* chore: added plus/minus tests
* chore: added live plus/minus tests
* chore: added hybrid plus/minus tests
* chore: added static color demo tests
* fix: handle correctly v sigil props
* chore: added tests to log list example
* chore: added tests to breaking news example
* chore: added chat tests
* chore: added tests for live json
* chore: added tests for simple slots
* chore: added tests for dynamic slots. added missing test ids
* chore: add tests to client loading
* chore: addes tests to otp ecto example
* chore: prepare for 0.17.4 release
* remove old link in example page. add real time for ecto example
* upgraded tailwind 4 and latest phoenix for example
* fixed svelte component remounting on server events
* generate auto ids for duplicate components
* handle static svelte components in live view parent properly
* prepare release 0.17.3 release
* adjust the live_svelte version in mix.exs
* add support for custom json library besides jason
* use native erlang json encoder
* fixed json parsing. added more json tests
* Prepare for 0.17.0 release
Adds a new slot called `<:loading />` that allows a user to server
render markup to display while waiting for the Svelte component to mount
on the client.
This is useful if you want to display default markup to prevent the page
from jumping once the client mounts, or to indicate to the user that
something is loading.
- [ ] Integrate with front-end and ensure it is removed after loading
- and through updates
- [ ] Consider raising if you have `ssr: true`
- [ ] Update documentation
- [ ] Add tests
Closes#166
```elixir
Compiling 11 files (.ex)
warning: unknown key .message in expression:
err.message
where "err" was given the type:
# type: %{..., __exception__: true, __struct__: atom()}
# from: lib/mix/tasks/configure_phoenix.ex:21
rescue err ->
hint: when you rescue without specifying exception names, the variable is assigned a type of a struct but all of its fields are unknown. If you are trying to access an exception's :message key, either specify the exception names or use `Exception.message/1`.
typing violation found at:
│
21 │ err -> log_error(err.message)
│ ~~~~~~~
│
└─ lib/mix/tasks/configure_phoenix.ex:21:28: Mix.Tasks.LiveSvelte.ConfigurePhoenix.run/1
```
To facilitate the creation of alternative SSR behaviours, the
the implementation-specific code is relocated into its own module.
This is backwards compatible, but will emit a deprecation warning.
There are also some basic tests to verify that we default to NodeJS for
backwards compatibility.