123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import path from 'path'
- import { copyFile, mkdir } from 'fs/promises'
- import { copy } from 'fs-extra'
- import { parallel, series } from 'gulp'
- import {
- buildOutput,
- epOutput,
- epPackage,
- projRoot,
- } from '@element-plus/build-utils'
- import { buildConfig, run, runTask, withTaskName } from './src'
- import type { TaskFunction } from 'gulp'
- import type { Module } from './src'
- export const copyFiles = () =>
- Promise.all([
- copyFile(epPackage, path.join(epOutput, 'package.json')),
- copyFile(
- path.resolve(projRoot, 'README.md'),
- path.resolve(epOutput, 'README.md')
- ),
- copyFile(
- path.resolve(projRoot, 'global.d.ts'),
- path.resolve(epOutput, 'global.d.ts')
- ),
- ])
- export const copyTypesDefinitions: TaskFunction = (done) => {
- const src = path.resolve(buildOutput, 'types', 'packages')
- const copyTypes = (module: Module) =>
- withTaskName(`copyTypes:${module}`, () =>
- copy(src, buildConfig[module].output.path, { recursive: true })
- )
- return parallel(copyTypes('esm'), copyTypes('cjs'))(done)
- }
- export const copyFullStyle = async () => {
- await mkdir(path.resolve(epOutput, 'dist'), { recursive: true })
- await copyFile(
- path.resolve(epOutput, 'theme-chalk/index.css'),
- path.resolve(epOutput, 'dist/index.css')
- )
- }
- export default series(
- withTaskName('clean', () => run('pnpm run clean')),
- withTaskName('createOutput', () => mkdir(epOutput, { recursive: true })),
- parallel(
- runTask('buildModules'),
- runTask('buildFullBundle'),
- runTask('generateTypesDefinitions'),
- runTask('buildHelper'),
- series(
- withTaskName('buildThemeChalk', () =>
- run('pnpm run -C packages/theme-chalk build')
- ),
- copyFullStyle
- )
- ),
- parallel(copyTypesDefinitions, copyFiles)
- )
- export * from './src'
|