{"id":16901466,"url":"https://github.com/x0k/svelte-jsonschema-form","last_synced_at":"2026-04-02T13:34:31.026Z","repository":{"id":257817282,"uuid":"857534012","full_name":"x0k/svelte-jsonschema-form","owner":"x0k","description":"Svelte 5 library for creating forms based on JSON schema.","archived":false,"fork":false,"pushed_at":"2025-03-30T20:11:22.000Z","size":3918,"stargazers_count":46,"open_issues_count":8,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T07:04:29.715Z","etag":null,"topics":["forms","json-schema","svelte","svelte5"],"latest_commit_sha":null,"homepage":"http://x0k.online/svelte-jsonschema-form/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/x0k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-14T22:38:00.000Z","updated_at":"2025-03-30T20:08:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"13736812-172f-4105-af3f-3477ba13aeda","html_url":"https://github.com/x0k/svelte-jsonschema-form","commit_stats":{"total_commits":422,"total_committers":2,"mean_commits":211.0,"dds":0.0545023696682464,"last_synced_commit":"7a06bb621b893ea4bb8c87afde7e630e24e8faeb"},"previous_names":["x0k/svelte-jsonschema-form"],"tags_count":298,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x0k%2Fsvelte-jsonschema-form","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x0k%2Fsvelte-jsonschema-form/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x0k%2Fsvelte-jsonschema-form/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x0k%2Fsvelte-jsonschema-form/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/x0k","download_url":"https://codeload.github.com/x0k/svelte-jsonschema-form/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247615377,"owners_count":20967184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["forms","json-schema","svelte","svelte5"],"created_at":"2024-10-13T17:59:50.996Z","updated_at":"2026-01-16T03:47:11.385Z","avatar_url":"https://github.com/x0k.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# svelte-jsonschema-form\n\nSvelte 5 library for creating forms based on JSON schema.\nUnofficial port of [react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form).\n\n- [Documentation](https://x0k.github.io/svelte-jsonschema-form/)\n- [Form Builder](https://x0k.github.io/svelte-jsonschema-form/builder3)\n- [Playground](https://x0k.github.io/svelte-jsonschema-form/playground3/)\n\n## Installation\n\nInstall the library, basic theme and `ajv` for validation.\n\n```shell\nnpm i @sjsf/form @sjsf/basic-theme @sjsf/ajv8-validator ajv@8\n```\n\n## Usage\n\n```svelte\n\u003cscript lang=\"ts\"\u003e\n  import { createForm, BasicForm, type Schema } from '@sjsf/form';\n  import { resolver } from '@sjsf/form/resolvers/basic';\n  import { translation } from '@sjsf/form/translations/en';\n  import { createFormMerger } from '@sjsf/form/mergers/modern';\n  import { createFormIdBuilder } from '@sjsf/form/id-builders/modern';\n  import { createFormValidator } from '@sjsf/ajv8-validator';\n  import { theme } from '@sjsf/basic-theme';\n  import '@sjsf/basic-theme/css/basic.css';\n\n  const schema: Schema = {\n    title: 'Tasks',\n    type: 'array',\n    items: {\n      type: 'object',\n      properties: {\n        name: {\n          type: 'string',\n          title: 'Name',\n        },\n        description: {\n          type: 'string',\n          title: 'Description',\n        },\n      },\n      required: [\"name\"]\n    },\n  }\n\n  const form = createForm({\n    theme,\n    schema,\n    resolver,\n    translation,\n    merger: createFormMerger,\n    validator: createFormValidator,\n    idBuilder: createFormIdBuilder,\n    onSubmit: console.log\n  })\n\u003c/script\u003e\n\n\u003cBasicForm {form} /\u003e\n```\n\n## Supported Themes\n\n- [Basic](https://x0k.dev/svelte-jsonschema-form/themes/basic/)\n  - [Pico CSS](https://x0k.dev/svelte-jsonschema-form/themes/basic/#pico-css)\n- [daisyUI v5](https://x0k.dev/svelte-jsonschema-form/themes/daisyui5/)\n- [Flowbite Svelte](https://x0k.dev/svelte-jsonschema-form/themes/flowbite3/)\n- [Skeleton v4](https://x0k.dev/svelte-jsonschema-form/themes/skeleton4/)\n- [shadcn-svelte](https://x0k.dev/svelte-jsonschema-form/themes/shadcn4/)\n  - [shadcn-svelte-extras](https://x0k.dev/svelte-jsonschema-form/themes/lab/shadcn-extras/) (experimental)\n- [SVAR](https://x0k.dev/svelte-jsonschema-form/themes/lab/svar/) (experimental)\n- [Beer CSS](https://x0k.dev/svelte-jsonschema-form/themes/lab/beercss/) (experimental)\n\n## Supported Validators\n\n- [Ajv v8](https://x0k.dev/svelte-jsonschema-form/validators/ajv/)\n  - [Precompiled](https://x0k.dev/svelte-jsonschema-form/validators/ajv/#precompiled-validation)\n- [Zod v4](https://x0k.dev/svelte-jsonschema-form/validators/zod4/)\n- [Valibot](https://x0k.dev/svelte-jsonschema-form/validators/valibot/)\n- [@cfworker/json-schema](https://x0k.dev/svelte-jsonschema-form/validators/cfworker/)\n- [@exodus/schemasafe](https://x0k.dev/svelte-jsonschema-form/validators/schemasafe/)\n  - [Precompiled](https://x0k.dev/svelte-jsonschema-form/validators/schemasafe/#precompiled-validation)\n- [Standard Schema](https://x0k.dev/svelte-jsonschema-form/validators/standard-schema/)\n\n## Integrations\n\n- [Generic backend](https://x0k.dev/svelte-jsonschema-form/integrations/generic-backend/)\n- SvelteKit\n  - [Form actions](https://x0k.dev/svelte-jsonschema-form/integrations/sveltekit/form-actions/)\n  - [Remote functions](https://x0k.dev/svelte-jsonschema-form/integrations/sveltekit/remote-functions/) (experimental)\n\n## License\n\nThis project includes modifications of code from [react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form), which is licensed under the Apache License, Version 2.0.\nThe rest of the project is under the MIT license.\n\nSee [LICENSE-MIT](LICENSE) and [LICENSE-APACHE](packages/form/LICENSE-APACHE) for details.\n\n## See also\n\n- [Other JSON Schema to Web UI tools](https://json-schema.org/tools?query=\u0026sortBy=name\u0026sortOrder=ascending\u0026groupBy=toolingTypes\u0026licenses=\u0026languages=\u0026drafts=\u0026toolingTypes=schema-to-web-UI)\n- [Converting JSON to table](https://github.com/x0k/json-to-table)\n- [Simple build automation tool - mk](https://github.com/x0k/mk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx0k%2Fsvelte-jsonschema-form","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx0k%2Fsvelte-jsonschema-form","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx0k%2Fsvelte-jsonschema-form/lists"}