npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ryancircelli/zodorm

v1.1.2

Published

ZodOrm is a powerful and flexible ORM solution for NoSQL databases, specifically designed to work seamlessly with TypeScript and Zod. It provides robust type generation, schema validation, and integration with infrastructure management tools like Terrafor

Downloads

98

Readme

ZodOrm

ZodOrm is a powerful and flexible ORM solution for NoSQL databases, specifically designed to work seamlessly with TypeScript and Zod. It provides robust type generation, schema validation, and integration with infrastructure management tools like Terraform.

Features

Table Definitions

Define your database tables with ease using ZodOrm. It supports:

  • Primary Key, Sort Key: Define primary and sort keys for efficient data retrieval.
  • Global Secondary Index (GSI): Add GSIs to optimize query performance and add more flexibility to your data models.

Type Generation

Automatically generate TypeScript types from your schema definitions to ensure type safety across your application.

  • Table Name Enums: Enumerations for table names to avoid hardcoding strings and reduce errors.
  • GSI Name Enums: Enumerations for GSI names to ensure consistency.
  • Table Key Types: Types for table keys (primary and sort keys) for better type checking.
  • GSI Key Types: Types for GSI keys to maintain type safety in your queries.

Zod Schema Exposure

Expose your table schemas as Zod schemas for validation and parsing.

  • Requires default values for missing fields. Useful for ZodObject parsing from an unreliable source (the NoSQL table)!

  • Table Zod Schema Exposure: Use the Zod schemas directly in your application for runtime type validation and data parsing.

Watch Changes

Automatically watch your schema files for changes and regenerate types as needed.

  • Watch the Schema for Changes: Set up watchers on your schema files to detect changes and regenerate TypeScript types on the fly.

Schema Exporting

Easily export your schemas for use with other tools and processes.

  • Terraform Integration: Export your schemas for seamless integration with Terraform. Use the provided Terraform module to deploy your tables effortlessly.
    • Use the Exported Schema: Generate Terraform configurations from your schema definitions.
    • Provided Terraform Module: Deploy your tables with minimal configuration using the pre-built Terraform module.

Todo

  • Usage Docs
  • Tests