Using TypeScript
Although Vue.js officially provides TypeScript definition files, the framework it self is not written using this technology and thus not 100% ready to use it for you next big project.
If you search for a best-practice advice, then use TypeScript when writing Vue.js plugins (weh nusing only .ts files) and JavaScript for components and your actual projects (when using also .vue files). Currently, by using TypeScript in your Vue.js projects you accept a risk of having serious problems and lack of support.
If you wonder how to structure your TypeScript-based Vue.js plugin then take a look at the RawModel Vue.js Plugin.