Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@snaplet/seed

Package Overview
Dependencies
Maintainers
0
Versions
238
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@snaplet/seed

An auto-generated ORM-like library for generating seed data tailored to your own database

  • 0.98.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
7.1K
decreased by-14.08%
Maintainers
0
Weekly downloads
 
Created
Source
Seed by Snaplet logo

No data? No problem!

Automatically seed your database with production-like dummy data based on your schema for local development and testing.

Automated values

Automated values
Seed automatically determines the values in your database so you don’t have to define each and every value unless you want to be specific, in which case you just use Typescript to define those values. Our default data automatically adds necessary built-ins, like country lists, currency codes etc.

Automated relationships

Automated relationships

Seed automatically creates relational entities so you don’t have to keep track of IDs in one table when you’re defining values in another.

Type-safe by default

await seed.posts([{
  title: "Why you need Seed",
  author: {
    email: "snappy@snaplet.dev",
  },
  comments: (x) => x(3),
}]);

Seed creates a TypeScript client based off your database structure. Values are safe, and soft documented. You have the full power of the typescript language and the rich node.js infrastructure when seeding production-like data and defining data values.

Deterministic data

Deterministic data

Seed uses Copycat for its data generation functions, and all data generation is fully deterministic. That means if you use the same inputs, you'll always get the same data outputs. That makes seed great for consistent tests and development.

Try out Seed

npx @snaplet/seed init

Learn more by reading our documentation.

AI-Generated Data

Use a Large Language Model (LLM) to generate examples for text-based entries. To use this feature, set up one of the following environment variables in your .env file:

OPENAI_API_KEY=<your_openai_api_key>
GROQ_API_KEY=<your_groq_api_key>

Optionally, specify the AI model name with the AI_MODEL_NAME environment variable. Example: AI_MODEL_NAME=gpt-4-mini

The predicted data is saved in the file .snaplet/dataExamples.json and can be modified by the user.

Here is an example of a dataExamples.json file:

[
  {
    "input": "post title",
    "examples": [
      "Tips for Effective Time Management",
      ...
    ],
    "description": "This column is about storing the titles of the user-generated posts in the project."
  },
  ...
]

In the above example, one could modify the description and remove the examples. Running npx @snaplet/seed sync will then regenerate examples based on the updated description for that column.

FAQs

Package last updated on 30 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc