UNPKG

@pagopa/dx-cli

Version:

A CLI useful to manage DX tools.

36 lines (35 loc) 1.48 kB
import "core-js/actual/set/index.js"; import { Octokit } from "octokit"; import codemodRegistry from "./adapters/codemods/index.js"; import { makeCli } from "./adapters/commander/index.js"; import { makeValidationReporter } from "./adapters/logtape/validation-reporter.js"; import { makePackageJsonReader } from "./adapters/node/package-json.js"; import { makeRepositoryReader } from "./adapters/node/repository.js"; import { OctokitGitHubService } from "./adapters/octokit/index.js"; import { getConfig } from "./config.js"; import { getInfo } from "./domain/info.js"; import { applyCodemodById } from "./use-cases/apply-codemod.js"; import { listCodemods } from "./use-cases/list-codemods.js"; export const runCli = (version) => { // Creating the adapters const repositoryReader = makeRepositoryReader(); const packageJsonReader = makePackageJsonReader(); const validationReporter = makeValidationReporter(); const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN, }); const gitHubService = new OctokitGitHubService(octokit); const deps = { gitHubService, packageJsonReader, repositoryReader, validationReporter, }; const config = getConfig(); const useCases = { applyCodemodById: applyCodemodById(codemodRegistry, getInfo(deps)), listCodemods: listCodemods(codemodRegistry), }; const program = makeCli(deps, config, useCases, version); program.parse(); };