parcel-plugin-wrapper

0.2.3 • Public • Published

parcel-plugin-wrapper

Build Status codecov

Q:What is this thing solving?

Tiny Parcel plugin that wraps output files with custom text or code.

This plugins imitates pretty much what wrapper-webpack-plugin does.

Install

yarn add parcel-plugin-wrapper --dev

Usage

Create a .assetWrapper.js file in the root folder of your project.

Example 1, add some data coming from package.json:

const path = require('path')
 
const CWD = process.cwd()
const PACKAGE = require(path.join(CWD, 'package.json'))
 
const yourAssetProcess = async ({name, bundler}) => {
  // name = app.ere76r5e76r5e76r.js
  if (name.split('.').pop() === 'js' && bundler.options.production) {
    return {
      header: `/* ${PACKAGE.name} - ${PACKAGE.version} */`,
      footer: `// The End.`
    }
  }
}
 
module.exports = yourAssetProcess

Will output:

/* your-project - 3.4.56 */
parcelRequire=function(e,r,n,t){var i="function"==typeof parcelRequire.etc.etc.etc...
[...bla]
[...bla]
[...bla]
// The End

Example 2, Wraps bundle files with '.js' extension in a self invoking function and enables strict mode:

const path = require('path')
 
const yourAssetProcess = ({name, bundler}) => {
  if (name.split('.').pop() === 'js' && bundler.options.production) {
    return {
      header: '(function () { "use strict";\n',
      footer: '\n})();'
    }
  }
}
 
module.exports = yourAssetProcess

Maintainers

@albinotonnina

Contribute

PRs accepted.

License

MIT © 2018 Albino Tonnina

Readme

Keywords

Package Sidebar

Install

npm i parcel-plugin-wrapper

Weekly Downloads

26

Version

0.2.3

License

MIT

Unpacked Size

7.12 kB

Total Files

9

Last publish

Collaborators

  • albinotonnina