Settings-UI is a module that allows you to quickly generate a web form with data binding. It generates HTML UI components from a template JSON. You can easily extend it with your own components!

It is as easy as:

npm install settings-ui
import SettingsUI from 'settings-ui';
// template from which the ui is generated
const template = [
  {
    id: 'number',
    type: 'number'
  },
  {
    id: 'text',
    type: 'text'
  },
  {
    id: 'selection',
    type: 'number',
    values: [1, 2, 3]
  }
];

const ui = SettingsUI();
// create ui and bind to a store object
const store = ui.bind(template);
// render ui
store.render().to(document.body);

More details in the README