@pika/pack plugins
This repo contains the official build plugins for @pika/pack.
- Write your own plugin! @pika/pack can load build plugins from package name & relative path. Check out this GitHub template or any of the existing build plugins to get started writing your own!
- Publish & Share your plugin! These official builders are just the start. Create a PR to add your community plugin to this list!
Official Plugins
Source Builders:
NOTE: Include a source builder early in your pipeline. Source builders take your project source code (ESNext, TS, etc.) and compile it to standard, ES2018 JavaScript. Other builders will then consume that standardized build to base their own work off of.
-
@pika/plugin-standard-pkg
: Compiles JavaScript/TypeScript to ES2020. Supports personalized, top-level.babelrc
plugins/config. -
@pika/plugin-ts-standard-pkg
: Compiles TypeScript to ES2020 (Usestsc
internally instead of Babel, and builds type definitions automatically). -
@pika/plugin-copy-assets
: Copies static assets from your root source directory into the builtpkg/
directory.
Distribution Builders:
-
@pika/plugin-build-deno
: Builds a distribution that runs on Deno (TS projects only). -
@pika/plugin-build-node
: Builds a distribution that runs on Node LTS (v6+). -
@pika/plugin-build-types
: Builds TypeScript definitions from your TS, or automatically generate them from your JS. Not required if you use@pika/plugin-ts-standard-pkg
. -
@pika/plugin-build-web
: Builds an ESM distribution optimized for browsers & bundlers.
WASM & Non-JS Builders:
-
@pika/plugin-wasm-assemblyscript
: Builds WASM from TypeScript using AssemblyScript. -
@pika/plugin-wasm-emscripten
: Builds WASM from C/C++ using Emscripten (Coming Soon). -
@pika/plugin-wasm-bindings
: Builds a simple JS wrapper for any WASM build. -
@pika/plugin-source-bucklescript
: Builds ES2018 JavaScript from ReasonML or OCaml via BuckleScript.
Advanced Builders:
-
@pika/plugin-bundle-node
: Creates a Node.js build with all code (including dependencies) bundled into a single file. Useful for CLIs. -
@pika/plugin-bundle-web
: Creates a ESM build with all code (including dependencies) bundled. Useful for unpkg & serving code directly to browsers. -
@pika/plugin-simple-bin
: Generates & configures a CLI wrapper to run your library from the command line.
Community Plugins
-
@ryaninvents/plugin-bundle-zip-node
: zip built files for Node.js. -
@ryaninvents/plugin-bundle-dependencies
: zip your package's dependencies. -
@ryaninvents/plugin-bundle-nextjs
: Package a Next.js app for AWS Lambda. -
pika-plugin-minify
: Minifies your index.js files in/pkg/*
using terser. -
pika-plugin-unpkg-field
: sets the"unpkg"
field inpkg/package.json
. -
pika-plugin-pkg-node
: Package a Node.js app into an executable. -
pika-plugin-merge-properties
: Merge selected existing package.json properties into built package.json -
pika-plugin-add-properties
: Add custom values to built package.json -
pika-plugin-package.json
: Modify (add/remove/merge) builtpkg/package.json
with new properties. -
pika-plugin-typedefs-to-flow
: Convert typescript definitions to flow types