import {Container} from "inversify"; import OpsApplication from "./application/OpsApplication"; import InterpolateApplication from "./application/InterpolateApplication"; import OpsApplicationContextReader from "./application/OpsApplicationContextReader"; import InterpolateApplicationContextReader from "./application/InterpolateApplicationContextReader"; import Cli from "./components/cli/Cli"; import OpsApplicationConfiguration from "./application/OpsApplicationConfiguration"; import InterpolateApplicationConfiguration from "./application/InterpolateApplicationConfiguration"; import OpsApplicationUI from "./application/OpsApplicationUI"; import InterpolateApplicationUI from "./application/InterpolateApplicationUI"; import ManifestsScanner from "./components/manifests/ManifestsScanner"; import EchoTaskExecutor from "./components/tasks/executors/echo/EchoTaskExecutor"; import FSTaskExecutor from "./components/tasks/executors/fs/FSTaskExecutor"; import ManifestTaskExecutor from "./components/tasks/executors/manifest/ManifestTaskExecutor"; import TaskExecutionService from "./components/tasks/TaskExecutionService"; import TerraformSourcesFormatterTaskExecutor from "./components/tasks/executors/terraform/TerraformSourcesFormatterTaskExecutor"; import TerragruntConfigurationGeneratorTaskExecutor from "./components/tasks/executors/terraform/TerragruntConfigurationGeneratorTaskExecutor"; import TerraformTaskExecutor from "./components/tasks/executors/terraform/TerraformTaskExecutor"; import TerraformSourcesImporterTaskExecutor from "./components/tasks/executors/terraform/TerraformSourcesImporterTaskExecutor"; import OpsTaskExecutor from "./components/tasks/executors/ops/OpsTaskExecutor"; import TerraformVariablesGeneratorTaskExecutor from "./components/tasks/executors/terraform/TerraformVariablesGeneratorTaskExecutor"; import SchemaValidator from "./domain/SchemaValidator"; import ModelsBuilder from "./domain/ModelsBuilder"; import ModulesService from "./components/modules/ModulesService"; import TerraformSectionSourcesGeneratorTaskExecutor from "./components/tasks/executors/terraform/TerraformSectionSourcesGeneratorTaskExecutor"; import TerraformTemplateSourcesGeneratorTaskExecutor from "./components/tasks/executors/terraform/TerraformTemplateSourcesGeneratorTaskExecutor"; import TerraformRemoteStatesGeneratorTaskExecutor from "./components/tasks/executors/terraform/TerraformRemoteStatesGeneratorTaskExecutor"; import ExecTaskExecutor from "./components/tasks/executors/exec/ExecTaskExecutor"; import YamlService from "./components/yaml/YamlService"; const container = new Container(); container.bind(Cli).toSelf().inSingletonScope(); container.bind(OpsApplication).toSelf().inSingletonScope(); container.bind(InterpolateApplication).toSelf().inSingletonScope(); container.bind(OpsApplicationUI).toSelf().inSingletonScope(); container.bind(InterpolateApplicationUI).toSelf().inSingletonScope(); container.bind(OpsApplicationContextReader).toSelf().inSingletonScope(); container.bind(InterpolateApplicationContextReader).toSelf().inSingletonScope(); container.bind(OpsApplicationConfiguration).toSelf().inSingletonScope(); container.bind(InterpolateApplicationConfiguration).toSelf().inSingletonScope(); container.bind(ModulesService).toSelf().inSingletonScope(); container.bind(ManifestsScanner).toSelf().inSingletonScope(); container.bind(SchemaValidator).toSelf().inSingletonScope(); container.bind(ModelsBuilder).toSelf().inSingletonScope(); container.bind(YamlService).toSelf().inSingletonScope(); container.bind(TaskExecutionService).toSelf().inSingletonScope(); container.bind(OpsTaskExecutor).toSelf().inSingletonScope(); container.bind(FSTaskExecutor).toSelf().inSingletonScope(); container.bind(ManifestTaskExecutor).toSelf().inSingletonScope(); container.bind(EchoTaskExecutor).toSelf().inSingletonScope(); container.bind(ExecTaskExecutor).toSelf().inSingletonScope(); container.bind(TerraformVariablesGeneratorTaskExecutor).toSelf().inSingletonScope(); container.bind(TerraformRemoteStatesGeneratorTaskExecutor).toSelf().inSingletonScope(); container.bind(TerraformSectionSourcesGeneratorTaskExecutor).toSelf().inSingletonScope(); container.bind(TerraformTemplateSourcesGeneratorTaskExecutor).toSelf().inSingletonScope(); container.bind(TerraformSourcesImporterTaskExecutor).toSelf().inSingletonScope(); container.bind(TerraformSourcesFormatterTaskExecutor).toSelf().inSingletonScope(); container.bind(TerragruntConfigurationGeneratorTaskExecutor).toSelf().inSingletonScope(); container.bind(TerraformTaskExecutor).toSelf().inSingletonScope(); export default container;