Skip to content

kpulkit29/rollup-plugin-concatfiles

Repository files navigation

rollup-plugin-concatfiles

Build Status License: MIT

Rollup plugin to concatenate files/content to the generated output. This plugin would enable the user to concatenate files to the output or any other file in general.

Install

// yarn
yarn add rollup-plugin-concatfiles

// npm
npm i rollup-plugin-concatfiles

Usage

// rollup.config.js
import {concatFiles} from "rollup-plugin-concatfiles";
export default [
  {
    input: "testUtils/core.js",
    output: {
      file: "dist/test-1.js",
      format: "iife",
      sourceMap: true
    },
    plugins: [
      concatFiles({
        files: {
            "dist/test-1.js": {
              banner:["Add your banner content"],
              concatFiles:['license.txt', 'dist/test-1.js'],
              footer:["Add your footer content"]
            },
            "dist/temp.js": {
              banner:[SOME_FILE_PATH],
              concatFiles:['src/core.js'],
              footer:[SOME_FILE_PATH]
            }
        }
      })
    ]
  }
];

In the above mentioned example dist/test-1.js will be the output generated by rollup and concatFiles plugin will accumulate all the content mentioned under the files key & dump that into dist/test-1.js. IMPORTANT: Old content will be replaced with the concatenated content.

rollup-plugin-concatfiles can be used to modify content of build file as well as other files.

Note: Banner can be an array of normal strings or file paths (in the form of string) or both. Similarly for footer.

Concatenation order for the above example

content in dist/test-1.js = Banner + license.txt + dist/test-1.js + Footer

content in dist/temp.js = Banner + src/core.js + Footer

Configuration and other features

Files

TYPE: Object

Each key in this object should be a valid filename(.js extension supported) to which concatenated content will be saved.

Banner

TYPE: Array

Banner would be at the top of the content. Should be passed on as an empty array if you do not want to use this key.

Footer

TYPE: Array

Footer would be at the bottom of the content. Should be passed on as an empty array if you do not want to use this key.

Other features

  • Default separator is \n. Cannot be altered as of now.
  • Banner can be an array of normal strings or file paths (in the form of string) or both. Similarly for footer.
  • Currently the plugin is capable of reading of .txt or .js files and can only generate output in .js file

Contributors