@94ai/semver-patch
v1.0.3
Published
semver版本自动递增工具
Downloads
4
Readme
前言
semver版本自动递增工具(webpack5构建node包)
指定文件指定字段 按照semver规范自动递增(按照设定的Patch,Minor,Major范围限制++)
关于semver
安装
yarn add @xccjh/semver-patch
使用
// /auto-log-version.js
import { fileURLToPath } from 'url'
import { dirname, join } from 'path'
// 如果是cjs,使用 const { SemverPatch } = require('./lib/server-path.cjs.js')
import util from @xccjh/semver-patch
import packageJson from './package.json'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
interface VersionOption {
path: string
maxMinor: number
maxMajor: number
maxPatch: number
key: string
}
const semverPatch = new util.SemverPatch({
path: join(__dirname, './package.json'), // 👈 使用package.json
key: 'logVersion' // 👈 解析logVerison字段
maxMajor: 100, // major最大值
maxMinor: 100, // minor最大值
maxPatch: 100, // patch最大值
} as VersionOption)
// patch++
semverPatch.patchPatch()
// minor++
semverPatch.patchMinor()
// major++
semverPatch.patchMajor()
// 自动递增
semverPatch.autoPatch()
interface SemVer {
major?: string | undefined;
minor?: string | undefined;
patch?: string | undefined;
}
// 解析版本
const semVer: SemVer = semverPatch.getParseVersion(packageJson.logVersion) // packageJson.logVerison为诸如0.0.0
// 写入版本
semverPatch.writeVersion({
...semVer,
patch: semVer.patch++
})
默认值
path = './package.json'
key = 'logVersion'
maxMinor = 100
maxMajor = 100
maxPatch = 100
That's all