feat: 초기 프로젝트 설정 및 룰.md 파일 추가
This commit is contained in:
7
api.hyungi.net/node_modules/@pm2/io/build/main/features/dependencies.d.ts
generated
vendored
Normal file
7
api.hyungi.net/node_modules/@pm2/io/build/main/features/dependencies.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { Feature } from '../featureManager';
|
||||
export declare class DependenciesFeature implements Feature {
|
||||
private transport;
|
||||
private logger;
|
||||
init(): void;
|
||||
destroy(): void;
|
||||
}
|
||||
46
api.hyungi.net/node_modules/@pm2/io/build/main/features/dependencies.js
generated
vendored
Normal file
46
api.hyungi.net/node_modules/@pm2/io/build/main/features/dependencies.js
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.DependenciesFeature = void 0;
|
||||
const serviceManager_1 = require("../serviceManager");
|
||||
const Debug = require("debug");
|
||||
const configuration_1 = require("../configuration");
|
||||
const fs_1 = require("fs");
|
||||
class DependenciesFeature {
|
||||
constructor() {
|
||||
this.logger = Debug('axm:features:dependencies');
|
||||
}
|
||||
init() {
|
||||
this.transport = serviceManager_1.ServiceManager.get('transport');
|
||||
this.logger('init');
|
||||
const pkgPath = configuration_1.default.findPackageJson();
|
||||
if (typeof pkgPath !== 'string')
|
||||
return this.logger('failed to found pkg.json path');
|
||||
this.logger(`found pkg.json in ${pkgPath}`);
|
||||
(0, fs_1.readFile)(pkgPath, (err, data) => {
|
||||
if (err)
|
||||
return this.logger(`failed to read pkg.json`, err);
|
||||
try {
|
||||
const pkg = JSON.parse(data.toString());
|
||||
if (typeof pkg.dependencies !== 'object') {
|
||||
return this.logger(`failed to find deps in pkg.json`);
|
||||
}
|
||||
const dependencies = Object.keys(pkg.dependencies)
|
||||
.reduce((list, name) => {
|
||||
list[name] = { version: pkg.dependencies[name] };
|
||||
return list;
|
||||
}, {});
|
||||
this.logger(`collected ${Object.keys(dependencies).length} dependencies`);
|
||||
this.transport.send('application:dependencies', dependencies);
|
||||
this.logger('sent dependencies list');
|
||||
}
|
||||
catch (err) {
|
||||
return this.logger(`failed to parse pkg.json`, err);
|
||||
}
|
||||
});
|
||||
}
|
||||
destroy() {
|
||||
this.logger('destroy');
|
||||
}
|
||||
}
|
||||
exports.DependenciesFeature = DependenciesFeature;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZlYXR1cmVzL2RlcGVuZGVuY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFDbEQsK0JBQThCO0FBRzlCLG9EQUE0QztBQUM1QywyQkFBNkI7QUFLN0IsTUFBYSxtQkFBbUI7SUFBaEM7UUFHVSxXQUFNLEdBQWEsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFrQy9ELENBQUM7SUFoQ0MsSUFBSTtRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsK0JBQWMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUVuQixNQUFNLE9BQU8sR0FBRyx1QkFBYSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQy9DLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1FBRXBGLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDM0MsSUFBQSxhQUFRLEVBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzlCLElBQUksR0FBRztnQkFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDM0QsSUFBSSxDQUFDO2dCQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7Z0JBQ3ZDLElBQUksT0FBTyxHQUFHLENBQUMsWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUN6QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtnQkFDdkQsQ0FBQztnQkFDRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUErQixDQUFDO3FCQUNsRSxNQUFNLENBQUMsQ0FBQyxJQUFvQixFQUFFLElBQVksRUFBRSxFQUFFO29CQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO29CQUNoRCxPQUFPLElBQUksQ0FBQTtnQkFDYixDQUFDLEVBQUUsRUFBb0IsQ0FBQyxDQUFBO2dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLGVBQWUsQ0FBQyxDQUFBO2dCQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxZQUFZLENBQUMsQ0FBQTtnQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1lBQ3ZDLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDeEIsQ0FBQztDQUNGO0FBckNELGtEQXFDQyJ9
|
||||
11
api.hyungi.net/node_modules/@pm2/io/build/main/features/entrypoint.d.ts
generated
vendored
Normal file
11
api.hyungi.net/node_modules/@pm2/io/build/main/features/entrypoint.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import { IOConfig } from '../pmx';
|
||||
export declare class Entrypoint {
|
||||
private io;
|
||||
constructor();
|
||||
events(): void;
|
||||
sensors(): void;
|
||||
actuators(): void;
|
||||
onStart(cb: Function): void;
|
||||
onStop(err: Error, cb: Function, code: number, signal: string): any;
|
||||
conf(): IOConfig | undefined;
|
||||
}
|
||||
53
api.hyungi.net/node_modules/@pm2/io/build/main/features/entrypoint.js
generated
vendored
Normal file
53
api.hyungi.net/node_modules/@pm2/io/build/main/features/entrypoint.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Entrypoint = void 0;
|
||||
const IO_KEY = Symbol.for('@pm2/io');
|
||||
class Entrypoint {
|
||||
constructor() {
|
||||
try {
|
||||
this.io = global[IO_KEY].init(this.conf());
|
||||
this.onStart(err => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
}
|
||||
this.sensors();
|
||||
this.events();
|
||||
this.actuators();
|
||||
this.io.onExit((code, signal) => {
|
||||
this.onStop(err, () => {
|
||||
this.io.destroy();
|
||||
}, code, signal);
|
||||
});
|
||||
if (process && process.send)
|
||||
process.send('ready');
|
||||
});
|
||||
}
|
||||
catch (e) {
|
||||
if (this.io) {
|
||||
this.io.destroy();
|
||||
}
|
||||
throw (e);
|
||||
}
|
||||
}
|
||||
events() {
|
||||
return;
|
||||
}
|
||||
sensors() {
|
||||
return;
|
||||
}
|
||||
actuators() {
|
||||
return;
|
||||
}
|
||||
onStart(cb) {
|
||||
throw new Error('Entrypoint onStart() not specified');
|
||||
}
|
||||
onStop(err, cb, code, signal) {
|
||||
return cb();
|
||||
}
|
||||
conf() {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
exports.Entrypoint = Entrypoint;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mZWF0dXJlcy9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7QUFFcEMsTUFBYSxVQUFVO0lBR3JCO1FBQ0UsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBRTFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDakIsQ0FBQztnQkFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUNiLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtnQkFFaEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtvQkFDbkIsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDbEIsQ0FBQyxDQUFDLENBQUE7Z0JBRUYsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLElBQUk7b0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNwRCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBRVgsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUNuQixDQUFDO1lBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ1gsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTTtJQUNSLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTTtJQUNSLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUUsRUFBWTtRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELE1BQU0sQ0FBRSxHQUFVLEVBQUUsRUFBWSxFQUFFLElBQVksRUFBRSxNQUFjO1FBQzVELE9BQU8sRUFBRSxFQUFFLENBQUE7SUFDYixDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7Q0FDRjtBQTFERCxnQ0EwREMifQ==
|
||||
8
api.hyungi.net/node_modules/@pm2/io/build/main/features/events.d.ts
generated
vendored
Normal file
8
api.hyungi.net/node_modules/@pm2/io/build/main/features/events.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { Feature } from '../featureManager';
|
||||
export declare class EventsFeature implements Feature {
|
||||
private transport;
|
||||
private logger;
|
||||
init(): void;
|
||||
emit(name?: string, data?: any): any;
|
||||
destroy(): void;
|
||||
}
|
||||
45
api.hyungi.net/node_modules/@pm2/io/build/main/features/events.js
generated
vendored
Normal file
45
api.hyungi.net/node_modules/@pm2/io/build/main/features/events.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EventsFeature = void 0;
|
||||
const serviceManager_1 = require("../serviceManager");
|
||||
const Debug = require("debug");
|
||||
class EventsFeature {
|
||||
constructor() {
|
||||
this.logger = Debug('axm:features:events');
|
||||
}
|
||||
init() {
|
||||
this.transport = serviceManager_1.ServiceManager.get('transport');
|
||||
this.logger('init');
|
||||
}
|
||||
emit(name, data) {
|
||||
if (typeof name !== 'string') {
|
||||
console.error('event name must be a string');
|
||||
return console.trace();
|
||||
}
|
||||
if (typeof data !== 'object') {
|
||||
console.error('event data must be an object');
|
||||
return console.trace();
|
||||
}
|
||||
if (data instanceof Array) {
|
||||
console.error(`event data cannot be an array`);
|
||||
return console.trace();
|
||||
}
|
||||
let inflightObj = {};
|
||||
try {
|
||||
inflightObj = JSON.parse(JSON.stringify(data));
|
||||
}
|
||||
catch (err) {
|
||||
return console.log('Failed to serialize the event data', err.message);
|
||||
}
|
||||
inflightObj.__name = name;
|
||||
if (this.transport === undefined) {
|
||||
return this.logger('Failed to send event as transporter isnt available');
|
||||
}
|
||||
this.transport.send('human:event', inflightObj);
|
||||
}
|
||||
destroy() {
|
||||
this.logger('destroy');
|
||||
}
|
||||
}
|
||||
exports.EventsFeature = EventsFeature;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZlYXR1cmVzL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFHbEQsK0JBQThCO0FBRTlCLE1BQWEsYUFBYTtJQUExQjtRQUdVLFdBQU0sR0FBYSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQXNDekQsQ0FBQztJQXBDQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRywrQkFBYyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFJLENBQUUsSUFBYSxFQUFFLElBQVU7UUFDN0IsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7WUFDNUMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDeEIsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0IsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO1lBQzdDLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3hCLENBQUM7UUFDRCxJQUFJLElBQUksWUFBWSxLQUFLLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7WUFDOUMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDeEIsQ0FBQztRQUVELElBQUksV0FBVyxHQUFpQixFQUFFLENBQUE7UUFDbEMsSUFBSSxDQUFDO1lBQ0gsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ2hELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN2RSxDQUFDO1FBRUQsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDekIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxvREFBb0QsQ0FBQyxDQUFBO1FBQzFFLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7Q0FDRjtBQXpDRCxzQ0F5Q0MifQ==
|
||||
24
api.hyungi.net/node_modules/@pm2/io/build/main/features/metrics.d.ts
generated
vendored
Normal file
24
api.hyungi.net/node_modules/@pm2/io/build/main/features/metrics.d.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import { Feature } from '../featureManager';
|
||||
import { EventLoopMetricOption } from '../metrics/eventLoopMetrics';
|
||||
import { NetworkTrafficConfig } from '../metrics/network';
|
||||
import { HttpMetricsConfig } from '../metrics/httpMetrics';
|
||||
import { V8MetricsConfig } from '../metrics/v8';
|
||||
import { RuntimeMetricsOptions } from '../metrics/runtime';
|
||||
export declare const defaultMetricConf: MetricConfig;
|
||||
export declare class MetricConfig {
|
||||
v8?: V8MetricsConfig | boolean;
|
||||
runtime?: RuntimeMetricsOptions | boolean;
|
||||
http?: HttpMetricsConfig | boolean;
|
||||
network?: NetworkTrafficConfig | boolean;
|
||||
eventLoop?: EventLoopMetricOption | boolean;
|
||||
}
|
||||
export interface MetricInterface {
|
||||
init(config?: Object | boolean): void;
|
||||
destroy(): void;
|
||||
}
|
||||
export declare class MetricsFeature implements Feature {
|
||||
private logger;
|
||||
init(options?: Object): void;
|
||||
get(name: string): MetricInterface | undefined;
|
||||
destroy(): void;
|
||||
}
|
||||
90
api.hyungi.net/node_modules/@pm2/io/build/main/features/metrics.js
generated
vendored
Normal file
90
api.hyungi.net/node_modules/@pm2/io/build/main/features/metrics.js
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MetricsFeature = exports.MetricConfig = exports.defaultMetricConf = void 0;
|
||||
const debug_1 = require("debug");
|
||||
const featureManager_1 = require("../featureManager");
|
||||
const eventLoopMetrics_1 = require("../metrics/eventLoopMetrics");
|
||||
const network_1 = require("../metrics/network");
|
||||
const httpMetrics_1 = require("../metrics/httpMetrics");
|
||||
const v8_1 = require("../metrics/v8");
|
||||
const runtime_1 = require("../metrics/runtime");
|
||||
exports.defaultMetricConf = {
|
||||
eventLoop: true,
|
||||
network: false,
|
||||
http: true,
|
||||
runtime: true,
|
||||
v8: true
|
||||
};
|
||||
class MetricConfig {
|
||||
}
|
||||
exports.MetricConfig = MetricConfig;
|
||||
class AvailableMetric {
|
||||
}
|
||||
const availableMetrics = [
|
||||
{
|
||||
name: 'eventloop',
|
||||
module: eventLoopMetrics_1.default,
|
||||
optionsPath: 'eventLoop'
|
||||
},
|
||||
{
|
||||
name: 'http',
|
||||
module: httpMetrics_1.default,
|
||||
optionsPath: 'http'
|
||||
},
|
||||
{
|
||||
name: 'network',
|
||||
module: network_1.default,
|
||||
optionsPath: 'network'
|
||||
},
|
||||
{
|
||||
name: 'v8',
|
||||
module: v8_1.default,
|
||||
optionsPath: 'v8'
|
||||
},
|
||||
{
|
||||
name: 'runtime',
|
||||
module: runtime_1.default,
|
||||
optionsPath: 'runtime'
|
||||
}
|
||||
];
|
||||
class MetricsFeature {
|
||||
constructor() {
|
||||
this.logger = (0, debug_1.default)('axm:features:metrics');
|
||||
}
|
||||
init(options) {
|
||||
if (typeof options !== 'object')
|
||||
options = {};
|
||||
this.logger('init');
|
||||
for (let availableMetric of availableMetrics) {
|
||||
const metric = new availableMetric.module();
|
||||
let config = undefined;
|
||||
if (typeof availableMetric.optionsPath !== 'string') {
|
||||
config = {};
|
||||
}
|
||||
else if (availableMetric.optionsPath === '.') {
|
||||
config = options;
|
||||
}
|
||||
else {
|
||||
config = (0, featureManager_1.getObjectAtPath)(options, availableMetric.optionsPath);
|
||||
}
|
||||
metric.init(config);
|
||||
availableMetric.instance = metric;
|
||||
}
|
||||
}
|
||||
get(name) {
|
||||
const metric = availableMetrics.find(metric => metric.name === name);
|
||||
if (metric === undefined)
|
||||
return undefined;
|
||||
return metric.instance;
|
||||
}
|
||||
destroy() {
|
||||
this.logger('destroy');
|
||||
for (let availableMetric of availableMetrics) {
|
||||
if (availableMetric.instance === undefined)
|
||||
continue;
|
||||
availableMetric.instance.destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.MetricsFeature = MetricsFeature;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mZWF0dXJlcy9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUF5QjtBQUN6QixzREFBNEQ7QUFDNUQsa0VBQW1HO0FBQ25HLGdEQUF3RTtBQUN4RSx3REFBdUU7QUFDdkUsc0NBQXlEO0FBQ3pELGdEQUEwRTtBQUU3RCxRQUFBLGlCQUFpQixHQUFpQjtJQUM3QyxTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFLElBQUk7SUFDVixPQUFPLEVBQUUsSUFBSTtJQUNiLEVBQUUsRUFBRSxJQUFJO0NBQ1QsQ0FBQTtBQUVELE1BQWEsWUFBWTtDQXVCeEI7QUF2QkQsb0NBdUJDO0FBRUQsTUFBTSxlQUFlO0NBcUJwQjtBQUVELE1BQU0sZ0JBQWdCLEdBQXNCO0lBQzFDO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLDBCQUE4QjtRQUN0QyxXQUFXLEVBQUUsV0FBVztLQUN6QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUscUJBQVc7UUFDbkIsV0FBVyxFQUFFLE1BQU07S0FDcEI7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsTUFBTSxFQUFFLGlCQUFhO1FBQ3JCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsSUFBSTtRQUNWLE1BQU0sRUFBRSxZQUFRO1FBQ2hCLFdBQVcsRUFBRSxJQUFJO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsU0FBUztRQUNmLE1BQU0sRUFBRSxpQkFBYztRQUN0QixXQUFXLEVBQUUsU0FBUztLQUN2QjtDQUNGLENBQUE7QUFPRCxNQUFhLGNBQWM7SUFBM0I7UUFFVSxXQUFNLEdBQWEsSUFBQSxlQUFLLEVBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQXFDMUQsQ0FBQztJQW5DQyxJQUFJLENBQUUsT0FBZ0I7UUFDcEIsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQUUsT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRW5CLEtBQUssSUFBSSxlQUFlLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtZQUMzQyxJQUFJLE1BQU0sR0FBUSxTQUFTLENBQUE7WUFDM0IsSUFBSSxPQUFPLGVBQWUsQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3BELE1BQU0sR0FBRyxFQUFFLENBQUE7WUFDYixDQUFDO2lCQUFNLElBQUksZUFBZSxDQUFDLFdBQVcsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxHQUFHLE9BQU8sQ0FBQTtZQUNsQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxHQUFHLElBQUEsZ0NBQWUsRUFBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFJRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ25CLGVBQWUsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFBO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFFLElBQVk7UUFDZixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQ3BFLElBQUksTUFBTSxLQUFLLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUMxQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3RCLEtBQUssSUFBSSxlQUFlLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QyxJQUFJLGVBQWUsQ0FBQyxRQUFRLEtBQUssU0FBUztnQkFBRSxTQUFRO1lBQ3BELGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDcEMsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXZDRCx3Q0F1Q0MifQ==
|
||||
23
api.hyungi.net/node_modules/@pm2/io/build/main/features/notify.d.ts
generated
vendored
Normal file
23
api.hyungi.net/node_modules/@pm2/io/build/main/features/notify.d.ts
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import { Feature } from '../featureManager';
|
||||
export declare class NotifyOptions {
|
||||
catchExceptions: boolean;
|
||||
}
|
||||
export declare class ErrorContext {
|
||||
http?: Object;
|
||||
custom?: Object;
|
||||
}
|
||||
export declare class NotifyFeature implements Feature {
|
||||
private logger;
|
||||
private transport;
|
||||
private cache;
|
||||
private stackParser;
|
||||
init(options?: NotifyOptions): any;
|
||||
destroy(): void;
|
||||
getSafeError(err: any): Error;
|
||||
notifyError(err: Error | string | {}, context?: ErrorContext): any;
|
||||
private onUncaughtException;
|
||||
private onUnhandledRejection;
|
||||
private catchAll;
|
||||
expressErrorHandler(): (err: any, req: any, res: any, next: any) => any;
|
||||
koaErrorHandler(): (ctx: any, next: any) => Promise<void>;
|
||||
}
|
||||
225
api.hyungi.net/node_modules/@pm2/io/build/main/features/notify.js
generated
vendored
Normal file
225
api.hyungi.net/node_modules/@pm2/io/build/main/features/notify.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
18
api.hyungi.net/node_modules/@pm2/io/build/main/features/profiling.d.ts
generated
vendored
Normal file
18
api.hyungi.net/node_modules/@pm2/io/build/main/features/profiling.d.ts
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { Feature } from '../featureManager';
|
||||
export interface ProfilerType {
|
||||
init(): void;
|
||||
register(): void;
|
||||
destroy(): void;
|
||||
}
|
||||
export declare class ProfilingConfig {
|
||||
cpuJS: boolean;
|
||||
heapSnapshot: boolean;
|
||||
heapSampling: boolean;
|
||||
implementation?: string;
|
||||
}
|
||||
export declare class ProfilingFeature implements Feature {
|
||||
private profiler;
|
||||
private logger;
|
||||
init(config?: ProfilingConfig | boolean): any;
|
||||
destroy(): void;
|
||||
}
|
||||
69
api.hyungi.net/node_modules/@pm2/io/build/main/features/profiling.js
generated
vendored
Normal file
69
api.hyungi.net/node_modules/@pm2/io/build/main/features/profiling.js
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ProfilingFeature = exports.ProfilingConfig = void 0;
|
||||
const addonProfiler_1 = require("../profilers/addonProfiler");
|
||||
const inspectorProfiler_1 = require("../profilers/inspectorProfiler");
|
||||
const constants_1 = require("../constants");
|
||||
const Debug = require("debug");
|
||||
class ProfilingConfig {
|
||||
}
|
||||
exports.ProfilingConfig = ProfilingConfig;
|
||||
const defaultProfilingConfig = {
|
||||
cpuJS: true,
|
||||
heapSnapshot: true,
|
||||
heapSampling: true,
|
||||
implementation: 'both'
|
||||
};
|
||||
const disabledProfilingConfig = {
|
||||
cpuJS: false,
|
||||
heapSnapshot: false,
|
||||
heapSampling: false,
|
||||
implementation: 'none'
|
||||
};
|
||||
class ProfilingFeature {
|
||||
constructor() {
|
||||
this.logger = Debug('axm:features:profiling');
|
||||
}
|
||||
init(config) {
|
||||
if (config === true) {
|
||||
config = defaultProfilingConfig;
|
||||
}
|
||||
else if (config === false) {
|
||||
config = disabledProfilingConfig;
|
||||
}
|
||||
else if (config === undefined) {
|
||||
config = defaultProfilingConfig;
|
||||
}
|
||||
if (process.env.PM2_PROFILING_FORCE_FALLBACK === 'true') {
|
||||
config.implementation = 'addon';
|
||||
}
|
||||
if (config.implementation === undefined || config.implementation === 'both') {
|
||||
config.implementation = (0, constants_1.canUseInspector)() === true ? 'inspector' : 'addon';
|
||||
}
|
||||
switch (config.implementation) {
|
||||
case 'inspector': {
|
||||
this.logger('using inspector implementation');
|
||||
this.profiler = new inspectorProfiler_1.default();
|
||||
break;
|
||||
}
|
||||
case 'addon': {
|
||||
this.logger('using addon implementation');
|
||||
this.profiler = new addonProfiler_1.default();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
return this.logger(`Invalid profiler implementation choosen: ${config.implementation}`);
|
||||
}
|
||||
}
|
||||
this.logger('init');
|
||||
this.profiler.init();
|
||||
}
|
||||
destroy() {
|
||||
this.logger('destroy');
|
||||
if (this.profiler === undefined)
|
||||
return;
|
||||
this.profiler.destroy();
|
||||
}
|
||||
}
|
||||
exports.ProfilingFeature = ProfilingFeature;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZlYXR1cmVzL3Byb2ZpbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4REFBc0Q7QUFDdEQsc0VBQThEO0FBQzlELDRDQUE4QztBQUM5QywrQkFBOEI7QUFROUIsTUFBYSxlQUFlO0NBSzNCO0FBTEQsMENBS0M7QUFFRCxNQUFNLHNCQUFzQixHQUFvQjtJQUM5QyxLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGNBQWMsRUFBRSxNQUFNO0NBQ3ZCLENBQUE7QUFFRCxNQUFNLHVCQUF1QixHQUFvQjtJQUMvQyxLQUFLLEVBQUUsS0FBSztJQUNaLFlBQVksRUFBRSxLQUFLO0lBQ25CLFlBQVksRUFBRSxLQUFLO0lBQ25CLGNBQWMsRUFBRSxNQUFNO0NBQ3ZCLENBQUE7QUFFRCxNQUFhLGdCQUFnQjtJQUE3QjtRQUdVLFdBQU0sR0FBYSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQTRDNUQsQ0FBQztJQTFDQyxJQUFJLENBQUUsTUFBa0M7UUFDdEMsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEIsTUFBTSxHQUFHLHNCQUFzQixDQUFBO1FBQ2pDLENBQUM7YUFBTSxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM1QixNQUFNLEdBQUcsdUJBQXVCLENBQUE7UUFDbEMsQ0FBQzthQUFNLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQTtRQUNqQyxDQUFDO1FBR0QsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3hELE1BQU0sQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFBO1FBQ2pDLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDNUUsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFBLDJCQUFlLEdBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1FBQzVFLENBQUM7UUFFRCxRQUFRLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM5QixLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtnQkFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDJCQUFpQixFQUFFLENBQUE7Z0JBQ3ZDLE1BQUs7WUFDUCxDQUFDO1lBQ0QsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtnQkFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHVCQUFhLEVBQUUsQ0FBQTtnQkFDbkMsTUFBSztZQUNQLENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyw0Q0FBNEMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUE7WUFDekYsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQUUsT0FBTTtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3pCLENBQUM7Q0FDRjtBQS9DRCw0Q0ErQ0MifQ==
|
||||
Reference in New Issue
Block a user