Skip to content

Commit 6e8c4d1

Browse files
authored
fix(antdv): add cjs options, close #202 (#231)
1 parent 72fc4ec commit 6e8c4d1

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

src/core/resolvers/antdv.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import { resolve } from 'path'
12
import { ComponentResolver, SideEffectsInfo } from '../../types'
23
import { kebabCase } from '../utils'
3-
44
interface IMatcher {
55
pattern: RegExp
66
styleDir: string
@@ -180,6 +180,11 @@ export interface AntDesignVueResolverOptions {
180180
* @deprecated use `importStyle: 'less'` instead
181181
*/
182182
importLess?: boolean
183+
184+
/**
185+
* use commonjs build default false
186+
*/
187+
cjs?: boolean
183188
}
184189

185190
function getStyleDir(compName: string): string {
@@ -206,14 +211,15 @@ function getSideEffects(compName: string, options: AntDesignVueResolverOptions):
206211

207212
if (!importStyle)
208213
return
214+
const lib = options.cjs ? 'lib' : 'es'
209215

210216
if (importStyle === 'less' || importLess) {
211217
const styleDir = getStyleDir(compName)
212-
return `ant-design-vue/es/${styleDir}/style`
218+
return `ant-design-vue/${lib}/${styleDir}/style`
213219
}
214220
else {
215221
const styleDir = getStyleDir(compName)
216-
return `ant-design-vue/es/${styleDir}/style/css`
222+
return `ant-design-vue/${lib}/${styleDir}/style/css`
217223
}
218224
}
219225
const primitiveNames = ['Affix', 'Anchor', 'AnchorLink', 'AutoComplete', 'AutoCompleteOptGroup', 'AutoCompleteOption', 'Alert', 'Avatar', 'AvatarGroup', 'BackTop', 'Badge', 'BadgeRibbon', 'Breadcrumb', 'BreadcrumbItem', 'BreadcrumbSeparator', 'Button', 'ButtonGroup', 'Calendar', 'Card', 'CardGrid', 'CardMeta', 'Collapse', 'CollapsePanel', 'Carousel', 'Cascader', 'Checkbox', 'CheckboxGroup', 'Col', 'Comment', 'ConfigProvider', 'DatePicker', 'MonthPicker', 'WeekPicker', 'RangePicker', 'QuarterPicker', 'Descriptions', 'DescriptionsItem', 'Divider', 'Dropdown', 'DropdownButton', 'Drawer', 'Empty', 'Form', 'FormItem', 'FormItemRest', 'Grid', 'Input', 'InputGroup', 'InputPassword', 'InputSearch', 'Textarea', 'Image', 'ImagePreviewGroup', 'InputNumber', 'Layout', 'LayoutHeader', 'LayoutSider', 'LayoutFooter', 'LayoutContent', 'List', 'ListItem', 'ListItemMeta', 'Menu', 'MenuDivider', 'MenuItem', 'MenuItemGroup', 'SubMenu', 'Mentions', 'MentionsOption', 'Modal', 'Statistic', 'StatisticCountdown', 'PageHeader', 'Pagination', 'Popconfirm', 'Popover', 'Progress', 'Radio', 'RadioButton', 'RadioGroup', 'Rate', 'Result', 'Row', 'Select', 'SelectOptGroup', 'SelectOption', 'Skeleton', 'SkeletonButton', 'SkeletonAvatar', 'SkeletonInput', 'SkeletonImage', 'Slider', 'Space', 'Spin', 'Steps', 'Step', 'Switch', 'Table', 'TableColumn', 'TableColumnGroup', 'TableSummary', 'TableSummaryRow', 'TableSummaryCell', 'Transfer', 'Tree', 'TreeNode', 'DirectoryTree', 'TreeSelect', 'TreeSelectNode', 'Tabs', 'TabPane', 'Tag', 'CheckableTag', 'TimePicker', 'TimeRangePicker', 'Timeline', 'TimelineItem', 'Tooltip', 'Typography', 'TypographyLink', 'TypographyParagraph', 'TypographyText', 'TypographyTitle', 'Upload', 'UploadDragger', 'LocaleProvider']
@@ -240,7 +246,9 @@ function isAntdv(compName: string): boolean {
240246
* @author @yangss3
241247
* @link https://antdv.com/
242248
*/
243-
export function AntDesignVueResolver(options: AntDesignVueResolverOptions = {}): ComponentResolver {
249+
export function AntDesignVueResolver(options: AntDesignVueResolverOptions = {
250+
251+
}): ComponentResolver {
244252
return {
245253
type: 'component',
246254
resolve: (name: string) => {
@@ -253,10 +261,11 @@ export function AntDesignVueResolver(options: AntDesignVueResolverOptions = {}):
253261

254262
if (isAntdv(name) && !options?.exclude?.includes(name)) {
255263
const importName = name.slice(1)
256-
264+
const { cjs = false } = options
265+
const path = `ant-design-vue/${cjs ? 'lib' : 'es'}`
257266
return {
258267
importName,
259-
path: 'ant-design-vue/es',
268+
path,
260269
sideEffects: getSideEffects(importName, options),
261270
}
262271
}

0 commit comments

Comments
 (0)