mirror of
https://github.com/tabler/tabler-icons.git
synced 2025-01-17 20:58:34 +01:00
49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
import cp from 'child_process'
|
|
import fs from 'fs'
|
|
import path from 'path'
|
|
import { getArgvs, getPackageJson, ICONS_SRC_DIR } from './helpers.mjs'
|
|
|
|
const p = getPackageJson()
|
|
|
|
const argv = getArgvs(),
|
|
version = argv['latest-version'] || `${p.version}`,
|
|
newVersion = argv['new-version'] || `${p.version}`
|
|
|
|
const setVersions = function(version, files) {
|
|
for (const i in files) {
|
|
const file = files[i],
|
|
filePath = path.join(ICONS_SRC_DIR, `${file}.svg`)
|
|
|
|
if (fs.existsSync(filePath)) {
|
|
let svgFile = fs.readFileSync(filePath).toString()
|
|
|
|
if (!svgFile.match(/version: ([0-9.]+)/i)) {
|
|
svgFile = svgFile.replace(/---\n<svg>/i, function(m) {
|
|
return `version: "${version}"\n${m}`
|
|
})
|
|
|
|
fs.writeFileSync(filePath, svgFile)
|
|
} else {
|
|
console.log(`File ${file} already has version`)
|
|
}
|
|
|
|
} else {
|
|
console.log(`File ${file} doesn't exists`)
|
|
}
|
|
}
|
|
}
|
|
|
|
if (version) {
|
|
cp.exec(`grep -RiL "version: " ${ICONS_SRC_DIR}/*.svg`, function(err, ret) {
|
|
let newIcons = []
|
|
|
|
ret.replace(/src\/_icons\/([a-z0-9-]+)\.svg/g, function(m, fileName) {
|
|
newIcons.push(fileName)
|
|
})
|
|
|
|
if (newIcons.length) {
|
|
setVersions(newVersion.replace(/\.0$/, ''), newIcons)
|
|
}
|
|
})
|
|
}
|