Skip to content

Commit 6e8c4d1

Browse files
authored
fix(antdv): add cjs options, close unplugin#202 (unplugin#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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy