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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rawsql-ts/ddl-docs-cli

v0.2.5

Published

CLI tool that generates Markdown table definition docs from DDL files using rawsql-ts

Readme

@rawsql-ts/ddl-docs-cli

Generate Markdown table definition documents from DDL files.

  • DDL is treated as SSOT.
  • SQL parsing uses rawsql-ts.
  • CREATE TABLE and ALTER TABLE ... ADD CONSTRAINT are applied across the full DDL stream.
  • COMMENT ON TABLE/COLUMN is parsed via rawsql-ts.

Install

pnpm --filter @rawsql-ts/ddl-docs-cli build

Usage

ddl-docs generate --ddl-dir ztd/ddl --out-dir ztd/docs/tables

Show help:

ddl-docs help
ddl-docs help generate
ddl-docs help prune

Generated layout:

  • ztd/docs/tables/index.md
  • ztd/docs/tables/<schema>/index.md
  • ztd/docs/tables/<schema>/<table>.md

Options:

  • --ddl-dir <directory> repeatable recursive directory input
  • --ddl-file <file> repeatable explicit file input
  • --ddl <file> alias of --ddl-file
  • --ddl-glob <pattern> repeatable glob pattern input
  • --extensions <csv> default .sql
  • --out-dir <directory> output root (default ztd/docs/tables)
  • --config <path> optional ztd.config.json path
  • --default-schema <name> schema override for unqualified table names
  • --search-path <csv> schema search path override
  • --no-index skip index page generation
  • --strict fail when warnings exist
  • --column-order <mode> definition (default) or name

Prune generated files:

ddl-docs prune --out-dir ztd/docs/tables

Prune preview:

ddl-docs prune --out-dir ztd/docs/tables --dry-run

Optional orphan cleanup:

ddl-docs prune --out-dir ztd/docs/tables --prune-orphans

VitePress Integration

This tool emits plain Markdown files and index pages. If you prefer VitePress-side navigation generation, run with --no-index and let your site config build navigation from the generated table pages.

Warnings

Warnings are emitted to <outDir>/_meta/warnings.json. Use --strict in CI to treat warnings as failures.

Memory Notes

Current implementation prioritizes correctness by applying the full DDL stream and aggregating table metadata before rendering. For large schemas (for example, ~300 tables), follow-up optimization should focus on reducing peak memory by keeping only compact table metadata and discarding statement-level objects early.

Minimal E2E Sample

See packages/ddl-docs-cli/examples/minimal-e2e.