@codemonument/zod-semver@1.3.8Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
A simple deno module by @codemonument with a zod schema for validating semver. Uses official regex. Published to jsr & npm
Zod SemVer
A simple deno module by @codemonument with a zod schema for validating semver. Uses official regex.
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
Links
| 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)
- Update CHANGELOG.md with your changes
- Run
deno task uv <newVersion> - Run
deno task test - Commit changes & add git tag for your version
- Push changes & tags => github actions will deploy
Add Package
deno add jsr:@codemonument/zod-semver
Import symbol
import * as zod_semver from "@codemonument/zod-semver";
Import directly with a jsr specifier
import * as zod_semver from "jsr:@codemonument/zod-semver";
Add Package
pnpm i jsr:@codemonument/zod-semver
pnpm dlx jsr add @codemonument/zod-semver
Import symbol
import * as zod_semver from "@codemonument/zod-semver";
Add Package
yarn add jsr:@codemonument/zod-semver
yarn dlx jsr add @codemonument/zod-semver
Import symbol
import * as zod_semver from "@codemonument/zod-semver";
Add Package
vlt install jsr:@codemonument/zod-semver
Import symbol
import * as zod_semver from "@codemonument/zod-semver";
Add Package
npx jsr add @codemonument/zod-semver
Import symbol
import * as zod_semver from "@codemonument/zod-semver";
Add Package
bunx jsr add @codemonument/zod-semver
Import symbol
import * as zod_semver from "@codemonument/zod-semver";