mirror of
https://gitee.com/wot-design-uni/wot-design-uni.git
synced 2025-12-06 09:08:51 +08:00
79 lines
2.3 KiB
JavaScript
79 lines
2.3 KiB
JavaScript
/*
|
|
* @Author: weisheng
|
|
* @Date: 2022-12-02 14:34:18
|
|
* @LastEditTime: 2022-12-15 09:52:08
|
|
* @LastEditors: weisheng
|
|
* @Description: .d.ts移动到制品
|
|
* @FilePath: \fant-mini-plus\typesCopy.js
|
|
* 记得注释
|
|
*/
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
const srcRoot = path.join(__dirname, './src/uni_modules/fant-mini-plus/types')
|
|
const targetSrcRoot = path.join(__dirname, './src/uni_modules/fant-mini-plus')
|
|
const componentRoot = path.join(__dirname, './src/uni_modules/fant-mini-plus')
|
|
const componentNames = fs
|
|
// 获取所有文件夹及文件
|
|
.readdirSync(`${componentRoot}/components`, {
|
|
withFileTypes: true
|
|
})
|
|
// 筛选出所有文件夹
|
|
.filter((p) => {
|
|
return p.isDirectory() && fs.existsSync(`${componentRoot}/components/${p.name}/index.ts`)
|
|
})
|
|
// 数据预处理
|
|
.map((p) => {
|
|
return {
|
|
path: `components/${p.name}/index`,
|
|
name: p.name
|
|
}
|
|
})
|
|
.concat({
|
|
path: 'index',
|
|
name: 'index'
|
|
})
|
|
const copy = () => {
|
|
componentNames.forEach((component) => {
|
|
const sourcePath = `${srcRoot}/${component.path.replace(/index/g, '')}/index.d.ts`.replace(/\/\//g, '/')
|
|
const targetPath = `${targetSrcRoot}/${component.path.replace(/index/g, '')}/index.d.ts`.replace(/\/\//g, '/')
|
|
if (fs.existsSync(sourcePath)) {
|
|
try {
|
|
fs.copyFileSync(sourcePath, targetPath)
|
|
} catch (e) {
|
|
console.log(e, '复制失败')
|
|
}
|
|
}
|
|
const sourceTypesPath = `${srcRoot}/${component.path.replace(/index/g, '')}/types.d.ts`.replace(/\/\//g, '/')
|
|
const targetTypesPath = `${targetSrcRoot}/${component.path.replace(/index/g, '')}/types.d.ts`.replace(/\/\//g, '/')
|
|
if (fs.existsSync(sourceTypesPath)) {
|
|
try {
|
|
fs.copyFileSync(sourceTypesPath, targetTypesPath)
|
|
} catch (e) {
|
|
console.log(e, '复制失败')
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
const deleteTarget = function (tarPath) {
|
|
if (!fs.existsSync(tarPath)) {
|
|
return
|
|
}
|
|
const files = fs.readdirSync(tarPath)
|
|
files.forEach(function (filename) {
|
|
const filedir = path.join(tarPath, filename)
|
|
const stats = fs.statSync(filedir)
|
|
const isFile = stats.isFile()
|
|
if (isFile) {
|
|
// 删除文件
|
|
fs.rmSync(filedir)
|
|
} else {
|
|
deleteTarget(filedir) // 递归
|
|
}
|
|
})
|
|
fs.rmdirSync(tarPath)
|
|
}
|
|
|
|
copy()
|
|
deleteTarget(srcRoot)
|