@pika/pack plugins
This repo contains the official build plugins for @pika/pack.
- Write your own plugin! @pika/pack can load local builders by relative path directly from your repo. Check out an existing builder for ideas and then feel free to use one as a starter template for 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 ES2018. Supports personalized, top-level.babelrc
plugins/config.@pika/plugin-ts-standard-pkg
: Compiles TypeScript to ES2018 (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
.