Skip to main content

A simple deno module by @codemonument with a zod schema for validating semver. Uses official regex. Published to jsr & npm

Works with
This package works with Bun
It is unknown whether this package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Browsers
JSR Score
76%
Published
2 months ago

Zod SemVer

JSR NPM Version

A simple deno module by @codemonument with a zod schema for validating semver. Uses official regex.

Warning

Not published to deno.land/x/zod_semver anymore! Use the jsr package instead:
jsr:@codemonument/zod-semver!

Usage

Import in Deno

deno add @codemonument/zod-semver
import {ZodSemver} from '@codemonument/zod-semver';

Import in Node

npm add @codemonument/zod-semver
import {ZodSemver} from 'zod-semver';

Usage after Import

// Use like any other Zod Schema:
ZodSemver.parse('1.0.0');

// Or include in another Zod Schema like this:

const MyObjectSchema = z.object({
	version: ZodSemver,
	name: z.string(),
	age: z.number().optional(),
});

Using the branded ZodSemver type

At it's base, the ZodSemver type is simply a more refined string. So the TS type for it is string. However, sometimes it might be useful for a function to make sure that it only receives an already parsed semver string. This is possible via the branded ZodSemver type.

'branded' means that the type is a string, but with a special property atached that makes it unique. See the zod docs for more information: https://zod.dev/?id=brand

Name Target
Git Repo https://github.com/codemonument/deno_zod_semver
JSR https://jsr.io/@codemonument/zod-semver/
NPM https://www.npmjs.com/package/zod-semver

Create new version of this package (for maintainers)

  1. Update CHANGELOG.md with your changes
  2. Run deno task uv <newVersion>
  3. Run deno task test
  4. Commit changes & add git tag for your version
  5. Push changes & tags => github actions will deploy
Built and signed on
GitHub Actions
View transparency log

Add Package

deno add @codemonument/zod-semver

Import symbol

import * as mod from "@codemonument/zod-semver";

Add Package

npx jsr add @codemonument/zod-semver

Import symbol

import * as mod from "@codemonument/zod-semver";

Add Package

yarn dlx jsr add @codemonument/zod-semver

Import symbol

import * as mod from "@codemonument/zod-semver";

Add Package

pnpm dlx jsr add @codemonument/zod-semver

Import symbol

import * as mod from "@codemonument/zod-semver";

Add Package

bunx jsr add @codemonument/zod-semver

Import symbol

import * as mod from "@codemonument/zod-semver";