UNPKG

@dappnode/dappnodesdk

Version:

dappnodesdk is a tool to make the creation of new dappnode packages as simple as possible. It helps to initialize and publish in ethereum blockchain

60 lines 2.44 kB
import Listr from "listr"; import path from "path"; import { defaultComposeFileName, defaultDir, defaultVariantsDirName } from "../../params.js"; import { publish } from "../../tasks/publish/index.js"; import { parseReleaseType } from "./parseReleaseType.js"; import { getPackagesToBuildProps } from "../build/variants.js"; /** * Common handler for CLI and programatic usage */ export async function publishHandler({ type, provider, eth_provider, content_provider, developer_address: developerAddress = process.env.DEVELOPER_ADDRESS, timeout: userTimeout, upload_to: uploadTo, github_release: githubRelease, dappnode_team_preset: dappnode_team_preset, require_git_data: requireGitData, delete_old_pins: deleteOldPins, // Global options dir = defaultDir, compose_file_name: composeFileName = defaultComposeFileName, silent, verbose, variants_dir_name: variantsDirName = defaultVariantsDirName, all_variants: allVariants, variants }) { let ethProvider = provider || eth_provider; let contentProvider = provider || content_provider; const isCi = process.env.CI; const verbosityOptions = { renderer: verbose ? "verbose" : silent ? "silent" : "default" }; /** * Specific set of options used for internal DAppNode releases. * Caution: options may change without notice. */ if (dappnode_team_preset) { if (isCi) { contentProvider = "https://api.ipfs.dappnode.io"; uploadTo = "ipfs"; verbose = true; } ethProvider = "remote"; githubRelease = true; } const releaseType = parseReleaseType({ type }); const variantsDirPath = path.join(dir, variantsDirName); const isMultiVariant = !!allVariants || !!variants; const publishTasks = new Listr(publish({ releaseType, ethProvider, dir, composeFileName, contentProvider, uploadTo, userTimeout, requireGitData, deleteOldPins, developerAddress, githubRelease, verbosityOptions, variantsDirPath, packagesToBuildProps: getPackagesToBuildProps({ allVariants: Boolean(allVariants), commaSeparatedVariants: variants, rootDir: dir, variantsDirPath, composeFileName }), isMultiVariant }), verbosityOptions); return await publishTasks.run(); } //# sourceMappingURL=handler.js.map