https://github.com/ressiws/typescript-template-pnpm
Minimal TypeScript project base with a custom builder, ESLint setup, structured logging, and auto-handling of build outputs.
https://github.com/ressiws/typescript-template-pnpm
automation backend debugging dev-tools eslint javascript minimal nodejs npm open-source pnpm project-template starter-kit tsconfig typescript typescript-starter
Last synced: about 1 month ago
JSON representation
Minimal TypeScript project base with a custom builder, ESLint setup, structured logging, and auto-handling of build outputs.
- Host: GitHub
- URL: https://github.com/ressiws/typescript-template-pnpm
- Owner: ressiws
- License: other
- Created: 2025-05-14T18:26:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-30T15:37:34.000Z (10 months ago)
- Last Synced: 2025-10-29T03:44:48.569Z (7 months ago)
- Topics: automation, backend, debugging, dev-tools, eslint, javascript, minimal, nodejs, npm, open-source, pnpm, project-template, starter-kit, tsconfig, typescript, typescript-starter
- Language: TypeScript
- Homepage:
- Size: 102 KB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# βοΈ TypeScript PNPM Base









> A simple and generic TypeScript starter powered by PNPM, with a custom builder and a clean logging system.
## π About
This is a basic template for any TypeScript project. It's not tied to a specific use β you can use it to build bots, APIs, scripts, or anything else you want.
It includes a **custom builder** that compiles your code and handles everything for you, so you can focus on building your project.
## β¨ Features
- π¦ Uses **PNPM** as the package manager
- βοΈ **Custom builder**:
- Organizes output structure
- Automatically copies assets
- Replaces string patterns
- Fixes TypeScript import paths after build
- Clean and colorful logs with emojis
- Optional `--debug` mode to show what's going on under the hood
- π₯οΈ **Developer mode** with `pnpm run dev` β auto-restarts and watches for changes
- π **Custom logger** with log levels (debug, info, warn, error, critical) and emojis
- π **ESLint** for code quality
- π§± Minimal and clean project structure
## π Project Structure
```
βββ .build/ # Builder settings and internal state
βββ scripts/ # Scripts used by the builder
βββ src/ # Your TypeScript source code
βββ src/config.ts # Project configuration file
βββ types/ # Types used internally
```
## π¦ Getting Started
1. **Install dependencies:**
```bash
pnpm install
```
2. Run in development mode (auto compile & start):
```bash
pnpm run dev
```
> No need to manually build or restart. It watches for changes and runs the latest code.
3. Build your project manually (optional):
```bash
pnpm run build
```
### Optional build flags:
- `--debug`: Shows detailed builder logs
> Example:
```bash
pnpm run build --debug
```
# π Scripts
| Command | Description |
|---------------------------------|-------------|
| `pnpm run dev` | Starts in dev mode with file watching. Reloads on Save. |
| `pnpm run build` | Builds the project using the custom builder. |
| `pnpm run build --debug` | Shows detailed builder logs (useful for debugging build issues.) |
| `pnpm run lint` | Lints the code using ESLint to catch errors and enforce style. |
| `pnpm run backup ` | Creates a `.zip` backup of the current state. |
> [!TIP]
> Run `pnpm run lint` before **build** to avoid dumb mistakes in production.
> [!CAUTION]
> Don't use `debug` mode in production. The config system will automatically warn you if it's enabled while in a production environment.
# β
Requirements
- **Node.js 18+**
- **PNPM**
# π§ Tips
- All your code goes in the `src/` folder.
- You can change settings in `config.ts`.
- Use the `loader` to initialize and organize your boot sequence β helpful for loading services, components, or other logic in a clean way.
- The builder takes care of everything β you don't need to configure anything else.
# π§Ύ License
This project is licensed under the [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) β Use freely with credit. See [LICENSE.md](./LICENSE.md).
> You can use it for whatever you want β commercial or not β as long as you give credit. Donβt worry, we won't sue you for becoming a millionaire off thisβ¦ probably.
# π Credits
Built with β€οΈ by [DarkenLM](https://github.com/darkenlm) and [swisser](https://github.com/ressiws), just two devs who believe semicolons are optional but clean code isn't.
> They log with emojis, debug with sarcasm, and write better README files than code (allegedly).