youzanyun-devtool-worker
Version:
- web - ws - proxy
128 lines (127 loc) • 4.25 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const path_1 = tslib_1.__importDefault(require("path"));
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
const lodash_1 = require("lodash");
const spring4js_nodejs_1 = require("spring4js-nodejs");
const DefaultConfig = {
"workerWebPort": 31240,
"workerProxyPort": 31250,
"useProxy": false,
"proxyHost": "127.0.0.1",
"proxyPort": "8001",
"desktopLogLevel": "error",
"autoStartWorker": true,
"workerName": "youzanyun-devtool-worker",
};
let ConfigService = class ConfigService {
constructor() {
let workerDir = path_1.default.resolve(__dirname, '../../../');
this.config = {
workerDir,
npmDir: this.userhome('.youzanyun/npm'),
logDir: this.userhome('.youzanyun/log'),
dataDir: this.userhome('.youzanyun/data'),
isvPageTplDir: this.userhome('.youzanyun/isv-page'),
pluginDir: path_1.default.resolve(workerDir, 'plugin'),
mpCacheDir: this.userhome('.youzanyun/mp-cache'),
mpGuideConfigDir: this.userhome('.youzanyun/mp-guide-config'),
pcDemoDir: this.userhome('.youzanyun/pc-demo'),
viewRoot: path_1.default.resolve(workerDir, 'views'),
h5DemoDir: this.userhome('.youzanyun/h5-demo'),
dpCacheDir: this.userhome('.youzanyun/dp-cache'),
dpCompJsFile: this.userhome('.youzanyun/dp-comp-temp.js'),
sqlDir: this.userhome('.youzanyun/sql'),
};
}
async start() {
await fs_extra_1.default.ensureDir(this.config.dataDir);
await fs_extra_1.default.ensureDir(this.config.sqlDir);
let configPath = this.userhome('.youzanyun/config.json');
let config = await fs_extra_1.default.readJson(configPath);
this.config = Object.assign(this.config, config);
const workerJson = await fs_extra_1.default.readJson(path_1.default.resolve(this.config.npmDir, 'package.json'));
const version = workerJson.dependencies[this.config.workerName];
this.workerVersion = version.replace('^', '');
}
getRenderRemoteDebugPort() {
return this.config.renderRemoteDebugPort;
}
getWorkerDir() {
return this.config.workerDir;
}
getWebPort() {
return this.config.workerWebPort;
}
getProxyHttpPort() {
return this.config.workerProxyPort;
}
getProxyHttpsPort() {
return this.config.workerProxyPort + 1;
}
getMpGuideConfigDir() {
return this.isMpGuideLocalDevelop() ? this.config.mpGuideDevelopDir : this.config.mpGuideConfigDir;
}
isMpGuideLocalDevelop() {
return this.config.mpGuideLocalDevelop || false;
}
getIsvPageTplDir() {
return this.config.isvPageTplDir;
}
getPcDemoDir() {
return this.config.pcDemoDir;
}
getConfig(keyPath) {
return lodash_1.get(this.config, keyPath);
}
getDataDir() {
return this.config.dataDir;
}
getWorkerLogLevel() {
return this.config.workerLogLevel;
}
getLogDir() {
return this.config.logDir;
}
getViewRoot() {
return this.config.viewRoot;
}
getH5DemoDir() {
return this.config.h5DemoDir;
}
getDpCacheDir() {
return this.config.dpCacheDir;
}
getDpCompJsFile() {
return this.config.dpCompJsFile;
}
async saveConfig(config) {
}
isUseProxy() {
return this.config.useProxy;
}
getProxyHost() {
return this.config.proxyHost;
}
getProxyPort() {
return this.config.proxyPort;
}
userhome(relativePath) {
let home = process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'];
if (!home) {
throw new Error('Could not find a valid user home path.');
}
return path_1.default.resolve(home, relativePath);
}
getSqlDir() {
return this.config.sqlDir;
}
getWorkerVersion() {
return this.workerVersion;
}
};
ConfigService = tslib_1.__decorate([
spring4js_nodejs_1.Service()
], ConfigService);
exports.default = ConfigService;