π Build Lightning-Fast JavaScript/TypeScript Packages β Minus the Boilerplate
Tired of wasting hours setting up the same configs over and over again?
You're not alone.
Creating clean, reusable JS/TS packages should be easy β but it often turns into a slog: wiring up TypeScript, ESLint, test runners, bundlers, folder structures... every time. π©
What if you could skip all of that and jump straight into coding?
Meet PackSmith β a minimal, opinionated library for building modern JS/TS packages.
No framework lock-in. No fluff. Just fast, clean, production-ready packages.
βοΈ What Is PackSmith?
PackSmith is a lightweight CLI + library that helps you scaffold and build framework-agnostic packages β ideal for utilities, SDKs, helpers, and core modules.
Run one command:
npx create-packsmith <project-name>
And you're ready to go with:
β
TypeScript + ESLint + Vitest + TSUP
β
Clean folder structure
β
Handy build
, test
, and lint
scripts
β
Built-in utilities (no extra dependencies needed!)
β
Zero clutter β just your code
π€ Why PackSmith?
Most tools today are built for apps using frameworks like React, Vue, or Svelte. But if you're building reusable libraries β especially for backend or cross-platform environments β the setup can be repetitive and frustrating.
PackSmith is built specifically for library authors who want:
- Preconfigured TypeScript and linting
- A test runner that just works
- No need to copy configs from old repos
- A clean structure with no extra fluff
- Minimal, type-safe utility functions built in
π§° Comes With Built-in Utilities
PackSmith includes type-safe, dependency-free utilities to speed up development:
- β Validation helpers
- β Array and string manipulation functions
- β Small, focused functions β no bloat
Fewer dependencies = smaller bundles + less to maintain.
ποΈ Example Project Layout
my-package/
βββ .gitignore # Git ignore rules
βββ .npmignore # Controls which files are published
βββ eslint.config.mjs # ESLint configuration
βββ node_modules/ # Installed dependencies
βββ package-lock.json # npm lockfile
βββ package.json # Project metadata and scripts
βββ README.md # Project documentation
βββ src/ # Source code lives here
β βββ index.ts # Entry point of your package
βββ test/ # Unit tests
β βββ index.test.ts # Example test with Vitest
βββ dist/ # Build output (auto-generated by TSUP)
βββ tsconfig.json # TypeScript configuration
βββ tsup.config.ts # Build setup (TSUP)
βββ vitest.config.ts # Test runner config
Clean. Predictable. Production-ready.
π€ Who Should Use This?
- Solo developers who want to skip boilerplate
- Open-source maintainers who value clean tooling
- Teams that need a repeatable, lightweight foundation for internal libraries
β‘ TL;DR
PackSmith helps you build framework-agnostic JavaScript/TypeScript packages quickly β so you spend less time configuring, and more time creating.
π Read the Docs
β Star PackSmith on GitHub
π¬ Got feedback or ideas? Drop a comment or open an issue!
Letβs build smarter, not harder. Say goodbye to setup hell β and hello to PackSmith. β¨
Top comments (0)