2016-09-19 18:00:19 +00:00
|
|
|
"use strict";
|
2017-04-09 14:05:24 +00:00
|
|
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
|
|
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
|
|
});
|
|
|
|
};
|
2017-04-09 10:35:53 +00:00
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
2016-09-19 18:00:19 +00:00
|
|
|
const plugins = require("./smartbrowser.plugins");
|
|
|
|
/**
|
|
|
|
* class smartbrowser controls a browser-sync instance for you
|
|
|
|
*/
|
|
|
|
class Smartbrowser {
|
|
|
|
constructor(optionsArg) {
|
|
|
|
this.bsInstance = plugins.browserSync.create();
|
|
|
|
this.bsConfig = {
|
|
|
|
server: {}
|
|
|
|
};
|
|
|
|
this.bsStatus = 'idle';
|
|
|
|
this.bsConfig.server.baseDir = optionsArg.webroot;
|
|
|
|
this.bsConfig.files = optionsArg.watchFiles;
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* starts the server and returns the browserSync instance in a resolved Promise
|
|
|
|
*/
|
|
|
|
start() {
|
2017-04-09 14:05:24 +00:00
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
|
let done = plugins.smartq.defer();
|
|
|
|
if (this.bsStatus === 'idle') {
|
|
|
|
this.bsStatus = 'starting';
|
|
|
|
let localDone = plugins.smartq.defer();
|
|
|
|
this.bsStarted = localDone.promise;
|
|
|
|
this.bsInstance.init(this.bsConfig, () => {
|
|
|
|
this.bsStatus = 'running';
|
|
|
|
localDone.resolve();
|
|
|
|
done.resolve(this.bsInstance);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
this.bsStarted.then(() => { done.resolve(this.bsInstance); });
|
|
|
|
}
|
|
|
|
return yield done.promise;
|
|
|
|
});
|
2016-09-19 18:00:19 +00:00
|
|
|
}
|
|
|
|
/**
|
|
|
|
* stops the smartbrowser instance
|
|
|
|
*/
|
|
|
|
stop() {
|
2017-04-09 14:05:24 +00:00
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
|
this.bsInstance.exit();
|
|
|
|
this.bsStatus = 'idle';
|
|
|
|
});
|
|
|
|
}
|
|
|
|
reload() {
|
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
|
this.bsInstance.reload();
|
|
|
|
});
|
2016-09-19 18:00:19 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
exports.Smartbrowser = Smartbrowser;
|
2017-04-09 14:05:24 +00:00
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsa0RBQWlEO0FBZ0JqRDs7R0FFRztBQUNIO0lBT0UsWUFBYSxVQUFnQztRQU43QyxlQUFVLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUN6QyxhQUFRLEdBQWdDO1lBQ3RDLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQTtRQUNELGFBQVEsR0FBYSxNQUFNLENBQUE7UUFHekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUE7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQTtJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDRyxLQUFLOztZQUNULElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUEyQyxDQUFBO1lBQzFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUE7Z0JBQzFCLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFRLENBQUE7Z0JBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQTtnQkFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUE7b0JBQ3pCLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtvQkFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7Z0JBQy9CLENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5RCxDQUFDO1lBQ0QsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUMzQixDQUFDO0tBQUE7SUFFRDs7T0FFRztJQUNHLElBQUk7O1lBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQTtRQUN4QixDQUFDO0tBQUE7SUFFSyxNQUFNOztZQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDMUIsQ0FBQztLQUFBO0NBQ0Y7QUEzQ0Qsb0NBMkNDIn0=
|