-
-
Notifications
You must be signed in to change notification settings - Fork 70
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
JSONSchema using schemasafe adaptor failing runtime in SPA mode #484
Comments
This is working for me when I submit (without constraints, to see the JSON Schema error messages), how to reproduce it? |
Can you link to a saved version on SvelteLab, otherwise I cannot see what has been modified? |
Hi, I am not sure what it means by saved version. In the SvelteLab link above you need to go to Source for the page for the usage here https://github.com/h7kanna/superforms-schemasafe/blob/main/src/routes/jsonschema/%2Bpage.svelte Note : I was not able replicate it exactly using the project template so created a sample sveltekit app I am able to open it in the SvelteLab |
You need to login at SvelteLab and save it, so it gets a shorter url. |
I'll take a look and see what can be done for the next release. |
This project works locally for me, but not in SvelteLab, so it needs further investigation. Does it work for you locally (Node, VS Code)? |
Hi, It does not work in local. Verified in OS: macOS 15.0.1
Node: v20.17.0 Console:
|
@ciscoheat did you check the /jsonschema route on the provided example ? Otherwise I made another project without the input constraints here: https://www.sveltelab.dev/x2esljhbjk8tb7k |
Hello, is there any update on this issue? I'm encountering it as well. |
Any ideas why this is the case? It works with other adapters without any problems. It's strange that it works for me locally (in HMR mode). |
Hi, I have the same issue (comparable setup to @h7kanna) is there any workaround to get around this? I don't have any constraints configured (as I don't need them yet). |
The workaround is not to use the adapter client-side, as it seems to work fine on the server. I cannot reproduce it locally, so it's hard to know what goes wrong (when building, most likely). |
Ah that's a shame. I actually am using Tauri and it allows the user to define forms using a JSON file which is read from the local file system, this JSON file is also used to create the schema for the form as the form is dynamic. So in my case I don't really have a backend. Is there any other way I create a schema dynamically based on user input (if you want me to create a seperate issue let me know)? |
Superform is excellent for fullstack Typescript Sveltkit apps. However, when it comes to SPA with OpenAPI schema, like in my case with a Python backend. I ended up using HeyApi for generating Typescript types and schema objects, that I use apply browser builtin validations on the client. The form submissions are handled with Pydantic on the backend. I hope this helps... |
If one of you can reproduce it locally with one of the Sveltelab environments referenced earlier, I'm happy to take a look at it. |
From https://www.sveltelab.dev/x2esljhbjk8tb7k I've done: Project > Download > Unzip > Open in VSCode > npm install > npm run dev > open in browser > press Submit > Get error: When I open the sveltelabs in the browser I also get the error without changing anything. I use nodejs 23.2 |
Try to tell Vite to pre-bundle the validator library when building, something like: vite.config.ts import { sveltekit } from "@sveltejs/kit/vite";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [sveltekit()],
optimizeDeps: {
include: ["@exodus/schemasafe"],
},
}); |
@ciscoheat thanks this seems to fix it! |
Great! I'll add it to the documentation for the schemasafe adapter. |
Description
Schemasafe adapter throwing runtime error
App is created by following the documentation at https://superforms.rocks/concepts/spa#without-a-pagets-file
SvelteLab sample
https://www.sveltelab.dev/?provider=github&owner=h7kanna&repo=superforms-schemasafe
The text was updated successfully, but these errors were encountered: