An open API service indexing awesome lists of open source software.

https://github.com/omar-dulaimi/prisma-json-server-generator

Prisma 2+ generator to emit a JSON file that can be run with json-server
https://github.com/omar-dulaimi/prisma-json-server-generator

json-server prisma prisma-generator

Last synced: about 1 year ago
JSON representation

Prisma 2+ generator to emit a JSON file that can be run with json-server

Awesome Lists containing this project

README

          

[![npm version](https://badge.fury.io/js/prisma-json-server-generator.svg)](https://badge.fury.io/js/prisma-json-server-generator)
[![npm](https://img.shields.io/npm/dt/prisma-json-server-generator.svg)](https://www.npmjs.com/package/prisma-json-server-generator)
[![HitCount](https://hits.dwyl.com/omar-dulaimi/prisma-json-server-generator.svg?style=flat)](http://hits.dwyl.com/omar-dulaimi/prisma-json-server-generator)
[![npm](https://img.shields.io/npm/l/prisma-json-server-generator.svg)](LICENSE)



Logo

Prisma JSON Server Generator



A Prisma generator that automates creating a JSON file that can be run as a server from your Prisma schema.


Explore the options »




Report Bug
·
Request Feature



Buy Me A Coffee

## Table of Contents

- [About The Project](#about-the-project)
- [Supported Prisma Versions](#supported-prisma-versions)
- [Installation](#installation)
- [Usage](#usage)
- [Additional Options](#additional-options)
- [Community](#community)
- [Acknowledgement](#acknowledgement)

# About The Project

Automatically generate a JSON file that can be run as a server from your [Prisma](https://github.com/prisma/prisma) Schema. Updates every time `npx prisma generate` runs.

# Supported Prisma Versions

Probably no breaking changes for this library, so try newer versions first.

### Prisma 4

- 0.2.0 and higher

### Prisma 2/3

- 0.1.2 and lower

# Installation

Using npm:

```bash
npm install prisma-json-server-generator
```

Using yarn:

```bash
yarn add prisma-json-server-generator
```

# Usage

1- Star this repo 😉

2- Add the generator to your Prisma schema

```prisma
generator json_server {
provider = "prisma-json-server-generator"
outputFileName = "db.json"
}
```

3- Install `json-server`

```bash
npm install -g json-server
```

4- Run `npx prisma generate` for the following schema.prisma, or your schema

```prisma
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}

model Post {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
title String
content String?
published Boolean @default(false)
viewCount Int @default(0)
author User? @relation(fields: [authorId], references: [id])
authorId Int?
}
```

5- Now you're ready to run your JSON server!

```bash
json-server --watch db.json
```

![JSON Server Running](https://raw.githubusercontent.com/omar-dulaimi/prisma-json-server-generator/master/jsonServerRunning.png)

# Additional Options

| Option |  Description | Type |  Default |
| ---------------- | --------------------------------------------------- | -------- | ------------- |
| `output` | Output directory for the generated JSON server file | `string` | `./generated` |
| `outputFileName` | JSON output file name | `string` | `db.json` |

Use additional options in the `schema.prisma`

```prisma
generator json_server {
provider = "prisma-json-server-generator"
output = "./json-server"
}
```

# Community

[![Stargazers repo roster for @omar-dulaimi/prisma-json-server-generator](https://reporoster.com/stars/omar-dulaimi/prisma-json-server-generator)](https://github.com/omar-dulaimi/prisma-json-server-generator/stargazers)

# Acknowledgement

Source of one of the icons used in making the logo: Json icons created by Smashicons - Flaticon