SkillAgentSearch skills...

Libundler

šŸ“¦ Universal JavaScript library bundler, powered by @rollup.

Install / Use

/learn @surmon-china/Libundler

README

libundler

GitHub stars Ā  GitHub issues Ā  npm Ā  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

Related Skills

View on GitHub
GitHub Stars14
CategoryDevelopment
Updated1y ago
Forks5

Languages

TypeScript

Security Score

80/100

Audited on Aug 11, 2024

No findings