flatten-brunch-map

2.10.1 • Public • Published

flatten-brunch-map

npm Version License

Creates the object to return by a Brunch plugin, with the new sourcemap merged with the preceding sourcemap if necessary.

Install

npm install flatten-brunch-map --save

Usage

const flattenMap = require('flatten-brunch-map')
...
const pluginResult = flattenMap(fileParam, compiledCode, sourceMap)

Example

const flattenMap = require('flatten-brunch-map')
const myCompiler = require('myCompiler')
 
class MyPlugin {
 
  constructor (config) {
    this.options = config.plugins.myPlugin || {}
    // Tell to myCompiler if user wants sourcemap
    this.options.sourceMaps = !!config.sourceMaps
  }
 
  compile (file) {
    return new Promise((resolve, reject) => {
      try {
        // Do the plugin logic and then call flattenMap with the
        // received param and the generated code and sourcemap.
        const output = myCompiler(file.data, this.options)
        const result = this.options.sourceMaps
                     ? flattenMap(file, output.code, output.map) : output.code
 
        resolve(result)
      } catch (error) {
        reject(error)
      }
    })
  }
}
 
MyPlugin.prototype.brunchPlugin = true
MyPlugin.prototype.extension = 'js'
MyPlugin.prototype.type = 'javascript'
 
module.exports = MyPlugin

What's New

From v2.8.2, the plugin returns a normalized string or plain object with sources defaulting to the received file path.


Like it? Don't forget your star :)

Package Sidebar

Install

npm i flatten-brunch-map

Weekly Downloads

26

Version

2.10.1

License

MIT

Unpacked Size

7.59 kB

Total Files

6

Last publish

Collaborators

  • amarcruz