riot
Version:
Simple and elegant component-based UI library
23 lines (18 loc) • 653 B
JavaScript
/* Riot v10.1.2, @license MIT */
import $ from '../dependencies/bianco.query/index.next.js';
import { compileFromUrl } from './compile-from-url.js';
import { get } from '../dependencies/bianco.attr/index.next.js';
import { inject } from './inject.js';
async function compile(options) {
const scripts = $('script[type="riot"]');
const urls = scripts.map((s) => get(s, 'src') || get(s, 'data-src'));
const tags = await Promise.all(
urls.map((url) => compileFromUrl(url, options)),
);
tags.forEach(({ code, meta }, i) => {
const url = urls[i];
const { tagName } = meta;
inject(code, tagName, url);
});
}
export { compile };