function cmEditor(opts0) {
const div = html`<div>CodeMirror
<div class='cm-container'></div>`;
const cmDiv = div.querySelector('.cm-container');
const opts = Object.assign({
value: 'function myScript(){return 100;}\n',
mode: 'javascript',
}, opts0);
const editor = CodeMirror(cmDiv, opts);
div.value = editor;
editor.on('change', () => div.dispatchEvent(new CustomEvent('input')));
setTimeout(() => {
editor.setSize('100%', '500');
editor.refresh();
div.style.height = div.clientHeight + 'px';
}, 0);
return div;
}