Он выполняет ESM-импорт npm-пакета extract-timestamp, который был создан с помощью boundation. Этот инструмент генерирует версию CommonJS для Node.js и версию ESM для браузеров.
JavaScript-файл компонента темы source/index.js импортирует зависимость extract-timestamp следующим образом:
Для преобразования файла source/index.js, содержащего логику нашей темы, в файл common/header.html для Discourse используется скрипт build.bash:
Запуск осуществляется командой bash ./build.bash или, если вы используете npm-скрипты, через npm run build:
В результате получается файл common/header.html, упакованный в единый файл (с объединением всех импортов):
Это может быть полезно другим разработчикам, создающим собственные компоненты тем.
В будущем я, вероятно, добавлю в boundation полноценную поддержку создания компонентов тем для Discourse, чтобы автоматизировать этот процесс.