UNPKG

@jahed/terraform

Version:

A wrapper which downloads and runs Terraform locally via npm.

44 lines (43 loc) 1.54 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 = getOutputs; const find_cache_directory_1 = __importDefault(require("find-cache-directory")); const node_fs_1 = __importDefault(require("node:fs")); const node_path_1 = __importDefault(require("node:path")); function getFilenames(version) { if (process.platform === "win32") { return { originalFilename: "terraform.exe", versionedFilename: `terraform-v${version}.exe`, }; } return { originalFilename: "terraform", versionedFilename: `terraform-v${version}`, }; } function getOutputs() { const packageJson = JSON.parse(node_fs_1.default .readFileSync(node_path_1.default.resolve(__dirname, "../package.json")) .toString("utf-8")); const version = packageJson.version.split("-")[0]; const cacheDir = (0, find_cache_directory_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 = node_path_1.default.resolve(cacheDir, versionedFilename); return { version, path: execPath, filename: versionedFilename, versionedFilename, originalFilename, }; }