function flat(obj) {
let arr = [];
Object.entries(obj).forEach(([key, value]) => {
if (value.show) {
arr.push(key);
if (value.child) {
arr = arr.concat(flat(value.child).map(name => key + '.' + name));
}
}
})
return arr;
}
const arr = flat(obj);
import('template.html')
и происвоить его как строку переменной <div my-plugin>
<div class="block1">
<div>
<div></div>
</div>
</div>
<div class="block2"></div>
<div class="block3">
<div></div>
</div>
</div>
[my-plugin] .block1
[my-plugin].block1
let obj = { old: 1};
let save = obj;
obj.prop = obj = { new: 1};
console.log(obj);
console.log(save);