@talend/json-schema-form-core
Version:
JSON-Schema and JSON-UI-Schema utilities for form generation.
68 lines (46 loc) • 3 kB
Markdown
# JSON Schema Form Core
[](https://gitter.im/json-schema-form/angular-schema-form?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://travis-ci.org/json-schema-form/json-schema-form-core)
Core library for working with JSON-Schema with a UI-Schema (Form) definition that doesn't depend on a framework.
This library, through the use of its merge module, combines the schema and ui-schema
into a canonical schema for use by its services and external libraries.
You **DO NOT** use this file in addition to Angular Schema Form, it is embedded at
build into any frameworks using it.
## Work-In-Progress!
There is [test output](docs/test.md) that forms some super basic documentation
and I intend to expand them much further to the point of almost being
useful before I create a proper API and document that.
## Keeping Track
After changing to Webpack 2, this library now includes a detailed version
header which is passed through into `Angular Schema Form` and also the `Bootstrap` decorator bundle
```javascript
/*!
* json-schema-form-core
* @version 1.0.0-alpha.5
* @date Sat, 14 Jan 2017 08:08:15 GMT
* @link https://github.com/json-schema-form/json-schema-form-core
* @license MIT
* Copyright (c) 2014-2017 JSON Schema Form
*/
```
## Contributing / Plans
The main contributions we need to the core at the moment are related to both the migration
of `Angular Schema Form` features to the core (like templates/builders) and the addition
of an API for use by ASF (Angular) and RSF (React) libraries.
Please contact @Anthropic via our [Gitter](https://gitter.im/json-schema-form/angular-schema-form) if you wish to get involved.
## Testing it
### With Angular Schema Form
There is a branch in angular-schema-form called `feature/webpack-babel` that integrates the core.
To use it roughly follow these steps:
- Clone angular-schema-form to a **sibling** directory and switch to branch `feature/webpack-babel`
- `npm install` to install dependencies
- `npm run build` to build with the core.
- Use dist/angular-schema-form.js, now with the core from this folder. _No need to also load ObjectPath since it is already included_
### With Mocha tests
Tests are written in mocha + chai and run trough `npm test`.
When the command `npm run testdoc` is run instead, the tests will also generate a readable
`markdown` file [test.md](docs/test.md) to document elements of the library.
## Notes
- ObjectPath is bundled with json-schema-form-core
- angular-schema-form bundles json-schema-form-core so the user doesn't have to include it as a dependency.
- The code for not using ObjectPath on Angular 1.2 is removed. Could maybe be fixed but I (davidlgj) strongly believe its time to drop Angular 1.2 support since it complicates validation code as well.