{"id":26675,"library":"yaup","title":"yaup","description":"A minimal, unopinionated CLI wrapper around esbuild for building dual CJS/ESM packages with TypeScript declaration files. Current stable version is 1.8.0, maintained by egoist. It offers a simple config file (yaup.config.ts) with defineConfig, supporting multiple output formats (esm, cjs, dts). Unlike opinionated alternatives like tsup or rollup, yaup stays close to raw esbuild, giving users flexible configuration with minimal API surface. Release cadence is irregular; the author is not accepting new features unless critical.","status":"active","version":"1.8.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install yaup","lang":"bash","label":"npm"},{"cmd":"yarn add yaup","lang":"bash","label":"yarn"},{"cmd":"pnpm add yaup","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"yaup wraps esbuild for bundling and/or TypeScript compilation","package":"esbuild","optional":false}],"imports":[{"note":"yaup is ESM-only, use import syntax","wrong":"const defineConfig = require('yaup').defineConfig","symbol":"defineConfig","correct":"import { defineConfig } from 'yaup'"},{"note":"Export for development server, available since v1.5.0","wrong":"const startDevServer = require('yaup').startDevServer","symbol":"startDevServer","correct":"import { startDevServer } from 'yaup'"},{"note":"build is a named export, not a method on default","wrong":"const yaup = require('yaup'); yaup.build()","symbol":"build","correct":"import { build } from 'yaup'"}],"quickstart":{"code":"// yaup.config.ts\nimport { defineConfig } from 'yaup'\n\nexport default defineConfig({\n  input: './src/index.ts',\n  output: [\n    { format: 'esm', dir: 'dist/esm' },\n    { format: 'cjs', dir: 'dist/cjs' },\n    { format: 'dts', dir: 'dist/types' },\n  ],\n})","lang":"typescript","description":"Basic config to build dual CJS/ESM and Type declarations from a single entry"},"warnings":[{"fix":"Upgrade yaup to >=1.6.0 or use Node.js >=12","message":"Dropped Node.js <12 support in v1.6.0","severity":"breaking","affected_versions":"<1.6.0"},{"fix":"Use 'dts' instead of 'types' in output format","message":"format: 'types' renamed to 'dts' in v1.3.0","severity":"deprecated","affected_versions":">=1.3.0"},{"fix":"Rename config file to yaup.config.ts or yaup.config.js","message":"Config file must be named yaup.config.ts or yaup.config.js; other names are ignored","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use paths relative to the config file or absolute paths","message":"The input path must be relative to config file location, not cwd","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":"npm install esbuild --save-dev","cause":"esbuild is a peer dependency not installed automatically","error":"Error: Cannot find module 'esbuild'"},{"fix":"Place yaup.config.ts in project root or use `yaup --config /path/to/config`","cause":"Config file must be in the root of the project or specified with --config","error":"Error: Config file not found: yaup.config.ts"},{"fix":"Change to `import { defineConfig } from 'yaup'` and ensure package.json has \"type\": \"module\"","cause":"Using CommonJS require() instead of ESM import","error":"TypeError: defineConfig is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}