title: Build typescript vue apps with only babel?
body: <p>How can I transpile and build my typescript vue app with only babel? I used the vue-cli-service extensively but reached a point where I just need a minimal setup, without webpack or anything.</p>
  <p>My .babelrc</p>
  <pre><code>{
      &quot;presets&quot;: [&quot;babel-preset-typescript-vue&quot;],
      &quot;plugins&quot;: [&quot;@babel/plugin-transform-typescript&quot;]
  }
  </code></pre>
  <p>My package.json dependencies:</p>
  <pre><code>&quot;devDependencies&quot;: {
      &quot;@babel/cli&quot;: &quot;^7.10.5&quot;,
      &quot;@babel/plugin-transform-typescript&quot;: &quot;^7.11.0&quot;,
      &quot;@babel/preset-env&quot;: &quot;^7.11.0&quot;,
      &quot;babel-loader&quot;: &quot;^8.1.0&quot;,
      &quot;babel-preset-env&quot;: &quot;^1.7.0&quot;,
      &quot;babel-preset-typescript-vue&quot;: &quot;^1.1.1&quot;,
      &quot;typescript&quot;: &quot;~3.9.3&quot;,
      &quot;vue-template-compiler&quot;: &quot;^2.6.11&quot;
  },
  &quot;dependencies&quot;: {
      &quot;vue&quot;: &quot;^2.6.12&quot;,
      &quot;vue-class-component&quot;: &quot;^7.2.3&quot;,
      &quot;vue-property-decorator&quot;: &quot;^8.4.2&quot;,
      &quot;vuex&quot;: &quot;^3.5.1&quot;
  }
  </code></pre>
  <p>My entry main.ts file:</p>
  <pre class="lang-js prettyprint-override"><code>import Vue from 'vue'
  import Vuex from 'vuex';
  import App from './App.vue'
  
  Vue.config.productionTip = false;
  Vue.use(Vuex);
      
  new Vue({render: h =&gt; h(App)}).$mount('#app');
  </code></pre>
  <p>My App.vue</p>
  <pre><code>&lt;script lang=&quot;ts&quot;&gt;
      import {Component, Vue} from 'vue-property-decorator';
  
      @Component
      class App extends Vue {}
  
      export default App;
  &lt;/script&gt;
      
  &lt;template&gt;
      &lt;div class=&quot;foobar&quot;&gt;Babel worked&lt;/div&gt;
  &lt;/template&gt;
  </code></pre>
  <p>My build script:</p>
  <pre><code>babel src/main.ts --out-dir build
  </code></pre>