1.0.3 • Published 10 months ago

@94ai/semver-patch v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

前言

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

1.0.3

10 months ago

1.0.2

10 months ago