@jahed/terraform
Version:
A wrapper which downloads and runs Terraform locally via npm.
19 lines (18 loc) • 965 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.downloadTerraformToFile = void 0;
const promises_1 = require("@jahed/promises");
const path_1 = __importDefault(require("path"));
const downloadTerraformToMemory_1 = require("./downloadTerraformToMemory");
const extractArchive_1 = require("./extractArchive");
const downloadTerraformToFile = (0, promises_1.waterfall)(({ outdir, outputs }) => {
return (0, promises_1.every)({
outputs,
outdir: (0, promises_1.coalesce)(() => (0, promises_1.resolveNullable)(outdir), () => path_1.default.resolve(process.cwd())),
buffer: (0, downloadTerraformToMemory_1.downloadTerraformToMemory)(outputs),
});
}, (args) => (0, extractArchive_1.extractArchive)(args));
exports.downloadTerraformToFile = downloadTerraformToFile;