UNPKG

@omnia/tooling-vue

Version:

Used to bundle and serve manifests web component that build on Vue framework.

62 lines (61 loc) 1.76 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); var path = require('path'); const $ = tslib_1.__importStar(require("../variables")); function default_1(treeshaking, wcDomProps, hotModuleReload) { const babelLoaderOptions = { cacheDirectory: true, plugins: [ // "@babel/plugin-transform-modules-commonjs", // "syntax-jsx", // "jsx-v-model", // "transform-vue-jsx" ], presets: [ [ '@vue/babel-preset-jsx', { vModel: true, compositionAPI: true, }, ], ] }; var tsLoaderOptions = { happyPackMode: true, transpileOnly: true }; if (treeshaking) { tsLoaderOptions.configFile = path.resolve(__dirname, "../config/tsconfig.es2015.json"); } let loaders = [ //{ // loader: 'cache-loader' //}, { loader: 'babel-loader', options: babelLoaderOptions }, //{ // loader: path.resolve(__dirname, './wcmanifest-loader.js') //}, { loader: path.resolve(__dirname, $.isExtensionEnv ? './vue-domprops-loader.js' : './vue-domprops-loader.ts'), options: wcDomProps } ]; if (hotModuleReload) { loaders.push({ loader: path.resolve(__dirname, $.isExtensionEnv ? './vue-tsx-hot-loader.js' : './vue-tsx-hot-loader.ts') }); } return [ { test: /\.jsx$/, exclude: /(node_modules|bower_components)/, use: loaders } ]; } exports.default = default_1;