Welcome to the minimal TypeScript ESM (ECMAScript Modules) starter repository! This project provides a streamlined setup for building TypeScript projects with ECMAScript modules support.
- Minimal setup with few config for TypeScript
- Run typescript without compile using tsx
- Zero-config test runner with vitest
- Test Coverage by v8
- Bundling based on tsup which based on esbuild
- Lint
eslint
& Type-check - Format with
Prettier
Clone this repository to kickstart your project:
git clone https://github.com/thaitype/minimal-typescript-node-esm-starter.git [project_name]
Install dependencies using your preferred package manager:
pnpm install
You can also use npm
or yarn
if you prefer.
Explore the provided scripts to enhance your development experience:
# Start the code
pnpm start
# Start the code with watch mode
pnpm dev
# Test the code with watch mode
pnpm test
# Test the code for CI (Run single time)
pnpm test:ci
# Test the code with coverage report
pnpm test:coverage
# Build the project
pnpm build
# Type check with TypeScript & eslint
pnpm lint
# Auto fix lint
pnpm lint:fix
# Format with Prettier
pnpm format
- If you still want to use ava, please check out branch with-ava-test
Explore more TypeScript compiler options by referring to the tsconfig cheatsheet created by Matt Pocock.
Feel free to customize and extend this starter kit based on your project requirements. Happy coding!