@re-shell/cli
Version:
Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja
73 lines (72 loc) • 2.98 kB
TypeScript
import { EnvironmentConfig } from './config';
export interface EnvironmentProfile extends EnvironmentConfig {
extends?: string;
active: boolean;
lastUsed?: string;
}
export interface EnvironmentVariables {
[key: string]: string | number | boolean;
}
export interface BuildConfiguration {
mode: 'development' | 'staging' | 'production';
optimization: boolean;
sourcemaps: boolean;
minify?: boolean;
analyze?: boolean;
target?: string;
externals?: string[];
define?: Record<string, string>;
}
export interface DeploymentConfiguration {
provider?: 'vercel' | 'netlify' | 'aws' | 'azure' | 'gcp' | 'docker' | 'custom';
target?: string;
region?: string;
domain?: string;
config?: Record<string, any>;
secrets?: string[];
hooks?: {
preDeploy?: string[];
postDeploy?: string[];
};
}
export declare class EnvironmentManager {
private projectPath;
private environments;
constructor(projectPath?: string);
loadEnvironments(): Promise<Map<string, EnvironmentProfile>>;
createDefaultEnvironments(): Promise<void>;
getEnvironment(name: string): Promise<EnvironmentProfile | null>;
getActiveEnvironment(): Promise<EnvironmentProfile | null>;
setActiveEnvironment(name: string): Promise<void>;
createEnvironment(name: string, config: Partial<EnvironmentConfig>, extendsEnv?: string): Promise<void>;
updateEnvironment(name: string, config: Partial<EnvironmentConfig>): Promise<void>;
deleteEnvironment(name: string): Promise<void>;
listEnvironments(): Promise<EnvironmentProfile[]>;
getEnvironmentVariables(environmentName?: string): Promise<EnvironmentVariables>;
getBuildConfiguration(environmentName?: string): Promise<BuildConfiguration>;
getDeploymentConfiguration(environmentName?: string): Promise<DeploymentConfiguration>;
generateEnvFile(environmentName?: string, outputPath?: string): Promise<string>;
compareEnvironments(env1: string, env2: string): Promise<{
variables: {
added: string[];
removed: string[];
changed: Array<{
key: string;
from: any;
to: any;
}>;
};
build: Record<string, any>;
deployment: Record<string, any>;
}>;
private saveEnvironments;
private mergeEnvironmentConfig;
private compareObjects;
private diffObjects;
}
export declare const environmentManager: EnvironmentManager;
export declare function getActiveEnvironment(): Promise<EnvironmentProfile | null>;
export declare function setActiveEnvironment(name: string): Promise<void>;
export declare function getEnvironmentVariables(environmentName?: string): Promise<EnvironmentVariables>;
export declare function getBuildConfiguration(environmentName?: string): Promise<BuildConfiguration>;
export declare function generateEnvFile(environmentName?: string, outputPath?: string): Promise<string>;