123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import path from 'path'
- import { PKG_NAME } from '@kankan/build-constants'
- import { epOutput } from '@kankan/build-utils'
- import type { ModuleFormat } from 'rollup'
- export const modules = ['esm', 'cjs'] as const
- export type Module = typeof modules[number]
- export interface BuildInfo {
- module: 'ESNext' | 'CommonJS'
- format: ModuleFormat
- ext: 'mjs' | 'cjs' | 'js'
- output: {
- /** e.g: `es` */
- name: string
- /** e.g: `dist/element-plus/es` */
- path: string
- }
- bundle: {
- /** e.g: `element-plus/es` */
- path: string
- }
- }
- export const buildConfig: Record<Module, BuildInfo> = {
- esm: {
- module: 'ESNext',
- format: 'esm',
- ext: 'mjs',
- output: {
- name: 'es',
- path: path.resolve(epOutput, 'es'),
- },
- bundle: {
- path: `${PKG_NAME}/es`,
- },
- },
- cjs: {
- module: 'CommonJS',
- format: 'cjs',
- ext: 'js',
- output: {
- name: 'lib',
- path: path.resolve(epOutput, 'lib'),
- },
- bundle: {
- path: `${PKG_NAME}/lib`,
- },
- },
- }
- export const buildConfigEntries = Object.entries(buildConfig) as BuildConfigEntries
- export type BuildConfig = typeof buildConfig
- export type BuildConfigEntries = [Module, BuildInfo][]
- export const target = 'es2018'
|