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

@typecad/jlcpcb-export

v2.0.0

Published

CLI tool to generate all files needed for JLCPCB assembly from a typeCAD project

Readme

JLCPCB Export

CLI tool to generate all files needed for JLCPCB assembly from a typeCAD project.

Runs DRC, validates the git repo, then outputs drill, position, gerbers, and BOM files formatted for JLCPCB -- zipped and ready to upload.

Prerequisites

  • A typeCAD project with a typecad.conf.ts file
  • KiCad installed (the CLI searches common install paths automatically)

Installation

npm i @typecad/jlcpcb-export

Or run without installing:

npx @typecad/jlcpcb-export

Usage

npx jlcpcb-export [board-name] [options]

The board name is auto-detected from the entry field in typecad.conf.ts. Given:

export default defineConfig({
  entry: './src/my-board.ts',
});

The board name my-board is used automatically. You can override it by passing an argument:

npx jlcpcb-export other-board

Options

Arguments:
  board-name              Board name (auto-detected from typecad.conf.ts if omitted)

Options:
  -i, --ignore            Ignore DRC failures and dirty git repo
  --input <path>          Input build directory (default: ./build)
  --output <path>         Output directory (default: ./build/jlcpcb-{version})
  --kicad-cli <path>      Path to kicad-cli binary (default: auto-discovered)
  -v, --version           Print version
  -h, --help              Print help

KiCad CLI path

The tool searches for kicad-cli in common install locations. If it's not found, specify the path via CLI:

npx jlcpcb-export --kicad-cli "/Applications/KiCad/kicad-cli"

Or in typecad.conf.ts:

export default defineConfig({
  entry: './src/my-board.ts',
  kicad_cli: '/Applications/KiCad/kicad-cli',
});

Adding to a typeCAD Project

To run JLCPCB export automatically after building, add it to your project's package.json scripts:

{
  "scripts": {
    "build": "typecad build",
    "export": "jlcpcb-export",
  },
  "devDependencies": {
    "@typecad/jlcpcb-export": "^2.0.0"
  }
}

Then run:

npm run build && npm run export

export will fail if DRC fails or the git repo has uncommitted changes. Use export:force to ignore those checks.

Output

All files are written to ./build/jlcpcb-export/<package-slug>-<version>/:

build/jlcpcb-export/
  my-project-1.0.0/
    my-board_cpl.csv      Component placement list (Pick & Place)
    my-board.csv           BOM with JLCPCB part numbers
    gerbers.zip            Zipped gerbers + drill file
    gerbers/               Raw gerber and drill files