1.2.0 ⢠Published 8 months ago
@mnrendra/rollup-utils v1.2.0
@mnrendra/rollup-utils
š£ Rollup plugin utilities.
Install
npm i @mnrendra/rollup-utilsUsage
Use in your plugin development:
yourPlugin/store.ts
import type { Store } from '@mnrendra/rollup-utils'
const store: Store = {
pluginName: '', // `Rollup` plugin name
name: '', // `package.json` name
version: '', // `package.json` version
homepage: '', // `package.json` homepage
}
export default storeyourPlugin/index.ts
import type { Plugin } from 'rollup'
import {
initStore,
printInfo
} from '@mnrendra/rollup-utils'
import store from './store'
/**
* Rollup plugin.
*
* @returns {Promise<Plugin>} Rollup plugin object.
*/
const main = async (): Promise<Plugin> => {
// Initialize store.
await initStore(store, { any: null })
// Print info.
printInfo(store)
// Return Rollup plugin object.
return {
/**
* Rollup properties
*/
name: store.pluginName,
version: store.version
}
}
export default mainUtilities
⢠initStore
To initialize the store to save the expensive data (e.g., package.json values).
import type { Store } from '@mnrendra/rollup-utils'
type InitStore = <T extends Record<string, any> = Record<string, any>>(store: Store, additional?: T) => Promise<void>It automatically read package.json and store the required properties in the store.
⢠printInfo
To print Rollup plugin information from the store.
import type { Store } from '@mnrendra/rollup-utils'
type PrintInfo = (store: Store) => voidThe current format is: ⢠pluginName: version. If you wish to change the format, please request it here.
Types
import type {
Store
} from '@mnrendra/rollup-utils'