{"id":41697,"library":"packle","title":"Packle","description":"Packle is a JavaScript and TypeScript bundler similar to Webpack, Parcel, or Vite, designed to be straightforward and reliable with minimal configuration. The current stable version is 0.2.12, and it uses Bun as its runtime and package manager. It supports bundling for browser and Node.js targets, automatic entry point detection (index.html, index.ts, etc.), CSS/SCSS handling, file copying, watch mode, and production mode with minification. Key differentiators include zero-config simplicity, support for importing JSON, TOML, and text files as inlined modules, and a tiny codebase with no hidden complexity. However, it requires Bun to be installed and is still in early development with potential instability.","status":"active","version":"0.2.12","language":"javascript","source_language":"en","source_url":"https://github.com/tylerlong/packle","tags":["javascript","packle","parcel","webpack","vite","esbuild","bundle","rollup","snowpack"],"install":[{"cmd":"npm install packle","lang":"bash","label":"npm"},{"cmd":"yarn add packle","lang":"bash","label":"yarn"},{"cmd":"pnpm add packle","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required runtime and package manager for development; packle must be run with Bun.","package":"bun","optional":false}],"imports":[{"note":"Package requires Bun; npm/yarn installation will fail or produce unexpected results.","wrong":"npm install --save-dev packle","symbol":"packle (command-line tool)","correct":"bun add --dev packle"},{"note":"CommonJS require shows config type as JSON object.","symbol":"Configuration (packle.config.json)","correct":"import config from './packle.config.json' assert { type: 'json' };"},{"note":"process.env variables are replaced at bundle time; requires .env file to be present.","symbol":"Environment variables","correct":"console.log(process.env.MY_VAR);"}],"quickstart":{"code":"# Ensure Bun is installed: curl -fsSL https://bun.sh/install | bash\n\n# Create a new directory and init project\nmkdir my-packle-project\ncd my-packle-project\nbun init -y\n\n# Install packle as dev dependency\nbun add --dev packle@0.2.12\n\n# Create entry files\nmkdir src\ncat > src/index.html <<EOF\n<!DOCTYPE html>\n<html>\n<head><title>Packle Demo</title></head>\n<body>\n  <div id=\"root\"></div>\n  <script src=\"/bundle.js\"></script>\n</body>\n</html>\nEOF\n\ncat > src/index.ts <<EOF\nconst greeting: string = 'Hello, Packle!';\ndocument.getElementById('root')!.innerText = greeting;\nEOF\n\n# Run packle (bundles to ./public by default)\nbun packle\n\n# Output: ./public/index.html and ./public/bundle.js\n","lang":"typescript","description":"Shows basic setup: install packle via Bun, create src/index.ts and src/index.html, and run bun packle to bundle."},"warnings":[{"fix":"Install Bun (https://bun.sh) and use `bun add --dev packle` and `bun packle`.","message":"Packle requires Bun runtime; not compatible with Node.js or npm/yarn.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Keep all source files under 'src' or manually trigger rebuild by pressing 'p'.","message":"Watch mode monitors only 'src' folder, package.json, and packle.config.json. Source code outside these may not trigger rebuild.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Add your .d.ts files to 'jsEntries' in packle.config.json.","message":"When target is 'node', packle generates a temporary tsconfig and runs tsc. Additional typing files must be declared in 'jsEntries'.","severity":"gotcha","affected_versions":">=0.0.0"},{"message":"No known deprecations yet; version 0.x is unstable and APIs may change.","severity":"deprecated","affected_versions":"0.x"}],"env_vars":null,"search_vec":"'0.2.12':29 'automat':48 'browser':44 'bun':33,95 'bundl':42,114 'bundler':8 'codebas':87 'complex':91 'config':71 'configur':23 'copi':58 'css/scss':55 'current':25 'design':15 'detect':51 'develop':104 'differenti':67 'earli':103 'entri':49 'esbuild':113 'etc':54 'file':57,80 'handl':56 'hidden':90 'howev':92 'import':75 'includ':68 'index.html':52 'index.ts':53 'inlin':82 'instabl':107 'instal':98 'javascript':5,108 'json':76 'key':66 'manag':39 'minif':65 'minim':22 'mode':60,63 'modul':83 'node.js':46 'packag':38 'packl':1,2,109 'parcel':12,110 'point':50 'potenti':106 'product':62 'reliabl':20 'requir':94 'rollup':115 'runtim':36 'similar':9 'simplic':72 'snowpack':116 'stabl':26 'still':101 'straightforward':18 'support':41,73 'target':47 'text':79 'tini':86 'toml':77 'typescript':7 'use':32 'version':27 'vite':14,112 'watch':59 'webpack':11,111 'zero':70 'zero-config':69","created_at":"2026-06-04T18:53:39.886362+00:00","updated_at":"2026-06-04T18:53:39.886362+00:00","problems":[{"fix":"Install Bun: curl -fsSL https://bun.sh/install | bash","cause":"Bun is not installed on the system.","error":"bun: command not found"},{"fix":"Run `bun add --dev serve` or use any static server.","cause":"The serve package is not installed (optional but used in docs).","error":"error: Could not resolve \"serve\""},{"fix":"Ensure your HTML has an element with id 'root'.","cause":"document.getElementById('root') returns null because element not in HTML.","error":"TypeError: Cannot read properties of undefined (reading 'root')"},{"fix":"Create src/index.ts or one of the expected entry files.","cause":"Missing entry file under src/.","error":"Error: No entry point found. Expected src/index.ts, src/index.tsx, src/index.js, or src/index.jsx"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/tylerlong/packle","github":"https://github.com/tylerlong/packle","docs":null,"changelog":null,"pypi":null,"npm":"packle","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}