npmci/ts/npmci.classes.npmci.ts

62 lines
2.0 KiB
TypeScript
Raw Permalink Normal View History

import * as plugins from './npmci.plugins.js';
2019-08-29 18:26:23 +00:00
2023-07-01 20:05:43 +00:00
// env
import { NpmciEnv } from './npmci.classes.npmcienv.js';
import { NpmciInfo } from './npmci.classes.npmciinfo.js';
import { NpmciCli } from './npmci.classes.npmcicli.js';
import { NpmciConfig } from './npmci.classes.npmciconfig.js';
2019-08-29 18:26:23 +00:00
2023-07-01 20:05:43 +00:00
// connectors
import { CloudlyConnector } from './connector.cloudly/cloudlyconnector.js';
// managers
import { NpmciCloudronManager } from './manager.cloudron/index.js';
import { NpmciDockerManager } from './manager.docker/index.js';
import { NpmciGitManager } from './manager.git/index.js';
import { NpmciNodeJsManager } from './manager.nodejs/index.js';
import { NpmciNpmManager } from './manager.npm/index.js';
2019-08-29 18:26:23 +00:00
export class Npmci {
public analytics: plugins.smartanalytics.Analytics;
public cloudlyConnector: CloudlyConnector;
public npmciEnv: NpmciEnv;
public npmciInfo: NpmciInfo;
public npmciConfig: NpmciConfig;
public npmciCli: NpmciCli;
// managers
2023-07-01 20:05:43 +00:00
public cloudronManager: NpmciCloudronManager;
2019-08-29 18:26:23 +00:00
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
});
2023-08-24 15:25:55 +00:00
}
public async start() {
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);
2023-08-24 15:25:55 +00:00
await this.npmciInfo.printToConsole();
2019-08-29 18:26:23 +00:00
this.npmciCli = new NpmciCli(this);
this.npmciConfig = new NpmciConfig(this);
2023-08-24 15:25:55 +00:00
await this.npmciConfig.init();
2019-08-29 18:26:23 +00:00
// managers
2023-07-01 20:05:43 +00:00
this.cloudronManager = new NpmciCloudronManager(this);
2019-08-29 18:26:23 +00:00
this.dockerManager = new NpmciDockerManager(this);
this.gitManager = new NpmciGitManager(this);
this.nodejsManager = new NpmciNodeJsManager(this);
this.npmManager = new NpmciNpmManager(this);
this.npmciCli.startParse();
}
2019-08-29 18:38:44 +00:00
}