Saso

raw JSON →
5.0.2 verified Sat Apr 25 auth: no javascript

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.

error TypeError: saso is not a function
cause Using default import after v5 which exports a function, but bundler may confuse with object.
fix
Ensure you import default as: import saso from 'saso' (not as object destructuring).
error Cannot find module 'saso' when using require()
cause v5 is ESM-only, require() is not supported.
fix
Use import syntax or set type:"module" in package.json.
error Error: Unknown option `entry` in SasoConfig
cause Using old v3 configuration shape with v5.
fix
Update config keys: use 'entry' as string, 'outfile' instead of 'output'.
breaking saso v5 migrated to ESM-only. CommonJS require() will throw ERR_REQUIRE_ESM.
fix Use import syntax or upgrade to ESM project.
breaking Default export changed from object to function in v4.
fix Update to new API: saso(options) instead of new saso.Saso().
deprecated saso v3 API using 'new Saso()' is removed.
fix Migrate to functional API saso(options).
gotcha Configuration file saso.config.js is ignored if programmatic API is used.
fix Either use CLI or programmatic API exclusively.
npm install saso
yarn add saso
pnpm add saso

Programmatic build using Saso's default export with entry, output, format, and minification options.

import saso from 'saso';

saso({
  entry: './src/index.tsx',
  outfile: './dist/bundle.js',
  format: 'esm',
  minify: true,
}).then(() => console.log('Build complete')).catch(console.error);