@gapi/cli 1.8.147 → 1.8.149
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/services/root.service.d.ts +0 -2
- package/dist/core/services/root.service.js +10 -10
- package/dist/daemon-server/core/services/ipfs-hash-map.service.js +1 -1
- package/dist/tasks/start.d.ts +0 -5
- package/dist/tasks/start.js +38 -42
- package/package.json +3 -3
- package/dist/core/helpers/ps-list.d.ts +0 -12
- package/dist/core/helpers/ps-list.js +0 -68
- package/dist/core/helpers/stringEnum.d.ts +0 -3
- package/dist/core/helpers/stringEnum.js +0 -10
- package/dist/core/services/daemon-executor/daemon-executor.service.d.ts +0 -5
- package/dist/core/services/daemon-executor/daemon-executor.service.js +0 -38
- package/dist/core/services/file.d.ts +0 -12
- package/dist/core/services/file.js +0 -109
- package/dist/daemon-server/api-introspection/index.d.ts +0 -53
- package/dist/daemon-server/api-introspection/index.js +0 -6
- package/dist/daemon-server/core/core.module.d.ts +0 -2
- package/dist/daemon-server/core/core.module.js +0 -22
- package/dist/daemon-server/core/interceptors/notify.interceptor.d.ts +0 -5
- package/dist/daemon-server/core/interceptors/notify.interceptor.js +0 -41
- package/dist/daemon-server/core/services/child.service.d.ts +0 -3
- package/dist/daemon-server/core/services/child.service.js +0 -39
- package/dist/daemon-server/core/services/daemon.service.d.ts +0 -16
- package/dist/daemon-server/core/services/daemon.service.js +0 -107
- package/dist/daemon-server/core/services/ipfs/external-importer.d.ts +0 -57
- package/dist/daemon-server/core/services/ipfs/external-importer.js +0 -359
- package/dist/daemon-server/core/services/ipfs/npm-service.d.ts +0 -12
- package/dist/daemon-server/core/services/ipfs/npm-service.js +0 -55
- package/dist/daemon-server/core/services/ipfs/providers.d.ts +0 -5
- package/dist/daemon-server/core/services/ipfs/providers.js +0 -21
- package/dist/daemon-server/core/services/ipfs/request-cache.d.ts +0 -7
- package/dist/daemon-server/core/services/ipfs/request-cache.js +0 -31
- package/dist/daemon-server/core/services/ipfs/request.d.ts +0 -6
- package/dist/daemon-server/core/services/ipfs/request.js +0 -60
- package/dist/daemon-server/core/services/list.service.d.ts +0 -10
- package/dist/daemon-server/core/services/list.service.js +0 -55
- package/dist/daemon-server/core/services/plugin-loader.service.d.ts +0 -29
- package/dist/daemon-server/core/services/plugin-loader.service.js +0 -118
- package/dist/daemon-server/core/services/plugin-watcher.service.d.ts +0 -9
- package/dist/daemon-server/core/services/plugin-watcher.service.js +0 -92
- package/dist/daemon-server/core/templates/gapi-cli-config.template.d.ts +0 -1
- package/dist/daemon-server/core/templates/gapi-cli-config.template.js +0 -9
- package/dist/daemon-server/server.controller.d.ts +0 -16
- package/dist/daemon-server/server.controller.js +0 -85
- package/dist/daemon-server/server.module.d.ts +0 -2
- package/dist/daemon-server/server.module.js +0 -21
- package/dist/daemon-server/types/link-list.type.d.ts +0 -4
- package/dist/daemon-server/types/link-list.type.js +0 -22
- package/dist/daemon-server/types/server-metadata.type.d.ts +0 -5
- package/dist/daemon-server/types/server-metadata.type.js +0 -20
- package/dist/tasks/bootstrap.d.ts +0 -7
- package/dist/tasks/bootstrap.js +0 -64
- package/dist/tasks/daemon.d.ts +0 -45
- package/dist/tasks/daemon.js +0 -340
package/dist/tasks/bootstrap.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.BootstrapTask = void 0;
|
|
22
|
-
const core_1 = require("@gapi/core");
|
|
23
|
-
const core_2 = require("@rxdi/core");
|
|
24
|
-
const operators_1 = require("rxjs/operators");
|
|
25
|
-
const helpers_1 = require("../core/helpers");
|
|
26
|
-
const plugin_loader_service_1 = require("../daemon-server/core/services/plugin-loader.service");
|
|
27
|
-
const plugin_watcher_service_1 = require("../daemon-server/core/services/plugin-watcher.service");
|
|
28
|
-
const server_module_1 = require("../daemon-server/server.module");
|
|
29
|
-
let BootstrapTask = class BootstrapTask {
|
|
30
|
-
constructor(pluginLoader) {
|
|
31
|
-
this.pluginLoader = pluginLoader;
|
|
32
|
-
}
|
|
33
|
-
run(options) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
this.pluginLoader
|
|
36
|
-
.loadPlugins()
|
|
37
|
-
.pipe(operators_1.switchMap((pluginModules) => core_2.setup({
|
|
38
|
-
imports: [
|
|
39
|
-
...pluginModules,
|
|
40
|
-
core_1.CoreModule.forRoot(options || {
|
|
41
|
-
server: {
|
|
42
|
-
hapi: {
|
|
43
|
-
port: helpers_1.nextOrDefault('--port', 42000, (p) => Number(p)),
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
graphql: {
|
|
47
|
-
openBrowser: false,
|
|
48
|
-
graphiql: false,
|
|
49
|
-
graphiQlPlayground: false,
|
|
50
|
-
},
|
|
51
|
-
}),
|
|
52
|
-
server_module_1.ServerModule,
|
|
53
|
-
],
|
|
54
|
-
providers: [plugin_watcher_service_1.PluginWatcherService],
|
|
55
|
-
})))
|
|
56
|
-
.subscribe(() => console.log('Daemon started'), console.error.bind(console));
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
BootstrapTask = __decorate([
|
|
61
|
-
core_2.Service(),
|
|
62
|
-
__metadata("design:paramtypes", [plugin_loader_service_1.PluginLoader])
|
|
63
|
-
], BootstrapTask);
|
|
64
|
-
exports.BootstrapTask = BootstrapTask;
|
package/dist/tasks/daemon.d.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { CoreModuleConfig } from '@gapi/core';
|
|
2
|
-
import { FileService } from '../core/services/file';
|
|
3
|
-
export declare const DaemonTasks: {
|
|
4
|
-
start: "start";
|
|
5
|
-
stop: "stop";
|
|
6
|
-
clean: "clean";
|
|
7
|
-
restart: "restart";
|
|
8
|
-
list: "list";
|
|
9
|
-
status: "status";
|
|
10
|
-
unlink: "unlink";
|
|
11
|
-
link: "link";
|
|
12
|
-
bootstrap: "bootstrap";
|
|
13
|
-
kill: "kill";
|
|
14
|
-
};
|
|
15
|
-
export declare type DaemonTasks = keyof typeof DaemonTasks;
|
|
16
|
-
export declare class DaemonTask {
|
|
17
|
-
private fileService;
|
|
18
|
-
private outLogFile;
|
|
19
|
-
private errLogFile;
|
|
20
|
-
private pidLogFile;
|
|
21
|
-
private bootstrapTask;
|
|
22
|
-
private daemonExecutorService;
|
|
23
|
-
constructor(fileService: FileService);
|
|
24
|
-
private makeSystemFolders;
|
|
25
|
-
private start;
|
|
26
|
-
private restart;
|
|
27
|
-
private stop;
|
|
28
|
-
private list;
|
|
29
|
-
private kill;
|
|
30
|
-
private status;
|
|
31
|
-
private link;
|
|
32
|
-
private readGapiConfig;
|
|
33
|
-
private isDirectoryAvailable;
|
|
34
|
-
private getProcessList;
|
|
35
|
-
private unlink;
|
|
36
|
-
private clean;
|
|
37
|
-
private genericRunner;
|
|
38
|
-
private tasks;
|
|
39
|
-
bootstrap: (options: CoreModuleConfig) => Promise<void>;
|
|
40
|
-
run(): Promise<void>;
|
|
41
|
-
private killDaemon;
|
|
42
|
-
private readPidDaemonConfig;
|
|
43
|
-
private isDaemonRunning;
|
|
44
|
-
private getActiveDaemon;
|
|
45
|
-
}
|
package/dist/tasks/daemon.js
DELETED
|
@@ -1,340 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.DaemonTask = exports.DaemonTasks = void 0;
|
|
22
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
23
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
24
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
25
|
-
const core_1 = require("@gapi/core");
|
|
26
|
-
const core_2 = require("@rxdi/core");
|
|
27
|
-
const child_process_1 = require("child_process");
|
|
28
|
-
const fs_1 = require("fs");
|
|
29
|
-
const rimraf = require("rimraf");
|
|
30
|
-
const util_1 = require("util");
|
|
31
|
-
const yamljs_1 = require("yamljs");
|
|
32
|
-
const helpers_1 = require("../core/helpers");
|
|
33
|
-
const ps_list_1 = require("../core/helpers/ps-list");
|
|
34
|
-
const stringEnum_1 = require("../core/helpers/stringEnum");
|
|
35
|
-
const daemon_executor_service_1 = require("../core/services/daemon-executor/daemon-executor.service");
|
|
36
|
-
const file_1 = require("../core/services/file");
|
|
37
|
-
const daemon_config_1 = require("../daemon-server/daemon.config");
|
|
38
|
-
const bootstrap_1 = require("./bootstrap");
|
|
39
|
-
exports.DaemonTasks = stringEnum_1.strEnum([
|
|
40
|
-
'start',
|
|
41
|
-
'stop',
|
|
42
|
-
'clean',
|
|
43
|
-
'kill',
|
|
44
|
-
'bootstrap',
|
|
45
|
-
'link',
|
|
46
|
-
'unlink',
|
|
47
|
-
'list',
|
|
48
|
-
'restart',
|
|
49
|
-
'status',
|
|
50
|
-
]);
|
|
51
|
-
let DaemonTask = class DaemonTask {
|
|
52
|
-
constructor(fileService) {
|
|
53
|
-
this.fileService = fileService;
|
|
54
|
-
this.outLogFile = `${daemon_config_1.GAPI_DAEMON_FOLDER}/out.log`;
|
|
55
|
-
this.errLogFile = `${daemon_config_1.GAPI_DAEMON_FOLDER}/err.log`;
|
|
56
|
-
this.pidLogFile = `${daemon_config_1.GAPI_DAEMON_FOLDER}/pid`;
|
|
57
|
-
this.bootstrapTask = core_2.Container.get(bootstrap_1.BootstrapTask);
|
|
58
|
-
// private systemDService: SystemDService = Container.get(SystemDService);
|
|
59
|
-
this.daemonExecutorService = core_2.Container.get(daemon_executor_service_1.DaemonExecutorService);
|
|
60
|
-
this.start = (name) => __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
yield this.killDaemon();
|
|
62
|
-
yield this.makeSystemFolders();
|
|
63
|
-
// if (includes('--systemd')) {
|
|
64
|
-
// await this.systemDService.register({
|
|
65
|
-
// name: name || 'my-node-service',
|
|
66
|
-
// cwd: __dirname.replace('tasks', 'core/helpers/'),
|
|
67
|
-
// app: __dirname.replace('tasks', 'core/helpers/systemd-daemon.js'),
|
|
68
|
-
// engine: 'node',
|
|
69
|
-
// env: {}
|
|
70
|
-
// });
|
|
71
|
-
// } else {
|
|
72
|
-
const child = child_process_1.spawn('gapi', ['daemon', 'bootstrap'], {
|
|
73
|
-
detached: true,
|
|
74
|
-
stdio: [
|
|
75
|
-
'ignore',
|
|
76
|
-
fs_1.openSync(this.outLogFile, 'a'),
|
|
77
|
-
fs_1.openSync(this.errLogFile, 'a'),
|
|
78
|
-
],
|
|
79
|
-
});
|
|
80
|
-
yield util_1.promisify(fs_1.writeFile)(this.pidLogFile, child.pid, {
|
|
81
|
-
encoding: 'utf-8',
|
|
82
|
-
});
|
|
83
|
-
console.log('DAEMON STARTED!', `\nPID: ${child.pid}`);
|
|
84
|
-
child.unref();
|
|
85
|
-
// }
|
|
86
|
-
});
|
|
87
|
-
this.restart = (name) => __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
yield this.stop();
|
|
89
|
-
yield this.start();
|
|
90
|
-
});
|
|
91
|
-
this.stop = (name) => __awaiter(this, void 0, void 0, function* () {
|
|
92
|
-
// if (includes('--systemd')) {
|
|
93
|
-
// await this.systemDService.remove(name || 'my-node-service');
|
|
94
|
-
// } else {
|
|
95
|
-
yield this.killDaemon();
|
|
96
|
-
// }
|
|
97
|
-
});
|
|
98
|
-
this.list = () => __awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
const linkList = yield this.daemonExecutorService.getLinkList();
|
|
100
|
-
const chalk = require('chalk');
|
|
101
|
-
[...new Set(linkList.data.getLinkList.map((l) => l.linkName))].forEach((l) => {
|
|
102
|
-
const list = linkList.data.getLinkList.filter((i) => i.linkName === l);
|
|
103
|
-
console.log(chalk.green(`\n--- Link name: '${l}' --- \n--- Linked projects ${list.length} ---`));
|
|
104
|
-
list.forEach((i, index) => console.log(`\n${chalk.blue(`(${index + 1})(${l})${i.serverMetadata.port
|
|
105
|
-
? `(Main Graph with port ${i.serverMetadata.port})`
|
|
106
|
-
: ''}`)} \n Path: ${chalk.yellow(i.repoPath)}`, `\n Introspection folder: ${chalk.yellow(i.introspectionPath)}`));
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
this.kill = (pid) => process.kill(Number(pid));
|
|
110
|
-
this.status = () => __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
console.log(`Daemon status: ${(yield this.isDaemonRunning()) ? 'active' : 'stopped'}`);
|
|
112
|
-
});
|
|
113
|
-
this.link = (linkName = 'default') => __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
const encoding = 'utf-8';
|
|
115
|
-
let config = { config: { schema: {} } };
|
|
116
|
-
const processList = yield this.getProcessList();
|
|
117
|
-
config = yield this.readGapiConfig();
|
|
118
|
-
config.config = config.config || {};
|
|
119
|
-
config.config.schema = config.config.schema || {};
|
|
120
|
-
const introspectionPath = config.config.schema.introspectionOutputFolder || `./api-introspection`;
|
|
121
|
-
linkName = config.config.schema.linkName || linkName;
|
|
122
|
-
const currentRepoProcess = {
|
|
123
|
-
repoPath: process.cwd(),
|
|
124
|
-
introspectionPath,
|
|
125
|
-
linkName,
|
|
126
|
-
serverMetadata: {},
|
|
127
|
-
};
|
|
128
|
-
yield util_1.promisify(fs_1.writeFile)(daemon_config_1.GAPI_DAEMON_PROCESS_LIST_FOLDER, JSON.stringify(processList
|
|
129
|
-
.filter((p) => p.repoPath !== process.cwd())
|
|
130
|
-
.concat(currentRepoProcess)), { encoding });
|
|
131
|
-
console.log(`Project linked ${process.cwd()} link name: ${currentRepoProcess.linkName}`);
|
|
132
|
-
});
|
|
133
|
-
this.unlink = () => __awaiter(this, void 0, void 0, function* () {
|
|
134
|
-
const processList = yield this.getProcessList();
|
|
135
|
-
const encoding = 'utf-8';
|
|
136
|
-
const linkName = helpers_1.nextOrDefault('unlink', null, (t) => t !== '--all' ? t : null);
|
|
137
|
-
if (yield this.isDirectoryAvailable(linkName)) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
const [currentProcess] = processList.filter((p) => p.repoPath === process.cwd());
|
|
141
|
-
if (linkName) {
|
|
142
|
-
yield util_1.promisify(fs_1.writeFile)(daemon_config_1.GAPI_DAEMON_PROCESS_LIST_FOLDER, JSON.stringify(processList.filter((p) => p.linkName !== linkName)), {
|
|
143
|
-
encoding,
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
else if (helpers_1.includes('--all') && processList.length) {
|
|
147
|
-
yield util_1.promisify(fs_1.writeFile)(daemon_config_1.GAPI_DAEMON_PROCESS_LIST_FOLDER, JSON.stringify([]), {
|
|
148
|
-
encoding,
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
else if (currentProcess) {
|
|
152
|
-
yield util_1.promisify(fs_1.writeFile)(daemon_config_1.GAPI_DAEMON_PROCESS_LIST_FOLDER, JSON.stringify(processList.filter((p) => p.repoPath !== process.cwd())), { encoding });
|
|
153
|
-
}
|
|
154
|
-
else if (helpers_1.includes('--link-name') && processList.length) {
|
|
155
|
-
const linkName = helpers_1.nextOrDefault('--link-name');
|
|
156
|
-
yield util_1.promisify(fs_1.writeFile)(daemon_config_1.GAPI_DAEMON_PROCESS_LIST_FOLDER, JSON.stringify(processList.filter((p) => p.linkName !== linkName)), { encoding });
|
|
157
|
-
}
|
|
158
|
-
if (currentProcess) {
|
|
159
|
-
if (linkName) {
|
|
160
|
-
const unlinkedProcesses = processList.filter((p) => p.linkName === linkName);
|
|
161
|
-
console.log(`Projects unlinked ${JSON.stringify(unlinkedProcesses, null, 2)} link name: ${currentProcess.linkName}`);
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
console.log(`Project unlinked ${process.cwd()} link name: ${currentProcess.linkName}`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
this.clean = () => __awaiter(this, void 0, void 0, function* () {
|
|
169
|
-
const isRunning = yield this.isDaemonRunning();
|
|
170
|
-
if (!isRunning) {
|
|
171
|
-
yield util_1.promisify(rimraf)(daemon_config_1.GAPI_DAEMON_FOLDER);
|
|
172
|
-
}
|
|
173
|
-
else {
|
|
174
|
-
console.log('Cannot perform clean operation while daemon is running execute `gapi daemon stop` and try again');
|
|
175
|
-
}
|
|
176
|
-
console.log(`${daemon_config_1.GAPI_DAEMON_FOLDER} cleaned!`);
|
|
177
|
-
});
|
|
178
|
-
this.genericRunner = (task) => (args) => this[task](args || helpers_1.nextOrDefault(task, ''));
|
|
179
|
-
this.tasks = new Map([
|
|
180
|
-
[exports.DaemonTasks.start, this.genericRunner(exports.DaemonTasks.start)],
|
|
181
|
-
[exports.DaemonTasks.stop, this.genericRunner(exports.DaemonTasks.stop)],
|
|
182
|
-
[exports.DaemonTasks.clean, this.genericRunner(exports.DaemonTasks.clean)],
|
|
183
|
-
[exports.DaemonTasks.kill, this.genericRunner(exports.DaemonTasks.kill)],
|
|
184
|
-
[exports.DaemonTasks.bootstrap, this.genericRunner(exports.DaemonTasks.bootstrap)],
|
|
185
|
-
[exports.DaemonTasks.link, this.genericRunner(exports.DaemonTasks.link)],
|
|
186
|
-
[exports.DaemonTasks.unlink, this.genericRunner(exports.DaemonTasks.unlink)],
|
|
187
|
-
[exports.DaemonTasks.list, this.genericRunner(exports.DaemonTasks.list)],
|
|
188
|
-
[exports.DaemonTasks.status, this.genericRunner(exports.DaemonTasks.status)],
|
|
189
|
-
]);
|
|
190
|
-
this.bootstrap = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
191
|
-
return yield this.bootstrapTask.run(options);
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
makeSystemFolders() {
|
|
195
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
-
yield this.fileService.mkdirp(daemon_config_1.GAPI_DAEMON_FOLDER).toPromise();
|
|
197
|
-
yield this.fileService.mkdirp(daemon_config_1.GAPI_DAEMON_IPFS_PLUGINS_FOLDER).toPromise();
|
|
198
|
-
yield this.fileService.mkdirp(daemon_config_1.GAPI_DAEMON_HTTP_PLUGINS_FOLDER).toPromise();
|
|
199
|
-
yield this.fileService.mkdirp(daemon_config_1.GAPI_DAEMON_PLUGINS_FOLDER).toPromise();
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
readGapiConfig() {
|
|
203
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
-
let file = {};
|
|
205
|
-
try {
|
|
206
|
-
file = yamljs_1.load(process.cwd() + '/gapi-cli.conf.yml');
|
|
207
|
-
}
|
|
208
|
-
catch (e) { }
|
|
209
|
-
return file;
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
isDirectoryAvailable(linkName) {
|
|
213
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
214
|
-
const encoding = 'utf-8';
|
|
215
|
-
let isDirectoryAvailable;
|
|
216
|
-
try {
|
|
217
|
-
isDirectoryAvailable = yield util_1.promisify(fs_1.exists)(linkName);
|
|
218
|
-
}
|
|
219
|
-
catch (e) { }
|
|
220
|
-
if (isDirectoryAvailable) {
|
|
221
|
-
const processList = yield this.getProcessList();
|
|
222
|
-
const [currentProcess] = processList.filter((p) => p.repoPath === linkName);
|
|
223
|
-
yield util_1.promisify(fs_1.writeFile)(daemon_config_1.GAPI_DAEMON_PROCESS_LIST_FOLDER, JSON.stringify(processList.filter((p) => p.repoPath !== linkName)), {
|
|
224
|
-
encoding,
|
|
225
|
-
});
|
|
226
|
-
console.log(`Project unlinked ${linkName} link name: ${currentProcess.linkName}`);
|
|
227
|
-
return true;
|
|
228
|
-
}
|
|
229
|
-
else {
|
|
230
|
-
return false;
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
getProcessList() {
|
|
235
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
236
|
-
let processList = [];
|
|
237
|
-
try {
|
|
238
|
-
processList = JSON.parse(yield util_1.promisify(fs_1.readFile)(daemon_config_1.GAPI_DAEMON_PROCESS_LIST_FOLDER, {
|
|
239
|
-
encoding: 'utf8',
|
|
240
|
-
}));
|
|
241
|
-
}
|
|
242
|
-
catch (e) { }
|
|
243
|
-
return processList;
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
run() {
|
|
247
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
248
|
-
if (helpers_1.includes(exports.DaemonTasks.clean)) {
|
|
249
|
-
console.log(`Cleaning daemon garbage inside ${daemon_config_1.GAPI_DAEMON_FOLDER}!`);
|
|
250
|
-
return yield this.tasks.get(exports.DaemonTasks.clean)();
|
|
251
|
-
}
|
|
252
|
-
if (helpers_1.includes(exports.DaemonTasks.start)) {
|
|
253
|
-
console.log(`Stating daemon! Garbage is inside ${daemon_config_1.GAPI_DAEMON_FOLDER}!`);
|
|
254
|
-
return yield this.tasks.get(exports.DaemonTasks.start)();
|
|
255
|
-
}
|
|
256
|
-
if (helpers_1.includes(exports.DaemonTasks.restart)) {
|
|
257
|
-
return yield this.tasks.get(exports.DaemonTasks.restart)();
|
|
258
|
-
}
|
|
259
|
-
if (helpers_1.includes(exports.DaemonTasks.status)) {
|
|
260
|
-
return yield this.tasks.get(exports.DaemonTasks.status)();
|
|
261
|
-
}
|
|
262
|
-
if (helpers_1.includes(exports.DaemonTasks.stop)) {
|
|
263
|
-
console.log(`Stopping daemon! Garbage is inside ${daemon_config_1.GAPI_DAEMON_FOLDER}!`);
|
|
264
|
-
return yield this.tasks.get(exports.DaemonTasks.stop)();
|
|
265
|
-
}
|
|
266
|
-
if (helpers_1.includes(exports.DaemonTasks.kill)) {
|
|
267
|
-
return yield this.tasks.get(exports.DaemonTasks.kill)();
|
|
268
|
-
}
|
|
269
|
-
if (helpers_1.includes(exports.DaemonTasks.unlink)) {
|
|
270
|
-
return yield this.tasks.get(exports.DaemonTasks.unlink)();
|
|
271
|
-
}
|
|
272
|
-
if (helpers_1.includes(exports.DaemonTasks.link)) {
|
|
273
|
-
return yield this.tasks.get(exports.DaemonTasks.link)();
|
|
274
|
-
}
|
|
275
|
-
if (helpers_1.includes(exports.DaemonTasks.list)) {
|
|
276
|
-
core_2.Container.reset(core_1.HAPI_SERVER);
|
|
277
|
-
core_2.Container.set(core_1.HAPI_SERVER, { info: { port: '42000' } });
|
|
278
|
-
return yield this.tasks.get(exports.DaemonTasks.list)();
|
|
279
|
-
}
|
|
280
|
-
if (helpers_1.includes(exports.DaemonTasks.bootstrap)) {
|
|
281
|
-
return yield this.tasks.get(exports.DaemonTasks.bootstrap)({
|
|
282
|
-
server: {
|
|
283
|
-
hapi: {
|
|
284
|
-
port: 42000,
|
|
285
|
-
},
|
|
286
|
-
},
|
|
287
|
-
graphql: {
|
|
288
|
-
openBrowser: false,
|
|
289
|
-
graphiql: false,
|
|
290
|
-
graphiQlPlayground: false,
|
|
291
|
-
},
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
console.log('Missing command for Daemon');
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
killDaemon() {
|
|
298
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
299
|
-
const pid = yield this.readPidDaemonConfig();
|
|
300
|
-
if (!pid) {
|
|
301
|
-
console.log('Daemon is not running!');
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
if (yield this.isDaemonRunning()) {
|
|
305
|
-
console.log(`Daemon process ${pid} Killed!`);
|
|
306
|
-
process.kill(pid);
|
|
307
|
-
}
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
readPidDaemonConfig() {
|
|
311
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
312
|
-
let pid;
|
|
313
|
-
try {
|
|
314
|
-
pid = Number(yield util_1.promisify(fs_1.readFile)(this.pidLogFile, { encoding: 'utf-8' }));
|
|
315
|
-
}
|
|
316
|
-
catch (e) { }
|
|
317
|
-
return pid;
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
isDaemonRunning() {
|
|
321
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
322
|
-
const pid = yield this.readPidDaemonConfig();
|
|
323
|
-
if (!pid) {
|
|
324
|
-
console.log('Daemon is not running!');
|
|
325
|
-
return false;
|
|
326
|
-
}
|
|
327
|
-
return !!(yield this.getActiveDaemon(pid)).length;
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
getActiveDaemon(pid) {
|
|
331
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
332
|
-
return (yield ps_list_1.getProcessList()).filter((p) => p.pid === pid);
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
};
|
|
336
|
-
DaemonTask = __decorate([
|
|
337
|
-
core_2.Service(),
|
|
338
|
-
__metadata("design:paramtypes", [file_1.FileService])
|
|
339
|
-
], DaemonTask);
|
|
340
|
-
exports.DaemonTask = DaemonTask;
|