UNPKG

@wjunt/webpack-config

Version:

Presets of webpack config

61 lines (60 loc) 1.9 kB
"use strict"; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); const vue_loader_1 = require("vue-loader"); const utils_1 = require("../common/utils"); const common_1 = require("./common"); const VueFdPointPlugin = require("@wjunt/vue-fdpoint-plugin"); /** * Support compiling Vue SFC. */ function vue(_a = {}) { var { fdPointOptions } = _a, rule = __rest(_a, ["fdPointOptions"]); const loaders = [ { loader: 'vue-loader', options: lodash_1.defaultsDeep(rule.options, { extractCSS: !utils_1.isDevelopment(), }), }, ]; const plugins = [ new vue_loader_1.VueLoaderPlugin(), ]; if (fdPointOptions !== false) { loaders.push({ loader: '@wjunt/vue-fdpoint-loader', options: typeof fdPointOptions === 'boolean' ? {} : fdPointOptions, }); plugins.push(new VueFdPointPlugin()); } if (rule.cacheable !== false) { loaders.unshift(common_1.getCacheLoader(rule.cacheable)); } return { module: { rules: [ common_1.combineRule(rule, { test: /\.vue$/, use: loaders, }), ], }, resolve: { extensions: ['.vue'], }, plugins, }; } exports.vue = vue;