Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

rollup-plugin-inject-code

saqqdy23MIT1.1.0TypeScript support: included

A rollup plugin for inject codes

rollup, plugin, inject, inject-code, inject-plugin, inject-iife, saqqdy

readme

rollup-plugin-inject-code

A rollup plugin for inject codes

NPM version Codacy Badge Test coverage npm download License

Sonar

Installing

# use pnpm
$ pnpm install -D rollup-plugin-inject-code

# use npm
$ npm install -D rollup-plugin-inject-code

# use yarn
$ yarn add -D rollup-plugin-inject-code

Usage

  1. use import
// rollup.config.js
import injectCode from 'rollup-plugin-inject-code'

export default {
  plugins: [
    injectCode({
      path: './node_modules/axios-serializer/dist/index.min.js',
      position: 'before'
    })
  ]
}
  1. use require
// rollup.config.js
const injectCode = require('rollup-plugin-inject-code')

module.exports = {
  plugins: [
    injectCode({
      path: './node_modules/axios-serializer/dist/index.min.js',
      position: 'before'
    })
  ]
}

Types

import type { Plugin } from 'rollup'

export interface MinifyOptions {
  compress?: boolean | CompressOptions
  ecma?: ECMA
  enclose?: boolean | string
  ie8?: boolean
  keep_classnames?: boolean | RegExp
  keep_fnames?: boolean | RegExp
  mangle?: boolean | MangleOptions
  module?: boolean
  nameCache?: object
  format?: FormatOptions
  /** @deprecated */
  output?: FormatOptions
  parse?: ParseOptions
  safari10?: boolean
  sourceMap?: boolean | SourceMapOptions
  toplevel?: boolean
}

/**
 * A rollup plugin for inject codes
 *
 * @param options - options
 * @returns Plugin - injectCode plugin
 */
declare function injectCode(options: OptionsPath): Plugin

declare function injectCode(options: OptionsCode): Plugin
export default injectCode

export declare interface Options {
  /**
   * for es6 import
   *
   * @example ''
   */
  /**
   * for es6 export
   *
   * @example ''
   */
  /**
   * for node require
   *
   * @example ''
   */
  /**
   * for node exports
   *
   * @example ''
   */
  position?: 'before' | 'after'
  /**
   * A string to prepend to the bundle
   */
  intro?: string
  /**
   * A string to append to the bundle
   */
  outro?: string
  /**
   * minify the codes
   */
  minify?: boolean
  /**
   * minify options for terser
   */
  minifyOptions?: MinifyOptions
}

export declare interface OptionsCode extends Options {
  /**
   * inject code string
   * @description Only one of “path” and “code” needs to be passed in, and "path" has higher priority than "code" when both are passed in
   */
  code: string
}

export declare interface OptionsPath extends Options {
  /**
   * inject code path
   * @description Only one of “path” and “code” needs to be passed in, and "path" has higher priority than "code" when both are passed in
   */
  path: string
}

Support & Issues

Please open an issue here.

License

MIT

changelog

Update logs

2023.05.26 v1.1.0

  1. support new option: intro/outro/minify/minifyOptions/code
  2. Only one of “path” and “code” needs to be passed in, and "path" has higher priority than "code" when both are passed in
  3. upgrade all packages

2023.04.27 v1.0.0

  1. create project README.md
  2. docs work