UNPKG

tfvm

Version:
7 lines (4 loc) 21.3 kB
#! /usr/bin/env node "use strict";var c=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var E=c(R=>{"use strict";var oe=R&&R.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(R,"__esModule",{value:!0});R.STORAGE_DIR=R.TFVM_PATH=R.TERRAFORM_RELEASE_REPO=void 0;var Ae=oe(require("os")),Se=oe(require("path")),lt=oe(require("../node_modules/rc/index.js")),ae=(0,lt.default)("tfvm",{TERRAFORM_RELEASE_REPO:"https://releases.hashicorp.com/terraform",STORAGE_DIR:Se.default.join(Ae.default.homedir(),".tfvm"),TFVM_PATH:Se.default.join(Ae.default.homedir(),".tfvm")});R.TERRAFORM_RELEASE_REPO=ae.TERRAFORM_RELEASE_REPO;R.TFVM_PATH=ae.TFVM_PATH;R.STORAGE_DIR=ae.STORAGE_DIR});var De=c(p=>{"use strict";var ct=p&&p.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(p,"__esModule",{value:!0});p.printPlainText=p.printInfo=p.printError=p.printSuccess=void 0;var se=ct(require("../node_modules/chalk/source/index.js")),ft=e=>{console.log(se.default.greenBright(e))};p.printSuccess=ft;var dt=e=>{console.log(se.default.redBright(e))};p.printError=dt;var _t=e=>{console.log(se.default.blueBright(e))};p.printInfo=_t;var ht=e=>{console.log(e)};p.printPlainText=ht});var qe=c(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});var mt=e=>e.includes("/terraform/");ue.default=mt});var Me=c(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});var pt=e=>e.includes("terraform")?e.replace(/terraform/,"").replace(/\//g,""):null;le.default=pt});var Pe=c(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});var vt=e=>e.endsWith(".zip");ce.default=vt});var O=c(d=>{"use strict";var fe=d&&d.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(d,"__esModule",{value:!0});d.isZipPackage=d.printPlainText=d.extractTerraformVersion=d.isTerraformLink=d.printSuccess=d.printInfo=d.printError=void 0;var Y=De();Object.defineProperty(d,"printError",{enumerable:!0,get:function(){return Y.printError}});Object.defineProperty(d,"printInfo",{enumerable:!0,get:function(){return Y.printInfo}});Object.defineProperty(d,"printSuccess",{enumerable:!0,get:function(){return Y.printSuccess}});Object.defineProperty(d,"printPlainText",{enumerable:!0,get:function(){return Y.printPlainText}});var yt=fe(qe());d.isTerraformLink=yt.default;var Et=fe(Me());d.extractTerraformVersion=Et.default;var Rt=fe(Pe());d.isZipPackage=Rt.default});var Ie=c(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.configureNewStoragePath=v.noLocalTerraformVersionsAvailable=v.listOfLocallyAvailableTerraformVersions=v.checkInternetConnection=v.listOfAvailableTerraformVersions=void 0;var K=E(),Tt=`Here is a list of all the terraform versions available at ${K.TERRAFORM_RELEASE_REPO}:`;v.listOfAvailableTerraformVersions=Tt;var bt=`Could not connect to ${K.TERRAFORM_RELEASE_REPO}. Check your internet connection!`;v.checkInternetConnection=bt;var Ot=`Here is a list of terraform executables present at ${K.STORAGE_DIR}:`;v.listOfLocallyAvailableTerraformVersions=Ot;var wt=`You don't have any terraform executables at ${K.STORAGE_DIR}`;v.noLocalTerraformVersionsAvailable=wt;var gt="To configure an existing path or to set a new path, use tfvm dir -p <path/to/store/terraform/executables>";v.configureNewStoragePath=gt});var Q=c(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.configureNewStoragePath=y.noLocalTerraformVersionsAvailable=y.listOfLocallyAvailableTerraformVersions=y.checkInternetConnection=y.listOfAvailableTerraformVersions=void 0;var $=Ie();Object.defineProperty(y,"listOfAvailableTerraformVersions",{enumerable:!0,get:function(){return $.listOfAvailableTerraformVersions}});Object.defineProperty(y,"checkInternetConnection",{enumerable:!0,get:function(){return $.checkInternetConnection}});Object.defineProperty(y,"listOfLocallyAvailableTerraformVersions",{enumerable:!0,get:function(){return $.listOfLocallyAvailableTerraformVersions}});Object.defineProperty(y,"noLocalTerraformVersionsAvailable",{enumerable:!0,get:function(){return $.noLocalTerraformVersionsAvailable}});Object.defineProperty(y,"configureNewStoragePath",{enumerable:!0,get:function(){return $.configureNewStoragePath}})});var Ve=c(L=>{"use strict";var At=L&&L.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(L,"__esModule",{value:!0});var St=At(require("../node_modules/inquirer/lib/inquirer.js")),Dt=e=>St.default.prompt([{type:"list",name:"selectedVersion",message:"Which version do you want to download?",choices:e,pageSize:10}]);L.default=Dt});var $e=c(S=>{"use strict";var qt=S&&S.__awaiter||function(e,n,t,i){function s(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function f(a){try{u(i.next(a))}catch(l){o(l)}}function _(a){try{u(i.throw(a))}catch(l){o(l)}}function u(a){a.done?r(a.value):s(a.value).then(f,_)}u((i=i.apply(e,n||[])).next())})},Mt=S&&S.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(S,"__esModule",{value:!0});var Pt=Mt(require("../node_modules/got/dist/source/index.js")),It=require("../node_modules/cheerio/lib/index.js"),je=E(),ke=O(),Vt=()=>qt(void 0,void 0,void 0,function*(){return(0,Pt.default)(je.TERRAFORM_RELEASE_REPO).then(e=>{let n=(0,It.load)(e.body),t=[];return n("a").filter((i,s)=>{var r;return(0,ke.isTerraformLink)((r=s.attribs)===null||r===void 0?void 0:r.href)}).each((i,s)=>{var r;let o=(0,ke.extractTerraformVersion)((r=s.attribs)===null||r===void 0?void 0:r.href);o&&t.push(o)}),t}).catch(e=>{throw e.code==="ENOTFOUND"?new Error(`Could not connect to ${je.TERRAFORM_RELEASE_REPO}. Check your internet connection!`):new Error(e)})});S.default=Vt});var Ce=c(D=>{"use strict";var jt=D&&D.__awaiter||function(e,n,t,i){function s(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function f(a){try{u(i.next(a))}catch(l){o(l)}}function _(a){try{u(i.throw(a))}catch(l){o(l)}}function u(a){a.done?r(a.value):s(a.value).then(f,_)}u((i=i.apply(e,n||[])).next())})},Ne=D&&D.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(D,"__esModule",{value:!0});var kt=require("../node_modules/cheerio/lib/index.js"),$t=Ne(require("../node_modules/got/dist/source/index.js")),Le=Ne(require("path")),Ge=E(),Fe=O(),Lt=e=>jt(void 0,void 0,void 0,function*(){return(0,$t.default)(`${Ge.TERRAFORM_RELEASE_REPO}/${e}/`).then(n=>{let t=[];return(0,kt.load)(n.body)("a").filter((s,r)=>{var o,f;return(0,Fe.isTerraformLink)((o=r.attribs)===null||o===void 0?void 0:o.href)&&(0,Fe.isZipPackage)((f=r.attribs)===null||f===void 0?void 0:f.href)}).each((s,r)=>{var o,f,_;t.push({name:Le.default.basename((o=r.attribs)===null||o===void 0?void 0:o.href),value:(f=r.attribs)===null||f===void 0?void 0:f.href,short:Le.default.basename((_=r.attribs)===null||_===void 0?void 0:_.href)})}),t}).catch(n=>{throw n.code==="ENOTFOUND"?new Error(`Could not connect to ${Ge.TERRAFORM_RELEASE_REPO}. Check your internet connection!`):n.code==="ERR_NON_2XX_3XX_RESPONSE"?new Error(`Could not download version "${e}". Check if the version is correct, or you have permission to download it!`):new Error(n)})});D.default=Lt});var Je=c(q=>{"use strict";var Gt=q&&q.__awaiter||function(e,n,t,i){function s(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function f(a){try{u(i.next(a))}catch(l){o(l)}}function _(a){try{u(i.throw(a))}catch(l){o(l)}}function u(a){a.done?r(a.value):s(a.value).then(f,_)}u((i=i.apply(e,n||[])).next())})},he=q&&q.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(q,"__esModule",{value:!0});var He=he(require("fs")),de=he(require("path")),Ft=he(require("../node_modules/download/index.js")),ee=E(),_e=O(),Nt=(e,n)=>Gt(void 0,void 0,void 0,function*(){(0,_e.printInfo)(`Downloading and extracting terraform package "${de.default.basename(e)}"`),He.default.existsSync(ee.STORAGE_DIR)||((0,_e.printInfo)(`Creating storage dir ${ee.STORAGE_DIR}`),He.default.mkdirSync(ee.STORAGE_DIR)),yield(0,Ft.default)(e,`${ee.STORAGE_DIR}`,{extract:!0,map:t=>{let i=de.default.basename(e,".zip");return t.path=="terraform"?t.path=i:(t.path="terraform.exe")&&(t.path=`${i}.exe`),t}}).then(()=>{(0,_e.printSuccess)(`Successfully extracted from ${de.default.basename(e)}!`)}).catch(t=>{throw new Error(`Download failed. Check your internet connectivity or try again later! For more details: ${JSON.stringify(t,null,4)}`)})});q.default=Nt});var te=c(T=>{"use strict";var me=T&&T.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(T,"__esModule",{value:!0});T.downloadTerraform=T.listTerraformExecutables=T.fetchTerraformVersions=void 0;var Ct=me($e());T.fetchTerraformVersions=Ct.default;var Ht=me(Ce());T.listTerraformExecutables=Ht.default;var Jt=me(Je());T.downloadTerraform=Jt.default});var xe=c(M=>{"use strict";var xt=M&&M.__awaiter||function(e,n,t,i){function s(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function f(a){try{u(i.next(a))}catch(l){o(l)}}function _(a){try{u(i.throw(a))}catch(l){o(l)}}function u(a){a.done?r(a.value):s(a.value).then(f,_)}u((i=i.apply(e,n||[])).next())})},zt=M&&M.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(M,"__esModule",{value:!0});var Ut=zt(require("../node_modules/inquirer/lib/inquirer.js")),Xt=te(),Zt=e=>xt(void 0,void 0,void 0,function*(){return Ut.default.prompt([{type:"list",name:"selectedPackageUrl",message:`Select the available release for version "${e}": `,choices:yield(0,Xt.listTerraformExecutables)(e),pageSize:10}])});M.default=Zt});var ze=c(G=>{"use strict";var Bt=G&&G.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(G,"__esModule",{value:!0});var Wt=Bt(require("../node_modules/inquirer/lib/inquirer.js")),Yt=e=>Wt.default.prompt([{type:"confirm",name:"wantToDownload",message:`Do you want to download a terraform release with version ${e}?`,default:!1}]);G.default=Yt});var Ue=c(F=>{"use strict";var Kt=F&&F.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(F,"__esModule",{value:!0});var Qt=Kt(require("../node_modules/inquirer/lib/inquirer.js")),er=Q(),tr=e=>Qt.default.prompt([{type:"list",name:"selectedVersion",message:er.listOfAvailableTerraformVersions,choices:e,pageSize:10}]);F.default=tr});var Xe=c(N=>{"use strict";var rr=N&&N.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(N,"__esModule",{value:!0});var ir=rr(require("../node_modules/inquirer/lib/inquirer.js")),nr=E(),or=()=>ir.default.prompt([{type:"confirm",name:"removeAll",message:`Do you want to remove all the terraform versions available at ${nr.STORAGE_DIR}?`,default:!1}]);N.default=or});var re=c(h=>{"use strict";var C=h&&h.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(h,"__esModule",{value:!0});h.confirmRemoveAll=h.listVersion=h.confirmDownload=h.selectPackageUrl=h.selectVersion=void 0;var ar=C(Ve());h.selectVersion=ar.default;var sr=C(xe());h.selectPackageUrl=sr.default;var ur=C(ze());h.confirmDownload=ur.default;var lr=C(Ue());h.listVersion=lr.default;var cr=C(Xe());h.confirmRemoveAll=cr.default});var We=c(I=>{"use strict";var fr=I&&I.__awaiter||function(e,n,t,i){function s(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function f(a){try{u(i.next(a))}catch(l){o(l)}}function _(a){try{u(i.throw(a))}catch(l){o(l)}}function u(a){a.done?r(a.value):s(a.value).then(f,_)}u((i=i.apply(e,n||[])).next())})},Be=I&&I.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(I,"__esModule",{value:!0});var Ze=Be(require("fs")),dr=require("../node_modules/cheerio/lib/index.js"),_r=Be(require("../node_modules/got/dist/source/index.js")),pe=E(),P=O(),ve=Q(),ye=re(),hr=te(),mr=({remote:e})=>{if(e)(0,_r.default)(pe.TERRAFORM_RELEASE_REPO).then(n=>{let t=(0,dr.load)(n.body),i=[];t("a").filter((s,r)=>{var o;return(0,P.isTerraformLink)((o=r.attribs)===null||o===void 0?void 0:o.href)}).each((s,r)=>{var o;let f=(0,P.extractTerraformVersion)((o=r.attribs)===null||o===void 0?void 0:o.href);f&&i.push(f)}),(0,ye.listVersion)(i).then(({selectedVersion:s})=>{(0,ye.confirmDownload)(s).then(({wantToDownload:r})=>{r&&(0,ye.selectPackageUrl)(s).then(({selectedPackageUrl:o})=>fr(void 0,void 0,void 0,function*(){yield(0,hr.downloadTerraform)(o,s)}))})}).catch(s=>(0,P.printError)(JSON.stringify(s,null,4)))}).catch(n=>{n.code==="ENOTFOUND"&&(0,P.printError)(ve.checkInternetConnection)});else{let n=[];Ze.default.existsSync(pe.STORAGE_DIR)&&(n=Ze.default.readdirSync(pe.STORAGE_DIR)),n&&n.length?((0,P.printPlainText)(ve.listOfLocallyAvailableTerraformVersions),n.forEach((t,i)=>{(0,P.printSuccess)(`\u27A4 ${t}`)})):(0,P.printError)(ve.noLocalTerraformVersionsAvailable)}};I.default=mr});var Ke=c(H=>{"use strict";var ie=H&&H.__awaiter||function(e,n,t,i){function s(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function f(a){try{u(i.next(a))}catch(l){o(l)}}function _(a){try{u(i.throw(a))}catch(l){o(l)}}function u(a){a.done?r(a.value):s(a.value).then(f,_)}u((i=i.apply(e,n||[])).next())})};Object.defineProperty(H,"__esModule",{value:!0});var Ee=te(),Re=re(),Ye=O(),pr=e=>ie(void 0,void 0,void 0,function*(){if(e)yield(0,Re.selectPackageUrl)(e).then(({selectedPackageUrl:n})=>ie(void 0,void 0,void 0,function*(){yield(0,Ee.downloadTerraform)(n,e)})).catch(n=>(0,Ye.printError)(n));else{let n=yield(0,Ee.fetchTerraformVersions)();n.length>0&&(0,Re.selectVersion)(n).then(({selectedVersion:t})=>ie(void 0,void 0,void 0,function*(){yield(0,Re.selectPackageUrl)(t).then(({selectedPackageUrl:i})=>ie(void 0,void 0,void 0,function*(){yield(0,Ee.downloadTerraform)(i,t)})).catch(i=>(0,Ye.printError)(i))}))}});H.default=pr});var Qe=c(J=>{"use strict";var vr=J&&J.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(J,"__esModule",{value:!0});var yr=vr(require("fs")),Te=E(),be=O(),Er=()=>{yr.default.existsSync(Te.STORAGE_DIR)?(0,be.printSuccess)(`The configured path for your terraform executables is ${Te.STORAGE_DIR}`):((0,be.printError)(`The configured path to store your terraform executables "${Te.STORAGE_DIR}" does not exist!`),(0,be.printInfo)('To update the storage path, run "tfvm dir -p <path/to/store/terraform/executables>"'))};J.default=Er});var Oe=c(x=>{"use strict";var Rr=x&&x.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(x,"__esModule",{value:!0});var Tr=Rr(require("../node_modules/inquirer/lib/inquirer.js")),br=(e,n)=>Tr.default.prompt([{type:"list",name:"selectedLocalFile",message:n,choices:e,pageSize:10}]);x.default=br});var tt=c(z=>{"use strict";var we=z&&z.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(z,"__esModule",{value:!0});var ne=we(require("fs")),et=we(require("path")),w=E(),Or=re(),wr=we(Oe()),b=O(),gr=({all:e})=>{e?ne.default.readdir(w.STORAGE_DIR,(n,t)=>{if(n)throw n;t.length==0?(0,b.printInfo)(`${w.STORAGE_DIR} is already empty.`):(0,Or.confirmRemoveAll)().then(i=>{if(i){(0,b.printInfo)(`Removing all terraform versions from ${w.STORAGE_DIR}...`);for(let s of t){try{ne.default.unlinkSync(et.default.join(w.STORAGE_DIR,s))}catch(r){(0,b.printError)(JSON.stringify(r,null,4))}(0,b.printInfo)(`\u27A4 Removed ${s}`)}(0,b.printSuccess)(`Successfully removed all terraform versions from ${w.STORAGE_DIR}`)}}).catch(i=>(0,b.printError)(JSON.stringify(i,null,4)))}):ne.default.readdir(w.STORAGE_DIR,(n,t)=>{if(n)throw n;t.length==0?(0,b.printInfo)(`${w.STORAGE_DIR} is already empty.`):(0,wr.default)(t,"Select the terraform file you want to remove:").then(({selectedLocalFile:i})=>{try{ne.default.unlinkSync(et.default.join(w.STORAGE_DIR,i)),(0,b.printSuccess)(`Removed ${i} successfully!`)}catch(s){(0,b.printError)(JSON.stringify(s,null,4))}}).catch(i=>(0,b.printError)(JSON.stringify(i,null,4)))})};z.default=gr});var it=c(V=>{"use strict";var Ar=V&&V.__awaiter||function(e,n,t,i){function s(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function f(a){try{u(i.next(a))}catch(l){o(l)}}function _(a){try{u(i.throw(a))}catch(l){o(l)}}function u(a){a.done?r(a.value):s(a.value).then(f,_)}u((i=i.apply(e,n||[])).next())})},ge=V&&V.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(V,"__esModule",{value:!0});var U=ge(require("fs")),X=ge(require("path")),g=E(),rt=Q(),Sr=ge(Oe()),Z=O(),Dr=()=>{let e=[];U.default.existsSync(g.STORAGE_DIR)&&(e=U.default.readdirSync(g.STORAGE_DIR)),e&&e.length?((0,Z.printPlainText)(rt.listOfLocallyAvailableTerraformVersions),(0,Sr.default)(e,"Select the terraform file you want to use:").then(({selectedLocalFile:n})=>Ar(void 0,void 0,void 0,function*(){try{let t=X.default.join(g.STORAGE_DIR,n),i;X.default.extname(n)==".exe"?i=X.default.join(g.TFVM_PATH,"terraform.exe"):i=X.default.join(g.TFVM_PATH,"terraform"),U.default.existsSync(g.TFVM_PATH)||U.default.mkdirSync(g.TFVM_PATH),U.default.copyFileSync(t,i),(0,Z.printSuccess)(`"${n}" has been set as the default terraform version. Make sure that "${g.TFVM_PATH}" is added to your PATH variable. This would be a one-time effort. Now, type "terraform --version" to verify.`),X.default}catch(t){(0,Z.printError)(JSON.stringify(t,null,4))}})).catch(n=>(0,Z.printError)(JSON.stringify(n,null,4)))):(0,Z.printError)(rt.noLocalTerraformVersionsAvailable)};V.default=Dr});var nt=c(m=>{"use strict";var B=m&&m.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m,"__esModule",{value:!0});m.use=m.remove=m.dir=m.download=m.list=void 0;var qr=B(We());m.list=qr.default;var Mr=B(Ke());m.download=Mr.default;var Pr=B(Qe());m.dir=Pr.default;var Ir=B(tt());m.remove=Ir.default;var Vr=B(it());m.use=Vr.default});var ot=c((ci,jr)=>{jr.exports={name:"tfvm",version:"1.1.17",description:"Terraform Version Manager",author:{name:"Anindya Dey",url:"https://anindyadey.com"},repository:{type:"git",directory:"https://github.com/anindya-dey/tfvm.git",url:"https://github.com/anindya-dey/tfvm"},bugs:{url:"https://github.com/anindya-dey/tfvm/issues"},preview:!0,bin:{tfvm:"./dist/tfvm.min.js"},license:"MIT",dependencies:{chalk:"~4.1.2",cheerio:"~1.0.0-rc.12",commander:"~9.4.1",download:"~8.0.0",got:"~11.8.5",inquirer:"~8.2.5",rc:"~1.2.8","update-notifier":"~5.1.0"},keywords:["cli","tfvm","terraform","terraform-manager","terraform-version-manager","agent-andy","anindya-dey","anindya"],scripts:{build:"tsc && esbuild ./dist/main.js --platform=node --external:./node_modules/* --bundle --minify --outfile=./dist/tfvm.min.js","build:dev":"npm run lint && npm run build && npm link",lint:"prettier --end-of-line crlf --write .",prepare:"husky install","tfvm:help":"node dist/tfvm.min.js --help",test:"jest --verbose","tsc:init":"tsc --init"},engines:{node:">= 16.14.0"},files:["./dist/tfvm.min.js"],devDependencies:{"@types/commander":"^2.12.2","@types/download":"^8.0.2","@types/got":"^9.6.12","@types/inquirer":"^9.0.3","@types/jest":"^29.4.0","@types/node":"^18.15.0","@types/rc":"^1.2.1","@types/update-notifier":"^6.0.2",esbuild:"^0.17.11",husky:"^8.0.3",jest:"^29.5.0",prettier:"^2.8.4","ts-jest":"^29.0.5",typescript:"^4.9.5"}}});var ut=c(k=>{"use strict";var at=k&&k.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(k,"__esModule",{value:!0});k.init=void 0;var A=require("../node_modules/commander/index.js"),kr=at(require("../node_modules/update-notifier/index.js")),j=E(),W=nt(),st=at(ot());(0,kr.default)({pkg:st.default,updateCheckInterval:1e3}).notify({isGlobal:!0,defer:!1});var $r=()=>{A.program.name("tfvm").description("Terraform Version Manager - A CLI tool to manage Terraform versions").version(st.default.version),A.program.command("list").alias("ls").description(`list all the downloaded versions of terraform or the ones available at ${j.TERRAFORM_RELEASE_REPO}`).option("-r, --remote",`Displays a list of all terraform versions available at ${j.TERRAFORM_RELEASE_REPO}`).action(W.list),A.program.command("download").alias("d").description(`downloads and extracts a specific package of terraform from ${j.TERRAFORM_RELEASE_REPO}`).argument("[version]","If provided, a list of all the terraform packages for this version would be displayed for the user to choose from").action(W.download),A.program.command("remove").alias("rm").description(`removes a specific package or all packages of terraform saved locally at ${j.STORAGE_DIR}`).option("-a, --all",`remove all versions of terraform from ${j.STORAGE_DIR}`).action(W.remove),A.program.command("use").description(`sets a specific terraform release from ${j.STORAGE_DIR} as default which can be used directly in the terminal.`).action(W.use),A.program.command("dir").description(`displays the directory where terraform executables are stored. Default directory is ${j.STORAGE_DIR}.`).action(W.dir),A.program.showSuggestionAfterError(),A.program.parse()};k.init=$r});Object.defineProperty(exports,"__esModule",{value:!0});var Lr=ut();(0,Lr.init)();