@evolith/smart-cli 1.1.2 → 1.1.4
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/.tsbuildinfo +1 -0
- package/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +134 -0
- package/dist/app.module.js.map +1 -0
- package/dist/commands/adr/adr.command.d.ts +34 -0
- package/dist/commands/adr/adr.command.js +351 -0
- package/dist/commands/adr/adr.command.js.map +1 -0
- package/dist/commands/agents/agents.command.d.ts +14 -0
- package/dist/commands/agents/agents.command.js +61 -0
- package/dist/commands/agents/agents.command.js.map +1 -0
- package/dist/commands/agents/index.d.ts +1 -0
- package/dist/commands/agents/index.js +6 -0
- package/dist/commands/agents/index.js.map +1 -0
- package/dist/commands/alias/alias.command.d.ts +16 -0
- package/dist/commands/alias/alias.command.js +95 -0
- package/dist/commands/alias/alias.command.js.map +1 -0
- package/dist/commands/api/api.catalog.d.ts +38 -0
- package/dist/commands/api/api.catalog.js +167 -0
- package/dist/commands/api/api.catalog.js.map +1 -0
- package/dist/commands/api/api.command.d.ts +21 -0
- package/dist/commands/api/api.command.js +162 -0
- package/dist/commands/api/api.command.js.map +1 -0
- package/dist/commands/architecture/scaffold/index.d.ts +2 -0
- package/dist/commands/architecture/scaffold/index.js +6 -0
- package/dist/commands/architecture/scaffold/index.js.map +1 -0
- package/dist/commands/architecture/scaffold/scaffold-strategy.d.ts +15 -0
- package/dist/commands/architecture/scaffold/scaffold-strategy.js +20 -0
- package/dist/commands/architecture/scaffold/scaffold-strategy.js.map +1 -0
- package/dist/commands/architecture/scaffold.command.d.ts +16 -0
- package/dist/commands/architecture/scaffold.command.js +328 -0
- package/dist/commands/architecture/scaffold.command.js.map +1 -0
- package/dist/commands/completion/completion.command.d.ts +28 -0
- package/dist/commands/completion/completion.command.js +321 -0
- package/dist/commands/completion/completion.command.js.map +1 -0
- package/dist/commands/docs/docs.command.d.ts +17 -0
- package/dist/commands/docs/docs.command.js +292 -0
- package/dist/commands/docs/docs.command.js.map +1 -0
- package/dist/commands/drift/drift.command.d.ts +28 -0
- package/dist/commands/drift/drift.command.js +292 -0
- package/dist/commands/drift/drift.command.js.map +1 -0
- package/dist/commands/fixtures/fixtures.command.d.ts +21 -0
- package/dist/commands/fixtures/fixtures.command.js +310 -0
- package/dist/commands/fixtures/fixtures.command.js.map +1 -0
- package/dist/commands/gate/gate.command.d.ts +29 -0
- package/dist/commands/gate/gate.command.js +193 -0
- package/dist/commands/gate/gate.command.js.map +1 -0
- package/dist/commands/history/history.command.d.ts +29 -0
- package/dist/commands/history/history.command.js +237 -0
- package/dist/commands/history/history.command.js.map +1 -0
- package/dist/commands/init/agents.command.d.ts +24 -0
- package/dist/commands/init/agents.command.js +330 -0
- package/dist/commands/init/agents.command.js.map +1 -0
- package/dist/commands/init/init.command.d.ts +26 -0
- package/dist/commands/init/init.command.js +170 -0
- package/dist/commands/init/init.command.js.map +1 -0
- package/dist/commands/init/init.wizard.d.ts +19 -0
- package/dist/commands/init/init.wizard.js +181 -0
- package/dist/commands/init/init.wizard.js.map +1 -0
- package/dist/commands/init/upgrade.command.d.ts +22 -0
- package/dist/commands/init/upgrade.command.js +178 -0
- package/dist/commands/init/upgrade.command.js.map +1 -0
- package/dist/commands/mcp/mcp-serve.command.d.ts +17 -0
- package/dist/commands/mcp/mcp-serve.command.js +153 -0
- package/dist/commands/mcp/mcp-serve.command.js.map +1 -0
- package/dist/commands/phase/phase-advance.command.d.ts +30 -0
- package/dist/commands/phase/phase-advance.command.js +206 -0
- package/dist/commands/phase/phase-advance.command.js.map +1 -0
- package/dist/commands/profile/profile.command.d.ts +18 -0
- package/dist/commands/profile/profile.command.js +198 -0
- package/dist/commands/profile/profile.command.js.map +1 -0
- package/dist/commands/sdlc/gate-status.command.d.ts +10 -0
- package/dist/commands/sdlc/gate-status.command.js +162 -0
- package/dist/commands/sdlc/gate-status.command.js.map +1 -0
- package/dist/commands/sdlc/generate-domain.command.d.ts +8 -0
- package/dist/commands/sdlc/generate-domain.command.js +165 -0
- package/dist/commands/sdlc/generate-domain.command.js.map +1 -0
- package/dist/commands/sdlc/handoff.command.d.ts +27 -0
- package/dist/commands/sdlc/handoff.command.js +275 -0
- package/dist/commands/sdlc/handoff.command.js.map +1 -0
- package/dist/commands/sdlc/sdlc.command.d.ts +5 -0
- package/dist/commands/sdlc/sdlc.command.js +44 -0
- package/dist/commands/sdlc/sdlc.command.js.map +1 -0
- package/dist/commands/standards/standards.command.d.ts +30 -0
- package/dist/commands/standards/standards.command.js +283 -0
- package/dist/commands/standards/standards.command.js.map +1 -0
- package/dist/commands/update/update.command.d.ts +21 -0
- package/dist/commands/update/update.command.js +214 -0
- package/dist/commands/update/update.command.js.map +1 -0
- package/dist/commands/upgrade/index.d.ts +1 -0
- package/dist/commands/upgrade/index.js +6 -0
- package/dist/commands/upgrade/index.js.map +1 -0
- package/dist/commands/upgrade/upgrade.command.d.ts +14 -0
- package/dist/commands/upgrade/upgrade.command.js +58 -0
- package/dist/commands/upgrade/upgrade.command.js.map +1 -0
- package/dist/commands/validate/validate.command.d.ts +43 -0
- package/dist/commands/validate/validate.command.js +528 -0
- package/dist/commands/validate/validate.command.js.map +1 -0
- package/dist/config/alias.service.d.ts +14 -0
- package/dist/config/alias.service.js +103 -0
- package/dist/config/alias.service.js.map +1 -0
- package/dist/contributions/contribution-validator.d.ts +16 -0
- package/dist/contributions/contribution-validator.js +34 -0
- package/dist/contributions/contribution-validator.js.map +1 -0
- package/dist/contributions/index.d.ts +1 -0
- package/dist/contributions/index.js +6 -0
- package/dist/contributions/index.js.map +1 -0
- package/dist/infrastructure/adapters/agent-registry.service.d.ts +30 -0
- package/dist/infrastructure/adapters/agent-registry.service.js +175 -0
- package/dist/infrastructure/adapters/agent-registry.service.js.map +1 -0
- package/dist/infrastructure/architecture/nx-workspace.strategy.d.ts +19 -0
- package/dist/infrastructure/architecture/nx-workspace.strategy.js +125 -0
- package/dist/infrastructure/architecture/nx-workspace.strategy.js.map +1 -0
- package/dist/infrastructure/architecture/topology-catalog.d.ts +17 -0
- package/dist/infrastructure/architecture/topology-catalog.js +69 -0
- package/dist/infrastructure/architecture/topology-catalog.js.map +1 -0
- package/dist/infrastructure/catalog/catalog-loader.d.ts +21 -0
- package/dist/infrastructure/catalog/catalog-loader.js +144 -0
- package/dist/infrastructure/catalog/catalog-loader.js.map +1 -0
- package/dist/infrastructure/cli/base-command.d.ts +14 -0
- package/dist/infrastructure/cli/base-command.js +41 -0
- package/dist/infrastructure/cli/base-command.js.map +1 -0
- package/dist/infrastructure/cli/command-executor.d.ts +20 -0
- package/dist/infrastructure/cli/command-executor.js +110 -0
- package/dist/infrastructure/cli/command-executor.js.map +1 -0
- package/dist/infrastructure/cli/providers/index.d.ts +52 -0
- package/dist/infrastructure/cli/providers/index.js +175 -0
- package/dist/infrastructure/cli/providers/index.js.map +1 -0
- package/dist/infrastructure/config/config.service.d.ts +34 -0
- package/dist/infrastructure/config/config.service.js +126 -0
- package/dist/infrastructure/config/config.service.js.map +1 -0
- package/dist/infrastructure/filesystem/file-manager.service.d.ts +12 -0
- package/dist/infrastructure/filesystem/file-manager.service.js +79 -0
- package/dist/infrastructure/filesystem/file-manager.service.js.map +1 -0
- package/dist/infrastructure/formatters/output-formatter.service.d.ts +28 -0
- package/dist/infrastructure/formatters/output-formatter.service.js +199 -0
- package/dist/infrastructure/formatters/output-formatter.service.js.map +1 -0
- package/dist/infrastructure/observability/command-watcher.d.ts +45 -0
- package/dist/infrastructure/observability/command-watcher.js +199 -0
- package/dist/infrastructure/observability/command-watcher.js.map +1 -0
- package/dist/infrastructure/observability/error-reporter.d.ts +47 -0
- package/dist/infrastructure/observability/error-reporter.js +163 -0
- package/dist/infrastructure/observability/error-reporter.js.map +1 -0
- package/dist/infrastructure/observability/index.d.ts +11 -0
- package/dist/infrastructure/observability/index.js +31 -0
- package/dist/infrastructure/observability/index.js.map +1 -0
- package/dist/infrastructure/observability/otel-tracing.d.ts +4 -0
- package/dist/infrastructure/observability/otel-tracing.js +34 -0
- package/dist/infrastructure/observability/otel-tracing.js.map +1 -0
- package/dist/infrastructure/observability/structured-logger.d.ts +53 -0
- package/dist/infrastructure/observability/structured-logger.js +123 -0
- package/dist/infrastructure/observability/structured-logger.js.map +1 -0
- package/dist/infrastructure/observability/timing.d.ts +23 -0
- package/dist/infrastructure/observability/timing.js +140 -0
- package/dist/infrastructure/observability/timing.js.map +1 -0
- package/dist/infrastructure/observability/tool-usage-telemetry.service.d.ts +46 -0
- package/dist/infrastructure/observability/tool-usage-telemetry.service.js +181 -0
- package/dist/infrastructure/observability/tool-usage-telemetry.service.js.map +1 -0
- package/dist/infrastructure/plugins/plugin-loader.d.ts +10 -0
- package/dist/infrastructure/plugins/plugin-loader.js +145 -0
- package/dist/infrastructure/plugins/plugin-loader.js.map +1 -0
- package/dist/infrastructure/plugins/plugin.module.d.ts +4 -0
- package/dist/infrastructure/plugins/plugin.module.js +28 -0
- package/dist/infrastructure/plugins/plugin.module.js.map +1 -0
- package/dist/infrastructure/prompts/init-prompt-group.d.ts +3 -0
- package/dist/infrastructure/prompts/init-prompt-group.js +115 -0
- package/dist/infrastructure/prompts/init-prompt-group.js.map +1 -0
- package/dist/infrastructure/prompts/init-prompt-options.d.ts +10 -0
- package/dist/infrastructure/prompts/init-prompt-options.js +40 -0
- package/dist/infrastructure/prompts/init-prompt-options.js.map +1 -0
- package/dist/infrastructure/prompts/progress.service.d.ts +24 -0
- package/dist/infrastructure/prompts/progress.service.js +180 -0
- package/dist/infrastructure/prompts/progress.service.js.map +1 -0
- package/dist/infrastructure/prompts/prompt.service.d.ts +42 -0
- package/dist/infrastructure/prompts/prompt.service.js +142 -0
- package/dist/infrastructure/prompts/prompt.service.js.map +1 -0
- package/dist/infrastructure/prompts/wizard.service.d.ts +27 -0
- package/dist/infrastructure/prompts/wizard.service.js +163 -0
- package/dist/infrastructure/prompts/wizard.service.js.map +1 -0
- package/dist/infrastructure/providers/config-parser.provider.d.ts +15 -0
- package/dist/infrastructure/providers/config-parser.provider.js +68 -0
- package/dist/infrastructure/providers/config-parser.provider.js.map +1 -0
- package/dist/infrastructure/providers/logger.provider.d.ts +10 -0
- package/dist/infrastructure/providers/logger.provider.js +84 -0
- package/dist/infrastructure/providers/logger.provider.js.map +1 -0
- package/dist/infrastructure/providers/mock-filesystem.provider.d.ts +34 -0
- package/dist/infrastructure/providers/mock-filesystem.provider.js +129 -0
- package/dist/infrastructure/providers/mock-filesystem.provider.js.map +1 -0
- package/dist/infrastructure/providers/node-filesystem.provider.d.ts +23 -0
- package/dist/infrastructure/providers/node-filesystem.provider.js +117 -0
- package/dist/infrastructure/providers/node-filesystem.provider.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +27 -0
- package/dist/main.js.map +1 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.js +6 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/plugin-registry.d.ts +22 -0
- package/dist/plugins/plugin-registry.js +33 -0
- package/dist/plugins/plugin-registry.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ICatalogLoader, Runtime, MonorepoOption, ArchitecturePattern, ToolCatalog, CommandsMatrix } from '@evolith/core-domain/domain/interfaces';
|
|
2
|
+
export declare class CatalogLoader implements ICatalogLoader {
|
|
3
|
+
private runtimeCatalog;
|
|
4
|
+
private toolCatalog;
|
|
5
|
+
private commandsMatrix;
|
|
6
|
+
private getConfigPath;
|
|
7
|
+
loadRuntimeCatalog(): Runtime[];
|
|
8
|
+
loadToolCatalog(): ToolCatalog;
|
|
9
|
+
loadCommandsMatrix(): CommandsMatrix;
|
|
10
|
+
getMonorepoOptions(): MonorepoOption[];
|
|
11
|
+
getArchitecturePatterns(): ArchitecturePattern[];
|
|
12
|
+
getDefaultDatabase(runtimeId: string): string;
|
|
13
|
+
getApiProtocols(): Array<{
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
}>;
|
|
18
|
+
private loadJson;
|
|
19
|
+
private transformToCommandsMatrix;
|
|
20
|
+
reload(): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.CatalogLoader = void 0;
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const common_1 = require("@nestjs/common");
|
|
46
|
+
const errors_1 = require("@evolith/core-domain/domain/errors");
|
|
47
|
+
let CatalogLoader = class CatalogLoader {
|
|
48
|
+
constructor() {
|
|
49
|
+
this.runtimeCatalog = null;
|
|
50
|
+
this.toolCatalog = null;
|
|
51
|
+
this.commandsMatrix = null;
|
|
52
|
+
}
|
|
53
|
+
getConfigPath(filename) {
|
|
54
|
+
return path.join(__dirname, '../../config', filename);
|
|
55
|
+
}
|
|
56
|
+
loadRuntimeCatalog() {
|
|
57
|
+
if (!this.runtimeCatalog) {
|
|
58
|
+
this.runtimeCatalog = this.loadJson('runtimes.json');
|
|
59
|
+
}
|
|
60
|
+
return this.runtimeCatalog.runtimes;
|
|
61
|
+
}
|
|
62
|
+
loadToolCatalog() {
|
|
63
|
+
if (!this.toolCatalog) {
|
|
64
|
+
this.toolCatalog = this.loadJson('tool-catalog.json');
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
phases: this.toolCatalog.phases,
|
|
68
|
+
toolMetadata: this.toolCatalog.toolMetadata,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
loadCommandsMatrix() {
|
|
72
|
+
if (!this.commandsMatrix) {
|
|
73
|
+
this.commandsMatrix = this.loadJson('cli-commands-matrix.json');
|
|
74
|
+
}
|
|
75
|
+
return this.transformToCommandsMatrix(this.commandsMatrix);
|
|
76
|
+
}
|
|
77
|
+
getMonorepoOptions() {
|
|
78
|
+
if (!this.runtimeCatalog) {
|
|
79
|
+
this.loadRuntimeCatalog();
|
|
80
|
+
}
|
|
81
|
+
return this.runtimeCatalog.monorepoOptions;
|
|
82
|
+
}
|
|
83
|
+
getArchitecturePatterns() {
|
|
84
|
+
if (!this.runtimeCatalog) {
|
|
85
|
+
this.loadRuntimeCatalog();
|
|
86
|
+
}
|
|
87
|
+
return this.runtimeCatalog.architecturePatterns;
|
|
88
|
+
}
|
|
89
|
+
getDefaultDatabase(runtimeId) {
|
|
90
|
+
if (!this.runtimeCatalog) {
|
|
91
|
+
this.loadRuntimeCatalog();
|
|
92
|
+
}
|
|
93
|
+
return this.runtimeCatalog.databaseDefaults[runtimeId] || 'postgresql';
|
|
94
|
+
}
|
|
95
|
+
getApiProtocols() {
|
|
96
|
+
if (!this.runtimeCatalog) {
|
|
97
|
+
this.loadRuntimeCatalog();
|
|
98
|
+
}
|
|
99
|
+
return this.runtimeCatalog.apiProtocols;
|
|
100
|
+
}
|
|
101
|
+
loadJson(filename) {
|
|
102
|
+
try {
|
|
103
|
+
const filePath = this.getConfigPath(filename);
|
|
104
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
105
|
+
return JSON.parse(content);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
const err = error;
|
|
109
|
+
throw new errors_1.CatalogLoadError(filename, err.message || 'Unknown error');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
transformToCommandsMatrix(matrix) {
|
|
113
|
+
return {
|
|
114
|
+
runtimes: {
|
|
115
|
+
npm: { native: matrix.supported.npm, scaffold: [], delegated: [], unsupported: [] },
|
|
116
|
+
dotnet: { native: matrix.supported.dotnet, scaffold: [], delegated: [], unsupported: [] },
|
|
117
|
+
python: { native: matrix.supported.python, scaffold: [], delegated: [], unsupported: [] },
|
|
118
|
+
},
|
|
119
|
+
monorepos: {
|
|
120
|
+
npm: { native: matrix.supported.npm, delegated: [] },
|
|
121
|
+
nx: { native: [], delegated: matrix.delegated.nx },
|
|
122
|
+
rush: { native: [], delegated: matrix.delegated.rush },
|
|
123
|
+
},
|
|
124
|
+
container: {
|
|
125
|
+
delegated: matrix.delegated.docker,
|
|
126
|
+
unsupported: [],
|
|
127
|
+
},
|
|
128
|
+
observability: {
|
|
129
|
+
scaffold: [],
|
|
130
|
+
delegated: [],
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
reload() {
|
|
135
|
+
this.runtimeCatalog = null;
|
|
136
|
+
this.toolCatalog = null;
|
|
137
|
+
this.commandsMatrix = null;
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
exports.CatalogLoader = CatalogLoader;
|
|
141
|
+
exports.CatalogLoader = CatalogLoader = __decorate([
|
|
142
|
+
(0, common_1.Injectable)()
|
|
143
|
+
], CatalogLoader);
|
|
144
|
+
//# sourceMappingURL=catalog-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-loader.js","sourceRoot":"","sources":["../../../src/infrastructure/catalog/catalog-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CommandRunner } from 'nest-commander';
|
|
2
|
+
import { Logger } from '@nestjs/common';
|
|
3
|
+
import { PromptService } from '../prompts/prompt.service';
|
|
4
|
+
import { ConfigService, ProfileConfig } from '../config/config.service';
|
|
5
|
+
export declare abstract class BaseEvolithCommand extends CommandRunner {
|
|
6
|
+
protected readonly logger: Logger;
|
|
7
|
+
protected readonly promptService: PromptService;
|
|
8
|
+
protected readonly configService: ConfigService;
|
|
9
|
+
constructor(commandName: string, promptService?: PromptService, configService?: ConfigService);
|
|
10
|
+
get profile(): ProfileConfig;
|
|
11
|
+
run(inputs: string[], options?: Record<string, unknown>): Promise<void>;
|
|
12
|
+
abstract executeCommand(inputs: string[], options?: Record<string, unknown>): Promise<void>;
|
|
13
|
+
protected handleError(error: unknown): never;
|
|
14
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseEvolithCommand = void 0;
|
|
4
|
+
const nest_commander_1 = require("nest-commander");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const prompt_service_1 = require("../prompts/prompt.service");
|
|
7
|
+
const config_service_1 = require("../config/config.service");
|
|
8
|
+
const errors_1 = require("@evolith/core-domain/domain/errors");
|
|
9
|
+
class BaseEvolithCommand extends nest_commander_1.CommandRunner {
|
|
10
|
+
constructor(commandName, promptService, configService) {
|
|
11
|
+
super();
|
|
12
|
+
this.logger = new common_1.Logger(commandName);
|
|
13
|
+
this.promptService = promptService || new prompt_service_1.PromptService();
|
|
14
|
+
this.configService = configService || new config_service_1.ConfigService();
|
|
15
|
+
}
|
|
16
|
+
get profile() {
|
|
17
|
+
return this.configService.getProfile();
|
|
18
|
+
}
|
|
19
|
+
async run(inputs, options) {
|
|
20
|
+
try {
|
|
21
|
+
await this.executeCommand(inputs, options);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (error instanceof errors_1.UserCancelledError) {
|
|
25
|
+
this.logger.debug('Operation cancelled by user.');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.handleError(error);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
handleError(error) {
|
|
32
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
33
|
+
this.logger.error(`Command execution failed: ${message}`, error instanceof Error ? error.stack : undefined);
|
|
34
|
+
this.promptService.stopSpinner('Command failed.');
|
|
35
|
+
this.promptService.showError(`Error: ${message}`);
|
|
36
|
+
this.promptService.showOutro('Failed');
|
|
37
|
+
throw error instanceof Error ? error : new Error(message);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.BaseEvolithCommand = BaseEvolithCommand;
|
|
41
|
+
//# sourceMappingURL=base-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../../src/infrastructure/cli/base-command.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,2CAAwC;AACxC,8DAA0D;AAC1D,6DAAwE;AACxE,+DAAwE;AAExE,MAAsB,kBAAmB,SAAQ,8BAAa;IAK5D,YACE,WAAmB,EACnB,aAA6B,EAC7B,aAA6B;QAE7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,8BAAa,EAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,8BAAa,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAgB,EAAE,OAAiC;QAC3D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,2BAAkB,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAIS,WAAW,CAAC,KAAc;QAClC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE5G,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF;AA5CD,gDA4CC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ICommandExecutor, PlatformCheck } from '@evolith/core-domain/domain/interfaces';
|
|
2
|
+
export declare class CommandResult {
|
|
3
|
+
readonly success: boolean;
|
|
4
|
+
readonly stdout: string;
|
|
5
|
+
readonly stderr: string;
|
|
6
|
+
readonly exitCode: number;
|
|
7
|
+
constructor(success: boolean, stdout: string, stderr: string, exitCode: number);
|
|
8
|
+
static ok(stdout: string): CommandResult;
|
|
9
|
+
static err(stderr: string, exitCode: number): CommandResult;
|
|
10
|
+
}
|
|
11
|
+
export declare class CommandExecutor implements ICommandExecutor {
|
|
12
|
+
private toolCache;
|
|
13
|
+
private versionCache;
|
|
14
|
+
execute(command: string, cwd?: string): Promise<CommandResult>;
|
|
15
|
+
checkTool(name: string, versionCommand: string): Promise<PlatformCheck>;
|
|
16
|
+
executeOrThrow(command: string, cwd?: string): Promise<string>;
|
|
17
|
+
private getInstallHint;
|
|
18
|
+
clearCache(): void;
|
|
19
|
+
}
|
|
20
|
+
export declare const commandExecutor: CommandExecutor;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.commandExecutor = exports.CommandExecutor = exports.CommandResult = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
const errors_1 = require("@evolith/core-domain/domain/errors");
|
|
7
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
8
|
+
class CommandResult {
|
|
9
|
+
constructor(success, stdout, stderr, exitCode) {
|
|
10
|
+
this.success = success;
|
|
11
|
+
this.stdout = stdout;
|
|
12
|
+
this.stderr = stderr;
|
|
13
|
+
this.exitCode = exitCode;
|
|
14
|
+
}
|
|
15
|
+
static ok(stdout) {
|
|
16
|
+
return new CommandResult(true, stdout, '', 0);
|
|
17
|
+
}
|
|
18
|
+
static err(stderr, exitCode) {
|
|
19
|
+
return new CommandResult(false, '', stderr, exitCode);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.CommandResult = CommandResult;
|
|
23
|
+
class CommandExecutor {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.toolCache = new Map();
|
|
26
|
+
this.versionCache = new Map();
|
|
27
|
+
}
|
|
28
|
+
async execute(command, cwd) {
|
|
29
|
+
try {
|
|
30
|
+
const options = cwd
|
|
31
|
+
? { cwd, env: { ...process.env }, timeout: 120000 }
|
|
32
|
+
: { env: { ...process.env }, timeout: 120000 };
|
|
33
|
+
const { stdout, stderr: _stderr } = await execAsync(command, options);
|
|
34
|
+
return CommandResult.ok(stdout);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
const err = error;
|
|
38
|
+
return CommandResult.err(err.stderr || err.message || 'Unknown error', err.code || 1);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async checkTool(name, versionCommand) {
|
|
42
|
+
if (this.toolCache.has(name)) {
|
|
43
|
+
return {
|
|
44
|
+
name,
|
|
45
|
+
command: versionCommand,
|
|
46
|
+
available: this.toolCache.get(name),
|
|
47
|
+
version: this.versionCache.get(name),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const result = await this.execute(versionCommand);
|
|
52
|
+
if (result.success) {
|
|
53
|
+
const versionMatch = result.stdout.match(/\d+\.\d+\.\d+/);
|
|
54
|
+
const version = versionMatch ? versionMatch[0] : undefined;
|
|
55
|
+
this.toolCache.set(name, true);
|
|
56
|
+
if (version) {
|
|
57
|
+
this.versionCache.set(name, version);
|
|
58
|
+
}
|
|
59
|
+
return { name, command: versionCommand, available: true, version };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
console.warn(`Tool check failed for "${name}", marking as unavailable`);
|
|
64
|
+
}
|
|
65
|
+
this.toolCache.set(name, false);
|
|
66
|
+
return {
|
|
67
|
+
name,
|
|
68
|
+
command: versionCommand,
|
|
69
|
+
available: false,
|
|
70
|
+
installHint: this.getInstallHint(name),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async executeOrThrow(command, cwd) {
|
|
74
|
+
const result = await this.execute(command, cwd);
|
|
75
|
+
if (!result.success) {
|
|
76
|
+
throw new errors_1.CommandExecutionError(command, result.exitCode, result.stderr);
|
|
77
|
+
}
|
|
78
|
+
return result.stdout;
|
|
79
|
+
}
|
|
80
|
+
getInstallHint(tool) {
|
|
81
|
+
const hints = {
|
|
82
|
+
npm: 'Install Node.js from https://nodejs.org/',
|
|
83
|
+
node: 'Install Node.js from https://nodejs.org/',
|
|
84
|
+
npx: 'Install Node.js from https://nodejs.org/',
|
|
85
|
+
nx: 'npm install -D nx @nx/node',
|
|
86
|
+
dotnet: 'Install .NET from https://dotnet.microsoft.com/download',
|
|
87
|
+
python: 'Install Python from https://python.org/',
|
|
88
|
+
pip: 'Install Python from https://python.org/',
|
|
89
|
+
docker: 'Install from https://docs.docker.com/get-docker/',
|
|
90
|
+
'docker-compose': 'Install from https://docs.docker.com/compose/install/',
|
|
91
|
+
kubectl: 'Install from https://kubernetes.io/docs/tasks/tools/install-kubectl/',
|
|
92
|
+
helm: 'Install from https://helm.sh/docs/intro/install/',
|
|
93
|
+
openbao: 'Install from https://openbao.org/downloads',
|
|
94
|
+
rush: 'npm install -g @microsoft/rush',
|
|
95
|
+
aws: 'Install AWS CLI from https://aws.amazon.com/cli/',
|
|
96
|
+
terraform: 'Install from https://www.terraform.io/downloads',
|
|
97
|
+
java: 'Install from https://adoptium.net/',
|
|
98
|
+
go: 'Install from https://go.dev/dl/',
|
|
99
|
+
rust: 'Install from https://rustup.rs/',
|
|
100
|
+
};
|
|
101
|
+
return hints[tool] || `Install ${tool} and ensure it's in your PATH`;
|
|
102
|
+
}
|
|
103
|
+
clearCache() {
|
|
104
|
+
this.toolCache.clear();
|
|
105
|
+
this.versionCache.clear();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.CommandExecutor = CommandExecutor;
|
|
109
|
+
exports.commandExecutor = new CommandExecutor();
|
|
110
|
+
//# sourceMappingURL=command-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../../src/infrastructure/cli/command-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { CommandResult } from '../command-executor';
|
|
2
|
+
export declare class NpmProvider {
|
|
3
|
+
init(cwd: string): Promise<CommandResult>;
|
|
4
|
+
install(cwd: string, flags?: string): Promise<CommandResult>;
|
|
5
|
+
installDev(deps: string[], cwd: string): Promise<CommandResult>;
|
|
6
|
+
run(script: string, cwd: string): Promise<CommandResult>;
|
|
7
|
+
exec(cmd: string, cwd: string): Promise<CommandResult>;
|
|
8
|
+
isAvailable(): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
export declare class DotnetProvider {
|
|
11
|
+
new(template: string, name: string, cwd: string): Promise<CommandResult>;
|
|
12
|
+
build(cwd: string, config?: string): Promise<CommandResult>;
|
|
13
|
+
test(cwd: string): Promise<CommandResult>;
|
|
14
|
+
run(cwd: string): Promise<CommandResult>;
|
|
15
|
+
addPackage(packageName: string, cwd: string): Promise<CommandResult>;
|
|
16
|
+
restore(cwd: string): Promise<CommandResult>;
|
|
17
|
+
isAvailable(): Promise<boolean>;
|
|
18
|
+
}
|
|
19
|
+
export declare class PythonProvider {
|
|
20
|
+
install(packages: string[], cwd: string): Promise<CommandResult>;
|
|
21
|
+
installRequirements(cwd: string): Promise<CommandResult>;
|
|
22
|
+
runModule(module: string, cwd: string): Promise<CommandResult>;
|
|
23
|
+
runPytest(cwd: string, flags?: string): Promise<CommandResult>;
|
|
24
|
+
formatBlack(cwd: string): Promise<CommandResult>;
|
|
25
|
+
lintRuff(cwd: string): Promise<CommandResult>;
|
|
26
|
+
typeCheckMypy(cwd: string): Promise<CommandResult>;
|
|
27
|
+
isAvailable(): Promise<boolean>;
|
|
28
|
+
}
|
|
29
|
+
export declare class DockerProvider {
|
|
30
|
+
build(imageName: string, dockerfile: string, cwd: string): Promise<CommandResult>;
|
|
31
|
+
run(containerName: string, imageName: string, ports: string): Promise<CommandResult>;
|
|
32
|
+
composeUp(cwd: string, detached?: boolean): Promise<CommandResult>;
|
|
33
|
+
composeDown(cwd: string): Promise<CommandResult>;
|
|
34
|
+
isAvailable(): Promise<boolean>;
|
|
35
|
+
isComposeAvailable(): Promise<boolean>;
|
|
36
|
+
}
|
|
37
|
+
export declare class NxProvider {
|
|
38
|
+
generate(appName: string, template: string, cwd: string): Promise<CommandResult>;
|
|
39
|
+
build(cwd: string, target?: string): Promise<CommandResult>;
|
|
40
|
+
serve(cwd: string, target?: string): Promise<CommandResult>;
|
|
41
|
+
affectedBuild(cwd: string): Promise<CommandResult>;
|
|
42
|
+
isAvailable(): Promise<boolean>;
|
|
43
|
+
}
|
|
44
|
+
export declare class GitHubActionsProvider {
|
|
45
|
+
createWorkflowFile(name: string, content: string, repoPath: string): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
export declare const npmProvider: NpmProvider;
|
|
48
|
+
export declare const dotnetProvider: DotnetProvider;
|
|
49
|
+
export declare const pythonProvider: PythonProvider;
|
|
50
|
+
export declare const dockerProvider: DockerProvider;
|
|
51
|
+
export declare const nxProvider: NxProvider;
|
|
52
|
+
export declare const githubActionsProvider: GitHubActionsProvider;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.githubActionsProvider = exports.nxProvider = exports.dockerProvider = exports.pythonProvider = exports.dotnetProvider = exports.npmProvider = exports.GitHubActionsProvider = exports.NxProvider = exports.DockerProvider = exports.PythonProvider = exports.DotnetProvider = exports.NpmProvider = void 0;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const fs_1 = require("fs");
|
|
39
|
+
const command_executor_1 = require("../command-executor");
|
|
40
|
+
class NpmProvider {
|
|
41
|
+
async init(cwd) {
|
|
42
|
+
return command_executor_1.commandExecutor.execute('npm init -y', cwd);
|
|
43
|
+
}
|
|
44
|
+
async install(cwd, flags) {
|
|
45
|
+
return command_executor_1.commandExecutor.execute(`npm install ${flags || ''}`, cwd);
|
|
46
|
+
}
|
|
47
|
+
async installDev(deps, cwd) {
|
|
48
|
+
return command_executor_1.commandExecutor.execute(`npm install -D ${deps.join(' ')}`, cwd);
|
|
49
|
+
}
|
|
50
|
+
async run(script, cwd) {
|
|
51
|
+
return command_executor_1.commandExecutor.execute(`npm run ${script}`, cwd);
|
|
52
|
+
}
|
|
53
|
+
async exec(cmd, cwd) {
|
|
54
|
+
return command_executor_1.commandExecutor.execute(cmd, cwd);
|
|
55
|
+
}
|
|
56
|
+
async isAvailable() {
|
|
57
|
+
const check = await command_executor_1.commandExecutor.checkTool('npm', 'npm --version');
|
|
58
|
+
return check.available;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.NpmProvider = NpmProvider;
|
|
62
|
+
class DotnetProvider {
|
|
63
|
+
async new(template, name, cwd) {
|
|
64
|
+
return command_executor_1.commandExecutor.execute(`dotnet new ${template} -n ${name} -o .`, cwd);
|
|
65
|
+
}
|
|
66
|
+
async build(cwd, config) {
|
|
67
|
+
const cmd = config ? `dotnet build -c ${config}` : 'dotnet build';
|
|
68
|
+
return command_executor_1.commandExecutor.execute(cmd, cwd);
|
|
69
|
+
}
|
|
70
|
+
async test(cwd) {
|
|
71
|
+
return command_executor_1.commandExecutor.execute('dotnet test', cwd);
|
|
72
|
+
}
|
|
73
|
+
async run(cwd) {
|
|
74
|
+
return command_executor_1.commandExecutor.execute('dotnet run', cwd);
|
|
75
|
+
}
|
|
76
|
+
async addPackage(packageName, cwd) {
|
|
77
|
+
return command_executor_1.commandExecutor.execute(`dotnet add package ${packageName}`, cwd);
|
|
78
|
+
}
|
|
79
|
+
async restore(cwd) {
|
|
80
|
+
return command_executor_1.commandExecutor.execute('dotnet restore', cwd);
|
|
81
|
+
}
|
|
82
|
+
async isAvailable() {
|
|
83
|
+
const check = await command_executor_1.commandExecutor.checkTool('dotnet', 'dotnet --version');
|
|
84
|
+
return check.available;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.DotnetProvider = DotnetProvider;
|
|
88
|
+
class PythonProvider {
|
|
89
|
+
async install(packages, cwd) {
|
|
90
|
+
return command_executor_1.commandExecutor.execute(`pip install ${packages.join(' ')}`, cwd);
|
|
91
|
+
}
|
|
92
|
+
async installRequirements(cwd) {
|
|
93
|
+
return command_executor_1.commandExecutor.execute('pip install -r requirements.txt', cwd);
|
|
94
|
+
}
|
|
95
|
+
async runModule(module, cwd) {
|
|
96
|
+
return command_executor_1.commandExecutor.execute(`python -m ${module}`, cwd);
|
|
97
|
+
}
|
|
98
|
+
async runPytest(cwd, flags) {
|
|
99
|
+
return command_executor_1.commandExecutor.execute(`pytest ${flags || ''}`, cwd);
|
|
100
|
+
}
|
|
101
|
+
async formatBlack(cwd) {
|
|
102
|
+
return command_executor_1.commandExecutor.execute('black .', cwd);
|
|
103
|
+
}
|
|
104
|
+
async lintRuff(cwd) {
|
|
105
|
+
return command_executor_1.commandExecutor.execute('ruff check .', cwd);
|
|
106
|
+
}
|
|
107
|
+
async typeCheckMypy(cwd) {
|
|
108
|
+
return command_executor_1.commandExecutor.execute('mypy .', cwd);
|
|
109
|
+
}
|
|
110
|
+
async isAvailable() {
|
|
111
|
+
const check = await command_executor_1.commandExecutor.checkTool('python', 'python --version');
|
|
112
|
+
return check.available;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.PythonProvider = PythonProvider;
|
|
116
|
+
class DockerProvider {
|
|
117
|
+
async build(imageName, dockerfile, cwd) {
|
|
118
|
+
return command_executor_1.commandExecutor.execute(`docker build -t ${imageName} -f ${dockerfile} .`, cwd);
|
|
119
|
+
}
|
|
120
|
+
async run(containerName, imageName, ports) {
|
|
121
|
+
return command_executor_1.commandExecutor.execute(`docker run --name ${containerName} -p ${ports} ${imageName}`);
|
|
122
|
+
}
|
|
123
|
+
async composeUp(cwd, detached = false) {
|
|
124
|
+
const cmd = detached ? 'docker-compose up -d' : 'docker-compose up';
|
|
125
|
+
return command_executor_1.commandExecutor.execute(cmd, cwd);
|
|
126
|
+
}
|
|
127
|
+
async composeDown(cwd) {
|
|
128
|
+
return command_executor_1.commandExecutor.execute('docker-compose down', cwd);
|
|
129
|
+
}
|
|
130
|
+
async isAvailable() {
|
|
131
|
+
const check = await command_executor_1.commandExecutor.checkTool('docker', 'docker --version');
|
|
132
|
+
return check.available;
|
|
133
|
+
}
|
|
134
|
+
async isComposeAvailable() {
|
|
135
|
+
const check = await command_executor_1.commandExecutor.checkTool('docker-compose', 'docker-compose --version');
|
|
136
|
+
return check.available;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.DockerProvider = DockerProvider;
|
|
140
|
+
class NxProvider {
|
|
141
|
+
async generate(appName, template, cwd) {
|
|
142
|
+
return command_executor_1.commandExecutor.execute(`npx nx generate ${template} ${appName}`, cwd);
|
|
143
|
+
}
|
|
144
|
+
async build(cwd, target) {
|
|
145
|
+
const cmd = target ? `npx nx build ${target}` : 'npx nx build';
|
|
146
|
+
return command_executor_1.commandExecutor.execute(cmd, cwd);
|
|
147
|
+
}
|
|
148
|
+
async serve(cwd, target) {
|
|
149
|
+
const cmd = target ? `npx nx serve ${target}` : 'npx nx serve';
|
|
150
|
+
return command_executor_1.commandExecutor.execute(cmd, cwd);
|
|
151
|
+
}
|
|
152
|
+
async affectedBuild(cwd) {
|
|
153
|
+
return command_executor_1.commandExecutor.execute('npx nx affected:build', cwd);
|
|
154
|
+
}
|
|
155
|
+
async isAvailable() {
|
|
156
|
+
const check = await command_executor_1.commandExecutor.checkTool('nx', 'npx nx --version');
|
|
157
|
+
return check.available;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.NxProvider = NxProvider;
|
|
161
|
+
class GitHubActionsProvider {
|
|
162
|
+
async createWorkflowFile(name, content, repoPath) {
|
|
163
|
+
const workflowDir = path.join(repoPath, '.github', 'workflows');
|
|
164
|
+
await fs_1.promises.mkdir(workflowDir, { recursive: true });
|
|
165
|
+
await fs_1.promises.writeFile(path.join(workflowDir, `${name}.yml`), content);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.GitHubActionsProvider = GitHubActionsProvider;
|
|
169
|
+
exports.npmProvider = new NpmProvider();
|
|
170
|
+
exports.dotnetProvider = new DotnetProvider();
|
|
171
|
+
exports.pythonProvider = new PythonProvider();
|
|
172
|
+
exports.dockerProvider = new DockerProvider();
|
|
173
|
+
exports.nxProvider = new NxProvider();
|
|
174
|
+
exports.githubActionsProvider = new GitHubActionsProvider();
|
|
175
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/cli/providers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface SyncConfig {
|
|
2
|
+
upstreamRoot: string;
|
|
3
|
+
files: string[];
|
|
4
|
+
}
|
|
5
|
+
export interface ProfileConfig {
|
|
6
|
+
core?: string;
|
|
7
|
+
satellite?: string;
|
|
8
|
+
tenant?: string;
|
|
9
|
+
initiative?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface EvolithConfig {
|
|
12
|
+
version: string;
|
|
13
|
+
lastUpdateCheck?: string;
|
|
14
|
+
telemetryEnabled: boolean;
|
|
15
|
+
knownSatellites: string[];
|
|
16
|
+
sync: SyncConfig;
|
|
17
|
+
}
|
|
18
|
+
export declare class ConfigService {
|
|
19
|
+
private config;
|
|
20
|
+
private readonly logger;
|
|
21
|
+
constructor();
|
|
22
|
+
get<K extends keyof EvolithConfig>(key: K): EvolithConfig[K];
|
|
23
|
+
set<K extends keyof EvolithConfig>(key: K, value: EvolithConfig[K]): void;
|
|
24
|
+
addSatellite(path: string): void;
|
|
25
|
+
get configPath(): string;
|
|
26
|
+
activeProfile(): string;
|
|
27
|
+
listProfiles(): string[];
|
|
28
|
+
profileExists(name: string): boolean;
|
|
29
|
+
createProfile(name: string, config?: ProfileConfig): void;
|
|
30
|
+
switchProfile(name: string): void;
|
|
31
|
+
deleteProfile(name: string): void;
|
|
32
|
+
getProfile(name?: string): ProfileConfig;
|
|
33
|
+
setProfileValue(name: string, key: string, value: unknown): void;
|
|
34
|
+
}
|