import node from '@astrojs/node' import solid from '@astrojs/solid-js' import { Graphviz } from '@hpcc-js/wasm-graphviz' import { defineConfig } from 'astro/config' import browserslist from 'browserslist' import { browserslistToTargets } from 'lightningcss' import { toString } from 'mdast-util-to-string' import getReadingTime from 'reading-time' import { visit } from 'unist-util-visit' import UnoCSS from 'unocss/astro' function remarkReadingTime() { return function (tree, { data }) { const textOnPage = toString(tree) const readingTime = getReadingTime(textOnPage) data.astro.frontmatter.minutesRead = readingTime.text } } function remarkGraphvizSvg() { return async function (tree) { const graphviz = await Graphviz.load() const instances = [] visit(tree, { type: 'code', lang: 'dot' }, (node, index, parent) => { instances.push([node.value, index, parent]) }) for (const [dot, index, parent] of instances) { const svg = graphviz.dot(dot, 'svg') parent.children.splice(index, 1, { type: 'html', value: `