Вот рабочее решение:
В CodeMirror есть скрипт "runmode-standalone", который делает именно то, что мне нужно. Это работает, но я должен был сделать некоторые исправления для некоторых файлов.
Загрузите автономный скрипт runmode:
// @ts-ignore
import CM = require('codemirror/addon/runmode/runmode-standalone')
// JS mode
import 'codemirror/mode/javascript/javascript'
Оперативное исправление (используя пакет исправлений для сохранения изменений в моем проекте) :
// Start of node_modules/codemirror/lib/codemirror.js
// This avoids loading CodeMirror if it is already loaded through standalone
(function (global, factory) {
if (self.CodeMirror) {
factory = function() { return self.CodeMirror }
}
// Start of node_modules/codemirror/addon/runmode/runmode-standalone.js
self.CodeMirror = {} // instead of window.CodeMirror
Обратите внимание, что это решение работает в Web Worker и с полным CodeMirror в браузере ah да!