123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- "use strict";
- var UI = require("./lib/UI");
- var config = require("./lib/config");
- var Events = require("events").EventEmitter;
- /**
- * Hooks are for attaching functionality to BrowserSync
- */
- module.exports.hooks = {
- /**
- * Client JS is added to each connected client
- */
- "client:js": fileContent(config.defaults.clientJs)
- };
- /**
- * BrowserSync Plugin interface
- * @param {Object} opts
- * @param {BrowserSync} bs
- * @param {Function} cb
- * @returns {UI}
- */
- module.exports["plugin"] = function (opts, bs, cb) {
- var ui = new UI(opts, bs, new Events());
- bs.setOption("session", new Date().getTime());
- ui.cb = cb || function () { /*noop*/ };
- ui.init();
- return ui;
- };
- module.exports["plugin:name"] = config.defaults.pluginName;
- /**
- * @param filepath
- * @returns {*}
- */
- function getPath (filepath) {
- return require("path").join(__dirname, filepath);
- }
- /**
- * @param filepath
- * @returns {*}
- */
- function fileContent (filepath) {
- return require("fs").readFileSync(getPath(filepath));
- }
|