diff options
Diffstat (limited to 'gulpfile.js')
-rw-r--r-- | gulpfile.js | 103 |
1 files changed, 1 insertions, 102 deletions
diff --git a/gulpfile.js b/gulpfile.js index 5cb1bf57..d86a965d 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -13,8 +13,6 @@ const gulp = require('gulp'), sass = require('node-sass'), cleanCSS = require('clean-css'), argv = require('minimist')(process.argv.slice(2)), - svgParse = require('parse-svg-path'), - svgpath = require('svgpath'), svgr = require('@svgr/core').default const compileOptions = { @@ -389,7 +387,7 @@ gulp.task('build-zip', function () { return gulp.src('{icons/**/*,icons-png/**/*,icons-react/**/*,iconfont/**/*,tabler-sprite.svg,tabler-sprite-nostroke.svg}') .pipe(zip(`tabler-icons-${version}.zip`)) - .pipe(gulp.dest('packages')) + .pipe(gulp.dest('packages-zip')) }) gulp.task('build-jekyll', function (cb) { @@ -485,67 +483,7 @@ gulp.task('icons-stroke', gulp.series('build-jekyll', function (cb) { })) gulp.task('optimize', function (cb) { - const addFloats = function (n1, n2) { - return Math.round((parseFloat(n1) + parseFloat(n2)) * 1000) / 1000 - } - - const optimizePath = function (path) { - let transformed = svgpath(path) - .rel() - .round(3) - .toString() - - return svgParse(transformed).map(function (a) { - return a.join(' ') - }).join(' ') - } - - glob("src/_icons/*.svg", {}, function (er, files) { - files.forEach(function (file, i) { - let svgFile = fs.readFileSync(file), - svgFileContent = svgFile.toString() - - svgFileContent = svgFileContent - .replace(/><\/(polyline|line|rect|circle|path)>/g, '/>') - .replace(/rx="([^"]+)"\s+ry="\1"/g, 'rx="$1"') - .replace(/\s?\/>/g, ' />') - .replace(/\n\s*<(line|circle|path|polyline|rect)/g, "\n <$1") - .replace(/polyline points="([0-9.]+)\s([0-9.]+)\s([0-9.]+)\s([0-9.]+)"/g, 'line x1="$1" y1="$2" x2="$3" y2="$4"') - .replace(/<path d="([^"]+)"/g, function (f, r1) { - r1 = optimizePath(r1) - - return `<path d="${r1}"` - }) - .replace(/d="m/g, 'd="M') - .replace(/([Aa])\s?([0-9.]+)\s([0-9.]+)\s([0-9.]+)\s?([0-1])\s?([0-1])\s?(-?[0-9.]+)\s?(-?[0-9.]+)/gi, '$1$2 $3 $4 $5 $6 $7 $8') - .replace(/\n\n+/g, "\n") - - .replace(/<path d="M([0-9.]*) ([0-9.]*)l\s?([-0-9.]*) ([-0-9.]*)"/g, function (f, r1, r2, r3, r4) { - return `<line x1="${r1}" y1="${r2}" x2="${addFloats(r1, r3)}" y2="${addFloats(r2, r4)}"` - }) - .replace(/<path d="M([0-9.]*) ([0-9.]*)v\s?([-0-9.]*)"/g, function (f, r1, r2, r3) { - return `<line x1="${r1}" y1="${r2}" x2="${r1}" y2="${addFloats(r2, r3)}"` - }) - .replace(/<path d="M([0-9.]*) ([0-9.]*)h\s?([-0-9.]*)"/g, function (f, r1, r2, r3) { - return `<line x1="${r1}" y1="${r2}" x2="${addFloats(r1, r3)}" y2="${r2}"` - }) - .replace(/<path d="([^"]+)"/g, function (f, r1) { - r1 = r1 - .replace(/ -0\./g, " -.") - .replace(/ 0\./g, " .") - .replace(/\s([a-z])/gi, "$1") - .replace(/([a-z])\s/gi, "$1") - return `<path d="${r1}"` - }) - - if (svgFile.toString() !== svgFileContent) { - fs.writeFileSync(file, svgFileContent) - } - }) - - cb() - }) }) gulp.task('changelog-commit', function (cb) { @@ -700,48 +638,9 @@ gulp.task('svg-to-react', gulp.series('clean-react', async function (cb) { cb() })) -const setVersions = function (version, files) { - for (const i in files) { - const file = files[i] - - if (fs.existsSync(`src/_icons/${file}.svg`)) { - let svgFile = fs.readFileSync(`src/_icons/${file}.svg`).toString() - - if (!svgFile.match(/version: ([0-9.]+)/i)) { - svgFile = svgFile.replace(/---\n<svg>/i, function (m) { - return `version: "${version}"\n${m}` - }) - - fs.writeFileSync(`src/_icons/${file}.svg`, svgFile) - } else { - console.log(`File ${file} already has version`) - } - - } else { - console.log(`File ${file} doesn't exists`) - } - } -} gulp.task('update-icons-version', function (cb) { - const version = argv['latest-version'] || `${p.version}`, - newVersion = argv['new-version'] || `${p.version}` - - if (version) { - cp.exec(`grep -RiL "version: " ./src/_icons/*.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) - } - }) - } cb() }) |