134 lines
2.4 KiB
TypeScript
134 lines
2.4 KiB
TypeScript
|
// const fs = require('fs')
|
||
|
// const files = fs.readdirSync(
|
||
|
// 'D:\\github\\vue3-admin-ts\\node_modules\\.pnpm\\element-plus@2.2.9_vue@3.2.37\\node_modules\\element-plus\\es\\components\\'
|
||
|
// )
|
||
|
// console.log(111, JSON.stringify(files))
|
||
|
// console.log(console.dir(files))
|
||
|
// console.log(console.dir(files.slice(20)))
|
||
|
|
||
|
import { resolve } from 'path'
|
||
|
|
||
|
const elementPlusComponentNameArr = [
|
||
|
'affix',
|
||
|
'alert',
|
||
|
'aside',
|
||
|
'autocomplete',
|
||
|
'avatar',
|
||
|
'backtop',
|
||
|
'badge',
|
||
|
'base',
|
||
|
'breadcrumb',
|
||
|
'breadcrumb-item',
|
||
|
'button',
|
||
|
'button-group',
|
||
|
'calendar',
|
||
|
'card',
|
||
|
'carousel',
|
||
|
'carousel-item',
|
||
|
'cascader',
|
||
|
'cascader-panel',
|
||
|
'check-tag',
|
||
|
'checkbox',
|
||
|
'checkbox-button',
|
||
|
'checkbox-group',
|
||
|
'col',
|
||
|
'collapse',
|
||
|
'collapse-item',
|
||
|
'collapse-transition',
|
||
|
'color-picker',
|
||
|
'config-provider',
|
||
|
'container',
|
||
|
'date-picker',
|
||
|
'descriptions',
|
||
|
'descriptions-item',
|
||
|
'dialog',
|
||
|
'divider',
|
||
|
'drawer',
|
||
|
'dropdown',
|
||
|
'dropdown-item',
|
||
|
'dropdown-menu',
|
||
|
'empty',
|
||
|
'footer',
|
||
|
'form',
|
||
|
'form-item',
|
||
|
'header',
|
||
|
'icon',
|
||
|
'image',
|
||
|
'image-viewer',
|
||
|
'infinite-scroll',
|
||
|
'input',
|
||
|
'input-number',
|
||
|
'link',
|
||
|
'loading',
|
||
|
'main',
|
||
|
'menu',
|
||
|
'menu-item',
|
||
|
'menu-item-group',
|
||
|
'message',
|
||
|
'message-box',
|
||
|
'notification',
|
||
|
'option',
|
||
|
'option-group',
|
||
|
'overlay',
|
||
|
'page-header',
|
||
|
'pagination',
|
||
|
'popconfirm',
|
||
|
'popover',
|
||
|
'popper',
|
||
|
'progress',
|
||
|
'radio',
|
||
|
'radio-button',
|
||
|
'radio-group',
|
||
|
'rate',
|
||
|
'result',
|
||
|
'row',
|
||
|
'scrollbar',
|
||
|
'select',
|
||
|
'select-v2',
|
||
|
'skeleton',
|
||
|
'skeleton-item',
|
||
|
'slider',
|
||
|
'space',
|
||
|
'step',
|
||
|
'steps',
|
||
|
'sub-menu',
|
||
|
'switch',
|
||
|
'tab-pane',
|
||
|
'table',
|
||
|
'table-column',
|
||
|
'table-v2',
|
||
|
'tabs',
|
||
|
'tag',
|
||
|
'teleport',
|
||
|
'time-picker',
|
||
|
'time-select',
|
||
|
'timeline',
|
||
|
'timeline-item',
|
||
|
'tooltip',
|
||
|
'transfer',
|
||
|
'tree',
|
||
|
'tree-select',
|
||
|
'tree-v2',
|
||
|
'upload',
|
||
|
'virtual-list'
|
||
|
]
|
||
|
|
||
|
export const pkgPath = resolve(__dirname, './package.json')
|
||
|
|
||
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||
|
let { dependencies } = require(pkgPath)
|
||
|
dependencies = Object.keys(dependencies).filter((dep) => !dep.startsWith('@types/'))
|
||
|
|
||
|
const EPDepsArr = () => {
|
||
|
const depsArr = [] as string[]
|
||
|
elementPlusComponentNameArr.forEach((feItem) => {
|
||
|
depsArr.push(`element-plus/es/components/${feItem}/style/index`)
|
||
|
})
|
||
|
return depsArr
|
||
|
}
|
||
|
|
||
|
export const optimizeElementPlus = EPDepsArr()
|
||
|
export const optimizeDependencies = dependencies
|
||
|
|
||
|
export default []
|