Broccoli plugin adapter. Allows easy implementation of broccoli plugins.
'use strict'
const BroccoliPluginAdapter = require('broccoli-plugin-adapter')
const tag = require('./tag')
const Injector = require('./injector')
const livereload = require('livereload')
/**
* Let your plugin extend BroccoliPluginAdapter
**/
class BroccoliLivereload extends BroccoliPluginAdapter {
constructor(inputNodes, options) {
super(inputNodes, options)
}
/**
* Override handle content to get access to file contents. Be aware that
* to handle text files you have to encode the binary content.
**/
handleContent(path, content) {
if (this._building) {
return content
}
// Notify live reload server that file changed
this._livereload.filterRefresh(path)
const inject = this._injector.matches(path)
if (inject) {
return this._injector.inject(content)
}
return content
}
}
module.exports = BroccoliLivereload
npm install broccoli-plugin-adapter --save-dev
This project is distributed under the MIT license.