UNPKG

vue-cli-plugin-antd

Version:

@vue/cli plugin to add ant-design-vue

65 lines (64 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = require("../index"); const vue_cli_plugin_tools_1 = require("vue-cli-plugin-tools"); /** * VUE Generator 扩展 * @param api GeneratorAPI 实例 * @param opts 插件配置选项 * @param preset 当前使用预设 */ exports.default = (api, opts, preset) => { const isVue3 = preset.vueVersion === '3'; /* 预设中的配置 */ const { antd } = preset; const mergeOpts = { ...index_1.DEFAULT_ANTD_PLUGIN_OPTION, ...opts }; if (!mergeOpts.registry) { delete mergeOpts.registry; } const { versions, ...rest } = mergeOpts; const devDependencies = { less: versions.less, 'less-loader': versions['less-loader'], }; const codeModOptions = { importName: 'Antd', libraryName: 'ant-design-vue', style: { dir: 'dist', name: 'antd', suffix: opts.style === true ? 'less' : 'css', }, }; /* 入口文件转换 */ const entryFileTransform = vue_cli_plugin_tools_1.useTransform({ ...codeModOptions, /* 按需引入时移除导入 */ remove: opts.importType !== 'full', }); api.transformScript(api.entryFile, entryFileTransform); /* 转换 babel 配置文件 */ const babelConfigFileTransform = vue_cli_plugin_tools_1.babelTransform({ ...codeModOptions, /* 全量引入时移除插件 */ remove: opts.importType === 'full', }); api.transformScript('babel.config.js', babelConfigFileTransform); devDependencies['babel-plugin-import'] = versions['babel-plugin-import']; api.extendPackage({ dependencies: { 'ant-design-vue': versions['ant-design-vue'], }, devDependencies, vue: { pluginOptions: { antd: { ...rest }, }, css: { loaderOptions: { less: { lessOptions: { javascriptEnabled: true } }, }, }, }, }); };