UNPKG

@jahed/terraform

Version:

A wrapper which downloads and runs Terraform locally via npm.

45 lines (44 loc) 1.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getOutputs = void 0; const find_cache_dir_1 = __importDefault(require("find-cache-dir")); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const getFilenames = (version) => { if (process.platform === "win32") { return { originalFilename: "terraform.exe", versionedFilename: `terraform-v${version}.exe`, }; } return { originalFilename: "terraform", versionedFilename: `terraform-v${version}`, }; }; const getOutputs = () => { const packageJson = JSON.parse(fs_1.default .readFileSync(path_1.default.resolve(__dirname, "../package.json")) .toString("utf-8")); const version = packageJson.version.split("-")[0]; const cacheDir = (0, find_cache_dir_1.default)({ name: packageJson.name, cwd: process.env.INIT_CWD, }); if (!cacheDir) { throw new Error("could not find cache directory"); } const { originalFilename, versionedFilename } = getFilenames(version); const execPath = path_1.default.resolve(cacheDir, versionedFilename); return { version, path: execPath, filename: versionedFilename, versionedFilename, originalFilename, }; }; exports.getOutputs = getOutputs;