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

@loancrate/prisma-schema-parser

Package Overview
Dependencies
Maintainers
0
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@loancrate/prisma-schema-parser

Prisma Schema Parser

  • 3.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

Prisma Schema Parser and Formatter

Typescript library for parsing, traversing, and formatting Prisma schema files. Based on the PEG grammar in the Prisma source (ported from pest to PEG.js), its goal is to parse any valid Prisma schema. Unit tests ensure 100% coverage of the hand-written Typescript code and the rule code generated by PEG.js. (There is a small amount of error reporting and unused feature code in the generated parser that is either unreachable or infeasible to test.)

Goals

  • Parse and format any valid Prisma schema
  • Provide a complete and statically typed abstract syntax tree (AST)
  • Support legacy features like type aliases and GraphQL-style required type and list syntax
  • Preserve all non-whitespace constructs in the source, including comments
  • Preserve the source location of all high-level constructs
  • Provide utility functions to traverse and analyze the AST

Non-goals

  • Continued parsing of invalid schemas beyond the first syntax error
  • Validation of the schema, such as type resolution or database-specific features
  • Preservation of whitespace

Installation

npm add @loancrate/prisma-schema-parser

Usage

import { readFileSync } from "fs";
import { formatAst, parsePrismaSchema } from "@loancrate/prisma-schema-parser";

const ast = parsePrismaSchema(
  readFileSync("test-data/schema.prisma", { encoding: "utf8" }),
);
// ... manipulate the schema ...
console.log(formatAst(ast));

License

This library is available under the ISC license.

Keywords

FAQs

Package last updated on 18 Dec 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