@ehmicky/dev-tasks
Version:
Automated development tasks for my own projects
64 lines (44 loc) • 1.3 kB
JavaScript
import{fileURLToPath}from"node:url";
import gulp from"gulp";
import releaseIt from"release-it";
import{links}from"../links/main.js";
import{testTask}from"../test_task.js";
import{checkVersions}from"./version.js";
const CHANGELOG_SCRIPT=fileURLToPath(
new URL("changelog/main.js",import.meta.url)
);
const releaseItTask=async(increment)=>{
await releaseIt({
...RELEASE_IT_CONFIG,
increment,
git:{
...RELEASE_IT_CONFIG.git,
changelog:`node ${CHANGELOG_SCRIPT} ${increment}`
}
})
};
const RELEASE_IT_CONFIG={
ci:true,
git:{
commitMessage:"v${version}",
requireBranch:"main",
requireCommits:true
},
github:{
release:true,
releaseName:"v${version}"
},
npm:{
publish:false
}
};
const prereleaseTasks=[checkVersions,links,testTask];
const releaseItMajor=()=>releaseItTask("major");
export const releaseMajor=gulp.series(...prereleaseTasks,releaseItMajor);
releaseMajor.description="Release a new major version x.*.*";
const releaseItMinor=()=>releaseItTask("minor");
export const releaseMinor=gulp.series(...prereleaseTasks,releaseItMinor);
releaseMinor.description="Release a new minor version *.x.*";
const releaseItPatch=()=>releaseItTask("patch");
export const releasePatch=gulp.series(...prereleaseTasks,releaseItPatch);
releasePatch.description="Release a new patch version *.*.x";