diff options
| -rw-r--r-- | gulpfile.js | 73 | ||||
| -rw-r--r-- | package.json | 8 | 
2 files changed, 54 insertions, 27 deletions
diff --git a/gulpfile.js b/gulpfile.js index 9afd7e0b..3de333d0 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -217,10 +217,7 @@ gulp.task('icons-sprite', function (cb) {  });  gulp.task('icons-preview', function (cb) { - -	glob("_site/icons/*.svg", {}, function (er, files) { -		console.log('files', files); - +	glob("icons/*.svg", {}, function (er, files) {  		generateIconsPreview(files, '.github/icons.svg', cb);  	});  }); @@ -311,38 +308,68 @@ gulp.task('changelog-commit', function (cb) {  	});  }); -gulp.task('changelog-diff', function (cb) { +gulp.task('changelog', function (cb) {  	const version = argv['latest-tag'] || `v${p.version}`; -	 -	cp.exec(`git diff ${version} HEAD --name-status`, function (err, ret) { -		let newIcons = [], modifiedIcons = [], renamedIcons = []; +	if(version) { +		cp.exec(`git diff ${version} HEAD --name-status`, function (err, ret) { -		ret.replace(/A\s+src\/_icons\/([a-z1-9-]+)\.svg/g, function (m, fileName) { -			newIcons.push(fileName); -		}); +			let newIcons = [], modifiedIcons = [], renamedIcons = []; -		ret.replace(/M\s+src\/_icons\/([a-z1-9-]+)\.svg/g, function (m, fileName) { -			modifiedIcons.push(fileName); -		}); +			ret.replace(/A\s+src\/_icons\/([a-z1-9-]+)\.svg/g, function (m, fileName) { +				newIcons.push(fileName); +			}); -		ret.replace(/R[0-9]+\s+src\/_icons\/([a-z1-9-]+)\.svg\s+src\/_icons\/([a-z1-9-]+).svg/g, function (m, fileNameBefore, fileNameAfter) { -			renamedIcons.push([fileNameBefore, fileNameAfter]); -		}); +			ret.replace(/M\s+src\/_icons\/([a-z1-9-]+)\.svg/g, function (m, fileName) { +				modifiedIcons.push(fileName); +			}); -		modifiedIcons = modifiedIcons.filter(function (el) { -			return newIcons.indexOf(el) < 0; +			ret.replace(/R[0-9]+\s+src\/_icons\/([a-z1-9-]+)\.svg\s+src\/_icons\/([a-z1-9-]+).svg/g, function (m, fileNameBefore, fileNameAfter) { +				renamedIcons.push([fileNameBefore, fileNameAfter]); +			}); + +			modifiedIcons = modifiedIcons.filter(function (el) { +				return newIcons.indexOf(el) < 0; +			}); + +			printChangelog(newIcons, modifiedIcons, renamedIcons); + +			cb();  		}); +	} +}); -		printChangelog(newIcons, modifiedIcons, renamedIcons); +gulp.task('changelog-image', function (cb) { +	const version = argv['latest-version'] || `${p.version}`, +		newVersion = argv['new-version'] || `${p.version}`; + +	if(version) { +		cp.exec(`git diff v${version} HEAD --name-status`, function (err, ret) { + +			let newIcons = []; +			ret.replace(/[AD]\s+src\/_icons\/([a-z1-9-]+)\.svg/g, function (m, fileName) { +				newIcons.push(fileName); +			}); + +			newIcons = newIcons.map(function(icon){ +				return `./icons/${icon}.svg`; +			}); + +			if(newIcons.length > 0) { +				generateIconsPreview(newIcons, `packages/tabler-icons-${newVersion}.svg`, cb, 6); +			} else { +				cb(); +			} +		}); +	} else {  		cb(); -	}); +	}  });  gulp.task('svg-to-png', gulp.series('build-jekyll', 'clean-png', async (cb) => { -	let files = glob.sync("_site/icons/*.svg"); +	let files = glob.sync("./icons/*.svg");  	await asyncForEach(files, async function (file, i) {  		let name = path.basename(file, '.svg'); @@ -355,4 +382,4 @@ gulp.task('svg-to-png', gulp.series('build-jekyll', 'clean-png', async (cb) => {  	cb();  })); -gulp.task('build', gulp.series('optimize', 'build-jekyll', 'build-copy', 'icons-sprite', 'icons-preview', 'svg-to-png', 'build-zip')); +gulp.task('build', gulp.series('optimize', 'build-jekyll', 'build-copy', 'icons-sprite', 'icons-preview', 'svg-to-png', 'changelog-image', 'build-zip')); diff --git a/package.json b/package.json index d216e1fd..cd9423fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@  {    "name": "tabler-icons", -  "version": "1.0.3", +  "version": "1.0.4",    "repository": {      "type": "git",      "url": "git+https://github.com/tabler/tabler-icons.git" @@ -41,11 +41,11 @@    },    "release-it": {      "hooks": { -      "after:bump": "npm run build", -      "after:release": "echo Successfully released ${name} v${version} to ${repo.repository}." +      "after:bump": "npm run build --latest-version ${latestVersion} --new-version ${version}", +      "after:release": "echo Successfully released ${name} v${latestVersion} to ${repo.repository}."      },      "git": { -      "changelog": "gulp changelog-diff --silent --latest-tag ${latestTag}", +      "changelog": "gulp changelog --silent --latest-tag ${latestTag}",        "tagName": "v${version}",        "requireBranch": "master",        "requireCommits": true  | 
