MCPcopy Index your code
hub / github.com/eclipsesource/jsonforms

github.com/eclipsesource/jsonforms @v3.8.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.8.0 ↗ · + Follow
1,129 symbols 3,973 edges 613 files 15 documented · 1% 1 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

JSON Forms - More Forms. Less Code

Complex forms in the blink of an eye

Documentation

Please see the official JSON Forms website, jsonforms.io, for documentation, examples and API references.

Getting started

  1. Clone the seed app with git clone https://github.com/eclipsesource/jsonforms-react-seed.git
  2. Install dependencies with npm ci
  3. Run the app with npm run start

For more info about the seed app, please see the corresponding README file of the seed repo. For a more detailed tutorial about the usage of JSON Forms, please see this tutorial.

Feedback, Help and Support

If you encounter any problems feel free to open an issue on the repo. For questions and discussions please use the JSON Forms board. You can also reach us via email. In addition, EclipseSource also offers professional support for JSON Forms.

Migration

See our migration guide when updating JSON Forms.

Roadmap & Milestones

The project roadmap can be found in ROADMAP.md.

Issues are sorted in one the following milestones that indicate when their implementation is planned. Independently of the assigned milestone, contributions are always accepted and appreciated.

  • A milestone for the next minor version. Issues planned to be implemented for the next release.
  • A milestone for the next major version. Issues planned to be implemented for the next major release.
  • A .x milestone. Issues which are concrete candidates for one of the next versions.
  • next: Issues which we would like to tackle soonish in one of the upcoming versions. However, they are not yet planned for a specific version.
  • Backlog: Issues which are interesting in some form but we don't plan to do ourselves in the foreseeable future. Still these might become part of JSON Forms via a community contribution or by prioritization of a paying customer.

Developers Documentation

First time setup

  • Install node.js (only Node v24+ < 25 is currently supported)
  • Install pnpm: https://pnpm.io/installation (use pnpm 10.33.0+) or use corepack to enable the recommended version
  • Clone this repository
  • Install dependencies: pnpm i --frozen-lockfile

VS Code dev container

As an alternative to the first time setup, you can use the provided VS Code dev container configured in devcontainer.json.

  • Execute command: Remote Containers: Reopen in container
  • Wait until the container is built and loaded
  • First time setup and an initial build of all packages has been executed in the container

Note: If you have installed dependencies before opening the remote container, its initialization might fail. In this case, you can try to clean the repository with git clean -dfx. Beware that this removes all untracked files!

Build & Testing

  • Build (all packages): pnpm run build
  • Test (all packages): pnpm run test
  • Clean (delete dist folder of all packages): pnpm run clean
  • Run React Vanilla examples: cd packages/vanilla-renderers && pnpm run dev
  • Run React Material examples: cd packages/material-renderers && pnpm run dev
  • Run Angular Material examples: cd packages/angular-material && pnpm run dev
  • Run Vue Vanilla dev setup: cd packages/vue-vanilla && pnpm run dev
  • Run Vue Vuetify dev setup: cd packages/vue-vuetify && pnpm run dev

Dependency & Release management

For more info about how we handle dependencies and releases in the JSON Forms project, please see our Developer Documentation wiki page.

Continuous Integration

The JSON Forms project is built and tested via Github actions on Linux, Mac and Windows. Coverage is documented by Coveralls.

Current status: Build status Coverage Status

Contributions

We welcome community participation! Whether you're reporting bugs, proposing features, participating in discussions, or making direct contributions, your involvement is highly valued. See here for the contribution guidelines.

License

The JSON Forms project is licensed under the MIT License. See the LICENSE file for more information.

Extension points exported contracts — how you extend this code

JsonFormsReactProps (Interface)
(no doc) [3 implementers]
packages/react/src/JsonForms.tsx
CategorizationProps (Interface)
(no doc) [3 implementers]
packages/vanilla-renderers/src/complex/categorization/CategorizationList.tsx
MaterialCategorizationLayoutRendererProps (Interface)
(no doc) [3 implementers]
packages/material-renderers/src/layouts/MaterialCategorizationLayout.tsx
JsonFormsAngularConfig (Interface)
(no doc)
packages/angular/src/library/jsonforms.config.ts
UpdateAction (Interface)
(no doc)
packages/core/src/actions/actions.ts
ComponentResult (Interface)
(no doc)
packages/angular-material/test/common/text.ts
ExampleIconAliases (Interface)
(no doc)
packages/vue-vuetify/dev/icons/icons.ts
ExampleDescription (Interface)
(no doc)
packages/examples/src/example.ts

Core symbols most depended-on inside this repo

initCore
called by 276
packages/material-renderers/test/renderers/util.ts
initCore
called by 246
packages/vanilla-renderers/test/util.ts
update
called by 221
packages/angular/src/library/jsonforms.component.ts
getJsonFormsService
called by 167
packages/angular-material/test/common/util.ts
rankWith
called by 141
packages/core/src/testers/testers.ts
ngOnInit
called by 131
packages/angular-material/src/library/other/table.renderer.ts
init
called by 125
packages/angular/src/library/jsonforms.service.ts
updateCore
called by 112
packages/angular/src/library/jsonforms.service.ts

Shape

Function 676
Interface 190
Method 160
Class 99
Enum 4

Languages

TypeScript100%

Modules by API surface

packages/core/src/mappers/renderer.ts75 symbols
packages/react/src/JsonFormsContext.tsx67 symbols
packages/core/src/actions/actions.ts43 symbols
packages/vue/src/jsonFormsCompositions.ts29 symbols
packages/angular/src/library/jsonforms.service.ts28 symbols
packages/core/src/models/uischema.ts25 symbols
packages/core/src/testers/testers.ts22 symbols
packages/vue-vuetify/src/util/composition.ts20 symbols
packages/react/test/renderers/JsonForms.test.tsx20 symbols
packages/material-renderers/src/complex/MaterialTableControl.tsx20 symbols
packages/core/src/util/runtime.ts17 symbols
packages/core/src/store/jsonFormsCore.ts17 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add jsonforms \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact