yaup
TypeScript icon, indicating that this package has built-in type declarations

1.8.0 • Public • Published

💛 You can help the author become a full-time open-source maintainer by sponsoring him on GitHub.


yaup

npm version

Why this over other esbuild/rollup wrappers?

  • Unopinionated: close to raw esbuild, flexible configration
  • Minimal: minimal API interface so it's easier to maintain

Install

npm i yaup -D

Usage

It's common to publish dual CommonJS/ES module packages with an extra TypeScript declaration file, all you need is creating a yaup.config.ts:

import { defineConfig } from 'yaup'

export default defineConfig({
  input: './src/index.ts',
  output: [
    {
      format: 'esm',
      dir: 'dist/esm',
    },
    {
      format: 'cjs',
      dir: 'dist/cjs',
    },
    {
      format: 'dts',
      dir: 'dist/types',
    },
  ],
})

Run yaup in this directory, it will emit:

  • dist/esm/index.js
  • dist/cjs/index.js
  • dist/types/index.d.ts

Then, configure package.json accordingly:

{
  "main": "./dist/cjs/index.js",
  "module": "./dist/esm/index.js",
  "types": "./dist/types/index.js",
  "exports": {
    ".": {
      "import": "./dist/esm/index.js",
      "default": "./dist/cjs/index.js"
    }
  }
}

API

Full config reference.

Contributing

Bug fixes are welcome, I'm not accepting new features unless it's absolutely necessary.

License

MIT © EGOIST

Readme

Keywords

none

Package Sidebar

Install

npm i yaup

Weekly Downloads

193

Version

1.8.0

License

MIT

Unpacked Size

210 kB

Total Files

7

Last publish

Collaborators

  • egoist