@surmon-china/libundler
TypeScript icon, indicating that this package has built-in type declarations

2.3.0 • Public • Published

libundler

GitHub stars   npm   GitHub package.json version   GitHub Workflow Status   license

📦 Universal JavaScript library bundler, powered by Rollup.


Usage

1. install

npm install @surmon-china/libundler --save-dev

You can also use yarn or pnpm.

2. add build script to package.json

"scripts": {
  "build": "libundler"
}

You can also use the command b.

3. run build

yarn build

Config

By default, you do not need to specify configuration file, libundler will generate a nearly perfect configuration for the bundle according to your package.json.

But if you have more specific needs, you can create libundler.config.js or libundler.config.ts in your project root.

libundler config interface

  • LibundlerConfigObject
  • LibundlerConfigObject[]
  • (defaultRollupConfig) => RollupConfig

config example projects:

object config example:

// libundler.config.js

/** @type {import('@surmon-china/libundler/lib/interface').LibundlerConfigObject} */
module.exports = {
  entry: 'src/index.js',
  // ...
}

array config example:

// libundler.config.js

/** @type {import('@surmon-china/libundler/lib/interface').LibundlerConfigArray} */
module.exports = [
  {
    entry: 'src/index.ts',
    // ...
  },
  {
    entry: 'src/entry.ts',
    // ...
  },
]

function config example:

// libundler.config.js

/** @type {import('@surmon-china/libundler/lib/interface').LibundlerConfigFn} */
module.exports = (rollupConfig) => {
  // overwrite the Rollup config
  rollupConfig.plugins.push(/* ... */)

  // ...
  return rollupConfig
}

esm config example:

// libundler.config.js
export default {
  entry: 'src/index.js',
  // ...
}

.ts config example:

// libundler.config.ts
import { defineConfig } from '@surmon-china/libundler'

export default defineConfig({
  entry: 'src/index.js',
  // ...
})

JavaScript API

const libundler = require('@surmon-china/libundler')

libundler
  .bundle({
    /* LibundlerConfig */
  })
  .then((result) => {
    console.log('bundle success', result)
  })
  .catch((error) => {
    console.log('bundle error', error)
  })

Development

yarn dev

yarn lint

yarn build

yarn release

Changelog

Detailed changes for each release are documented in the release notes.

License

MIT

Dependents (0)

Package Sidebar

Install

npm i @surmon-china/libundler

Weekly Downloads

24

Version

2.3.0

License

MIT

Unpacked Size

71.5 kB

Total Files

35

Last publish

Collaborators

  • surmon