I assumed most of this was already standard practice. Although boilerplate is useful to have on hand. Two thoughts:
1. Vue seems to follow most of these paradigms, including "pass data down, bubble events up" and directory structure.
2. This is a stupid complaint, but putting *.ts files in a directory named "js" bothers me. Of course, it makes more sense if one doesn't like typescript and just uses ES6+ as I am wont to do.