{"id":26483,"library":"tinybuild","title":"Tinybuild","description":"A minimal esbuild wrapper for web, server, desktop, and mobile development with hot-reloading and multi-target builds. Current stable version is 1.0.5, released with low cadence. Key differentiators: zero-config scaffolding, built-in Node.js dev server with HMR via WebSockets, native Electron/Tauri/Capacitor packaging, remote import resolution, and optional Python Quart bridge. Unlike Vite or Webpack, it avoids third-party plugin churn and uses plain JS config with intuitive flags. Peer dependency on TypeScript.","status":"active","version":"1.0.5","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","esbuild"],"install":[{"cmd":"npm install tinybuild","lang":"bash","label":"npm"},{"cmd":"yarn add tinybuild","lang":"bash","label":"yarn"},{"cmd":"pnpm add tinybuild","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for TypeScript support in esbuild","package":"typescript","optional":true}],"imports":[{"note":"ESM-only; no CommonJS export","wrong":"const tinybuild = require('tinybuild')","symbol":"tinybuild","correct":"import tinybuild from 'tinybuild'"},{"note":"Named export for CLI programmatic use","wrong":"require('tinybuild/cli')","symbol":"tinybuild.cli","correct":"import { cli } from 'tinybuild'"},{"note":"Export path is direct from package, not sub-module","wrong":"import Config from 'tinybuild/config'","symbol":"tinybuild.Config","correct":"import { Config } from 'tinybuild'"}],"quickstart":{"code":"import tinybuild from 'tinybuild';\n\n// Build a browser bundle with HMR dev server\nconst result = await tinybuild({\n  bundleBrowser: true,\n  entry: 'src/index.ts',\n  dev: true,\n  // Optional: target output directory\n  output: 'dist/',\n  // Optional: TypeScript config\n  tsconfig: 'tsconfig.json'\n});\n\nconsole.log('Build succeeded:', result);","lang":"typescript","description":"Shows programmatic usage of tinybuild with TypeScript, enabling browser bundling and dev server"},"warnings":[{"fix":"Use ESM imports (import { ... } from 'tinybuild') or set type: 'module' in package.json","message":"Version 1.0.0 removed CommonJS support; require() will throw ERR_REQUIRE_ESM","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Replace --serve with --dev in CLI or dev: true in config","message":"The 'serve' flag is deprecated in favor of 'dev' flag since 1.0.3","severity":"deprecated","affected_versions":">=1.0.3 <1.0.4"},{"fix":"Run 'npm install typescript --save-dev' if not already installed","message":"If using TypeScript, peer dependency must be installed separately (typescript not bundled)","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Set a custom port via --port flag or port config option","message":"Hot-reload server uses WebSocket; ensure no firewall blocks port 35729 (default)","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Pre-download dependencies or use --no-remote flag","message":"Remote imports (https://...) require network access; offline builds will fail","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Convert to ESM (import/export) or use dynamic import() as fallback","cause":"Using CommonJS require() with an ESM-only package since version 1.0.0","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module ...\\node_modules\\tinybuild\\index.js from ...\\project\\build.js not supported."},{"fix":"Use 'import tinybuild from 'tinybuild'' for default export","cause":"Default import used with CommonJS require() or wrong import syntax","error":"TypeError: tinybuild is not a function"},{"fix":"Run 'npm install chokidar' manually","cause":"chokidar is an optional peer dependency not auto-installed","error":"Failed to resolve 'chokidar' dependency for hot-reload"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}