Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nksaraf/pkger

📦 Simple (yet powerful) build tool for any target (browser/node/cli) ⚙ Powered by rollup, babel, gluegun, typescript
https://github.com/nksaraf/pkger

build bundle cli esm microbundle pkger rollup toolbox tsdx typescript

Last synced: 19 days ago
JSON representation

📦 Simple (yet powerful) build tool for any target (browser/node/cli) ⚙ Powered by rollup, babel, gluegun, typescript

Awesome Lists containing this project

README

        

# 📦 pkger

Simple (yet powerful) build tool inspired by tsdx, microbundle and klap. Designed to do everything well by default, and allow you to customize any step of the process to your liking.

Standing on the shoulders of **giants**:

- [rollup](https://github.com/rollup/rollup)
- [Babel](https://github.com/babel/babel)
- [typescript](https://github.com/microsoft/Typescript)
- [ink](https://github.com/vadimdemedes/ink)
- [gluegun](https://github.com/infinitered/gluegun)

## Features

- Build packages for the browser, node and the cli
- Rollup powered build system (can be extended infinitely)
- Seperate cjs builds for production and development
- Super easy api for multiple entry points
- Interprets and manages `package.json` (`module`, `exports`, `bin`, `files`, ...)
- Automatically creates entry points for sub-entries
- Configues `exports` map property for latest node support
- [Pika cdn](https://www.pika.dev/cdn) support for multiple entry points out of the box
- Use internal aliases like `@components`, `@themes` for entry points to code-split (including dynamic imports)
- Zero-config support for typescript, React and latest ES syntax (powered by Babel)
- Scaffold command line apps with dev and prod modes
- Custom config with a `pkger.config.ts` file or `pkger` entry in `package.json`:
- Hook into build system (`preBuild`, `postBuild`) and do anything with a gluegun-powered toolbox
- Add custom tasks that can be run with `pkger run ` (allowing to write mini node tasks for your projects)
- Write typescript with modern syntax in the config file too
- Range of templates to get started working on your ideas