0.2.3 • Published 4 years ago

parcel-plugin-wrapper v0.2.3

Weekly downloads
60
License
MIT
Repository
github
Last release
4 years ago

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

0.2.3

4 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.2

6 years ago