const { test } = require('node:test') const assert = require('node:assert/strict') const fs = require('node:fs') const vm = require('node:vm') const vue = require('vue') const settle = () => new Promise(setImmediate) const deferred = () => { let resolve; return { promise: new Promise(done => { resolve = done }), resolve: value => resolve(value) } } function setup(component, values, extra = {}) { const props = vue.reactive(values), events = [], scope = vue.effectScope() let unmount = () => {} const source = fs.readFileSync(`${__dirname}/../components/${component}.vue`, 'utf8').match(/