Skip to content

Latest commit

 

History

History
109 lines (86 loc) · 7.13 KB

README.md

File metadata and controls

109 lines (86 loc) · 7.13 KB

Template TypeScript Node Package

Template TypeScript Node.js package with all the CI bells & whistles I commonly use. ✨

All Contributors: 4 Codecov Test Coverage Contributor Covenant License: MIT Sponsor: On GitHub Style: Prettier TypeScript: Strict

Explainer

This template is available for anybody who wants to set up a basic Node application using TypeScript. It sets up the following tooling for you:

  • ESLint: Static analysis for JavaScript code, configured with typescript-eslint for TypeScript code and other general-use plugins.
  • Markdownlint: Static analysis for Markdown code.
  • pnpm: Desk-efficient package manager alternative.
  • Prettier: Opinionated formatting for code, run on file save and as a Git commit hook via husky and lint-staged.
  • release-it: Generates changelogs, bumps the package version, and publishes to GitHub and npm based on conventional commits.
  • ts-prune: Unused exports detection for TypeScript code.
  • TypeScript: A typed superset of JavaScript, configured with strict compiler options.
  • Vitest: Fast unit tests, configured with coverage tracking.

Setup

First make sure you have the following installed:

To use this template:

  1. Click the Use this template button to create a new repository with the same Git history
  2. Open that repository, such as by cloning it locally or developing in a codespace
  3. Create two tokens in repository secrets:
  4. pnpm install
  5. pnpm run setup

The setup script removes the ## Explainer and ## Setup from this README.md.

Usage

npm i template-typescript-node-package
import { greet } from "template-typescript-node-package";

greet("Hello, world!");

Development

See .github/CONTRIBUTING.md. Thanks! 💖

Contributors

Josh Goldberg
Josh Goldberg

🐛 💻 🖋 💡 🤔 🚇 🚧 📦 📆 👀 🛡️ 🔧 ⚠️
Jeff Wen
Jeff Wen

🔧
Paul Esch-Laurent
Paul Esch-Laurent

🔧
NazCodeland
NazCodeland

🔧

💙 This package is based on @JoshuaKGoldberg's template-typescript-node-package.