UNPKG

1.13 kBJavaScriptView Raw
1/**
2 * Quasar App Extension index/runner script
3 * (runs on each dev/build)
4 *
5 * API: https://github.com/quasarframework/quasar/blob/master/app/lib/app-extension/IndexAPI.js
6 */
7
8module.exports = function(api, ctx) {
9 api.chainWebpack((chain, invoke) => {
10
11 if (api.prompts.webpack === 'vanilla') {
12 chain.resolve.extensions.add(".ts").add('.tsx')
13 chain.module
14 .rule("typescript")
15 .test(/\.tsx?$/)
16 .use("typescript")
17 .loader("ts-loader")
18 .options({
19 appendTsSuffixTo: [/\.vue$/],
20 onlyCompileBundledFiles: true
21 })
22
23 } else if (api.prompts.webpack === 'plugin') {
24 const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin')
25 chain.resolve.extensions.add('.ts').add('.tsx')
26 chain.module
27 .rule('typescript')
28 .test(/\.tsx?$/)
29 .use('typescript')
30 .loader('ts-loader')
31 .options({
32 appendTsSuffixTo: [/\.vue$/],
33 // Type checking is handled by fork-ts-checker-webpack-plugin
34 transpileOnly: true
35 })
36 chain.plugin('ts-checker').use(ForkTsCheckerWebpackPlugin, [{ vue: true }])
37 }
38 })
39}