{"id":18771,"library":"saso","title":"Saso","description":"Zero-configuration bundler for building modern JavaScript/TypeScript applications, currently at v5.0.2. It provides a fast, opinionated build process without configuration files, supporting both CommonJS and ESM outputs. Key differentiators include an intuitive CLI, built-in support for JSX, TypeScript, and CSS modules, and a plugin system for extensibility. Minimal setup required — ideal for quick prototypes or small-to-medium projects. Released under ISC license.","status":"active","version":"5.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/huruji/saso#readme","tags":["javascript"],"install":[{"cmd":"npm install saso","lang":"bash","label":"npm"},{"cmd":"yarn add saso","lang":"bash","label":"yarn"},{"cmd":"pnpm add saso","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Underlying bundler for high-performance builds","package":"esbuild","optional":false}],"imports":[{"note":"ESM-only since v5, default export provides build function.","wrong":"const saso = require('saso')","symbol":"default","correct":"import saso from 'saso'"},{"note":"Named export for programmatic build.","wrong":"const { build } = require('saso')","symbol":"build","correct":"import { build } from 'saso'"},{"note":"TypeScript type export, available as type only.","wrong":"import SasoConfig from 'saso'","symbol":"SasoConfig","correct":"import { SasoConfig } from 'saso'"}],"quickstart":{"code":"import saso from 'saso';\n\nsaso({\n  entry: './src/index.tsx',\n  outfile: './dist/bundle.js',\n  format: 'esm',\n  minify: true,\n}).then(() => console.log('Build complete')).catch(console.error);","lang":"typescript","description":"Programmatic build using Saso's default export with entry, output, format, and minification options."},"warnings":[{"fix":"Use import syntax or upgrade to ESM project.","message":"saso v5 migrated to ESM-only. CommonJS require() will throw ERR_REQUIRE_ESM.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Update to new API: saso(options) instead of new saso.Saso().","message":"Default export changed from object to function in v4.","severity":"breaking","affected_versions":">=4.0.0 <5.0.0"},{"fix":"Migrate to functional API saso(options).","message":"saso v3 API using 'new Saso()' is removed.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Either use CLI or programmatic API exclusively.","message":"Configuration file saso.config.js is ignored if programmatic API is used.","severity":"gotcha","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Ensure you import default as: import saso from 'saso' (not as object destructuring).","cause":"Using default import after v5 which exports a function, but bundler may confuse with object.","error":"TypeError: saso is not a function"},{"fix":"Use import syntax or set type:\"module\" in package.json.","cause":"v5 is ESM-only, require() is not supported.","error":"Cannot find module 'saso' when using require()"},{"fix":"Update config keys: use 'entry' as string, 'outfile' instead of 'output'.","cause":"Using old v3 configuration shape with v5.","error":"Error: Unknown option `entry` in SasoConfig"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}