pot-js
Version:
Process management module
85 lines (59 loc) • 2.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _homeOrTmp = require('home-or-tmp');
var _homeOrTmp2 = _interopRequireDefault(_homeOrTmp);
var _lodash = require('lodash');
var _config = require('../Schemas/config');
var _config2 = _interopRequireDefault(_config);
var _fsExtra = require('fs-extra');
var _path = require('path');
var _package = require('../../package.json');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
const base = (0, _path.join)(_homeOrTmp2.default, '.config', _package.name);
const workspace = {
default: process.env.POT_WORKSPACE || _config2.default.properties.workspace.default,
_getDir() {
var _arguments = arguments,
_this = this;
return _asyncToGenerator(function* () {
for (var _len = _arguments.length, paths = Array(_len), _key = 0; _key < _len; _key++) {
paths[_key] = _arguments[_key];
}
const dir = (0, _path.join)(base, _this._name || _this.default, ...paths.filter(Boolean));
yield (0, _fsExtra.ensureDir)(dir);
return dir;
})();
},
DEPRECATED_getPidsDir() {
var _this2 = this;
return _asyncToGenerator(function* () {
return _this2._getDir('pids');
})();
},
DEPRECATED_getSocketsDir() {
var _this3 = this;
return _asyncToGenerator(function* () {
return _this3._getDir('sockets');
})();
},
getRunDir() {
var _this4 = this;
return _asyncToGenerator(function* () {
return _this4._getDir('pot-run');
})();
},
getLogsDir(name) {
var _this5 = this;
return _asyncToGenerator(function* () {
return _this5._getDir('logs', name);
})();
},
set(options) {
this._name = (0, _lodash.isObject)(options) ? options.workspace : options;
if (!this._name) this._name = this.default;
}
};
exports.default = workspace;