2019-08-29 18:26:23 +00:00
|
|
|
import * as plugins from './npmci.plugins';
|
|
|
|
|
|
|
|
import { CloudlyConnector } from './connector.cloudly/cloudlyconnector';
|
|
|
|
|
|
|
|
import { NpmciInfo } from './npmci.classes.npmciinfo';
|
|
|
|
import { NpmciCli } from './npmci.classes.npmcicli';
|
|
|
|
import { NpmciConfig } from './npmci.classes.npmciconfig';
|
|
|
|
|
|
|
|
// mods
|
|
|
|
import { NpmciDockerManager } from './manager.docker';
|
|
|
|
import { NpmciGitManager } from './manager.git';
|
|
|
|
import { NpmciNodeJsManager } from './manager.nodejs';
|
|
|
|
import { NpmciNpmManager } from './manager.npm';
|
|
|
|
import { NpmciEnv } from './npmci.classes.npmcienv';
|
|
|
|
|
|
|
|
export class Npmci {
|
|
|
|
public analytics: plugins.smartanalytics.Analytics;
|
|
|
|
public cloudlyConnector: CloudlyConnector;
|
|
|
|
|
|
|
|
public npmciEnv: NpmciEnv;
|
|
|
|
public npmciInfo: NpmciInfo;
|
|
|
|
public npmciConfig: NpmciConfig;
|
|
|
|
public npmciCli: NpmciCli;
|
|
|
|
|
|
|
|
// managers
|
|
|
|
public dockerManager: NpmciDockerManager;
|
|
|
|
public gitManager: NpmciGitManager;
|
|
|
|
public nodejsManager: NpmciNodeJsManager;
|
|
|
|
public npmManager: NpmciNpmManager;
|
|
|
|
|
|
|
|
constructor() {
|
|
|
|
this.analytics = new plugins.smartanalytics.Analytics({
|
|
|
|
apiEndPoint: 'https://pubapi.lossless.one/analytics',
|
|
|
|
projectId: 'gitzone',
|
2021-05-14 18:11:12 +00:00
|
|
|
appName: 'npmci',
|
2019-08-29 18:26:23 +00:00
|
|
|
});
|
2019-08-29 18:56:02 +00:00
|
|
|
this.cloudlyConnector = new CloudlyConnector(this);
|
2019-08-29 18:26:23 +00:00
|
|
|
this.npmciEnv = new NpmciEnv(this);
|
|
|
|
this.npmciInfo = new NpmciInfo(this);
|
|
|
|
this.npmciCli = new NpmciCli(this);
|
|
|
|
this.npmciConfig = new NpmciConfig(this);
|
|
|
|
|
|
|
|
// managers
|
|
|
|
this.dockerManager = new NpmciDockerManager(this);
|
|
|
|
this.gitManager = new NpmciGitManager(this);
|
|
|
|
this.nodejsManager = new NpmciNodeJsManager(this);
|
|
|
|
this.npmManager = new NpmciNpmManager(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
public async start() {
|
|
|
|
await this.npmciInfo.printToConsole();
|
|
|
|
await this.npmciConfig.init();
|
|
|
|
this.npmciCli.startParse();
|
|
|
|
}
|
2019-08-29 18:38:44 +00:00
|
|
|
}
|