From 9035da12fa6272b82748b79b9282071a2b40fc0c Mon Sep 17 00:00:00 2001 From: Tsiry Sandratraina Date: Sat, 23 Dec 2023 14:05:31 +0000 Subject: [PATCH] feat: prompt package infos when running `fluentci init` --- deno.lock | 353 ++++++++++++++++++++++++++++++++++++++++++++++++ deps.ts | 9 ++ src/cmd/init.ts | 124 ++++++++++++++++- src/validate.ts | 7 +- 4 files changed, 490 insertions(+), 3 deletions(-) diff --git a/deno.lock b/deno.lock index 288cb37..bc8230c 100644 --- a/deno.lock +++ b/deno.lock @@ -12,6 +12,7 @@ } }, "redirects": { + "https://deno.land/x/ramda/mod.ts": "https://deno.land/x/ramda@v0.27.2/mod.ts", "https://deno.land/x/wait/mod.ts": "https://deno.land/x/wait@0.1.13/mod.ts" }, "remote": { @@ -384,6 +385,7 @@ "https://deno.land/x/cliffy@v1.0.0-rc.2/table/deps.ts": "6493ba75cbe219ef74de1d1a1cf1ed72cdcb09d3eee240a16ff5fd9bb069b816", "https://deno.land/x/cliffy@v1.0.0-rc.2/table/row.ts": "79eb1468aafdd951e5963898cdafe0752d4ab4c519d5f847f3d8ecb8fe857d4f", "https://deno.land/x/cliffy@v1.0.0-rc.2/table/table.ts": "298671e72e61f1ab18b42ae36643181993f79e29b39dc411fdc6ffd53aa04684", + "https://deno.land/x/cliffy@v1.0.0-rc.3/_utils/distance.ts": "02af166952c7c358ac83beae397aa2fbca4ad630aecfcd38d92edb1ea429f004", "https://deno.land/x/cliffy@v1.0.0-rc.3/ansi/ansi_escapes.ts": "193b3c3a4e520274bd8322ca4cab1c3ce38070bed1898cb2ade12a585dddd7c9", "https://deno.land/x/cliffy@v1.0.0-rc.3/ansi/cursor_position.ts": "caa008d29f7a904908bda514f9839bfbb7a93f2d5f5580501675b646d26a87ff", "https://deno.land/x/cliffy@v1.0.0-rc.3/ansi/deps.ts": "f48ae5d066684793f4a203524db2a9fd61f514527934b458006f3e57363c0215", @@ -392,9 +394,21 @@ "https://deno.land/x/cliffy@v1.0.0-rc.3/keycode/key_code.ts": "730fa675ca12fc2a99ba718aa8dbebb1f2c89afd47484e30ef3cb705ddfca367", "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/_figures.ts": "e22413ddd51bb271b6b861a058742e83aaa3f62c14e8162cb73ae6f047062f51", "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/_generic_input.ts": "870dad97077582439cee26cb19aec123b4850376331338abdc64a91224733cdc", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/_generic_list.ts": "8b0bea4521b1e2f62c564e0d3764a63264043694f4228bb0bc0b63ce129ef33b", "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/_generic_prompt.ts": "4c9d9cdeda749620a3f5332524df13d083e2d59b1ed90a003f43cd0991a75a10", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/_generic_suggestions.ts": "5e6ee1190b4dd5af261ae2ff0196dec7f1988ea9c41c6288cfaece293703002c", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/_utils.ts": "498ae639d7666599d612b615ee85de9103b3c3a913d5196f6b265072674258c7", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/checkbox.ts": "9cfd71f1e278d0ef76054be103d956b66995593902c149380d01b1a1647025f3", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/confirm.ts": "ff892331f6de281079421fe2f57f1d56acb38f28bc48678f87a3fc11ef4a5f7c", "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/deps.ts": "2560142f070bb2668e2e8a74683c799461648b9aad01bbf36b3cad3851d712e6", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/input.ts": "81821244f895cc4db32c2511c17e21fb48fd7606e300605aeb2a231ab1680544", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/list.ts": "e5d3e1a6d931b9736d03eec2425fb7b4d2b8d1461a84e210b4787edda414dca4", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/mod.ts": "f8789193742daf3aba93b543a2ea099383284d60fcccc03567102e28c0d61927", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/number.ts": "5421bf1b6411a6f02c44da4e867f19e02315450769e0feacab3c1c88cc1b06d6", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/prompt.ts": "f10e1c8a0c2ca093a485f7f1156342210b27a8cffc96fe0b4cff60007cabab30", "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/secret.ts": "cece271c7ce01e12b249c31c2f9cea9e53b6e6be7621a478dac902bd8f288b61", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/select.ts": "c10902aeaca02a55d9b846934958dd166ee39c741faebdaa9800689e402186cf", + "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/toggle.ts": "028f80de31750e7b5479727a64b4878f090ecd783fe3bb0d286e2e1c29f0eee3", "https://deno.land/x/crc32@v0.2.0/mod.ts": "de7a3fa2d4ef24b96fc21e1cc4d2d65d1d2b1dcea92f63960e3e11bfa82df0fa", "https://deno.land/x/dir@1.5.2/cache_dir/mod.ts": "8a82889db79c547fbbd3536c9c964047657b19fb59365c5fa59afc46082f9fe5", "https://deno.land/x/dir@1.5.2/config_dir/mod.ts": "d16ca6f949c3e42ed23f942261d2482f340dd6c73542740f57c89abeaa83ea3f", @@ -429,6 +443,345 @@ "https://deno.land/x/media_types@v2.9.0/db.ts": "ba39cddbcefce47d577c0529066787a3a7b39d27750a6d32b5ad53ed487e7b7b", "https://deno.land/x/media_types@v2.9.0/deps.ts": "364b24c35845cfd5c6903ab22b8ba9873bf1022bbbf6bf3d001695332d4bbb4f", "https://deno.land/x/media_types@v2.9.0/mod.ts": "d63583b978d32eff8b76e1ae5d83cba2fb27baa90cc1bcb0ad15a06122ea8c19", + "https://deno.land/x/ramda@v0.27.2/mod.ts": "14262bdcea26c261f2f6490e733b792af9d3ae3582a4d09ca5bab0479b48ca40", + "https://deno.land/x/ramda@v0.27.2/source/F.js": "cf0f5fdb08048909e49bb6f222f6e2f92db8d4dc0dd24900864eaf69c3746e3d", + "https://deno.land/x/ramda@v0.27.2/source/T.js": "f96ac2cdaeedf374fb932a4ec368f0566143f0c2d028919976c41c6ee53c0515", + "https://deno.land/x/ramda@v0.27.2/source/__.js": "0d846e36ac0a9ff96c3e17823a98d1379295bf0a12e02c6b54e252d89228acbb", + "https://deno.land/x/ramda@v0.27.2/source/add.js": "228beb026421789be635c2ef48dbbccfcf030796429b14e08da3092800a54abb", + "https://deno.land/x/ramda@v0.27.2/source/addIndex.js": "eb25b2d1999a36025c7eac9bafde0d4f569b8b9de5f03a2578fc5a82f2f37497", + "https://deno.land/x/ramda@v0.27.2/source/adjust.js": "a018b4127cfa9f2915e2a5fcc767d58c590be7716bcdeba39136f63404de9466", + "https://deno.land/x/ramda@v0.27.2/source/all.js": "ad8982ac59e339bba8eb440eb200b18bec2531906cadab6989a4f9970c56ec4e", + "https://deno.land/x/ramda@v0.27.2/source/allPass.js": "b9b9b39392fae767310690bf8e097150fd9a99f5dc0d64565ae61cc58b6e34ec", + "https://deno.land/x/ramda@v0.27.2/source/always.js": "b38ca58da76a43663c33dfd52a4b09f6f582b8504fd767e204e85291fe9b03ae", + "https://deno.land/x/ramda@v0.27.2/source/and.js": "ba92b5127ff67c6a5bd523ea099961ae8c4d1028aa022a7a2d494bc938d85e54", + "https://deno.land/x/ramda@v0.27.2/source/andThen.js": "4257a859b9273bae3fb3e3a97c7bcf5f862c519eb52de0da7e02adf52f4f262b", + "https://deno.land/x/ramda@v0.27.2/source/any.js": "45983175fa1de66e8082ce7cce43b53b21d3d2223e4a383a11690d4a1c0d84ec", + "https://deno.land/x/ramda@v0.27.2/source/anyPass.js": "6fd0a90a458921d07bc51acac9dba839e5e29f2b9b507524ed95ceb304557a5f", + "https://deno.land/x/ramda@v0.27.2/source/ap.js": "29e48d267711c5ee9dd43a8f3ce766e2198ced3ec359d8d7405a207208ac876b", + "https://deno.land/x/ramda@v0.27.2/source/aperture.js": "b6a5dcde3c5e6f849a3c9680e5faf554bf5dc8a3d6cfb7aadc73cc147d33fe7e", + "https://deno.land/x/ramda@v0.27.2/source/append.js": "bf323062d997e4d995053900134369c1341fbbcd46ef64c2b741f9d1c4ccd55c", + "https://deno.land/x/ramda@v0.27.2/source/apply.js": "b0b90bbd6b73d2cb57f9cf31bb7e45cf398e3b700ef03aefe038b4ec9d71ff10", + "https://deno.land/x/ramda@v0.27.2/source/applySpec.js": "a8e8361ca93c7a5ea938db059d56a2361e80a007229af1d052476d8f5c3731b6", + "https://deno.land/x/ramda@v0.27.2/source/applyTo.js": "8c3029032632e385a877e4587ba8fcb9bc046523dbe4eee6cf41c131ec7e2c18", + "https://deno.land/x/ramda@v0.27.2/source/ascend.js": "84524adf0f4eb7dc4ca815aacd60b99527cb17d1311411e482d8e8e15ea4553d", + "https://deno.land/x/ramda@v0.27.2/source/assoc.js": "f00e345f7c5dcc1bbebc4ae9ef6574b9b7ed2c98576bea5ae4f521dfc96de22e", + "https://deno.land/x/ramda@v0.27.2/source/assocPath.js": "e73615bb6af97ac6264b1497826a72be278f5eb944bb9a09bfd49b5b51a64667", + "https://deno.land/x/ramda@v0.27.2/source/binary.js": "3bcf8608caed02f0005c7efa81ae9303b0a830f035dbb1f749467edd1363c0bb", + "https://deno.land/x/ramda@v0.27.2/source/bind.js": "e54151679a653e4a429f06a4083b951a2956352d43342be2d9362caf15c5284c", + "https://deno.land/x/ramda@v0.27.2/source/both.js": "6ba9a47bc7a1d641d4bbb9a31c1d69ed9db31926c45ec5eafd462a4281a19854", + "https://deno.land/x/ramda@v0.27.2/source/call.js": "30e8a7959e3a627a93b80b353f909f0ccfe633286abe42032efab9110203f252", + "https://deno.land/x/ramda@v0.27.2/source/chain.js": "5aaac847573c89107b229de5070b10137e5085aff44197b362c9f330d97d4cb6", + "https://deno.land/x/ramda@v0.27.2/source/clamp.js": "c5e4794193226010c4311fd4232b54a666ff215f7a2bbb3c0e953e129343f9b9", + "https://deno.land/x/ramda@v0.27.2/source/clone.js": "f87d3eff8eda087ab34ee9d210574f6458558a15503f20863135c652903932d9", + "https://deno.land/x/ramda@v0.27.2/source/collectBy.js": "63a5b7d523d656ed21c8d212ec5b20ae0bede27759620b30a3edad5007e77d1f", + "https://deno.land/x/ramda@v0.27.2/source/comparator.js": "46dcd6df640aa62b62b637a44923b124e08373e016c079d66c8554f5eccac25f", + "https://deno.land/x/ramda@v0.27.2/source/complement.js": "1077ec2fd77148b9b816c9e2d53447dc5f58551dfa4d1fbdc65b4358c348fe7e", + "https://deno.land/x/ramda@v0.27.2/source/compose.js": "88c1ba6338854a69a88c6716d7e1846b41b4c11758e4303e3aff8da2fdb4d886", + "https://deno.land/x/ramda@v0.27.2/source/composeWith.js": "7f1769340bb713ddaddf140b9377c737516b53d3fa8737b4bacdb3d9076e27e7", + "https://deno.land/x/ramda@v0.27.2/source/concat.js": "f3d8d7238dde344d9916f62eb23e652d51b1ee9165112441fcc8772a52882cf1", + "https://deno.land/x/ramda@v0.27.2/source/cond.js": "fc252d1fb0940df257a9cf688f7b18a6b985c2117e0959c433c54116dd1b8f97", + "https://deno.land/x/ramda@v0.27.2/source/construct.js": "d4ab8ddb45b581954bc943cf8d6c75add7b3fedcfeabc20316f17d1b8955e6f6", + "https://deno.land/x/ramda@v0.27.2/source/constructN.js": "985a538f32bec2e893d47d0072277d4e19f0111fdf9b9119e79835804dab1af7", + "https://deno.land/x/ramda@v0.27.2/source/converge.js": "e285777910f7d111772b74dd6c1f4d6c49ff9a603a2ff9a950e830cfda871a9d", + "https://deno.land/x/ramda@v0.27.2/source/countBy.js": "e2fb4127929895d661ca99db0b424bd4e045d366baef8f122a8c8e5e985293a5", + "https://deno.land/x/ramda@v0.27.2/source/curry.js": "69fef7830feee995f75e3aa45ae0fe99f611772462e33dfa3d6044a506d999e3", + "https://deno.land/x/ramda@v0.27.2/source/curryN.js": "523d173826331f03aff210ea1932a445e0d77acdf96f0b337de96fa0cca78903", + "https://deno.land/x/ramda@v0.27.2/source/dec.js": "7c27ae1b7e572910d1bcb63eeac36ebf59d6cce903fa3ba1b170dc7329133843", + "https://deno.land/x/ramda@v0.27.2/source/defaultTo.js": "237e5a9a1f0b1fb190f508a8750a0729814fa1754fbd032f18144d875990ead8", + "https://deno.land/x/ramda@v0.27.2/source/descend.js": "4ca2704b6e4ea7b92015e6620c210c19c7374f29742f7bd5136c8e1aa6c90503", + "https://deno.land/x/ramda@v0.27.2/source/difference.js": "9d388448dfda3232f6006b9f5f56d7cf3982b3bcf47165ff8bf66677e53dff6f", + "https://deno.land/x/ramda@v0.27.2/source/differenceWith.js": "d7c98a3cc916fb0ff050c0c1441f2a1b29cff3d0d301e37878a2adbe8db28de3", + "https://deno.land/x/ramda@v0.27.2/source/dissoc.js": "5cf9c3c42e4f8b568234eee84567b972cc187a0ea3e15c0e674745fdd7187cee", + "https://deno.land/x/ramda@v0.27.2/source/dissocPath.js": "a59d61ccce8df74a37e698d525eee27c26505420710087b58fe4e93b26dbbef8", + "https://deno.land/x/ramda@v0.27.2/source/divide.js": "6e0bfcfd2b18877a0fe1e4ae98ae53349ac1f48c7b5fc35c3ca57364504943ef", + "https://deno.land/x/ramda@v0.27.2/source/drop.js": "4ff5febd91047ca74b4778881097c1051dbe4fabbef0d7117f2e41378dff55e1", + "https://deno.land/x/ramda@v0.27.2/source/dropLast.js": "68d7d9ae7a87f5c344b496cb0b8ca79768d796b11bb079daa951152b63706bdf", + "https://deno.land/x/ramda@v0.27.2/source/dropLastWhile.js": "078af5d7231266e448dfd3002c26aaa146eae18f2ea57123829958e4dcbcb782", + "https://deno.land/x/ramda@v0.27.2/source/dropRepeats.js": "c84877435227b901e8a7c7c42245bbbde0609b3b3b9af97a4377b695f1784136", + "https://deno.land/x/ramda@v0.27.2/source/dropRepeatsWith.js": "9c01e32e3ed2869e68c046dc564e42b59888463234ed637bde31608bc64eba17", + "https://deno.land/x/ramda@v0.27.2/source/dropWhile.js": "28e044253bd3655a759be443dcc233cbda76bd2d80defe51600e10312220b5a0", + "https://deno.land/x/ramda@v0.27.2/source/either.js": "07b4087707e495f59e30ed9e1d579d146a1cfa8fdc758bfd353af9176c6bab9f", + "https://deno.land/x/ramda@v0.27.2/source/empty.js": "df91fc65b55ad83236fbc18e76c599db75c36395ea812a492cb56d95e337fb8f", + "https://deno.land/x/ramda@v0.27.2/source/endsWith.js": "d9bea6890b2474a11d23e14e0d500bc87bafbfbd5975ee4d9eedf99599e9bc3f", + "https://deno.land/x/ramda@v0.27.2/source/eqBy.js": "bb0692cce9d0020fce9a4b3a7c4d8082dd11a4fd03c2610fc38d72987d2e3408", + "https://deno.land/x/ramda@v0.27.2/source/eqProps.js": "b8472fd7aac2e952a78e285bf5908116481e8804839e098e963f6d8db40a6f28", + "https://deno.land/x/ramda@v0.27.2/source/equals.js": "7f54bec675761df5cb71b7cc32a169d2e944c91575d6a9c2304dad7a1ced3373", + "https://deno.land/x/ramda@v0.27.2/source/evolve.js": "14d0d1f87c4891535f88da7209a926a59cfbd486df737a1407157f8847b83630", + "https://deno.land/x/ramda@v0.27.2/source/filter.js": "5c8b8eaba016bf63185df32ce439b4795e1182cfda310fce114a53fb15d2d6de", + "https://deno.land/x/ramda@v0.27.2/source/find.js": "09598aa7e256c37bfd80c1cefd5664e96b22fa0d34cafe637f4c27441002fc1a", + "https://deno.land/x/ramda@v0.27.2/source/findIndex.js": "0cb98806f039b3cfae9d7c491fad7ba48a03e1db9d9e482fa516bb4ed76d3dca", + "https://deno.land/x/ramda@v0.27.2/source/findLast.js": "0b414111d9841354a5b6342a124f2b1026101311df0afd5c3ba4ac59db9cb72c", + "https://deno.land/x/ramda@v0.27.2/source/findLastIndex.js": "d7f2827c928a0481ec3b0cd814ec446a75ed47fb1f3f5b22611efc6d462d7060", + "https://deno.land/x/ramda@v0.27.2/source/flatten.js": "243ddadafe7961aec81baa8572905db0dd493f777dd5056d8cee37563a7cc526", + "https://deno.land/x/ramda@v0.27.2/source/flip.js": "78559e6c275e263c2daae4d16d63639f1168b442b88d738038b6f3147312a695", + "https://deno.land/x/ramda@v0.27.2/source/forEach.js": "39813bce3e81c081a2ff92855f8a55bcda476801f2f44de0e79e210068a027f1", + "https://deno.land/x/ramda@v0.27.2/source/forEachObjIndexed.js": "28fc5331e303c3e68c7c01d77b0d29eae1e0271d8eec68a21b3cee582cab4568", + "https://deno.land/x/ramda@v0.27.2/source/fromPairs.js": "d729f77a9ea6b241368fd95e2157d6bed5f306233f4bd0f3d27e820755268153", + "https://deno.land/x/ramda@v0.27.2/source/groupBy.js": "cdf6123f30919aba99f3cfa86195f724f977804f44681dea298566f1506862f2", + "https://deno.land/x/ramda@v0.27.2/source/groupWith.js": "dc2c4861a44408e25554850dc706175ccb7762a9059b5bec3aeb621ba6590fe7", + "https://deno.land/x/ramda@v0.27.2/source/gt.js": "72ed5925a31ac49a1a89487cc8d2803691384c161ecb93cc07042c5b3404241a", + "https://deno.land/x/ramda@v0.27.2/source/gte.js": "78802ab4ebb7b98c3d947c43c17679d98fca1b363f87fc16513690d3fb5b29a1", + "https://deno.land/x/ramda@v0.27.2/source/has.js": "4476f429c91c6bbb1b1a07c187fa6e0042ac580b736a34aba2843919d1959a59", + "https://deno.land/x/ramda@v0.27.2/source/hasIn.js": "4f3f633d11a76d05448349d60cf91be3f40cd84af67902bfbd3204b4bcb2d732", + "https://deno.land/x/ramda@v0.27.2/source/hasPath.js": "03e7c3cddf8dd04e8eec9765978ee3813c66440e2e0f7153393099250aa40b10", + "https://deno.land/x/ramda@v0.27.2/source/head.js": "4df6d937987d8bc87df68f6e11b1edc4a78f9f0890a3ef8e361f3ae1ffc2c93b", + "https://deno.land/x/ramda@v0.27.2/source/identical.js": "4c3c3f75a7248b6c4450692e31447f933c0484520cbae6f84e3c52c4febeda1d", + "https://deno.land/x/ramda@v0.27.2/source/identity.js": "0897cac8aa156fb05aae9e1fcbec6422265537120c85a59e2d9ed4789400142b", + "https://deno.land/x/ramda@v0.27.2/source/ifElse.js": "586bf559dfe65b7d0baf17bc065f66ed05eab93401d0d534b20bcc2647f79ac3", + "https://deno.land/x/ramda@v0.27.2/source/inc.js": "2ecf4d73a79bde8e5446d1bc67ae47bd918ce915c145cd38307f8e833b417905", + "https://deno.land/x/ramda@v0.27.2/source/includes.js": "d7d55f48f02e6137277eb3f7fe8a37c03a7b20f73461290e5fb954b654e714c3", + "https://deno.land/x/ramda@v0.27.2/source/index.js": "e3f53a897e1f468bbe2c1df7b2c2267fafa27e7daa5058cb62914acf33877d8f", + "https://deno.land/x/ramda@v0.27.2/source/indexBy.js": "8f2623133d78c91bbf5843d1d9e1a633751c224b259b2b6c7be05c864dcca417", + "https://deno.land/x/ramda@v0.27.2/source/indexOf.js": "51c6824676b9ae32384e9fb0b3f2c0c1a639b76c95c366e19d0c66246c531a09", + "https://deno.land/x/ramda@v0.27.2/source/init.js": "64ffbf8f557956006ddd6aa5fb2261029b574808909d576887a804358f49a33e", + "https://deno.land/x/ramda@v0.27.2/source/innerJoin.js": "f6b0aef6118f16e35f35f755118178a259d7ada6d56ffb1a73b6b8e70840470a", + "https://deno.land/x/ramda@v0.27.2/source/insert.js": "ec7eb96300222eb744548031c9f44d0b90eea5142b413ae0134d751e4d5e12b6", + "https://deno.land/x/ramda@v0.27.2/source/insertAll.js": "5abae3eebae86724ea9efdb34686b499ea51ad4e7bcc87266a3798d39678ffd2", + "https://deno.land/x/ramda@v0.27.2/source/internal/_Set.js": "0ceb62124dcad553c7e95a8395d46ef9709efbb5ae819114b1cfc837882d6bef", + "https://deno.land/x/ramda@v0.27.2/source/internal/_aperture.js": "3baea490e23ba04bc1a4c70aae851fff5ee1fd45b27079e7d93bba5a98cf4ad0", + "https://deno.land/x/ramda@v0.27.2/source/internal/_arity.js": "4fa349e2c3d0da5c102353f86025b093844ea13a40b0d70ebb21302b6c9a5bb2", + "https://deno.land/x/ramda@v0.27.2/source/internal/_arrayFromIterator.js": "f46149927bafa8f0fb7f0fdd0eaa19da4b4d7ce147bcecf0fb7406c1a0ca0e91", + "https://deno.land/x/ramda@v0.27.2/source/internal/_assertPromise.js": "11fd2486760cbd60ebbed0ef0b6e2aa2ee4a6e3bd3f257e5024140a21245dea9", + "https://deno.land/x/ramda@v0.27.2/source/internal/_assoc.js": "8200e22a3f4a931e6b416260e516f2c016b1e7f3821e97f39009ff6acabf32f7", + "https://deno.land/x/ramda@v0.27.2/source/internal/_checkForMethod.js": "37ab74c502c1324c1e5266e865d36355301993c381ccd4849898dc8655305d71", + "https://deno.land/x/ramda@v0.27.2/source/internal/_clone.js": "197f999a9f94b426b1e573f4497cb0188444a74aa2aba571a8ce302aa5377b16", + "https://deno.land/x/ramda@v0.27.2/source/internal/_cloneRegExp.js": "9c751f3ea3732e9e2c321726997134419721b77e8ad78b5199d4fb587bce7a89", + "https://deno.land/x/ramda@v0.27.2/source/internal/_complement.js": "4a680d37419308b74099034c1c399264a04632dfc7378f4c4e8b88da18b863e0", + "https://deno.land/x/ramda@v0.27.2/source/internal/_concat.js": "16219d978cd4fc97305a6d56106041d66b56a668b395c0faba555571a766d4a2", + "https://deno.land/x/ramda@v0.27.2/source/internal/_createPartialApplicator.js": "8d5bbdb1629ae482691a309728e832d97d9108d5ec03af1e05e610e8db5dc713", + "https://deno.land/x/ramda@v0.27.2/source/internal/_curry1.js": "471de08b6eba9bdbda8bc3adf75a6c85579abf44b1af9b079b631680d1331bf3", + "https://deno.land/x/ramda@v0.27.2/source/internal/_curry2.js": "2c8ae1b2f6f1f29ae72507eb2f8affa2d29d7e6d593c74c2ab8b11ab7c077ea0", + "https://deno.land/x/ramda@v0.27.2/source/internal/_curry3.js": "4df2775934c2a02472b806c18f4fefcd2f0a330568c7818e3937ed9c05fde9cb", + "https://deno.land/x/ramda@v0.27.2/source/internal/_curryN.js": "e5772e002d36f419f9b29ee72d58f6605d99f05a59fb9f234df6f11bdd0c91ed", + "https://deno.land/x/ramda@v0.27.2/source/internal/_dispatchable.js": "d0caa3b83bcaf612ce5ccc1ef1e3bee8bd0b7c70cd688522d7a1922078d0c8f9", + "https://deno.land/x/ramda@v0.27.2/source/internal/_dissoc.js": "a4f7d454f67c815792a40c49f53d3778a954efdaee98e98eadcb88506508e014", + "https://deno.land/x/ramda@v0.27.2/source/internal/_dropLast.js": "783d1c3682e470b584ee19e69b0a3df190c89a44c50b784051adc08edc9e34b5", + "https://deno.land/x/ramda@v0.27.2/source/internal/_dropLastWhile.js": "45fa88039ae87e0037fce1def28249714b41dd59eeeb92bcbb46e8769e517ee0", + "https://deno.land/x/ramda@v0.27.2/source/internal/_equals.js": "3e10ce96699dcb1d463be64798cf81e0bbb293e1a91e8b3c1fbfb64cda572604", + "https://deno.land/x/ramda@v0.27.2/source/internal/_filter.js": "50a8ecec356ea12974434d74483775a78dd3761e5a24fab814bf761d66f8d129", + "https://deno.land/x/ramda@v0.27.2/source/internal/_flatCat.js": "e87d575a90f01fae5c1fe77e437580081ae00ce056d72759ac6169072449fec5", + "https://deno.land/x/ramda@v0.27.2/source/internal/_forceReduced.js": "4fe3897c0e7327c37352d2a7d63eaa976954b97edff293116de95aeb615725ca", + "https://deno.land/x/ramda@v0.27.2/source/internal/_functionName.js": "15f79e21d2e991ace32b12ae7a0f6ae408a3fec5adb1896d97894eb77c640537", + "https://deno.land/x/ramda@v0.27.2/source/internal/_has.js": "ae63f8e7fffa2034444b2fe2cc71b1ef6d284433470a3b2e4bb73c96f543efcb", + "https://deno.land/x/ramda@v0.27.2/source/internal/_identity.js": "210496061ce9fd6eac4abad8a29368e14dfe6e23562439d25be51aa434e8a1e3", + "https://deno.land/x/ramda@v0.27.2/source/internal/_includes.js": "e39b97bf8ebc835f871abc949696846f94cfd19c33e405a47efd106f89675fa8", + "https://deno.land/x/ramda@v0.27.2/source/internal/_includesWith.js": "0af347d206c2cef356e69de9363d182346662cda8f218fe8214d2b66dd8b47c3", + "https://deno.land/x/ramda@v0.27.2/source/internal/_indexOf.js": "a7d406d57b952f0d7232fd5a52c345ba744fb500caf799cf2b325001d243b2e0", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isArguments.js": "9d10b36c8ec8ebef19308a846cbb4742a72808da7739480b9487ca6374274ac5", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isArray.js": "6389121e11857e7db42afc5e6adb55c1d4ac84ea86abece78e0b73a04d6e5e02", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isArrayLike.js": "2fbbd1bd6dd5c31465ce87ba684b57ddf084506656ebc554d659bdb42799e017", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isFunction.js": "b0f712fbd329875c29d77cfa867f46a2f24c10a0fe6775d6729f71b413e718da", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isInteger.js": "1e0accc105f8ce4d91e9406bcf45369f3d314812dc5bad29362c0c36fae59db8", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isNumber.js": "43d300422b4da7fc0547e1f8190ae42c86dcd31693417126d12bbbaff87b7b35", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isObject.js": "e49a67e910ff51efac8d1267f1e813d0c7575a09578b5408c2ccc352752b701c", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isPlaceholder.js": "f0e59347c4077d5b524cf87afac7f12ff5bb6d05a0664046dcc21057f4451660", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isRegExp.js": "1ff80685a92e7c83f0b9d78c041ba5603de99a7f822b323cf3e6e307f7b8ef45", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isString.js": "defc6d87c06b2dea7f75bfab57ff7591804acda65594130cb8d3af7fe618e42d", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isTransformer.js": "f90ec4a0fb72c8d378f639d02457d71b9fe2260c7d155ce7065260d865b29b89", + "https://deno.land/x/ramda@v0.27.2/source/internal/_isTypedArray.js": "9d365262f7a253a3d31d930fc37e15049fb7f95079f206652ce0bea88294d350", + "https://deno.land/x/ramda@v0.27.2/source/internal/_makeFlat.js": "65f901bfa3f454e40fb312cb862048009f7f4fb152a50f2e58f50d08742bb765", + "https://deno.land/x/ramda@v0.27.2/source/internal/_map.js": "9ed8773d457a11630b1b60a05a5aa88f4eb697eae9b5fea4bd4ab0e9a2dcfa44", + "https://deno.land/x/ramda@v0.27.2/source/internal/_modify.js": "9997861456b9ecf9f6f5ed3a592b38fddc96570cc1817a55d803056ae43c304e", + "https://deno.land/x/ramda@v0.27.2/source/internal/_objectAssign.js": "e556262b1d354d3956d5ac9f723d9e5ae12f3d37799d8de0436b35b2cdbbaa59", + "https://deno.land/x/ramda@v0.27.2/source/internal/_objectIs.js": "96818c22093a4a6465c11760ee82538392bae907daf4c29ab9a0d8c814dfb4d0", + "https://deno.land/x/ramda@v0.27.2/source/internal/_of.js": "592f2a08ad5a73a9b621ef06877b7570c6ab5115d985b1dc9d0ffe7a0a8fcb90", + "https://deno.land/x/ramda@v0.27.2/source/internal/_pipe.js": "284c5c472cd46d456869500d97308db3fbc3d74885b145b5a1a4983255c94634", + "https://deno.land/x/ramda@v0.27.2/source/internal/_promap.js": "bb28d85b6ba984349c5154017802bf8754992f9c249e34d6c7ac1a9f2b93acc2", + "https://deno.land/x/ramda@v0.27.2/source/internal/_quote.js": "5fd76eec69c48e5f8ba4f186b98117ed1e24190e5e7a1c68c82e87caa3b31016", + "https://deno.land/x/ramda@v0.27.2/source/internal/_reduce.js": "dede31c8204bee0fbe39f064ba1c85db32997092c9bfe83c3d6d178673ffc93b", + "https://deno.land/x/ramda@v0.27.2/source/internal/_reduced.js": "3aa5d80b51130286d4d22cbf24a5e60d44d239c3ee7de037061e024069729cc1", + "https://deno.land/x/ramda@v0.27.2/source/internal/_stepCat.js": "65ad7151305023178da9675dead9da892e07b235aec45a36c1d81a8700efd50a", + "https://deno.land/x/ramda@v0.27.2/source/internal/_toISOString.js": "0602756738b1a543cf9383a9269b6b4d4198a64586d5b386258494fac454d7da", + "https://deno.land/x/ramda@v0.27.2/source/internal/_toString.js": "c91ae93e404d8a08b18d470399dc45b45e471572bd4b09e32ff634a40d6a6747", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xall.js": "c8743b2b5ce1dc914aaeed1fe6349c4a8cf558dcbcf76f629c46650a5b4864c2", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xany.js": "debe5d3652a056e84311379946abee746410d9ec6323f5571999cc3e58bec3ea", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xaperture.js": "865d4e92d080a8eb8a05e20ba04053d331ffbbab12e7794f1e550f598d5c3bc5", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xchain.js": "e50a7835149178afef59b354dbe256279fd29a31b0c1382c95013b622a64b42d", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xdrop.js": "d8c35c183ceea82b7743cb432ab1053a4350cd20918653ea46ea365a4aa96cd9", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xdropLast.js": "8ef50fcbd4b0ba885512ce7a6743d4f7fbb21a48a6827309b4a1483ce5188757", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xdropLastWhile.js": "e35a9d0c7eb9f994e947df5134117219e8ae73dda04d5fc498ccb39b01337ab6", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xdropRepeatsWith.js": "695f243d4f57cc93457a85b02fa4d4a868b26c539179c460d2ed482814f619da", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xdropWhile.js": "8c2d857a155cbbb85e1b8061bd51acf551ac79e58be5c6815d98c85c27b1a791", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xfBase.js": "4940a7f86cf2e06b3864588b68b8f8dc3f5626285a71725bc23ca45204b25ba8", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xfilter.js": "5bc0c0ecca3e2216bb8adf788e6b2d156b8c6e917f9210c0bf8cfc7a3173cf64", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xfind.js": "6a796c251023a9adf4da914480096604731565bd84a49034c18e2a720e182ccb", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xfindIndex.js": "d4475489b0589d0d0c0d0e2590306edfbb90c8f8d0cbaf9e0271538478b5e579", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xfindLast.js": "24ea8016cf355af01670392d2e919f6f265ef308ffbf80e8e065398e81b21ffb", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xfindLastIndex.js": "d41691d4b16327c51ed49f09998bec03caca38ba30c69377ff7158f3bb4c40ae", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xmap.js": "fee34673a9500dacda51bc2eef5655bccee9f870f003912d3d21c8ebffef6b40", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xpromap.js": "4f64cad6d84877b0367c9863c78e7165332fc3ec9daa4c1457fd76889ce5784c", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xreduceBy.js": "1b7f4e546d14ab4d9dfd31f25d8ddce5afe5046992e2ab777062ae7f271742fa", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xtake.js": "948587bd66412c9ee7c76b8c9a801b915792d8dbdbc40eb9e41e11e90a21e929", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xtakeWhile.js": "54592c64cb42aa0452d19d954cf257034e0aee8a8bd4c5df1b4338d797b85967", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xtap.js": "8869a093501e3802fc0708893e7e1978e5891c11ef4f6574cc3f2db488966bac", + "https://deno.land/x/ramda@v0.27.2/source/internal/_xwrap.js": "bd5c91087b37e811168370937a3d86e67c76791b0e15be624c992c7020c25e0a", + "https://deno.land/x/ramda@v0.27.2/source/intersection.js": "7b04e4d2cd4da37b5a65cdf740a8103ff4d52ef373fd089fe59165c219c426d6", + "https://deno.land/x/ramda@v0.27.2/source/intersperse.js": "2c903a93ddb28e53a7aace262c6f1c13afad92f668bbdbea520e5b766e851495", + "https://deno.land/x/ramda@v0.27.2/source/into.js": "1a6b854b89b9a6ceb2db23141797ac3e7438dac14aba0d9f7bddaba32f3bff24", + "https://deno.land/x/ramda@v0.27.2/source/invert.js": "b61941582db861f056d4858c2c28706f9d8dab8cfb18487c60790d053a2cfd13", + "https://deno.land/x/ramda@v0.27.2/source/invertObj.js": "17d5e30707e7f965a2240e2465b8c96aea00520a809f88cc827f6771ca4a2086", + "https://deno.land/x/ramda@v0.27.2/source/invoker.js": "d0c4617665108ea72f33b0beda247c4b14a5cd82bc60ba3d29e62cf49d0bb87a", + "https://deno.land/x/ramda@v0.27.2/source/is.js": "f924768de966fba2c4a7cc57de2d132b2ec15dfb2374eb3628ddad80b3be6588", + "https://deno.land/x/ramda@v0.27.2/source/isEmpty.js": "aefbcf318cc3d96fab03c8389130586d171cfcad727f3baccc1db701895eed5f", + "https://deno.land/x/ramda@v0.27.2/source/isNil.js": "8b2f125a75429b4176fc868359a00ed17b1d7fb2b16b4e02fa118bd4e7eb3305", + "https://deno.land/x/ramda@v0.27.2/source/join.js": "0e5cecc18dd748bc3df25e334bf4c71a32f150b8617a1d3a61a8398ae990f6ec", + "https://deno.land/x/ramda@v0.27.2/source/juxt.js": "d4a033b7ceaeefdb40f5ee89ca63ab06d9c920fb20ae41305aaa3fe604083857", + "https://deno.land/x/ramda@v0.27.2/source/keys.js": "86743eb43e3971c1faeb06bd89dcc475033c65f37ee4738737658904781c3393", + "https://deno.land/x/ramda@v0.27.2/source/keysIn.js": "3edb33ccadc4e657facd03e3024c40fe450777c7efbaa169c8a12f1134a40964", + "https://deno.land/x/ramda@v0.27.2/source/last.js": "00bfbc444c72db87adf81c5d32526fc159e0289addf23838bf8acd76a1ae2e54", + "https://deno.land/x/ramda@v0.27.2/source/lastIndexOf.js": "ede20d310e986df5fe7a60cfb26c92920da2e9e8b87f0b83f0f1bf7ea34bc552", + "https://deno.land/x/ramda@v0.27.2/source/length.js": "a5a94623b9aeb2fb5cd2b07fb747160b065d7b5d13579a5e19cb2bf71e91c2cd", + "https://deno.land/x/ramda@v0.27.2/source/lens.js": "000fecf9849fb2fe44e0d53f6658adb64fadfccaa51268341505fb9fdfeb49ef", + "https://deno.land/x/ramda@v0.27.2/source/lensIndex.js": "4d730d854eed30e3f85f1e86bcd2903cd5cc4feb729bfcf20fe3540a9548820b", + "https://deno.land/x/ramda@v0.27.2/source/lensPath.js": "cf78dc1749a2f0e1bf39e3efb204742c0dee9938b8ad6ad11b00fac89408b255", + "https://deno.land/x/ramda@v0.27.2/source/lensProp.js": "91acd07b1fced8fe0d0627a402f17b81d0f5eb9be1528b50e0da89c618853b43", + "https://deno.land/x/ramda@v0.27.2/source/lift.js": "ce2263e5551f42fde8e84996c385b9db275ad0935fc8c907f0fc21c9f3e773eb", + "https://deno.land/x/ramda@v0.27.2/source/liftN.js": "f3bfeda33c2b76683bb80475dc99c33b139487806df613845e53e64355f9c008", + "https://deno.land/x/ramda@v0.27.2/source/lt.js": "6b5600629463c5f2b85a0cc55c4f9f15f223820fbc348aae51ff26042528a9d9", + "https://deno.land/x/ramda@v0.27.2/source/lte.js": "2ce6a61f62ba0987cfea61485de4ba9bb9fbe6f200d221654245980db5c968b0", + "https://deno.land/x/ramda@v0.27.2/source/map.js": "c4a8a02e30f2d24fcca8ee04f1dcea0a2e585d9265817b4c59f14aaa4c9ef48e", + "https://deno.land/x/ramda@v0.27.2/source/mapAccum.js": "4d43db0b02a53e5740642299ac15c0f1ca8b8bacefa94bd5bd7afb2ac175efa6", + "https://deno.land/x/ramda@v0.27.2/source/mapAccumRight.js": "836425269deb9d6e683e0da76d70ee7fe20b87f8ecc6feede8a7bb89bae7e8cf", + "https://deno.land/x/ramda@v0.27.2/source/mapObjIndexed.js": "46e60dc5089394735448ca8233b8237eb2afa46f23d27faee9e724af40230887", + "https://deno.land/x/ramda@v0.27.2/source/match.js": "017770587572908a98d6c89c2587972f043fb8802e443cc5632baf517a530c24", + "https://deno.land/x/ramda@v0.27.2/source/mathMod.js": "2fd281416b9bb73a89bf1f85d9b5310520798c4472a1e5496d1077232e331bfc", + "https://deno.land/x/ramda@v0.27.2/source/max.js": "59795e4fa0944cabcb87a8e22491e0fe8465bb246e1d1a881bc66bf90e92b16d", + "https://deno.land/x/ramda@v0.27.2/source/maxBy.js": "39ff93da0ee1b25c808d147595742f7569f69edfce1bfcd818ef1eb4fd6df141", + "https://deno.land/x/ramda@v0.27.2/source/mean.js": "a62cf4f665061ebcd42c5987ed14bbf2af1debfb1cc460b2023ee19a6684933c", + "https://deno.land/x/ramda@v0.27.2/source/median.js": "8a6f6f22319da6e6d57f09e1b5c2f0744b3087142d7af1b780461f2f2be1ef09", + "https://deno.land/x/ramda@v0.27.2/source/memoizeWith.js": "d2cf79f2549aaf4b716de6499f340dec875de5fdc7eb75a44758461673fb3473", + "https://deno.land/x/ramda@v0.27.2/source/mergeAll.js": "a93dd81e1c33d4f88eee785cdeb200d1979bcc8d19ddd4c040bd4e06ddee06db", + "https://deno.land/x/ramda@v0.27.2/source/mergeDeepLeft.js": "7982504228581281dc896a3f484529bd10441ed9090bbd71d7836d84150d0ef7", + "https://deno.land/x/ramda@v0.27.2/source/mergeDeepRight.js": "d303ee731034f4c7a16fb7da0b9c2ffd27f4cc8a80a57ecdf1e865a2b8b60044", + "https://deno.land/x/ramda@v0.27.2/source/mergeDeepWith.js": "9e215ef9f6256855d6fc17a3926db36af51da8c74891f5574f93b9f03562f063", + "https://deno.land/x/ramda@v0.27.2/source/mergeDeepWithKey.js": "0586221974798b20016471605a90b30bf614d544a2723cc23d0ec7a1165dffc1", + "https://deno.land/x/ramda@v0.27.2/source/mergeLeft.js": "7ebe8becc6ada9b378f7cd450e1fc60025a5714770ec3b3df66e76a5a90435b1", + "https://deno.land/x/ramda@v0.27.2/source/mergeRight.js": "23e7c273b0bd531bb37a9f993e167e097e848046dac2b515ee452993fe3974a9", + "https://deno.land/x/ramda@v0.27.2/source/mergeWith.js": "56bea0749e4901db63bb6e88cc9082eb9d527618f20e0e1323673b02aac7f9e1", + "https://deno.land/x/ramda@v0.27.2/source/mergeWithKey.js": "d8ffbcfa7f443971282f8ca259ee90d447b36ee28c5f16b0a8920c6065f64447", + "https://deno.land/x/ramda@v0.27.2/source/min.js": "69c4d07378fb2323b1a8c90eb2566db9fcd6329efda21febd8f62beca476a8d5", + "https://deno.land/x/ramda@v0.27.2/source/minBy.js": "241cde2c0f99abe6b8fbf1420a0b36496de9be0ddec19502ddd7dffd22743d47", + "https://deno.land/x/ramda@v0.27.2/source/modify.js": "b1ceec42bc8b438d2eebd13d13766dca038b601a72155f1151ea595c47024a91", + "https://deno.land/x/ramda@v0.27.2/source/modifyPath.js": "eed5c0d3d49ef17c801f5bc4e07f3ea380b0cc0561df2111d768cd5838ddcb69", + "https://deno.land/x/ramda@v0.27.2/source/modulo.js": "a3f2befd3799560b33f6f7b3d810245a14fb5915d1a4aeee50ac9edb39f1af85", + "https://deno.land/x/ramda@v0.27.2/source/move.js": "54d9a68bf4465c0dac42f21111b4d927c90ccab86ce02b69607eea8157aab679", + "https://deno.land/x/ramda@v0.27.2/source/multiply.js": "2f0a8a704f06e6db7501f22bb57e02e8fae81fa48a1f7831660f22d1a9099aab", + "https://deno.land/x/ramda@v0.27.2/source/nAry.js": "8010b4e7df19cf6296671038ce675cb6ba1d685972f3fc709e3bb4ac3814acd5", + "https://deno.land/x/ramda@v0.27.2/source/negate.js": "88f6d95122a6fb1c52a8d55100abe8c28d83d5760e5c11988374aa2ba07a7e66", + "https://deno.land/x/ramda@v0.27.2/source/none.js": "6de510fc7f05077009a8b5b429d71d434bd57fd49ea8cfeab71f8c1b134e7d76", + "https://deno.land/x/ramda@v0.27.2/source/not.js": "e585c5327ebd9d1641ade1ee13f4889e97ab1987727a17ec8e9368964c3dfa76", + "https://deno.land/x/ramda@v0.27.2/source/nth.js": "53d6932e224a92a49b4a7d20d310995168961286f466c6821d18962f46122978", + "https://deno.land/x/ramda@v0.27.2/source/nthArg.js": "66fd703e925c7808f3f1a73b46d4dbdf7fc74511a7dfc31aee4b5a82764b6fac", + "https://deno.land/x/ramda@v0.27.2/source/o.js": "57abdf9853832d865288dd8625442a316600f36e2e047f767f5c22a8d434c389", + "https://deno.land/x/ramda@v0.27.2/source/objOf.js": "7f760ec1e38e7012551cbfd9e0f4ca68a19bb491daa8d54be9444a5f0bf68c34", + "https://deno.land/x/ramda@v0.27.2/source/of.js": "ea1421763926f248eee2e50f0cad19c1523dff0b34905243fcc8a8578f6c4582", + "https://deno.land/x/ramda@v0.27.2/source/omit.js": "03e6b388a3191d323ad8af97c1ec66b76335d1fc8b3969e6277d7e1ef48c5424", + "https://deno.land/x/ramda@v0.27.2/source/on.js": "b76d5eef062178a08b58aa78bec4d653b23e861f76acc7ec4a0c66d34dbbc57c", + "https://deno.land/x/ramda@v0.27.2/source/once.js": "39d44ab2951729d186a290aa1cdaedc4e8413c5075cbd7d83a219ee2ceb37e6d", + "https://deno.land/x/ramda@v0.27.2/source/or.js": "44290c4fd7a60d0ab4078ff6ebfb3494a7ec765a7f876d4e0d3ae2d101ba3761", + "https://deno.land/x/ramda@v0.27.2/source/otherwise.js": "1684ddecaf92ccca4e81a1185fb9a03145590bc3b412755daecd584450b8b98d", + "https://deno.land/x/ramda@v0.27.2/source/over.js": "1bafb3f3adb80e842e3f85fbc9cec7d1ff45d74a521155ff874513e5ea656272", + "https://deno.land/x/ramda@v0.27.2/source/pair.js": "a7a08517da7b9dbc795961b5fc61c841f3448357816f92d1c92f4b82b87c3e56", + "https://deno.land/x/ramda@v0.27.2/source/partial.js": "46a8e589c5c13e04548d0d608eae3e98536faa7a07cd21a85ad5bc4422d1ecb6", + "https://deno.land/x/ramda@v0.27.2/source/partialObject.js": "888560badc3265a1f2a565679e384cd328fa67cd1f8593b327ea1e997685d6c2", + "https://deno.land/x/ramda@v0.27.2/source/partialRight.js": "1f648463a8ea8bde88e2ba514db697c89f3d89797476df9d9d33c09416d5ee3e", + "https://deno.land/x/ramda@v0.27.2/source/partition.js": "ce7bf928d78471bb2ab5a3cc4e8bba94fd2dc7eef4190f02ac006b7dd1f94483", + "https://deno.land/x/ramda@v0.27.2/source/path.js": "6e0f6fbfd48310ae97e8b7db1dc10f667792e00b472e918d48299b62c6bdc181", + "https://deno.land/x/ramda@v0.27.2/source/pathEq.js": "210d42b3d630ee51ea8bf05cad1394c7bda25b8d84e3e8f1d745f7bb6580e9dd", + "https://deno.land/x/ramda@v0.27.2/source/pathOr.js": "5393e6f1ce78d2d25fa40ecb31556299b3b204235f922fb10fa5bce3849d7c70", + "https://deno.land/x/ramda@v0.27.2/source/pathSatisfies.js": "31ae1d1bb8d296ccdef738ffcb78931a522aab9d326e7352f74b9c49ce75a162", + "https://deno.land/x/ramda@v0.27.2/source/paths.js": "10e5e2efea2f6846d9599a733765142233c8462dc840f75bdfa49a79850ce93a", + "https://deno.land/x/ramda@v0.27.2/source/pick.js": "ff81a353b32587e28436e620a01babdb98efd8a299b8f6a8df6ac25ce1b94832", + "https://deno.land/x/ramda@v0.27.2/source/pickAll.js": "ca62395b63fd42c0ef68613f49838eaa2bb0ea1ead3cc31e814aab3ee578c8bc", + "https://deno.land/x/ramda@v0.27.2/source/pickBy.js": "276d46c2b30bb150815d8216aa4d4f7b13064c85d2f94f08acaf3d7d819b879a", + "https://deno.land/x/ramda@v0.27.2/source/pipe.js": "ec4af7b8717bab5ffbd64214f307e2e1a5588422c7aa135f07ab889f5b5b3c4c", + "https://deno.land/x/ramda@v0.27.2/source/pipeWith.js": "d29c2efcd05dff0fcd7d063b6765b33c23a00ac111277d57b6c71c7ce9995783", + "https://deno.land/x/ramda@v0.27.2/source/pluck.js": "236c11ce90670c59b40c8282da26488700ce9526752e567019c3f91649efc62d", + "https://deno.land/x/ramda@v0.27.2/source/prepend.js": "8e1817d3905234e1d8beab695d1a887c58d533f9872409022d59e4668c518ca6", + "https://deno.land/x/ramda@v0.27.2/source/product.js": "00a1029c71c3d74687189cb0f230c1b11e6148550cdb7a43f921b70eebefd8e2", + "https://deno.land/x/ramda@v0.27.2/source/project.js": "95e3607631966e481137241ab3d5ce28ecf7c356180f1f0c64e3e17f7e7b5144", + "https://deno.land/x/ramda@v0.27.2/source/promap.js": "5169a3c1c4bc18bfee15843937a2044820f0f5ccb0b756f9dab38b82bdd64fb2", + "https://deno.land/x/ramda@v0.27.2/source/prop.js": "60fadfc312383bf90b89bf030c491c2f9990f7c36195c77ce9d129cd03ad379e", + "https://deno.land/x/ramda@v0.27.2/source/propEq.js": "e2cb2122ea211c4864aa9e636b8b9bdde35c1cc75299609bc5ef55d04d2b139b", + "https://deno.land/x/ramda@v0.27.2/source/propIs.js": "6c352c6598300cdc3cb25d05e3b4811ea5408b83121b7457c846e11c60355da5", + "https://deno.land/x/ramda@v0.27.2/source/propOr.js": "ab65492b7f11b10016375839f0de80817db82f00f88913c4c958d71a67e25c44", + "https://deno.land/x/ramda@v0.27.2/source/propSatisfies.js": "7964b6c9bb6372c6c46c2f7ca7ecb2766aa8f6506a0852e21f0856b057b0792f", + "https://deno.land/x/ramda@v0.27.2/source/props.js": "e1472fc2129790daf2d8926fcf276d06e5d8d399e9ac2ecdb0ab9c0b8626451d", + "https://deno.land/x/ramda@v0.27.2/source/range.js": "a5474da8ed452f871e284152fadab940d7818a0094fab8240c6c6a1ab3aaba11", + "https://deno.land/x/ramda@v0.27.2/source/reduce.js": "d9061c7d234998782c985b95ea8949cdb245b70663d2a934a8a8de0d4de9c05d", + "https://deno.land/x/ramda@v0.27.2/source/reduceBy.js": "2d02bc459e682b552e6b79b00b35e4ddeadb71468e6c8be6dffbd55465e5db9e", + "https://deno.land/x/ramda@v0.27.2/source/reduceRight.js": "a304e786dd69bd64d6100d8b4cb5a9b462b9b6da2e6cdb132fe624bd26985470", + "https://deno.land/x/ramda@v0.27.2/source/reduceWhile.js": "8f1502a371a2329443ab545d302ac125a0bac5154575d84bd87bb783a9a4e916", + "https://deno.land/x/ramda@v0.27.2/source/reduced.js": "dc58f955c3cfa8bb49db99331cca4bbaf593b2ff93e1a65c367b48fea02369b8", + "https://deno.land/x/ramda@v0.27.2/source/reject.js": "9d60a4d7faec58937801a88901aae4ff36e4363066b885c113cfa2872bfc7d83", + "https://deno.land/x/ramda@v0.27.2/source/remove.js": "41fd2e37f5cbd89d5a03ebd74a302f5eed6fe65f7e62e096940c9f312230a205", + "https://deno.land/x/ramda@v0.27.2/source/repeat.js": "ca9ee93b0bf120ddcadc6392658899ea04ae3c53603f5440529f6be23051ecb9", + "https://deno.land/x/ramda@v0.27.2/source/replace.js": "bf2a3c64fb797528ac7038c358eb2a4abd899c9e9fc5ccac5c9974d33f1ed828", + "https://deno.land/x/ramda@v0.27.2/source/reverse.js": "8e7eedc3a061105f9eb3d049e6eb439ddecff3c68c396ec74b95067b57c11f41", + "https://deno.land/x/ramda@v0.27.2/source/scan.js": "efff8bc96cda4d073cd515cf2f6b8997128ee3623dfbf068fe82399335724467", + "https://deno.land/x/ramda@v0.27.2/source/sequence.js": "a4589d32bf479e32f8ae724704cd7f2da30e1cf40761812b74b51be56603755d", + "https://deno.land/x/ramda@v0.27.2/source/set.js": "1529e3b9939e47d4c472d9109919eb69023902c4a7f512a9867dd8ceb63bce5b", + "https://deno.land/x/ramda@v0.27.2/source/slice.js": "6338a85bc03108cefb047b8da4560560d32452c15806cb4b9346e854422c2c5c", + "https://deno.land/x/ramda@v0.27.2/source/sort.js": "5da481cae31593cd22132484dd8abe9cb2c13497cdc165138553b2d05290381f", + "https://deno.land/x/ramda@v0.27.2/source/sortBy.js": "f9b1bc79cf1e58719e958e7e9cabced4b07efc3746dd8dace2bc1b13ac8d844a", + "https://deno.land/x/ramda@v0.27.2/source/sortWith.js": "9b9a2b929c9ee1527ebd396018424029856eb522f6b631a409ca79ad151b1214", + "https://deno.land/x/ramda@v0.27.2/source/split.js": "1c1451902866598c519c83b5d25c7984baa27cc0982221a06bb4eab3699a6c05", + "https://deno.land/x/ramda@v0.27.2/source/splitAt.js": "dee211568c602898afbb49f8fff137b74e552bd46822061fbffcabac703ef93d", + "https://deno.land/x/ramda@v0.27.2/source/splitEvery.js": "8d2df436be887b249ffc2d0f8eaf484a3119a0a3c250470b9fd3228bc549e41f", + "https://deno.land/x/ramda@v0.27.2/source/splitWhen.js": "c8f1f962b74ac56c3613a5b3891a6ca241b16531013540d646315defc68109a7", + "https://deno.land/x/ramda@v0.27.2/source/splitWhenever.js": "914fe5786f583a3bc4ebdd0ab940716fc9c517c6de6597267cf1ddf0f0fcb04a", + "https://deno.land/x/ramda@v0.27.2/source/startsWith.js": "3fcd61621913c4f0ad130d99bda3c114abfa90cf2b14c994997e69ad689a745c", + "https://deno.land/x/ramda@v0.27.2/source/subtract.js": "e4436de0605efcdd800068fb41a52768cd0105455debabb12ac57f369c7edafb", + "https://deno.land/x/ramda@v0.27.2/source/sum.js": "a924a281f0ae40164350080d77218a61d5f2e23a0915717897ea9da548741d5c", + "https://deno.land/x/ramda@v0.27.2/source/symmetricDifference.js": "b38e06671a7c7cbe31f820d6baa81a7e9488feadb76761e9f40a4db5aa898868", + "https://deno.land/x/ramda@v0.27.2/source/symmetricDifferenceWith.js": "24ee2e88d2ae27d32aff7534d69df43e84577aba29423a374d105cb1d915b1a9", + "https://deno.land/x/ramda@v0.27.2/source/tail.js": "8b3056fee001bf8bf025cb9b1f656d7e51b3319616551692826716988d446c62", + "https://deno.land/x/ramda@v0.27.2/source/take.js": "7d63665c2b4ca089898fb32e157380eb7f7fae64292d3e476cdda44017aae0d9", + "https://deno.land/x/ramda@v0.27.2/source/takeLast.js": "07eebe91969563cb4a0ba615fe896b19b5437b0509f292f1eadbae5aa271e902", + "https://deno.land/x/ramda@v0.27.2/source/takeLastWhile.js": "9855485f2e41fad8fcbaee5da05e2861b384e460873854065eab0d4b1af32873", + "https://deno.land/x/ramda@v0.27.2/source/takeWhile.js": "6fbe52b711e4f529f6ef1fed47b0f955b104c5b8574af25388767fde22daded3", + "https://deno.land/x/ramda@v0.27.2/source/tap.js": "711d7e7b0b988c0fb1056bb28546442216a2112c6cead7e72f2e676dc2a02496", + "https://deno.land/x/ramda@v0.27.2/source/test.js": "e275f3b1eab7a0094c61dd7a6d5722d45c868407957a4cf6ff082103672c19ac", + "https://deno.land/x/ramda@v0.27.2/source/thunkify.js": "3d85481b52007df192b2e2add0c24e0ec7a2e0c19fe97d179f9c9d3c1dce6559", + "https://deno.land/x/ramda@v0.27.2/source/times.js": "04698c26c3c5c5ae075001976dc4f9bc79b31f0d9e074c125d1033f79c4e9ed9", + "https://deno.land/x/ramda@v0.27.2/source/toLower.js": "856c9897da372c53a9ea9bb62554a95723c038cb0acb6565ab5e759c64f2afa0", + "https://deno.land/x/ramda@v0.27.2/source/toPairs.js": "bc31cbf69bcdebe53746b870766fd9e44e642f588cb42292647d8ba8f28eac23", + "https://deno.land/x/ramda@v0.27.2/source/toPairsIn.js": "68ea5f619efba23d2ba14618f52a753d8e48b08d7c21a0e14409509a62fab7ac", + "https://deno.land/x/ramda@v0.27.2/source/toString.js": "6e05e4f41a92533031cf3d414f4f548a0ce7a2ca846d4b1588efe0e246fa597c", + "https://deno.land/x/ramda@v0.27.2/source/toUpper.js": "a6144b426d9b3f26d96f8d1e35fa9e69a0811797ee9c321bfc87ebb11dc672a5", + "https://deno.land/x/ramda@v0.27.2/source/transduce.js": "5ac0c4fdc079ccc0aa9322f6d42a6d3e2ea6e68379cf2b6b2921e654b3b957d5", + "https://deno.land/x/ramda@v0.27.2/source/transpose.js": "e5f35926cc5dad4eb16232604586121d5fe5f074695c0348b1caa4eff2a232eb", + "https://deno.land/x/ramda@v0.27.2/source/traverse.js": "130de5570a1d9884e1c9055b0b49c954b0ed50861b984b02147ecc86ee91843d", + "https://deno.land/x/ramda@v0.27.2/source/trim.js": "e3c4f90371a4d306ee851b0b7eeaf60ac3f89473361b26e4185cf182f7b440c2", + "https://deno.land/x/ramda@v0.27.2/source/tryCatch.js": "1e5fa41939c58c4fbaaff873d08dc5ceedb8d3783791b451a498c695131a5723", + "https://deno.land/x/ramda@v0.27.2/source/type.js": "21080ce17378149b100374d4e4066b8ad62795f5cd8cd14f51304b24750ed06c", + "https://deno.land/x/ramda@v0.27.2/source/unapply.js": "7712b047039a8dbb54c8e2d941868a4cad0cd5b8d740f9d0f57a400c4f7f6020", + "https://deno.land/x/ramda@v0.27.2/source/unary.js": "8bdf32559274bccf5b71fa9eda955d584bcf452ef11c22819c724827766f7a4b", + "https://deno.land/x/ramda@v0.27.2/source/uncurryN.js": "2d801d194ce5ee77474e3c1d9bc20015a9b0e2268e340d090c8ae983111d80b9", + "https://deno.land/x/ramda@v0.27.2/source/unfold.js": "8a6aa35bf3634acd7b1483f492e40bcdf4144aee371b04e21988d80c51ea1806", + "https://deno.land/x/ramda@v0.27.2/source/union.js": "6ccc1a0367cd64b6383a1ff70710abc4994a930fb35d79adbba86ba62ab2da2f", + "https://deno.land/x/ramda@v0.27.2/source/unionWith.js": "91ffe1040d3b745e395f67a09d9754512a3b17df60eb0ebcffa440901ef38d2f", + "https://deno.land/x/ramda@v0.27.2/source/uniq.js": "96389b95fd864d7c0a2b6298bce1fc57f1f794a3439f7f288303b582ace5ef20", + "https://deno.land/x/ramda@v0.27.2/source/uniqBy.js": "6059b02c9b4eee0fbdcdb0517ac5e463c51395345ee13a7cfa33f89dab5bdc42", + "https://deno.land/x/ramda@v0.27.2/source/uniqWith.js": "c2990360b02d9ae5dee4d87645444615df1ab08b469c2fa154657406edbe9d58", + "https://deno.land/x/ramda@v0.27.2/source/unless.js": "850b9d5be2bf30beafcb4e527b2b9807782cef2eef603b2de79d78c90f93f004", + "https://deno.land/x/ramda@v0.27.2/source/unnest.js": "3344cca4f2659488bda492a3d4c24a88a213cc26cd0326a57c5f9fd82de87d24", + "https://deno.land/x/ramda@v0.27.2/source/until.js": "75405845374a431dd724ec27fcb83daeaa1eb286e31fd6d452991b398e7ea98c", + "https://deno.land/x/ramda@v0.27.2/source/update.js": "d6103807ab8b29871ede6d8263916a3aa67ed2c77dd3769e8f181b0913c908b6", + "https://deno.land/x/ramda@v0.27.2/source/useWith.js": "79f096300ab6f18859c5cd1d7428f47c012ff878be1eef3dc8b65d2b80d02a35", + "https://deno.land/x/ramda@v0.27.2/source/values.js": "b8b65a949541fd40dab4fd27989e31aa389712f243d5f9e52b9db7c9411e6aac", + "https://deno.land/x/ramda@v0.27.2/source/valuesIn.js": "d89b5ef0a181ec77320e854c9bfb45ab42dd56a8bf38a5353f2e645ed7b8e4d8", + "https://deno.land/x/ramda@v0.27.2/source/view.js": "f9d46719c726def19c0decec8d993544bc238cdc75908a5333502e5af22861cb", + "https://deno.land/x/ramda@v0.27.2/source/when.js": "583b46d6b5cd606caf8b6245423efa451294dff030c104db86c48c2024a2d26f", + "https://deno.land/x/ramda@v0.27.2/source/where.js": "8bb8b7ce295bc07bdd5dab752876d6f00b40c8d62491320563e0561ddfde1ea4", + "https://deno.land/x/ramda@v0.27.2/source/whereAny.js": "f7551df5fab9b5e277251d9cd67655d2de3d58582dc7229f2a9b3102e28c990d", + "https://deno.land/x/ramda@v0.27.2/source/whereEq.js": "3756da145b2b7cc93bbf49f1b6c7c358154ba7565baff9eb4e486e4207f1c31b", + "https://deno.land/x/ramda@v0.27.2/source/without.js": "db7b970efaeec230d056ed0ae25f9eca500fb5858efd4e61c2f695c8fdac4c08", + "https://deno.land/x/ramda@v0.27.2/source/xor.js": "7799612731265355fc3a9b407b12628e4426bc9b70b6b874e6106ba61a66f71d", + "https://deno.land/x/ramda@v0.27.2/source/xprod.js": "ecac5f7263ddad3484c6802097a6d0957b6107ce8e52eea0f27a04be50a16833", + "https://deno.land/x/ramda@v0.27.2/source/zip.js": "29a04e7dd0a012e391fc595900b4cb0124a13c738f4e6f4489c7173b4a6642dc", + "https://deno.land/x/ramda@v0.27.2/source/zipObj.js": "c463fe415ecf647561a12ed9dd3444a0be4dd642e787e156fe8caf7fee0ce4ca", + "https://deno.land/x/ramda@v0.27.2/source/zipWith.js": "2081388ae101a01f60589f0a74b7a8e75fdc7a6416c224673f197633750041ec", "https://deno.land/x/spinners@v1.1.2/mod.ts": "ed5b3562d4ea6c6887bc7e9844612b08a3bc3a3678ca77cc7dfdf461c362751e", "https://deno.land/x/spinners@v1.1.2/spinner-types.ts": "c67e6962a0c738aa57b4d3ad9fe06c8c0131f93360acbf95456f2ba200fd8826", "https://deno.land/x/spinners@v1.1.2/terminal-spinner.ts": "1cf0c38a423781734e2e538323c1992027830d741e90f0b81f532e5bc993d035", diff --git a/deps.ts b/deps.ts index bdd16e1..a129792 100644 --- a/deps.ts +++ b/deps.ts @@ -12,6 +12,11 @@ export { decompress } from "https://deno.land/x/zip@v1.2.5/mod.ts"; export { existsSync } from "https://deno.land/std@0.203.0/fs/exists.ts"; export { load } from "https://deno.land/std@0.205.0/dotenv/mod.ts"; export { Secret } from "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/secret.ts"; +export { + prompt, + Input, + Confirm, +} from "https://deno.land/x/cliffy@v1.0.0-rc.3/prompt/mod.ts"; import dir from "https://deno.land/x/dir@1.5.2/mod.ts"; export { dir }; export { walkSync, walk } from "https://deno.land/std@0.210.0/fs/walk.ts"; @@ -27,3 +32,7 @@ export { import introspect from "https://cdn.jsdelivr.net/gh/fluentci-io/daggerverse@main/deno-sdk/sdk/src/mod/introspect.ts"; export { introspect }; export { wait } from "https://deno.land/x/wait@0.1.13/mod.ts"; +import * as R from "https://deno.land/x/ramda@v0.27.2/mod.ts"; +export { R }; +import * as _ from "https://cdn.skypack.dev/lodash"; +export { _ }; diff --git a/src/cmd/init.ts b/src/cmd/init.ts index 4621078..b71c8bb 100644 --- a/src/cmd/init.ts +++ b/src/cmd/init.ts @@ -1,4 +1,12 @@ -import { decompress } from "../../deps.ts"; +import { + decompress, + prompt, + Input, + brightGreen, + Confirm, + R, + _, +} from "../../deps.ts"; import { TerminalSpinner, SpinnerTypes, @@ -19,7 +27,8 @@ async function init( { template, standalone }: { template?: string; standalone?: boolean }, _name?: string ) { - template = template || "base"; + const infos = await promptPackageDetails(standalone); + template = template || "base_pipeline"; let result = await fetch(`${BASE_URL}/pipeline/${template}`); let data = await result.json(); @@ -28,6 +37,11 @@ async function init( if ( await downloadTemplateFromRegistry(template, data.version, standalone) ) { + if (standalone === true) { + await overrideDaggerJson(infos, "."); + return; + } + await overrideDaggerJson(infos, ".fluentci"); return; } } @@ -41,6 +55,11 @@ async function init( if (data.github_url) { await downloadTemplateFromGithub(data, template, standalone); + if (standalone === true) { + await overrideDaggerJson(infos, "."); + return; + } + await overrideDaggerJson(infos, ".fluentci"); return; } @@ -191,4 +210,105 @@ async function downloadTemplateFromRegistry( return false; } +async function promptPackageDetails(standalone?: boolean) { + console.log(`šŸ‘‹ Welcome to ${brightGreen("Fluent CI")}!\n`); + console.log(`This utility will walk you through creating a new pipeline.`); + console.log( + `It only covers the most common items, and tries to guess sensible defaults.\n` + ); + console.log( + `Use ${brightGreen( + "`fluentci run `" + )} to run a published pipeline, or ${brightGreen( + "`fluentci publish`" + )} to publish one.\n` + ); + console.log(`See ${brightGreen("`fluentci help`")} for more information.\n`); + console.log(`Press ${brightGreen("CTRL+C")} at any time to quit.\n`); + const infos = await prompt([ + { + name: "name", + message: "package name", + type: Input, + default: Deno.cwd().split("/").pop(), + }, + { + name: "version", + message: "version", + type: Input, + default: "v0.1.0", + }, + { + name: "description", + message: "description", + type: Input, + }, + { + name: "keywords", + message: "keywords", + type: Input, + }, + { + name: "author", + message: "author", + type: Input, + }, + { + name: "license", + message: "license", + type: Input, + default: "MIT", + }, + ]); + + console.log( + `\nāœØ About to create a new${ + standalone ? " reusable " : " " + }pipeline in ${brightGreen(Deno.cwd())}\n` + ); + + console.log("šŸ“¦ Package details:\n"); + const meta = { + ...infos, + keywords: infos.keywords?.split(",").map((keyword) => keyword.trim()), + }; + if (R.equals(meta.keywords, [""])) { + delete meta.keywords; + } + console.log(meta); + + const { confirm } = await prompt([ + { + name: "confirm", + message: "Is this OK? (yes)", + type: Confirm, + }, + ]); + + if (!confirm) { + console.log("Aborting"); + Deno.exit(1); + } + + return meta; +} + +async function overrideDaggerJson(infos: Record, path = ".") { + const dagger = await Deno.readFile(`${path}/dagger.json`); + // deno-lint-ignore no-explicit-any + const daggerJson: Record = JSON.parse( + new TextDecoder().decode(dagger) + ); + for (const key of Object.keys(infos)) { + daggerJson[key] = _.get(infos, key); + } + await Deno.writeFile( + `${path}/dagger.json`, + new TextEncoder().encode(JSON.stringify(daggerJson, null, 2)) + ); + + if (R.equals(path, ".fluentci")) { + await Deno.copyFile(".fluentci/dagger.json", "dagger.json"); + } +} export default init; diff --git a/src/validate.ts b/src/validate.ts index b2094df..b0f8d13 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -7,10 +7,15 @@ const DaggerSchema = z.object({ include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional(), dependencies: z.array(z.string()).optional(), - version: z.string(), + version: z + .string() + .regex( + /^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-(alpha|beta)\.([1-9]\d*|0))?$/ + ), description: z.string(), keywords: z.array(z.string()).optional(), license: z.string().optional(), + author: z.string().optional(), }); export const validatePackage = (entries: string[]) => {