naive-ui/scripts/utils/replace-define.js

23 lines
617 B
JavaScript
Raw Normal View History

2021-02-03 20:20:00 +08:00
const fs = require('fs').promises
const { walk } = require('.')
2021-02-03 20:20:00 +08:00
exports.replaceDefine = async (dirs, defines) => {
const defineKeys = Object.keys(defines)
2021-02-03 20:20:00 +08:00
const patterns = {}
2021-02-03 21:38:43 +08:00
defineKeys.forEach((key) => {
2021-02-03 20:20:00 +08:00
patterns[key] = new RegExp(key, 'g')
})
for (const dir of dirs) {
2021-02-03 20:20:00 +08:00
for await (const p of walk(dir)) {
const code = await fs.readFile(p, 'utf-8')
2021-02-03 21:38:43 +08:00
for (const key of defineKeys) {
2021-02-03 20:20:00 +08:00
const pattern = patterns[key]
if (pattern.test(code)) {
const outCode = code.replace(pattern, defines[key])
2021-02-03 20:20:00 +08:00
await fs.writeFile(p, outCode)
}
}
}
}
}