{"_id":"@irim/cli-base","_rev":"34-ee5dbe6dc1ed7071332bd3881fd42674","name":"@irim/cli-base","dist-tags":{"latest":"1.2.0","beta":"1.2.0-beta.3"},"versions":{"1.0.0":{"name":"@irim/cli-base","version":"1.0.0","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git@git.code.tencent.com:berry/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"Pluto","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","commander":"^6.0.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.0.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.11.1","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@commitlint/cli":"~9.1.2","@commitlint/config-conventional":"~9.1.2","@types/fs-extra":"^9.0.1","@types/inquirer":"^7.3.0","@types/jest":"^26.0.10","@types/node":"^14.0.27","@typescript-eslint/eslint-plugin":"~3.9.0","@typescript-eslint/parser":"~3.9.0","eslint":"~7.7.0","husky":"~4.2.5","jest":"^26.4.0","typescript":"^3.9.7"},"peerDependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"b30da892ba2f43eadbe271b26363b2696d5f097f","_id":"@irim/cli-base@1.0.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ax1/mZVWSWfTaO9GxVj9RLvF4/jI3tGbrxaHTka8Jw634eoSNmX8m4DyjgpHhTjA8ARhWwItthnQrV3pdGwhJA==","shasum":"965aae08edbbd231b87ad83f45393c9cb0e0447d","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.0.0.tgz","fileCount":50,"unpackedSize":57692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOphiCRA9TVsSAnZWagAAbPAQAKKV+vt6SKTv1SMHjmq4\nge8lPzY5OdN/thX2e33Db06gZV2k4WIlh8LDt6FLoRqGPpvBny3NmAcdte/B\nsWMxBjyTx5F2St55X+0RPVOnNZlogyHu50vL+AtY+EqyDlOD/XGOmHmQS7N9\neKwOsseJgSiA/rMiid6+UGPXH+9GE9hoyimS4jhm01ubMRCokDRtNhVIZtli\nFAD5Jd1vQBJyIF70FjgcvnnmTksIjAxkMRP0JJmGzKOYIOBOxOb/s27NhYpX\nrHKcLrYXGWzIB0yo1AizZul/G7hxw6MKPWTN6YQJIMQgincwTJRNO7HSF1/P\nfXZ81odAfeBnwx5vcd8A0+ty9FNYew99bUjgfuqb4kKyg1SmII7ENyx3rksW\nx2Z8bVc3sNpSIbeGnshnfzjWEj7nBJ8sH5+KOg/+5KTCzM3V68rQ66GZFMCd\nBT5P1nQPlKs6ADPTeZH/mPNrCl/VwKtp7L1yT0kgvjPCwQdNLxZWnbEfgX+/\nXu6M46jgH6jVmU1+t7IPW3ne0Az8JURDu81/7pkpbIIrICXjRL1tCnqMWn9j\ngrgbr3MQ6Uz8ZEy3IjFY2Qtkdq8fqiXrtRU9wIVCEUEY4FYCfpwZyMFGXI0H\nNkAaQLwatT/1jLgvsqk0SQon1FAFrec1WgtTGf3aFdoekasKeYYSqHFyQlfq\nnUX2\r\n=huNg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFzEl6aUo/q94Rnr5nXzc8FJMqNcIOTcHZ+DUXn4h7VAiEA+5nlNXqAqTcT9mYjhSjlurr9Y3zQ6Ws89G7EW2VG9/s="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.0.0_1597675618312_0.20318281265990024"},"_hasShrinkwrap":false},"1.0.1":{"name":"@irim/cli-base","version":"1.0.1","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git@git.code.tencent.com:berry/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"Pluto","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","commander":"^6.0.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.0.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.11.1","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@commitlint/cli":"~9.1.2","@commitlint/config-conventional":"~9.1.2","@types/fs-extra":"^9.0.1","@types/inquirer":"^7.3.0","@types/jest":"^26.0.10","@types/node":"^14.0.27","@typescript-eslint/eslint-plugin":"~3.9.0","@typescript-eslint/parser":"~3.9.0","eslint":"~7.7.0","husky":"~4.2.5","jest":"^26.4.0","typescript":"^3.9.7"},"peerDependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"7046d62ca6364a1af6210eac38e00e82fc33478e","_id":"@irim/cli-base@1.0.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-a+eekhxR9BzuVPDkYJAAQHaja6/O/Y+pc4/wKMZH1vAbNrX0LFDwfRaLtJeLQvXnS519BvbxF5DO2uokq+qreg==","shasum":"f8cab73ab8b955dc2b385a9a5aef7f6566c7409f","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.0.1.tgz","fileCount":50,"unpackedSize":57822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOpp7CRA9TVsSAnZWagAA/jUP/jpSArlbrOGFOtVNwoL3\nEXd4gXKITTV08wfQbkBgQYBitogvfowWqvVSKnVfnxCwyiF7I1RVIvbq4q1m\nlaY8I1TwkV5aGUrra/XmMYrFARZuF/rgNco6hLrCaASfRd/OamUvg44DBnxx\n1DHZdorB3q+00MBgJ/M/E5E/8KEjxaIQ73bfOA8ZHgI08rIvCDmu8xN8wfRP\ncjk5uiZ8dT4+KgDz5TTg8OEoQeaxPeWqH7zL3IHEaEzdyLheiCQSwaMVkwhk\nK9TZL/b4MwX9e7tvAK5hXlaDkaLazVUNkBTbzJDQ6vWMaEV6nyd3RMtw7eH1\nYcUenqucZMvoyeMfX2CHfBRNQOATzPjqRZR6FPqjcj1mIymdLOSdjnTRMJy8\nAfrAyTY6qD6bCYxZ3xZTnTyiJUxCGv75z2IOFVrOroDngsMroU28EyL2jeN3\nyvumFsPhudLeTV8K8UWEdpRslJfK8CQVsLmLKfo2NYg9lJjja6dZRt08EKK0\n19ZNsGsXBoAtwVxbuesxUKCIi1n4QuzOUPRS/D91t+CH55VIcm42rUgguXHq\nbY80VnAJ1aNHYXjFe95D2IYpQ8PprBLWruxnBiif5/J8FoB7pQzEWVAuxb3A\nEVf0RJXpjHeL4vh0XaxI2VjzLKbVu8fX5cfmxrsJaBBZqbEaw8MoWn2YKLZ9\nmQEJ\r\n=0yQS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDe6xCH/ByA07RrPfZ0s6Xh2I2+NRikuLo/CSeWzfcHrAiEAg4TDEDK8RMRITS7O87MGm1MK+QxUYtiEI2FABD5ePVQ="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.0.1_1597676155030_0.1834915030106785"},"_hasShrinkwrap":false},"1.0.2":{"name":"@irim/cli-base","version":"1.0.2","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git@git.code.tencent.com:berry/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"Pluto","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","commander":"^6.0.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.0.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.11.1","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@commitlint/cli":"~9.1.2","@commitlint/config-conventional":"~9.1.2","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.1","@types/inquirer":"^7.3.0","@types/jest":"^26.0.10","@types/node":"^14.0.27","@typescript-eslint/eslint-plugin":"~3.9.0","@typescript-eslint/parser":"~3.9.0","eslint":"~7.7.0","husky":"~4.2.5","jest":"^26.4.0","typescript":"^3.9.7"},"peerDependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"17aa6a13f30662c7d75a0b8a70d2c050d3279dbe","_id":"@irim/cli-base@1.0.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-aEI4F6k2jUDgvCfhCTsvRf1cch4ga/fhfP1SK9O6xq2C7M4sIjDeP1nxK8Qy8QVE00xR4BxZ8MneFfvgYuRJUQ==","shasum":"d7030b74bfd192321d86c389a29bfda68559e303","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.0.2.tgz","fileCount":53,"unpackedSize":59779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUR3dCRA9TVsSAnZWagAAz08P/0Vz9YmTklJ+gRb77cUt\nCw2ZWonVtfkAE/7Nu9tWo6QjEJexb7n5xTEjArzlPIbh9BwoAsssDNRgH1F1\nA4MoATM1mTLr0G7Y+It3+A8LOnYYkDNEYQd2IF7t0Y642POPlbWX0uKwZu0e\nnswSMjM3I//BVP4dAeJbqEGQupHZ4SWXHGzxUoMcdv1GJu0Oju6J0+h0uad9\n55gVBrwWZdscLCnp5qdxnvSHAE0P/7GXLT6F46w/xozhvdUhPGBOW1h9KGtB\n6MVP+zoo9TgNmSmgs+nDpRnu83D9eID1c0EQ1RPPXIX+ZFrqzJ/eBEgxs2HV\nEDQaq5jK9w1rC8hLo86IpXR2FxPooDB6MUufgEov+X/nxduf3Gxkf4GGholR\nYJ7tEv58mCahGQ+Moy3nB1glNe4wgADqy8c+9Gd01cIJIGQNiLqE36EVd+GC\n7I/Io4lFlX9AXlz1Kd3SPihZI/Xl2TlOicr5Hz3UX+WFjjNvVx6OMnglY+fJ\n1V9rVHVLyclOGJfGYmYiMgwfsguabJJMPJxu3I2fH2rmo8VdfYPkO3palYVt\nTF70zDGFOS8WupqkJpJXeeYxGLJfEz7IHcPt89lGiDqKTOCA9eow+3CAVkK6\nINL0HATcm4xRgzw3z1S+a9U2zKFzp9qwHmAskbdmk5dVXFxe4WQGjXX/Nee6\nYifi\r\n=kuge\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFoq3RSzc28Bl+5WGA/r3jBCEs6/YakbjfH4CgM7FFhEAiEAmyvfoU5KER7B5Qdg48AwkF8KEj4tYVlRGsHeYu0mEVY="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.0.2_1599151580996_0.6474866306724729"},"_hasShrinkwrap":false},"1.0.3":{"name":"@irim/cli-base","version":"1.0.3","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git@git.code.tencent.com:berry/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"Pluto","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","commander":"^6.0.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.0.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.11.1","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@commitlint/cli":"~9.1.2","@commitlint/config-conventional":"~9.1.2","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.1","@types/inquirer":"^7.3.0","@types/jest":"^26.0.10","@types/node":"^14.0.27","@typescript-eslint/eslint-plugin":"~3.9.0","@typescript-eslint/parser":"~3.9.0","eslint":"~7.7.0","husky":"~4.2.5","jest":"^26.4.0","typescript":"^3.9.7"},"peerDependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"534f4adbacf682fcfba46c2e3a5d0cbaa4f5520a","_id":"@irim/cli-base@1.0.3","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-zyeavxJdi7NnfY41lVDcOPeBzC/R2PbTUmuJo9ak5tio6OzC0UHwShu/8kRUSn1UZD/bJN1zPtFZ2gpsxHBjyQ==","shasum":"5653f0eb78ebf5e05fcd2da4dfa174e228ac332e","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.0.3.tgz","fileCount":50,"unpackedSize":57858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUSHeCRA9TVsSAnZWagAA4mEP/3c3hvK4/hOihp+qj3FI\ncJUoKkV/Tdbw/hWOGn2ASTfvRx0ga/rlCnWi6FVnKmsyTVHxkSSYWoCczaFU\n7eGChkWZhETaACM6GJXxRFvS6ofAIwuc92R2j54UJpdEH9me0BWre1Kx2zni\n5AX/24Snkho1tTzsmn8J79lvldegjAjpVOQ4lhNglH8pIJKRAhdJdblBaaig\nEAlC94xsb0VoOEebQTh0k7j9CbrTmYZ31aM2R+wuaJGzZ4xaJbi/HiSoxRS/\nogb6lqUq5SAqgDiJGDIjSB4qenZo8kPzHGAl0kr3j9Xv6uFzYvjjdz5AZSge\n7mHAc8FG6h0nGo2xATvRtWOpTj76/2fUqQ7p8VXqUaSfRi7cvXXpLNsjFVKI\n66x4j4kZeF+3JXeFJcjtn7ffsJsRMTpyfoXrwdtef5Ytzz+ZSkNRXKOV1uXm\nX8Aafg9FVilX/vXvIJYD7FBpdd5wTVIet+J0fAJ/ONdv7mabn6WLmx92DqIA\n0wvsKE6ox1LLNko7gUTXWit22pAsj1dIyHMo7pwLY/OAL4xHA0wUmonGLO3b\nKxe93f/9pZLJ4fYuAim97BfXEO7K9ywt40l5hHOwZPLvVKGmfu+zEZDwcuyu\nbW8ozM6AqPcm5p3HNy0zBgRPJHD5dmY+sapp0XnOwyCdZJC0TKtBR4Y8QQNS\nXHYb\r\n=yfnw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtiRRyekr0XYjMU9iOZ7E71n6/pqSjt9p5G97br83VEAIgTDJyeeh4xH84J0kSJVVKGt3E6Kfj+dhBBCowjM2qM8M="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.0.3_1599152606106_0.9286890499679925"},"_hasShrinkwrap":false},"1.0.4":{"name":"@irim/cli-base","version":"1.0.4","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","commander":"^6.0.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.0.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.11.1","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@commitlint/cli":"~9.1.2","@commitlint/config-conventional":"~9.1.2","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.1","@types/inquirer":"^7.3.0","@types/jest":"^26.0.10","@types/node":"^14.0.27","@typescript-eslint/eslint-plugin":"~3.9.0","@typescript-eslint/parser":"~3.9.0","eslint":"~7.7.0","husky":"~4.2.5","jest":"^26.4.0","typescript":"^3.9.7"},"peerDependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"d9173250658b51d2747300ac1fb9f5a4f6bbf1d9","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.0.4","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-bNJxazblQcWwW946A89A6xxCDAAWwf8xMyeWRWb1l/wzNuIs9q2IgsjlyYjCfGmnFsP2M+nGJ+MwlYvSOdo0Jw==","shasum":"f62669619086baef277753a09bdfb7d8cdb98e2d","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.0.4.tgz","fileCount":50,"unpackedSize":57071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffeJ0CRA9TVsSAnZWagAA2QwP+wd2iinrMy3+w0pT/E+R\nzZhfX3od/6EWRgBNAgRfUbAhtulUdbCaKGFS+uirW+rfocH6RGFfvzDXj27o\nHi9qiu8Y6I28pNWqs1a66GrToAKaSjx/62HqglsgYwbu9P+ke66RSN8User6\n4tb7LG2m/mmV53BjscB0Jit/08b+e/ENkDzFDM+zmC5tCM+fiEp+vN73zfVF\nZzBdPuzJuULD3L7x9OJ8NDfmju7g+wjqKeIoSjY8G8cqpG5OzKzlPrYT5hu6\nqmmgMm5rJmuUdfZCGIMdqHxYKTKHUtob/I4JHX5BOi3567QrrMh7lINBKIZs\nW0MNf65wgI5XeBNaQSuD8xd46nbg2K6x21Qc7JiaWgM4tIObGT1bNCOSFK+L\n/mZTNtrAzU0fKLhlUHEDNfg98C7htqvZ75raqKaF0q9pDi4qrL2L8gJvsD38\ncWIWJ1kP1XvMdPgvk3EoIT5q+21MYJVDYnt9R01PWZt+i1dcuZoWDXSjAVPn\nrGHXC1Jyy9BIQNtVPQLNTSoxJx8DWeFouTqyaQoT9sjKbbYDwftWonJ9v5+G\ncWqiuFGwozn2V5cgBHqgOoPwcuRW8NG0SvUBzWZM6NINd36ZoRE0lSupO5vK\nOnDHRZAaUEIjdt/ya8AfWrdFQcz4T/gMat01nDJaQ73IanDrwgTL5NiCm2eQ\nEXBe\r\n=Ihxo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDL3aZL/rV04V0TrtVxdIX4cDOW1QbwHiES7zElhR4NqAiEAn+3mpwzVdzFA/ersoEXJAxQXUpv1QWpuSZc56KiITn4="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.0.4_1602085492455_0.9111640414605169"},"_hasShrinkwrap":false},"1.0.5":{"name":"@irim/cli-base","version":"1.0.5","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","commander":"^6.1.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.11.6","@babel/preset-env":"^7.11.5","@babel/preset-typescript":"^7.10.4","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.14","@types/node":"^14.11.8","@typescript-eslint/eslint-plugin":"~4.4.0","@typescript-eslint/parser":"~4.4.0","eslint":"~7.10.0","husky":"~4.3.0","jest":"^26.5.2","typescript":"^4.0.3"},"peerDependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"ab8fcbe522423d2b76c3804c4654361836e397bc","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.0.5","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-lKSco7a6NS6MKfi4lQ9slNriGsu5C2QuC7mOqRTd5vSgeKlF3Zq+0C8RHPhVQQQLOdLjNGX24lcDOLXXI2yGzA==","shasum":"83bdad4b675dbc85f45b4f3e9f02531c045eb20d","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.0.5.tgz","fileCount":50,"unpackedSize":57016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgH2nCRA9TVsSAnZWagAAY7IP/1WoxOzZkZWGrCQX6PsD\nYnMK0kXwg20MtpFMePDYzDntd6z+Cu5PXCQu0BBjX3vPgqVcRPTEZHK3Y8U8\ncHuLLTpSANQ3lpJaJOvRPz9mAQ+otG/hFAunEhwLlkbcaR9JH1Y80CDzTEGA\nigU96DHPmDlgp2VqNRVoG+qu16sY1SxV55bsqpAcY8emUY22BNJqRxFPRDjb\n9cJNfV2lb5sAcC2aZqsb0/nu+iZ0VrKSx9ezOtNMu0uvXCfErhHQ/0blf3LF\nwUKfAiyKsfyPaqaaTnObkVGWFZAHVVlp+QiPFByysJYQy0DM8hdkWQEzE5jx\nHs7qu3vgp8c0qNHK3L+1NO4mpNleZhs8kUNdAtGGCJv8plWWWTk6LP97r+iF\nej1sF1C2adv7j+NzP4Pm/4yYMj7RErI1UHB/FxYuVbhSzwVGFuaJtRp51IGX\n+qFHif5jzsKm1CyGKs2FySh5xPb6VtWpyzKYvR6GKCA/O3KUzf/E0Q9/O+qf\nh8KafRm5k5O+7gC82ZmsIfjAdGL2yVM+KaBxsLoATbtnE1ZszZDAwu+Gkdya\nWxTthUdxC3GU1W1vwYoF0H60wLTb7DgO8CxALE1mTbtNOR+xv4SIfd4gK6mQ\n4k7mlHnf4p+C2HcZ6Mr4Fq5HRgpv4fTHLxE1axSzzvKVeHQxag9PJihuY78a\n0759\r\n=l+9g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCk84UYb1oJJ71MIKP1mb0Ua03tr6l3ZLFi3VxngPsJIwIgeDXkThdaYRHve6r6ufydL+wmmFTTVpTY2sm+g2vqUAg="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.0.5_1602256295306_0.18840483356964222"},"_hasShrinkwrap":false},"1.1.0":{"name":"@irim/cli-base","version":"1.1.0","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.2","@types/inquirer":"^7.3.1","@types/jest":"^26.0.14","@types/node":"^14.11.10","@typescript-eslint/eslint-plugin":"~4.4.1","@typescript-eslint/parser":"~4.4.1","eslint":"~7.11.0","husky":"~4.3.0","jest":"^26.5.3","typescript":"^4.0.3"},"peerDependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"5c99e97aac7d4b4b1a0c4a2a492a476e7690e91f","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qLosCJfMIGQlvwOCi3DhS4Fo+XFb3muMv8jCQQ/viBxbRtrSelb+Nfs7qaPgP7jSSUR/KC3oj3LBfhwyyGX/YQ==","shasum":"8a0170d30721406c40b3f956d68267847d548577","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.0.tgz","fileCount":44,"unpackedSize":52281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjESRCRA9TVsSAnZWagAAH0kP/1wkofqtRNimzXQGXdw2\nUPhQ+0cRCtN4wPRFbLJTFM4KKIZWUPmjDpOI5XNqvKLDm92mQ7xhZncOEYwr\nX7vlNQLxrhclz2y2DJYZEo4/qhqrEB1Pji98RKkxw2sBKrYeXAdLk4qu86bo\n/MPgyJFmcQnbhSXDBVDKVcydpbqx9R65NlXHoUSLY8wh1BFwVx0c5vhvINo0\nC1RXL6x7AJKm0Agvd0LgItCsvISkilM2rFQ3GWJmMvNpjqIbWs/gDuxxhR26\nRoWCweNff+rnDBcLbUSU4wWxmR3lfZagESqzTe0rpRMjsBuz4DHJLhPRcjxu\n8f2ZVV+7cm6PanijOGo+L0Kg/XJOY0oNH5Moudjev74kCaMC3UQHz4uYoWva\n08ByqJBMkOHP0/+HpD/mskfbNaBK/UDNssZJY3KbJi04LdYZiqzIc/LzDnEY\nIHNtdU/tM3EfkW2rdmXKfp65LbDCGHGNY5eBAzKwHuQjXUJL7G7Nt7UgsFCu\nulGGC+3eIlTu3KR6T/LOr73Mi0jAgST/n8e8XsMnbE3c441ui/DvTWJV2If6\n+4gEY+nhXDMts4Oo34G/9CPzZTDcDVOAOxBkroksxpdv9+9icdLD1oy9Xo5I\n+XKV7alsa5IatWXlvLFW4f+5UHUMNYNBGKTRRIlzNo1WAzp7WPg+tbT2V5qa\nbJiT\r\n=UFAB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3qt3lGko4UYulU1EMm8dShuYfHsLUOzn8vs5Q57IiAQIgY47Q7ErKiy1szoiU+tnp/GA1TxPJg3yRt0TJK9tT+1Q="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.0_1603028112634_0.43132471811223727"},"_hasShrinkwrap":false},"1.1.1":{"name":"@irim/cli-base","version":"1.1.1","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"0c662a20d92079001583c61616157348475ef0f2","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.1","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-WCZvK1vOhkBQr2hIsTlere74NLv2z+Hb4hPXp/1uWl3pFjXTxYjVcCcAqSLmVMIWxstuZeEBbBW4muO8WXKWZg==","shasum":"4ea9983a500d84f6809fe1b6bc5b722d8eaf1482","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.1.tgz","fileCount":44,"unpackedSize":54777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfteQSCRA9TVsSAnZWagAAqJsQAIMt0Z/4BeqJ/0ujSDHk\nDGpe0x6AYHaZ8HOKJwgGUSzeSixYpUbM1We1ly9+MdhkrwhS10T0mW6m4kmV\nJzrAHeJauTQiR35wtGlDGiycq6t8ZNVcFbFOz/1reKVI3G2fthBfKw/4rgEp\nP8glQLDAXULJI5OJCntc5VTCi1qvitnsYBGIe7xABX7DljPOE1Ezk/RB2WTq\n6QjoYlq67MeihWH8vWcYBPWU/nbxP5CZwS7JXKqssWU8fZiRNhqJey30e0Qo\nvvEgg3XDmja1lAgkULEC75ICcHFsfpo8n8PNSgA/wA0Pdh5tsnIbnZAS4r1O\nIHRxX4auoff2CX2e4gMdbaBpGzbisgXtHNw2FquAjKN7tDi/5rSpWISl+Xxe\nTAv9ENGKfR0GdaYprGWyv2/QboXvyU/gAg3xTJPjM/EX2nk8EddJ96NG7JDQ\nCXl3BWygUfRu8NLY+QhVmpDrszPdu4Y5WAvPdVvcSHS2WWrMyylgBN8LD41a\nuwq1c6kEdWPx8v44PEQoHBc545+JMAaz/yT3HKE3v8oPsbBL7DHytcdJUnpO\ntDH2y3WOKERMUVUA7FSuIk+gZCzWqB9Pk8O4xM5icZl/zqVbj0azwh9U24FO\nLeWj8C5wYusFja/mk3sfSPB5A40Xk1Kb/PR7OQp1BO8tUmNQ3cIgIOMAmRXF\nc3/2\r\n=HWqM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH/1WqF9LZIoFLr/po2MjyInbuVPVb3GUdOVtRCuosmgAiEAwFzF8kqstntM1VorJtAtK/BIYbnU2QIZ5ubGWHkqKOw="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.1_1605755922424_0.3381497496688721"},"_hasShrinkwrap":false},"1.1.2":{"name":"@irim/cli-base","version":"1.1.2","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"0c662a20d92079001583c61616157348475ef0f2","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.2","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wm4SHPFjxpsQHi7XTRh7yCvsBPzoPKhYUIqLHtMpfhLZ/YQqRTrX0762HmSClR0zpcgB44nUBubzFMnfV5yoPg==","shasum":"9ecb011297906bbe7a10e4bc8acfa661561ec143","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.2.tgz","fileCount":44,"unpackedSize":55319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftefXCRA9TVsSAnZWagAADbcP/jWqAScNZYGr3YN3b+Pv\nCOULQuA3wBgkpw6e4nCWruU88J7o152PwsVgm3iIMLbQuidwHP8G+Vw7SXk5\nmtTklV8F8OdbYEl//7BjNN1yGA6gCkVo1cGhyXDbtxAOwRViH7wzPnaR+cBJ\nCWWHD3t+pBiG2fye3rm7Md2cfkrbUk4Bi2qXNcN7jjrfRnBCHOWUPm2/o1BM\n+opBJkioBkYwPAnIkpwZPEBbLQgsemVhpZ18MZb/IOS9WXyvUvmSqrR5n1ad\nCvKQW4OupeA//o1+iHibXGPAEW0E/MV2qYkk0YW9R8mBJ+I4Al9bLsjoQI1s\nOBQGu3faFAuvPfL96RrS70sNDyK4rs4vCoUObmiEO7+73msq27bcqCinvMEm\nYgawv6sQE7r1msGJGwkEWQElerhl2amq+5NBRIO2t25KGYmylKOsBxbgS9Yb\nQ596H5Mxbfo0rbnNND2zKLkx9Z54dne2+n6z7lxmXrl7ZinbpjjgjAPm3p4q\ntedHkDlxHTu5Ba43VXVgRQciW4C36S9eA2l+g+2r6mUMgvgkCAlx/UBSrs7C\nEGGcasQMQUOsnIBFhm7CCequ8BQVj1Dz9eh/vtZZeWyWUCWXRb/kgYJGyxv4\n6q28Nr/zToEPhafTGRrLKUt4Z1G9JuNCwLNf5DSv4t0PLyVugZ9IoRm7lzhH\nj7Fi\r\n=f6qK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGaTx13smBwnNUTKKypHM9dwlQczQ0gBR+ascxXpe6gmAiBUC60PRcNwfc9H+sn0wHYU2Opp493caDbx4InH5tn4Jw=="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.2_1605756887354_0.4320274562039954"},"_hasShrinkwrap":false},"1.1.3":{"name":"@irim/cli-base","version":"1.1.3","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"87e64ce1f35c50973021eab2e800575feab900c9","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.3","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-GHvwH0yEQrMHT5doCIbMIt0NaaRsIW5nmgIN2YCBpepWZmwA2CnRxyX0GXRuFDgJFwUMqlgjfTvvPx8Z7OkUdw==","shasum":"b08073b4a4906cab3c6ae9e8a6825eb0bc74860b","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.3.tgz","fileCount":44,"unpackedSize":55331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftpbmCRA9TVsSAnZWagAAeOwP/jFm83JWaPwB98Y4msj7\nlPpTJqerqH6o4duwlOoFY4Dln35NbhXi7u7P0g6FISBZ1ds+n31MfgL+qCwl\nDL0v2T0JU45Tcq/pi68wgcn4iC9cGnE/mFaY0ruh283DNjmnpB3Y7GqnW84G\nz/a1eMBfBjJLqEKEgS2VSFZ5I4gC8lunx5+MFqP8aK3icI28KjBDjX3XNgAg\nH3hh2a82LWzsnn81VeWMqFpH5c3FdHc4FRftCF1DExa0NjZUTuFWrvlL6TZn\nHJSnUHeQnNV0Em41FcVCBr43gzw/ilXJpV3XSwTfqTf4SgpwMEH2yf6A/deA\nmv8KT1fVGFBHB30hgbsL7YN0GASee0XAnDRbsn4E1Ln7ILxaIu6s3/R4uc+q\nj4/PUBkbBRSuTZMI2t+jUp6h/13EzA9VXL2wcMAXHDoawTvOsHg2cXnHwqLk\nTNv4ExU0xejHR1XPwLaOkDVD/3NsdPaWHY0AKosNFdFQgAwCflc6Xzq3pHqt\nPROREnTHrXH6iGRE6w4aCNTbyWL+WZiMErPP8vFrtn12dQyzx+OWp8Ae8Er3\nqLTsTCoGy1P3mazmcKxcEj75R0STb2KHyW8hTHOs4WunIiZh9Yq7IMZyd7Sq\ncXfGB1QbXMbtlF9eQXySvA0LoyCAcPtokC9PP0N4WjVYNQ933ZTyqot2ZAKt\nv+xv\r\n=0pId\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDT2z65ok8doFA3/A9sUFQvNAolKOsQKLul80qBD5iobwIhAIwr0ssJyIytc5bycPKPbq5vb64nKydKV6Ew8cWHUJ7h"}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.3_1605801701987_0.771879313335686"},"_hasShrinkwrap":false},"1.1.4":{"name":"@irim/cli-base","version":"1.1.4","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"425ae6e85d357b9dae88f8d9de073a41be93a923","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.4","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zUJkZbzeI2AkxloA6ZUUmxLe7VeoXr493T+Yq4w5iTrj6ck3UGSUQ325F44JEFIfl3HfoNTNCS7FegyM7OIeOg==","shasum":"4f7c63ea14d0a84d0053d2e982eac4b58082d376","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.4.tgz","fileCount":47,"unpackedSize":59501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfty+jCRA9TVsSAnZWagAANBoQAJwmqD1PG5jL9D09hpQP\npQVCtAzWkGN1psl8C5Q2a69uC4Zerfik8WmSxWPMTsZYrxfWtk7N6t92rOJy\n7lHVTcXAmlNprsrP/fs5swQjcs6hz6NrPhfaEeOhgG6sjYceBpH6y4XnqpLf\nfsAbcz/gGiFAEX5tSF4LzFZVRXrCEgxItOkgCDcbo1ecaR74k4aD3QkgclqG\nxU+iIptueaQdVkSCGFDF3TPTTEVvcFbtb7RyO/9qOB6pc6AJi4NLaoTjtklx\n0/wbx+VCxwEcs+9vOjnpB3s26zHE+KgbqRWbnld1+zUq+2knOYfzjSUYqouT\n5ke6tqIHKjK1oOvy32eI7+m5ffNSGsQyZzMM4CdYmgovN065ozLyzQnT2GMu\nPylI9cl+T7h4aqj9z3wWlLewsD9znZ8901ljzeOOnjLqY1KxIUznbaqBb7a+\nBT2EyOaEr0OGv2nwnsVn+GTnNdeXDnqcS9vk0506iN6oFil/s3VMzm4yaSOa\n8dINqlbkVLsXJcBfGS4LiuhJKtYBHaeGR0rtTmbO/ADbukxq9o3Y8TdUoPXI\nrnTnz88HPj+P88drTb068T+Rsb3xte0AtQ8D3r/qcl5cRFrNt1koFJrTHAhQ\nf1T3KdUzihCX6klea2uuPrAZHu9+8xqUZWybIczyTqP3RFxHOCF/+lRFK/v3\nRgDU\r\n=Kc0f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDmqZcvNwmJ4U7FXl2xukkFcQ5x1GYoHUQLzF8T79ow1AiEA0eFQyHWenRxlusQR6wQv+ixoAJI8uxxppkHN92AukOc="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.4_1605840802905_0.9994586224362765"},"_hasShrinkwrap":false},"1.1.5":{"name":"@irim/cli-base","version":"1.1.5","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"425ae6e85d357b9dae88f8d9de073a41be93a923","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.5","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Vw3czptnBkhGfto2Wht1+xF5yA75Zqf+i67aYlLmK9IEvr8zvNGkjHlF1U5oN2Lo/GBDcmDa7pxMy86MXnR3Dw==","shasum":"d6967aa2040f639b880e70bd4ebdcee72582cb35","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.5.tgz","fileCount":47,"unpackedSize":59615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuTpPCRA9TVsSAnZWagAAxjMP/ApxbIPQ1tuONEnbQ9ym\nHzyIxcxilyBVSE+T1JzMq/UE8rk2oQEELpH0A1kiVHc0UOm2qBlYQpRnxS3p\nLCjVIjr+vmx22BYWnDb7/mg26gdSsVLNTXvo388HQzuBaXTPnzeqXjg3A9Yy\nG3LWSt/PlyBT7tkl1c/9Rua6uILLBbcSyuzFS/k1TsyRibrqpWhvqDMmHJNO\n4pJatVfrOCtg99fDtoRWlhuKgl3qBt37JqkKAYnPvamdwRCFZm1hCLbDOUPf\nLxsIdLMhDr0aVTf76RNxy9RAC/WAiW9n41/wvu4XLn/CNXLTNMtK2qpoWziS\nRZD9yGnckE8yXKH1bSbddkzUh3fAbTESR/Eo9TuQ51EsmvKIwzRl5y020/Hk\n3k5LPcd/FIWfeTyfFx011xwgKMkibwRMYprTLduzqtZchbSv3FuPMnryYrA7\nm3q1iBYYUSCJHRRyfA1QPR3KMQvdxtsOEvfpPXg8lz3+Uu3Rb9bvdnpYtr7M\n54R58QUQC/5RWspOk4tII3nM0eL2MXmAAdsAfDUw8vwTkzNMjbp4g8bMd9YP\nWThH0GGrS5slqvrYft3o3QTDVwLDbqGfwU2lDDklQp/ZvExs+Cl2cvEiYtsB\nqnpKcFtxU4OkiXibOT2O5SAOqvTKmMIUtfyJHBq/gOUtyawJmx0DIkuyUn6M\nnhqe\r\n=RR7/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHeqrkR5AxfcS6sBParWufjtwnuVqwKzV0FjosGvjxgqAiEAoLsCj0QTODUJVMAOwKrQ8HMiUF5XZtweC5PQRddxCUk="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.5_1605974607052_0.2512799669994943"},"_hasShrinkwrap":false},"1.1.6":{"name":"@irim/cli-base","version":"1.1.6","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"823e9a43b90fa91807b6ba648dc390e043ee9eaa","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.6","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2P5mww6V9j+Ih211tIT1yHYUbzFkK8MN9p8421VBENve+w5jbCWV+02LqDdMJ/REuvQir9ttY7edewQG+5TojQ==","shasum":"4e0353ab81f8c4bea69d48c7243544a6293ec3d2","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.6.tgz","fileCount":47,"unpackedSize":59892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuT8mCRA9TVsSAnZWagAAZiAP/Rx5SZtSYXdc/PkMTlvK\niR1lJLQKGzOeEDU0KujzObb+KMixoj5fyhEYK7bQmDwJXU+h7g9nEPNUZFQ/\nIAyeD3sL4LAsGATtHXH3MezLwYSsmGJ8Bhm4YBaF1XBBKN/GtydQExLcVt5L\n4t5ihBN/EJRL0AOZ/DQxf2OqnRnBPxRSY99iEzECfOTbUFPe9huBdU4i56L0\nbu6pK9Rqd0UxcQbpZMJwZ78/alkBxV4q/0FWdFu31/ro6k5S66BkfkJkZ53T\nFHA+2ZxLJgGR253wSyh6itCkrvwUw86gIlJ+IUAJPz0i09xrsymknGIUZeja\ntg4UT/WoXMzFxmWwtBVbnUR5Xg302eCTqNpqNggphfawpNPZu6BBhXZYGKyu\nY7XUw1DMabUhbgtKR8J7b/vucQuwxcNDqqI6XPqFmRi9fBARw8YTDD5jqPw7\nRmpo+8t+1yHJKwR/SjLTsisAYdkj0SO30OwSdK9nSst7IVFXJiwigECJcK4Z\ncEgGS9iKagVryP3ABRTwNAlcf/Ar0oI2YoVHsqwXML0fMlcYIGS3i7FldXHF\njxEstEaNvsR3mkVsgZcKtiasIuMMaZj1pu/XA15p/UAtroIzNdTV7pAcWEWy\nyBWbRfpebjSaca7gZZm8QKZ93MHFnaqHATZrcnbgOkC3CjD1kwAn04e/o/pv\n99mu\r\n=cSz2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFOu/7EQXVj2yh1Fv1lWBYl54kyw6fvbh+6MLmQaYtLrAiEAnR/kf/o52Tl1JZvw67InrVTIQD9h9O/uT3kAe0r2wbw="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.6_1605975845949_0.5576705707543999"},"_hasShrinkwrap":false},"1.1.7":{"name":"@irim/cli-base","version":"1.1.7","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"dd33952bffbfe39001f505d9f5535060e3cc00aa","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.7","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RDHWsQ0ThiMj/Cl8TUKihSxyAbLtyTW94rMOMJTDLpTGzN2wj6LO7b6491aqvkIRVUm7P0dT/XgAYmYMljfu0g==","shasum":"93328537fb84c02a5187ea33d67c9050daaca1fb","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.7.tgz","fileCount":47,"unpackedSize":60586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvSxUCRA9TVsSAnZWagAA0DQP/1ZfPy1L2uqMadwVHzWz\nxTrdYuULsbEVfAXvb2HJu5f0lvlpaiMlyKJW6Mp3gkrSurAbZ8k7UcPk5rd2\npi/GevynMGnAmkxccFtnb8uY91U04w2m1g4Q5Ql8IquuLa2D2jLy6rLEAEhk\nCyFzuBNSX+IQIpnE23pxTBUb5YHKdmXHeP+0Sv3Qn8wMQp7yIyLxGA5z7VcD\ngnjxsYu9qBOzVgTDncp75Dp/mYsXunn31cRk0inoCUSa5gEePgfqw577Rs1q\n52T0GLtSjOTsByrQBVH0pgdOkzZ+TIknimDHtypo9iC08t7ASiOv0/crVuEs\n3THWhbUX8bo3wY1TDnd7Ja8IRJA/WfCQ4fGetR7tuSZGJXujYb7H2QW3muF8\nuwZ2enMQncEJ0dKfg2dp9siAds7S/is733hYcwxbo36T9CEDA9Rk7ZZSjUHd\n5HTxrbIe3Yr7m3aNA1aSVTFWcvu2DaRsHTsmUVT+ghTBU+aQRDxeTMA8+nRl\nsRTt900mGv8nw3VKoaa+z1bWF1YhC3LrlSnqbWP0Up2gVTJuCaPRS6TNVlns\ny6GKS5NL3VEL27RN4rqNs5Trgq3jtu5U3VwBGWDYfjtQU3UZXGEzigUf+W7r\n/kJq3N1RZB/5GKtmf3gJ0bzQ1SNyBcPTums7ZlVjDoMJYuh7xE/yq/gMjdI/\nafH5\r\n=AelQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRswL43EDCiXPt6lAmHh3nO6YvyQ42yzGqqwt4NTlhaAiEApVHjS+Emu82XPYiHGM6hF+Tgyg/o4d88LFletRBYr38="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.7_1606233171785_0.1160506524584044"},"_hasShrinkwrap":false},"1.1.8":{"name":"@irim/cli-base","version":"1.1.8","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"abd6ab96bb0b15fffb7da1729808fc7456aa2f19","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.8","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Zt0fayBTr90lsn56EO1xzkWVxGNxVMbn5W75h+in/wFv7oqLl3eWftzftLRsMtaHmpa9cUwbaIxWyqj1deZn4A==","shasum":"e78dd541e5b58bbf316a235227b0ecac37053935","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.8.tgz","fileCount":47,"unpackedSize":63369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxm1oCRA9TVsSAnZWagAAJakP/0v4zU1V6Gl1SFjfJr7/\nfr0C9cDK2jTTSjA2mkhCl+q6XtCfb11ig55nD9GiBpX5xOUEoxSDzJ+oGu2N\nHlM5uK4I+Qaw6YZL5FqNlXOeb1mfjIAMfW4Fm5mMFm4MZSADRovRHkHYxDvt\nUyr3yNNYerZnuVEKJJduwSjiOXLeQwvMlxYa5dm37sGVT0K67/bgkq68EWrQ\nBq4rGKxveKGECnIiWkbKvbvbXowpfNnnsGwcrODZ3/m1Vmas+GQKIzHN2+mB\n0uBl29Z64i6JC4tYya+e/5mGmEmqjGXCIrM/PtMCh/Yc+4D5TYbEl5H9v1QG\nyYufQdL7v+T880AtQ78lFsNs/zqvKbjvgxvwUYSDFBCShsZOuk9m/rQpNCLC\neA276+w/3SdiJdO157iI1MgiMY1NQSdc8tiMR7SHAyVCCLH3Ol8HECfP7khN\n0ofTd1PQ2L/NpCRtHgSw88sie0gf8pHYNMT+TG+u6Y2Aq5BR8Sro9nZPJ/ju\nvTYJWJIpr1SP+kSofnsT9a3+B3bRKNZYrQVtvfYslzEUGHHyUnUEXOWW60vi\nn76AoJjULOotWf287VYbeXSgbJmD4J+kw5wImLv0nvcDhQZWVjyozduaBxC2\ng4H8BH3GISznCfVV4Vul/57u7Hg6rOyhcKzTUrto0FGlME/KOjIeclWVlGWr\nydSh\r\n=mvRw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHNqIL5NP9DCSfeSvUyGUWhcATcEo3zbNt4wMsjQJZmpAiEAxFuzASqK4KBb53kh3M73xnIyA6BlUzw3zQRAloTd4fE="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.8_1606839655362_0.0492829693457526"},"_hasShrinkwrap":false},"1.1.9":{"name":"@irim/cli-base","version":"1.1.9","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"05aaf0eec94959096bf35b464ffcef5f582efbdb","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.9","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-tls4OvK7/FB5ptc43N4KSEbRnnVde6ajSk+98u3homHQdFQNLubsaDGaqLxGKl4bOESV6Tkf6torHkD+5nVWRg==","shasum":"ecc9a550599efb4b39b255bb83236195d0fa4f99","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.9.tgz","fileCount":53,"unpackedSize":67299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/F4yCRA9TVsSAnZWagAA2q0P/1hNR2BF7WnEhFpXmIVc\n0lEL8rP5+L7wXHDFReKj8HjS6wwNiVcgVv0I4Os6ylsELBQS4IMjst0RdarL\nw/EmlNE+nYIjPGTiRYNYVPMU+D830pUmuTop/d1apXTrirW5iPvUqByAmqhE\nL2qdFEZjBwbyauxAKwcB2nHp9CUCmRokNK3X9ZCxIyI3TTWSlHR/uQOkJB7d\nZNajI0UsHYyHswTQNAQKNvrHk0pvumTvyVT2Zm0We7aRqx/n10zHfbmP4gHh\n0CRINjibpQdsJVXzjrI/e1pA6gSIjxPohV/wmfE5iCdBQt9Q2MMFQx4+8fGc\n/Mdy+hNpmLyQfxMoGplJUbaWYPpQkhaXl7p3sazdWujUg5S6Sge0axFEJgCE\n+azKhDEY8wqmmR4il5ZI+zToP1MEyfAPJjQn5dcy5ganDDpfXF0O83l9seRJ\n72VQrpQTTpsc59ZNOUY6EKlbvpZji1F+uXNvdLiJsov6LIx1etEzyupK5ZPa\nDX0aT4G4AqSwL/kCzT30r8lCDfDXWV/7R26V/3NTWK5MaovtBNlC9t1Gnsk2\nC97qrz/6I+SljEqG4XyBUGyUkfyBDgrY65T+MlwET8+E0cxO6fRoBSPf/wWx\nuN8TzqK2M2Fxs4RNX21JLH3myuirZkqnCrMe6zjDJ6P5nnjHr4b1IJNg3Gv9\nyBua\r\n=Y5ff\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcDRlbRnWIzR5mxL5oxqHuWAcxRNvT0n+0D5kOzzT2pAIhAPT5W7I+MDIhLqT+lNAorQmsNYiV7MPUy988eALepwW5"}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.9_1610374705658_0.6630772988632223"},"_hasShrinkwrap":false},"1.1.10":{"name":"@irim/cli-base","version":"1.1.10","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"9b89482a0355ff0fb722429797b8d1ed24ad437c","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.10","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-L+4+0iVKoBu2qRZJFy9gePxmVtYuX8Wa7ww9yqUqqz4lDEjT592TUxs5OroORqHjpYVw4w1VkF+Vt0hkHRMLOA==","shasum":"123f9d1eba73ef25b6b25c1a1a76b0a3a6b71a30","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.10.tgz","fileCount":53,"unpackedSize":67398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNjvICRA9TVsSAnZWagAAkzwP/iFK9acuPFoLPYFYNrd1\n2Va4K6+SiCJq6nOSZr9l3C1wPLd6bKTyQJFC5ZayNUnYKllsIuQ1hWCmdVpT\nC0+jxRfLyknuv4YVJrwtLodWGl0YvY0s0Lbeq5RNGtDyxsYU2Ex+6tSJA0nr\nFdpIsgXngGF7BtqRNj8mehkOruNxxA0gAfBw7MdtpwFhawb3064spMJ4HdXy\ngrdJhZJm9+F43DIGiLan0/GnP0GIHuxKQiNYz6Y4EoruJY7mFXHbKo9+krmi\ngexryXh5ZmY0GSATTWNmmhFH6xsoN096w9ItfPI67/llDqcb5yUwI39Drfe8\nPTb76q3L+DQ0CMok/LosjnYe97lHpg/vgAGoN2rp1PtothjAb8tdD4hHGTlb\n/12kI4RsqlzkG0NzS1lbfL/mcXtVXohUGeoES3yEBY9mv/AwbE2gPtwe356L\nQmaGiJYivRtKxjAaz17JzlLT6FTbXjz3CbSOLp3uuVYreVuEAEejTs6rnYe4\nMNPrt9R1hBiyu92OWpZ2Rz4oFuWsoO9qf5bJek3FYpVD3F5wi6lUwBD06xC9\n5BEfQeIPMox7Z/6JqRgVsp/4Se9VjDIXDxY01jcj8Wh/WMtsY4DEOF79XN3c\n+V7cp8mvnLmLEAqSii8fOL3YWC5Vq+v0rKvioM2VWNUFC/+mlkEB5Z81V6uQ\ntzps\r\n=+tXi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIK+SoVD4aR2m7xR2ZYgTrbHMZ9bG5KWR7Pyghigf8pgIhAK1TWXuP5mxPvoX1V28P/DSpYxVpDESSaT2vlfRzpujS"}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.10_1614166983905_0.336206616899845"},"_hasShrinkwrap":false},"1.1.11":{"name":"@irim/cli-base","version":"1.1.11","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.0","cross-spawn":"^7.0.3","dateformat":"^3.0.3","fs-extra":"^9.0.1","inquirer":"^7.3.3","ora":"^5.1.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-typescript":"^7.12.1","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.4","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^14.14.8","@typescript-eslint/eslint-plugin":"~4.8.1","@typescript-eslint/parser":"~4.8.1","eslint":"~7.13.0","husky":"~4.3.0","jest":"^26.6.3","typescript":"^4.0.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"723d7831d3f147178e033ea90cffce30e08a79d6","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.11","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PLh4amh0B9wTBLgQ31IWkBgCi+5ib+DQaLEhkMZ+pGXQYyQb+kIPU7NZGg+acuL/1+tq+WxPnxK3unIUfJV5eQ==","shasum":"f5edb3d457292f1d3bb7ba56b28c6c164d971abf","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.11.tgz","fileCount":53,"unpackedSize":67306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNlsJCRA9TVsSAnZWagAA4UMQAJ0rUnIPhGbSyiHxCLH9\n2sOzhjpAcKi6jfRx36HQfbpjPgebwJFlEPiMSS09qfvRhhl0ZDnv8QR4oXl8\nlsIlkN+Nj0bcMDZX1kUQzDj6ZAHT3yzxgTGlT6DiAu8f84OcqBFNDU7nh+05\n1zGJ4s/XVdH9iyv352H2MvmBGVqSx3ppZ2sa2/gBVP5SK7cdagzSHoImIRsa\nTuGnY1uaPfXPlnDm+VE383AHi4WhjHN75QBTpWr7SjXUGbfIgktxy1b9jXgh\nkAVZbxHihn9WuquFnEJM5/uT9haw/uaWUFVxfSu2TQkUnNcmZ5Fh2hJMLhS1\nY2CYZ+lygcP2S3vUQT0D359Z5ccIBo96BYUKvQQFd4zRXF2Mst6M7XzDB+FV\n9Ikzol36LJgE7lA5uNhRB3UKaFAjlirnrZGWttl/MqnakpCWXMhKPcyAcNv5\nixay02r2VtqvpfL7dpNi0PKBHk2xsJ1PS7Q/c0lvni0D9LLTaHc3XFM7vR2Z\n6ROkXU1BMMIdsjpwxk513AkspsY9RtCFgocwfrWIM91/oKgC3LG11g09pDFv\nL0MLsb4NjZUzYIWJsvCt/UEyDWEx3Sq/wgesGXei25khSPSsGwnrM7ByG+Bg\ntWxtjBtiCrrwXSpNma+RWtsmrdpgglYtr3t+muP/DUaZl8qtYF1AZDUApGRb\n3B3U\r\n=lwiQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuTSxwsilf2XKoK+CaqivxZkNG8cOYCzuyW/6TcJyyMgIgYt6WhnqtWLkW3RT9wrtdZbx4P4VCREoP0gPVb60xnnw="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.11_1614174985254_0.6973824085181755"},"_hasShrinkwrap":false},"1.1.12-beta.1":{"name":"@irim/cli-base","version":"1.1.12-beta.1","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2018","build:esm":"tsc --outDir esm --module ES6 --target ES2018","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2018 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","dateformat":"^4.5.1","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"readme":"# CLI BASE TOOLS\n\n![version](https://img.shields.io/npm/v/@irim/cli-base)\n![license](https://img.shields.io/npm/l/@irim/cli-base)\n![downloads](https://img.shields.io/npm/dw/@irim/cli-base)\n\nNode Cli 基础方法库\n\n## Getting Started\n\n- `$ npm install @irim/cli-base --save`\n\n```ts\nimport { consts, utils, files } from '@irim/cli-base';\nconst { print } = utils;\n\nprint('debug', 'hello', 'world');\n```\n\n## API\n\n### 1. consts 静态常量\n\n| 属性名   | 描述                | 类型      |\n| -------- | ------------------- | --------- |\n| HOMEPATH | 用户 home 目录      | `string`  |\n| IS_WIN   | 是否是 windows 系统 | `boolean` |\n\n### 2. utils 一些常用的方法\n\n| 方法名          | 描述                                 | 参数定义                                                                 | 返回值                         |\n| --------------- | ------------------------------------ | ------------------------------------------------------------------------ | ------------------------------ |\n| progressBar     | 返回一个进度条 string                | `recent: number, total?: number, label?: string`                         | `string`                       |\n| print           | 带颜色级别的 console.log             | `type: 'debug'|'info'|'success'|'warn'|'error', ...msgs: BaseType[]`     | `(filepath: string) => any`    |\n| printJSON       | 打印单层的 JSON                      | `json: Record<string, BaseType>`                                         | `void`                         |\n| parseProperties | 解析 .properties 文件，返回一个 JSON | `file: string`                                                           | `Promise<Record<string, any>>` |\n| templateRender  | 最简单的模板渲染                     | `tpl: string, data: Record<string, any> = {}`                            | `string`                       |\n| confirm         | node 控制台二次确认                  | `message: string, defaultValue = false`                                  | `Promise<boolean>`             |\n| select          | node 控制台用户选择                  | `message: string, options: SelectOptions<T>[], defaultValue: T`          | `Promise<T>`                   |\n| multi           | node 控制台用户多选                  | `message: string, options: SelectOptions<T>[], defaultValue: T[]`        | `Promise<T[]>`                 |\n| input           | node 控制台用户输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| password        | node 控制台密码输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| holding         | node 控制台进入等待状态，按回车继续  | `tips = '按回车继续...'`                                                 | `Promise<boolean>`             |\n| exec            | 执行 shell 命令，返回执行结果        | `command: string, cwd = process.cwd()`                                   | `Promise<any>`                 |\n| execSync        | 同步执行 shell 命令                  | `command: string, cwd = process.cwd()`                                   | `SpawnSyncReturns`             |\n\n其中 `input` 和 `password` 方法的第 3 个参数是校验方法，入参是输入的值，如果返回 false 或 Error（支持 Promise），则表示校验失败，例如：\n\n```ts\nutils.input('请输入用户名', null, async (value) => {\n  // 直接校验\n  return value === 'zhangsan'; \n\n  // 返回自定义错误文案\n  return value === 'zhangsan' ? true : new Error('校验失败！');\n\n  // 远程校验\n  return await request(`api/validate?name=${value}`);\n});\n```\n\n#### 扩展的类型定义\n\n```ts\n/**\n * 基本类型，不算 object、null、undefined\n */\nexport type BaseType = string | number | boolean | symbol;\n```\n\n### 3. files 文件操作相关的常用方法\n\n| 方法名          | 描述                                                      | 参数定义                                                                                        | 返回值                   |\n| --------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------ |\n| fileIterator    | 遍历目录文件，执行 callback                               | 见下文                                                                                          | `Promise<any>`           |\n| dirSyncIterator | 遍历目录文件，同步到目标目录，并对每一个文件执行 callback | 见下文                                                                                          | `Promise<any>`           |\n| getFileCount    | 统计目录中的文件数量                                      | `src: string, exclude?: RegExp`                                                                 | `Promise<number>`        |\n| copyDir         | 逐个复制目录中的文件                                      | `options: OptionShape`                                                                          | `Promise<any>`           |\n| clearDir        | 清空目录(有二次确认)                                      | `options: ClearOptions`                                                                         | `Promise<boolean>`       |\n| findInFolder    | 从目录中查找内容符合条件的文件                            | `src: string, callback: (filePath: string, content: string) => boolean, options: SearchOptions` | `Promise<SearchResult[]` |\n\n#### 扩展的类型定义\n\n```ts\n// 遍历文件目录，执行 callback\nexport async function fileIterator(\n  /** 目录路径 */\n  src: string,\n  /** 执行到文件时的回调，如果返回 false 或 async false，则遍历中止 */\n  fileCallback: (filePath: string, fileRelativePath: string) => any,\n  /** 执行到目录时的回调 */\n  dirCallback?: (dirRelativePath: string) => any,\n  /** 忽略的文件 */\n): Promise<any>;\n\n// 遍历文件目录，同步到目标目录，并对每一个文件执行 callback\nexport async function dirSyncIterator(\n  /** 源文件目录 */\n  source: string,\n  /** 目标目录 */\n  target: string,\n  /** 执行到文件时的回调 */\n  callback: (sourceFile: string, targetFile: string) => any,\n  /** 忽略的文件 */\n  exclude?: RegExp\n): Promise<any>\n\n// copyDir 方法的参数\nexport interface OptionShape {\n  /** 文件来源目录 */\n  src: string;\n  /** 目标目录 */\n  dist: string;\n  /** 文件内容替换规则  */\n  replacer?: { holder: RegExp; value: string }[];\n  /** 忽略的文件 */\n  exclude?: RegExp;\n  /** 只读文件（不读取&替换的文件） */\n  readonlyFile?: RegExp;\n  /** 文件名替换方法 */\n  fileNameTransfer?: (name: string) => string;\n  /** 文件内容格式化方法 */\n  contentFormatter?: (content: string, src: string) => Promise<string>;\n}\n\n// clearDir 方法的参数 \nexport interface ClearOptions {\n  /** 要清除的目录 */\n  src: string;\n  /** 是否有二次确认 */\n  confirm?: boolean;\n  /** 二次确认文案 */\n  confirmText?: string;\n  /** 忽略的文件 */\n  exclude?: RegExp;\n}\n\n// findInFolder 方法的参数\nexport interface SearchOptions {\n  /** 是否找到所有文件，默认 false，即找到第 1 个就返回 */\n  all?: boolean;\n  /** 如果指定了 include，则只处理匹配的文件 */\n  include?: RegExp;\n  /** 匹配规则的文件跳过 */\n  exclude?: RegExp;\n  /** 文件大小限制(byte)，超过大小的文件不遍历 */\n  limit?: number;\n  /** 读取文件的编码，默认是 utf-8 */\n  encoding?: BufferEncoding;\n}\n\nexport interface SearchResult {\n  filePath: string;\n  fileRelativePath: string;\n  fileSize: number;\n}\n```\n\n## CHANGELOG\n\n<!-- - **version**: change logs -->\n- **1.0.0** 发布 1.0 版本，整合并优化 已有能力\n- **1.0.4** 优化文档，迁移代码仓库\n- **1.1.0** 去掉 `BaseAction` ，简化架构\n- **1.1.7** 增强 `util.print` 方法，可以将日志输出到本地\n- **1.1.9** 新增 `util.multi` 方法，可以用于多选\n- **1.1.11** 优化 `files.copyDir` 方法，修改默认的配置项\n\n## LICENSE\n\nBSD-3-Clause License\n\n## Contact Us\n\n[CAIHUAZHI](mailto:huarse@gmail.com)\n","readmeFilename":"README.md","gitHead":"723d7831d3f147178e033ea90cffce30e08a79d6","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.12-beta.1","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-69N+Zy6MnBQNyQ97oIjU//DS0X2Jg/q1cuIIY3Tmj5JNJnOT50hilGHLwQOu7jrxCWN2idaNB525J5slO++oHw==","shasum":"8fae90e1514f33b1185f1d18d0e07b6ef7df662d","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.12-beta.1.tgz","fileCount":53,"unpackedSize":67648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghik1CRA9TVsSAnZWagAA2Y0QAIrMxNnatQGhsQ23P/g8\nvZDDs1fQSgP/WWHg0ZAjIiC9YRPhOJ5+AuysxHLAP6WbvyHyYYJCgfyoDOWa\ntr6e6DPwTQbOx2n8/EBzfZHTJsDpHhLuvkDwEOoV+JscWMfhe17wBctSSVlJ\nf6Q7Zab7wguwlytGhuNa/MgfC5szP8wjEcLFwg2bNXcb8G1Z3DwrK0HlV7qE\n6t79PEA6WgYQDPD5wZvm+x+1kgjWG9pGr2+kULAxew8J0jvcP9BOAq2txXLI\napxaR6XFfzk+fmt/Mh2fl/zAIuOTIyWqwX99AbGhmfy2+oNBrGFiIqoIyskP\nM2iBDBhzRuH1sRCUnhm9iqNRr4eHFnV2N3dyD5IrchSGPEZm4+foOymAVKlX\nN0G8at3S8RrXHSh3WlW3EXTY4ssS65D4u7/MHyY6V3iQGoqN2HnRGklJNeLR\nKriTuT71OkyOQatAiGJezAyo1e5234vFm323Z09oi5omPAql11rBTylNU+nW\njeAZtS1uFIT0M9y/ZHnYLgdwW8qxst5169UcvD4HEazX3L9Ajg3cxUUc7jr0\njuehES/qaGSGjGyyLJdU8tV+4XWS+gIgAiwUwedwC+cyXHC7aZ41BIyZGap3\neKkZFpkL11O7hXEcj/KJq7BnTudB8m1ksKNC6/rFJeQ/CLvDtmGGI9Geqqel\n8Rws\r\n=s+LL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvK629hva6Gwp+Ksg1MpKgwsdo8QzJYurpeJ/w1H/hywIgdJMn93AMfbeIrRfv6GoTakjxJ4LNcyaEK5p0ZUvkdvY="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.12-beta.1_1619405109408_0.7128491644290693"},"_hasShrinkwrap":false},"1.1.12":{"name":"@irim/cli-base","version":"1.1.12","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","dateformat":"^4.5.1","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"73c93dca15c2f341156aca7cb145701d4f0844dc","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.12","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-YdyCJ236FDF0AQTZ8n3tda7G2igWl/62zyvJ3J/spgl1RXPceLX/7NxM6iVhX1+2QwT7WUnUfiWmYauKxajMkw==","shasum":"980c8783a520e7e073be1e874f9194356cdb283b","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.12.tgz","fileCount":53,"unpackedSize":67641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghirKCRA9TVsSAnZWagAAI/UQAJ3/A6RIZbITougj22vG\negq4e/ob8uEniXTbuDRIqYqY6aSjOgc4OofD1hCynSm6ghIyvrn3HQ53zdoj\naO1oFRqntv6LD/A+xONQvUmLHpUBj64ri3pBtyBNCN7mxVAOn02ExjLS2EmC\n6o2JpNaZ0i1Prfg8bR5wRUWHC9U7o0en0M1jKe4xZMeCgchgEoeW6pAzsUCA\nO7f5+YjVDFESMa7PcxAFxgGwY5cc4fQXngSeAIBNyJwB7A7HVJdvQmxwwgj7\nNAJnwGfngQBeExWYmC9kOL404zWKrE1UBGNkWBC02K/fp5gAd7RNZBAw5mQv\nXmr6jpt6c34c0Mn+Nwn2jMdT+1CNTIPkp6uLO5f1QmHc4Dl9V4JmYOH/31Sd\n0k+iwRGpLLyesR5XDxFR0jnDXheK5hMXdeg6zhokO414Jg+i8BGIy3D9EV9/\ndoDKLyrZQy4Ad7hkpiDJmiAg+VzPBIXgMtrJM5hUb5yJ5ujA8p45pI2PwsF2\n2HD9uwmDNBFpuQtxr5JAHzK9wyRwKOwSen+rNzVtddb+5FD+1udV8lxNAZSU\nRGlyKYuKkdUW4yWuDO384SrjX5NIISX6ES6pFZumty9NjZ2j9nszZy2NgFRj\nWe3kFBE9PvQi3wLL/ByUSwIwPiE6DtojPV/mRGe5LLKYXPxXL5IVAEy2crfA\nHXRg\r\n=vZvD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICs1lecJMO/7dHLH1swMSUPHHI6tAlDoLdfVtF+vEUjbAiBAa7UJkNmCwMLjBtJZHE3sYWuXOdA0Zyzyt2MV9UqxWw=="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.12_1619405513952_0.7069282695073644"},"_hasShrinkwrap":false},"1.1.13":{"name":"@irim/cli-base","version":"1.1.13","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"d281d5ea0814f1b88d669c2199a41590afbb7ce6","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.13","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-vSVQ/KwsuVlrmSEOOrTp7gWI4VqpH4c2C/1p801PwD0SiAKaQaA5rMyG8sfGyj4m7DToFqA4OeSis/c9NqL29Q==","shasum":"c4a465772a2e60b2a22e2514db5ab4081bd017b6","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.13.tgz","fileCount":53,"unpackedSize":67584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghiybCRA9TVsSAnZWagAATRkP/ipRItCA3t3scTT3PSx4\n9sm6b9Zwvks5nLFsYNYpnM8AGxTUGaZ/sknEK2ZzstLeUHcCqzXQNKgFWLOt\nec1h2CMXCCcYSC37XEvdkRZfupnR+I/urFEG0R/rsALGsABAJb+aA8GaGa8/\nzJnL7b4gzJG99rhYgMOmJK0rMaYs03Qz5oCGJa1oKbiqXS6vpiB2vNd0xBPp\n7cCB9KClE39P8OXM/FZBp6A8yAw9dRjriAYxJSYnDyt4M1VswfvNn+jzrWt1\n2XnOVATpqJPwV3F7Lei1bwC+rpzHVL3sbi4q4K8CAsU9y9LkIN8gpoM46P1Q\nthq3kJKr3DkkRo+cv/FOzp4/TbLi6UID55Qa903GdeVm/MENBzto3BS3Umib\n2XSjUad/in/06KCn9yC57N4FvIeMASnUsNQU9qz+E0GcFBeeFjWufGj4aS6i\nWnZhpV0knde23q0xupNQd+KW9Tbo7EUvk00LDaAHXmOCXCqNRdGCzy0A937C\nbY8zTTbGp2sfv1u3qgFJQbL2oNmVyyoO+CV2d3NAaR+bfORiCRlt+7TfXgfm\nKsfIZ/HjfzF+9nIF1/D3QXHfVkfvZatU7Ejb0zLQGf8tR/Q9ZVUXmi78yFhN\njk0+wjEjsHxAanALXsrwWnOX5ADJxLMZKl1kqvAk9QwrAbK0bg1IJ8H97wuj\nuSg0\r\n=Zeeq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEV0Vp2oMmGsrqQJO3t5KnKXVeZh7Aq25Rgqx0SdtdRDAiEAoIJp5fADOv32WY2Hz0A3MYi82qaaOSdLAv4S0kdsJnU="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.13_1619405979319_0.7858952624432329"},"_hasShrinkwrap":false},"1.1.14":{"name":"@irim/cli-base","version":"1.1.14","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"d1211d479a2d986420910363c13172d890c14441","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.14","_nodeVersion":"12.22.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-2tK/VE+j2aeBEjEjeDCsogohkINiLqvCFjhT/Ra3kgCiiCQ9DqmDUnz0F3lbjznb3Fu/x53joaBHZBWHCWLAwg==","shasum":"5b5f8d8a046016dae130a309dba46c7c5e3413c7","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.14.tgz","fileCount":53,"unpackedSize":69287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiL/hCRA9TVsSAnZWagAAFXcP/3cO3KjoAc3Qt/RtNeqC\nlKlXNFeToAVSEFTX3a//dIB6gOq0LmDxZGCZ4ZIM+lSdGmfwgC51A+Nwdpap\n1CtCU6FDiGO8PSR8m+OSDfXhNE4ksrsuQ7hRKZlzmKC8rPZ1kD3YDJ2Uv++3\nAuFmnMKGlVbnd9H8VV4k9Lp2aGh9vvm7C8na3MBp/8EILSR11fUVYYWY5MOm\nWxBewujtn09OQhF8s7f9pYPHdPkdamL1ljS3Vtd9zR/GB88QtRxHa9bxZDKv\nyM4QZ/HxBhMc4UJ47FtlWgvII1h3WoGavVqRX9xoXpXUV6iQiujtNsaQL758\nK/T6d04RFqR6ch9HmIsxaeqgzYfxtp9xDOwW0LoUE1PljEXmkH6XQmpwBcO2\na3iSrlYYBcaBmwD0o0zNElMM75lmLJLLnXzuDYs02ovcsw2djChb9eYBZhWP\nr2uJY7GHAveeweQwEixtgWRMH0itmynyyjB/ZJ0xH73MFff2S4ahItyeokF6\nZ6bzzT62xJqvAui0s23JY80zLM3B4WHKCb/k791IzS6EnQ1xg32PUByRaQfg\n947oQgi1ipK0IPXL4fVOem3gHI55huyIoe7FRWg9AY9gAFk2ENQSmxox/wI8\n7Y6BiGwntaxmuYgQ3J3CGrz2vZ0udbZnD09jOkY5T+zfd//+bgcli/cvXwwZ\nv5p8\r\n=Mw8l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWrRuS+cnskMX2P+HsDkNbe0fUt9SNgRSAGIZrPJ2WawIgG+45b+kVU4P9pty9bNeoKFVEXIPJtqx1B+SMfEYgpsg="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.14_1619574753411_0.8375195936495774"},"_hasShrinkwrap":false},"1.1.15-beta.1":{"name":"@irim/cli-base","version":"1.1.15-beta.1","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1","single-line-log":"^1.1.2"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"readme":"# CLI BASE TOOLS\n\n![version](https://img.shields.io/npm/v/@irim/cli-base)\n![license](https://img.shields.io/npm/l/@irim/cli-base)\n![downloads](https://img.shields.io/npm/dw/@irim/cli-base)\n\nNode Cli 基础方法库\n\n## Getting Started\n\n- `$ npm install @irim/cli-base --save`\n\n```ts\nimport { consts, utils, files } from '@irim/cli-base';\nconst { print } = utils;\n\nprint('debug', 'hello', 'world');\n```\n\n## API\n\n### 1. consts 静态常量\n\n| 属性名   | 描述                | 类型      |\n| -------- | ------------------- | --------- |\n| HOMEPATH | 用户 home 目录      | `string`  |\n| IS_WIN   | 是否是 windows 系统 | `boolean` |\n\n### 2. utils 一些常用的方法\n\n| 方法名          | 描述                                 | 参数定义                                                                 | 返回值                         |\n| --------------- | ------------------------------------ | ------------------------------------------------------------------------ | ------------------------------ |\n| progressBar     | 返回一个进度条 string                | `recent: number, total?: number, label?: string`                         | `string`                       |\n| print           | 带颜色级别的 console.log             | `type: 'debug'|'info'|'success'|'warn'|'error', ...msgs: BaseType[]`     | `(filepath: string) => any`    |\n| printJSON       | 打印单层的 JSON                      | `json: Record<string, BaseType>`                                         | `void`                         |\n| parseProperties | 解析 .properties 文件，返回一个 JSON | `file: string`                                                           | `Promise<Record<string, any>>` |\n| templateRender  | 最简单的模板渲染                     | `tpl: string, data: Record<string, any> = {}`                            | `string`                       |\n| confirm         | node 控制台二次确认                  | `message: string, defaultValue = false`                                  | `Promise<boolean>`             |\n| select          | node 控制台用户选择                  | `message: string, options: SelectOptions<T>[], defaultValue: T`          | `Promise<T>`                   |\n| multi           | node 控制台用户多选                  | `message: string, options: SelectOptions<T>[], defaultValue: T[]`        | `Promise<T[]>`                 |\n| input           | node 控制台用户输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| password        | node 控制台密码输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| holding         | node 控制台进入等待状态，按回车继续  | `tips = '按回车继续...'`                                                 | `Promise<boolean>`             |\n| exec            | 执行 shell 命令，返回执行结果        | `command: string, cwd = process.cwd()`                                   | `Promise<any>`                 |\n| execSync        | 同步执行 shell 命令                  | `command: string, cwd = process.cwd()`                                   | `SpawnSyncReturns`             |\n\n其中 `input` 和 `password` 方法的第 3 个参数是校验方法，入参是输入的值，如果返回 false 或 Error（支持 Promise），则表示校验失败，例如：\n\n```ts\nutils.input('请输入用户名', null, async (value) => {\n  // 直接校验\n  return value === 'zhangsan'; \n\n  // 返回自定义错误文案\n  return value === 'zhangsan' ? true : new Error('校验失败！');\n\n  // 远程校验\n  return await request(`api/validate?name=${value}`);\n});\n```\n\n#### 扩展的类型定义\n\n```ts\n/**\n * 基本类型，不算 object、null、undefined\n */\nexport type BaseType = string | number | boolean | symbol;\n```\n\n### 3. files 文件操作相关的常用方法\n\n| 方法名          | 描述                                                      | 参数定义                                                                                        | 返回值                   |\n| --------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------ |\n| fileIterator    | 遍历目录文件，执行 callback                               | 见下文                                                                                          | `Promise<any>`           |\n| dirSyncIterator | 遍历目录文件，同步到目标目录，并对每一个文件执行 callback | 见下文                                                                                          | `Promise<any>`           |\n| getFileCount    | 统计目录中的文件数量                                      | `src: string, exclude?: RegExp`                                                                 | `Promise<number>`        |\n| copyDir         | 逐个复制目录中的文件                                      | `options: OptionShape`                                                                          | `Promise<any>`           |\n| clearDir        | 清空目录(有二次确认)                                      | `options: ClearOptions`                                                                         | `Promise<boolean>`       |\n| findInFolder    | 从目录中查找内容符合条件的文件                            | `src: string, callback: (filePath: string, content: string) => boolean, options: SearchOptions` | `Promise<SearchResult[]` |\n\n#### 扩展的类型定义\n\n```ts\n// 遍历文件目录，执行 callback\nexport async function fileIterator(\n  /** 目录路径 */\n  src: string,\n  /** 执行到文件时的回调，如果返回 false 或 async false，则遍历中止 */\n  fileCallback: (filePath: string, fileRelativePath: string) => any,\n  /** 执行到目录时的回调 */\n  dirCallback?: (dirRelativePath: string) => any,\n  /** 忽略的文件 */\n): Promise<any>;\n\n// 遍历文件目录，同步到目标目录，并对每一个文件执行 callback\nexport async function dirSyncIterator(\n  /** 源文件目录 */\n  source: string,\n  /** 目标目录 */\n  target: string,\n  /** 执行到文件时的回调 */\n  callback: (sourceFile: string, targetFile: string) => any,\n  /** 忽略的文件 */\n  exclude?: RegExp\n): Promise<any>\n\n// copyDir 方法的参数\nexport interface OptionShape {\n  /** 文件来源目录 */\n  src: string;\n  /** 目标目录 */\n  dist: string;\n  /** 文件内容替换规则  */\n  replacer?: { holder: RegExp; value: string }[];\n  /** 忽略的文件 */\n  exclude?: RegExp;\n  /** 只读文件（不读取&替换的文件） */\n  readonlyFile?: RegExp;\n  /** 文件名替换方法 */\n  fileNameTransfer?: (name: string) => string;\n  /** 文件内容格式化方法 */\n  contentFormatter?: (content: string, src: string) => Promise<string>;\n}\n\n// clearDir 方法的参数 \nexport interface ClearOptions {\n  /** 要清除的目录 */\n  src: string;\n  /** 是否有二次确认 */\n  confirm?: boolean;\n  /** 二次确认文案 */\n  confirmText?: string;\n  /** 忽略的文件 */\n  exclude?: RegExp;\n}\n\n// findInFolder 方法的参数\nexport interface SearchOptions {\n  /** 是否找到所有文件，默认 false，即找到第 1 个就返回 */\n  all?: boolean;\n  /** 如果指定了 include，则只处理匹配的文件 */\n  include?: RegExp;\n  /** 匹配规则的文件跳过 */\n  exclude?: RegExp;\n  /** 文件大小限制(byte)，超过大小的文件不遍历 */\n  limit?: number;\n  /** 读取文件的编码，默认是 utf-8 */\n  encoding?: BufferEncoding;\n}\n\nexport interface SearchResult {\n  filePath: string;\n  fileRelativePath: string;\n  fileSize: number;\n}\n```\n\n## CHANGELOG\n\n<!-- - **version**: change logs -->\n- **1.0.0** 发布 1.0 版本，整合并优化 已有能力\n- **1.0.4** 优化文档，迁移代码仓库\n- **1.1.0** 去掉 `BaseAction` ，简化架构\n- **1.1.7** 增强 `utils.print` 方法，可以将日志输出到本地\n- **1.1.9** 新增 `utils.multi` 方法，可以用于多选\n- **1.1.11** 优化 `files.copyDir` 方法，修改默认的配置项\n- **1.1.14** 新增 `utils.promiseTimer` 方法，可以将 promise 方法封装成带超时机制的方法\n\n## LICENSE\n\nBSD-3-Clause License\n\n## Contact Us\n\n[CAIHUAZHI](mailto:huarse@gmail.com)\n","readmeFilename":"README.md","gitHead":"d1211d479a2d986420910363c13172d890c14441","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.15-beta.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-hJVE4YCkjEt9VwOpNeAOh4ldm7JT0+QYrH3kwf862qGvBoBU3Cn28Ah6hrBirkqtyUUUh+yErTOMSyHeWdrH1w==","shasum":"40297a98f50ca75d56d3a02a251b250556fe0c0a","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.15-beta.1.tgz","fileCount":53,"unpackedSize":69919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmq8bCRA9TVsSAnZWagAAdYkP/1zgoLgP9Dpv9hqyS9/Y\ns9fk0ZakA+DH1xGyi3Zgf0XjgYTH0ZNqqjyL3THkBlbnHxZW3hGv5hr0aTAa\n8pBspgXQixFvi1h7AuRcZr7h/nSAkvckcyXefKqfL2QlmQnLXetg8Ei0zTsX\nolb/YEcy52NZZywKWTz73NiMmc5tPNEU/gRleJ1ecQR9eK0h/KJ2kMzqnZBX\nlFgbtUGk80ATAsR/t9pjkMhyqMW8lqk+UtSm56xaR+KPsNxqHfzCzucxsmLN\nJI50KWVsYttYdVxMd1QP8hzSFeiKiO5Vu3E0yiU4dkBkdl/Y8vzkYgMEoB9K\nFrLRDpXgTtOWRuN6hS2kP9A35qlSdzdxrWzy5zsYNpLz8H+zcfaACQ4vSAxb\nKtEhT21ImCLBIZCFJRBSiKp/1JCYlYGuUzHxYrpIGVLson6hLsaM+uwha8Va\n7avYgr/SOu/kTMIVs3CVSPq6V7AU4XZgMHBWH9/4bYtkwXnWdEOU0RETSrd/\n7HzrAK4jb8phQbifjqm/WqK49wbIK4llIFe77va5o7zWk4Mlpqfq5Lh2/46Y\nZZ/CZK48sNT/NuwmmzDRaReA9wbgAH62zOt0tKcypYWLXL8PXhqB+pquVGGb\n7grfGmsxd9QrCBd9IKvv0yJ8LCG3T2uNRXoLuCBql4n075PCtMktkJ+NGQWR\ntnR7\r\n=+bin\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEXY4QVrjwX2oLyjgPRGKa/cM+PBw4N92cLPqTCQNNH+AiEAv4UBcj8AdNRb9fLxFruGTynwQZscgtHRsXD2nfqoaUk="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.15-beta.1_1620750106704_0.7561635572476275"},"_hasShrinkwrap":false},"1.1.15":{"name":"@irim/cli-base","version":"1.1.15","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"3415426e2eab1fb6935b8ef8872c07950018707c","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.15","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-qTHMHGT36RnOqV+HGzrEa6ZpU/pKf4NI1JhEGwT5dfOlbSOyiElUliPMplOU49huLQqzZu+a06fRS2URgzmMEA==","shasum":"29e682f06acd8a48e19de8e3ed5abe849731aa92","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.15.tgz","fileCount":53,"unpackedSize":70080,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmrQSCRA9TVsSAnZWagAAei0P/3K+j6QZd5z4A7jBAbqu\nir5AC8dJLb4XJ0W1M1ZT7pH4MYjdkTRlz9ncM7L1dWfnjt+KSXgwmWBfKAQr\npjOsIq3Js2OSLD8rsCa+7uG6bvNXzU+1p/nZJKWy+xMpy+cF9LvsYRHL1OaJ\nOqpQNkYYc7S12qN4PUFRK7H3T61QGICXa5bqxe8QtzC2VW5PqYI0ccTgnsqD\naZipF0vCASFziuWhttBdweeI0VvUBQm5QK4vJn2B7gqPZFx8trqe83lfbtpt\nf3Als8sX5/dPQJPpm3zMtipfilXXG8hzMg/+81QWVleoK9F2oR/EMqFR53za\nBMo2ROUPSQhJjR+UJGylH9xLFWRpj9B1GwwlkSXe3YcquVfdkVfmMKjAX/Fl\n+juVtybtW5ArPtXEPlNuUw2ASvh9UC3zjgfVzEer0FLTW9ipaZkxCl/UFrmB\ng/fDSjgKa24iXxFRW2oNxHLGis75DpyaNxF09qydkYpJIluMaXmeNfXuX936\ncorn9oo9L8ycNhowQm0aPWzONqxGj6gxlQO68jhp9SyBXFDf9NzFWKE4CtRq\na57/VcMHS4cjJ5g74xvEBrYr29HxAC98Mr83YElNStRxRfJerVDM1O1m3Rb7\nYL3dZJmNdMu5K98MAqSpjLHQqSp5324K8OFclyMgBum2CzIH9SRvZqE3hzV5\nZfsX\r\n=GYbr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAG1X/45MlvJfbicZWi5ik59vNtTBIitzMSKMN1pW24mAiEA1gc03KuDv4+Leh6UQ6WjFYrkiwnXKI6RFJj88YbFwiE="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.15_1620751377671_0.05156704227684372"},"_hasShrinkwrap":false},"1.1.16":{"name":"@irim/cli-base","version":"1.1.16","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"3c3a87e2768b9e807c25c2252b223106cab9a01c","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.16","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-qorhhs6ptuXrqi6lYEdZoiZNP1xxW7vwhsv88ZK6lMch3yIRGK2Yq1IY8sXk4FKkIOjObAF36bwia7KkaS2x/A==","shasum":"7a2f8c78faa7917a5c2db505deadaacaaa983875","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.16.tgz","fileCount":53,"unpackedSize":70733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgneAlCRA9TVsSAnZWagAArbkQAJrk88k+52J1De67bq1N\n8P4g/7QrPjOEJ195RUMCBj69ZE+MHvWewWq8eLyAWV+mOf36GyD6vRbZJQDP\n9mwgtfl0wNKZmdYpiWZB8a1X/gJJbxk+hxxEcUkD/8egP7SjNfZx88R6fDeD\njWdRVzW+1RpVTU00mFirfmr3xUf8bDnA9OeNBF0U7h3IABzrk19LqxFj5Vo8\nzHh1MNGGlrGa729qlfeL46LJ9LIAuTNFwNOAMUW9OL8E2FvjUqsVSVQMnNNA\ng9PeslvZtoCjgIjGy81Jl0J9ZeneSsixjd3EYQPhpakZqTjagV+cN0GZcXzT\nHiGhXhWDqbOIcT/LtkzfiPC/6uZfe2VTYbpb5oeK03r4aCjKnd05soSMbvaJ\nt8W3AFXari4neshLQ10NuQtuCok9r07qvD72uqlUVpBQQr3oeF3fPqHfuqT+\nLDw1nd/PgpDv5vOl2AbkOcxTJD5aKvFrWfK9GNCkj+63NHm9W/0XYnf16/uo\n4zplb7h2rNh93JWu8EC/cfiaFXVlFiu+se1uBsL8+/wOQcbZFXU9Vr367kT2\nIuDnUZLJC5CMEEhz+gOPaXx++ckuG5ZMPDY7o+jjixmgDnqHH+vetP/dHbV8\nD0BCBnCCDBZUWT8pttCDb38kUZD6BPsj8VdK2CE+fdChNwqOqT9+vXCSlLc0\nVrAZ\r\n=j3yP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZhGg/LT55pFDwM/VGx3KuEOFFsblP9i9+mY7h1jPC0AiBWxkWQrmv16t6Y8fWoSlYnB+cUIh96z+RviKso6l+V6w=="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.16_1620959269211_0.7235541814993967"},"_hasShrinkwrap":false},"1.1.17":{"name":"@irim/cli-base","version":"1.1.17","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"8d41431af6a758fa72e8eb9fb1e94e742626f20d","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.17","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-4ezS1z2m9R/0O/kefNyz3H/Qf0aZMQZRZckH4v76dNd2mtnryfU5okocw9+iru1v8ev6qjPgymG8oSdwG+pzfw==","shasum":"20bf3fe50e811609ca5d36c683f412e05bfab8b6","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.17.tgz","fileCount":53,"unpackedSize":70754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpJD1CRA9TVsSAnZWagAAV5gP/jarti9hpNx1CNvGY3aS\nx+qkD9NU+9qzjIt/aL7tCGTjoKmWIFfpEpz2QyttYF3B5nVV0cSGqKQryGCM\neW659sRrKLSNOaEJ//cxHQtgzLa27oBxADsTXUZGz8YPAOkq8cTa6ZY/NEVo\nBuXmKjY3yBbN1CdKiXLCfeKtdrFBX7NUNOsUcSGWwz9ZTw0SdkhWTn3wjiuT\nphPHCo+HGwCTuccx+XXvruVskd5h382ZOR4LfRr1SqH51vcR0JMzYu7ApI00\nv1FhnsglwaHTazh1u/HywtS/diUeLybypWWknkFTmZlUwp+wb37PDdgOIL4j\nIeHPyIHCYalQ9hldB4YzhU93gZUPb1y20Y2etizZM7N2B0PCc2V5ZwiZ+DNN\nDeRNsS7+VkfpRoRfU4TenVm292iO1RRBo51jaktSeU8qXUjDatnGrw06Fhtv\nZdcRPxYllf957n1vGHZyvMdByYYOtUD+KJncXs6qOjwypTrcpN+00MaVXxd5\nZrgCj926tUeygdNOQu8ycioaPVK2G41vpTHS2plHCTq/z9ms09ZO1obw30As\nuzxm50vlgp+NpLGs6qqSJxmI+4YeBQOf2hkRz1cgxfTceQD6vcP+q7Dz3lIX\nqa3G2HMYEr87ZcYJwjCijV+tuL5rpaC2CXIU0WQ+XRjPeJfRdNRbINSQv2rZ\nsb5s\r\n=nTQX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC1cxWzWLiDXgZnvXJ8+/4VgE0h7XnixUDRSPnEHlnK0AiEA55BFPU3+TcZgLj/gySyq+u7xDghI22qMupE+nztzjlk="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.17_1621397748624_0.7599619831684523"},"_hasShrinkwrap":false},"1.1.18":{"name":"@irim/cli-base","version":"1.1.18","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"6f42e8085ba6be69d3712259fe1f900ff6600e9f","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.18","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-KxHtsa0s1eYp9KB0BPrhNKflqe9KHBC7OKnPnWOIT/l/2afp7GH1X3VrcH4rF3DiXWkgY+ZJdCDeOq3/7asmgg==","shasum":"44d0e58126bdf58659a619b5e68d0bb14742c14d","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.18.tgz","fileCount":53,"unpackedSize":70765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguJ+wCRA9TVsSAnZWagAA39sP/jQ6ucRtaQJAizNv8wg+\ne28tC+Z8qe7AFLPaKqjoIj4CyvGpJX0Iqo2nwAz1pYEMHhPbuYorA0bu04IQ\nTLOy2mwGQNlf4Bkull4VHPCurEE0OwOta/ZtXqxX4nc2e51Bj0vJuAE8ga/G\nXxxkREcjUsB/w44fse26T3+YLod/z7theotmxSZwqJXjEP8H9kKEx7J5E1U6\nVTNOBQlhDVkjOy/xIEDLQ3PEo3GNEIIVBb0pwrIvpkvn2X+L5qScOv3o6cug\nT+f4F9PDGU+uolQT8o/+sCnD+fGmlcqpLYPBTqbq8unrXd9LC7s79FnXkoYe\nKxFtTjmPl9j2GUs3k77/xy54xY7//hqgkNzCzg+rZ+gzz86h4dXeosF0lzZF\nbuktuRe5c0L8hLImzF210LBezMyFbElVBKWnqujNTRADNF9RmU2UjoYPsVhY\nybxAtaO11r16yxaDwibukBEg23kZ+4kL8/TX/pZST0pJOmlt29nnIZ4KX4bO\n++lkpd1Jl8nZyOU5Poxy1ToHN0FhzSO4AnTu4z1KKxSnqO7gDnoeBW83D4lQ\nYwRi//QIluU+o3QbaZqFayy/kcWSbrRQLNWKBUjlfB2QXEtp5le5GrkZE3jI\nO/3VM53nX14gAdwWoqAH+riXKXCm2bOdbK1aodoUnLkRnZAN7RfREwbDw/ng\nJfxW\r\n=6G1E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDsqsJWJ5sOGSjMeANxAXCUO2goOZj+5KbA/ixEqKx7DAiAWu39vL3yuraLVD5+E365NBTBaMq7pZUYJh/FrjhFvnA=="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.18_1622712240630_0.46449403125440036"},"_hasShrinkwrap":false},"1.1.19":{"name":"@irim/cli-base","version":"1.1.19","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"8f746c8e3e959782a71fc9c7565538bf5854f5bf","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.19","_nodeVersion":"14.17.2","_npmVersion":"6.14.13","dist":{"integrity":"sha512-EbndEL2hL10qbSVuK0KlLB/mEZ8YPx1jYzIucdUT3LcDHA2wQxuQasoNMJOAf4g/Ee3+S3Zgff5OSiGFPwg1wQ==","shasum":"47f228aab6d76b16497aeda2e60cd110fd710049","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.19.tgz","fileCount":53,"unpackedSize":70809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7VGDCRA9TVsSAnZWagAAlwkP/0sJHkgoXKd135KDb62w\nUdcZrDDgWh1jI5JGSJPHqSas6mS20mp+q+8h9o9CPFNP0yVlYwZc6BWxialJ\nilnAXyjzovBwYD6WT73fYENej8CySdyXMRWt8r7vJo4utfQGrNJQxyTFgEDU\nfa6c1KMhSWrSFMy2TY8+ZGz4VRN6hZEGJV9ukS6f9mohe/ougeoBOk7V+8xb\nSqg0DNQt9HvzyldbJS+UlxkGICj1FeoQUOQkmlrlzKbQs/WxMMQFGU98WMr3\nlRjy18d6k835cC/gA/4jaPGtVEIQul4bE6ANTRTosV99vZ8CBoob1qaZEWJX\nhdKtMNrQfrYMUvmqV1OFMv5MRgZA/OOIv6JDY6wyjkYaSDWgzlHgUGGBlIcv\nEf0RMMfQ23VUZ7KJYC/8mT5NlouyBBkdhw443f2iVlsfR5qqh3ONDLR7aMwk\n2LqLHscxb1Ct8kOxWcoMqswrQWYlkv1U8SMKt9PFM6pIQBRre5bbcit6pGes\nyyEZvfMWzHZOrJU6MoZk8LawSZPoG6Yi1iDKBmsvip+zz55uZCSNBDcXJefU\nqXWZ0PT5YZIqDYlKlHKeectTZIppuh06L9IT4z9DEVUry2kOCbd6uDUWkHRe\nDH9M9B2u7SyueDO+4ycy6BUYcxDscL7u4aRhZdZldE0GGzgcH7Vqm5nLjw2y\nT9dL\r\n=hHYe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNk0NLVopuKSp9blKGL+NqaxxkdtYIIw++vFlAbB/R+AiEAucj1TQ9Y9jhqgEjwkpZlsYSryo64O08sAH5UYWEYS+4="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.19_1626165635158_0.77143914946599"},"_hasShrinkwrap":false},"1.1.20":{"name":"@irim/cli-base","version":"1.1.20","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"lint":"eslint --fix --ext .js,.ts ./src","build:lib":"tsc --outDir lib --module CommonJS --target ES2019","build:esm":"tsc --outDir esm --module ES6 --target ES2019","build":"npm run build:lib && npm run build:esm","prebuild":"npm run lint && npm run clear","build:watch":"tsc --outDir lib --module CommonJS --target ES2019 --watch","clear":"rm -rf lib esm types","test":"jest --config=config/jest.config.js","test:watch":"jest --config=config/jest.config.js --watch","prepublishOnly":"npm run build"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","husky":{"hooks":{"pre-commit":"npm run lint && npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^9.1.0","inquirer":"^7.3.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.13.16","@babel/preset-env":"^7.13.15","@babel/preset-typescript":"^7.13.0","@commitlint/cli":"~12.1.1","@commitlint/config-conventional":"~12.1.1","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.11","@types/inquirer":"^7.3.1","@types/jest":"^26.0.22","@types/node":"^14.14.41","@typescript-eslint/eslint-plugin":"~4.22.0","@typescript-eslint/parser":"~4.22.0","eslint":"~7.25.0","husky":"~4.3.8","jest":"^26.6.3","typescript":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"00af2a76658f24c5cfd950c347e7ee5e562c0787","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.1.20","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-UzPjPTAr1o3AliFnn2LWblTPRh/xcq2AiXic1zf3zltAWKx3IlcsxeNgAc9sX6y+EVbp7UiF6lepg9IlatF5tg==","shasum":"5a83806685c976eddeda9053515811c6108a2432","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.1.20.tgz","fileCount":53,"unpackedSize":71141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2MEvCRA9TVsSAnZWagAAphYP/1LmFCdzmBy9XEho1Qq4\nUUdgj8eOrj+lm+H6u2CMtdViQehbcz6muxejO/DnMrpGMTT7lA2EWckn4f+y\nH+bESrDS4ULJ59ttRpyQgje8yeWShlEIHe0c8u5B8By4knUuzdrbpdiS3pBD\nQCGMZuKmbwHUiLjP8ScNz89vRRGkyjSowQexmQJPiss37Boq1uXbMy+C5s9D\nfnm+3Z8r/W7kCTrMmC9HpgP4mk6GErppj2VNp3cv3xEu8H2JFcnAvlLbSCqy\nCSC5dyfyZiRfrvh+mBWeMS27s1fk/h7tbEV3YI1pUdWfCC5UpHYG/demKlO4\ns9MK1P/W3nEh5JJ22F7B3GktL9FHU0HAnAzKbnNIwGBqzogXZS7KZ/xQzHRF\nsZk23bpcopbTE/ZN4Rn7faJn96hHrFRScX9U1b2Vau/tf9oftwNQZFEx5nuQ\nlsM6N/XagSKw4yR9nE9fCItnFcfXVFHQwbX9h8iGQWJ/J0cXjxYq7VxvAQiO\nL6v2T0GGQO+ud6m2QmKsd9pOce6Q8Ax0LvuWkSGfqREepcSq9xA7PSAfSNIg\nj6XCdV0m5P/1o1yuTpOK8O9NEthdMb94YSArU3r6NH577BwAsY3Perlnv5qF\n1pKEPGgO8zR8wG8t8+ejOKpWYtDSl9mtWjH9dSA6EuNcE2d6CoWihAOFHn2Q\n8HEV\r\n=XCad\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA7LtBNebq14D3hXK6Iccw/U8cjXPp/kSqw6aR134rLYAiAi+EiYqQMamQpG81u3J4oLF0YC4Mg6Vw1KyYwKjWYAnw=="}]},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.1.20_1632642271684_0.14984147442783935"},"_hasShrinkwrap":false},"1.2.0-beta.1":{"name":"@irim/cli-base","version":"1.2.0-beta.1","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"build:lib":"tsc --outDir lib --module CommonJS --target ES2017","build:esm":"tsc --outDir esm --module ES6 --target ES2017","build":"npm run build:lib && npm run build:esm","prebuild":"npm run eslint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2017 --watch","clear":"rm -rf ./{lib,esm,types}","test":"jest","test:watch":"jest --watch --silent","prepublishOnly":"npm run build","eslint":"eslint --ext .ts,.tsx ./src","eslint:fix":"eslint --fix --ext .ts,.tsx ./src","prettier":"prettier -w '**/*.{js,jsx,tsx,ts,less,md,json}'","prepare":"husky install .husky"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","lint-staged":{"*.{js,jsx,less,md,json}":["prettier --write"],"*.ts?(x)":["prettier --parser=typescript --write","eslint --fix"]},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^10.0.0","inquirer":"^8.2.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@commitlint/cli":"^17.4.4","@commitlint/config-conventional":"^17.4.4","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.0","@types/inquirer":"^8.0.0","@types/jest":"^28.1.4","@typescript-eslint/parser":"^5.52.0","eslint":"^8.34.0","eslint-config-intl":"^1.0.1","husky":"^7.0.4","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","lint-staged":"^12.4.1","prettier":"^2.8.4","typescript":"^4.9.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"readme":"# CLI BASE TOOLS\n\n![version](https://img.shields.io/npm/v/@irim/cli-base)\n![license](https://img.shields.io/npm/l/@irim/cli-base)\n![downloads](https://img.shields.io/npm/dw/@irim/cli-base)\n\nNode Cli 基础方法库\n\n## Getting Started\n\n- `$ npm install @irim/cli-base --save`\n\n```ts\nimport { consts, utils, files } from '@irim/cli-base';\nconst { print } = utils;\n\nprint('debug', 'hello', 'world');\n```\n\n## API\n\n### 1. consts 静态常量\n\n| 属性名   | 描述                | 类型      |\n| -------- | ------------------- | --------- |\n| HOMEPATH | 用户 home 目录      | `string`  |\n| IS_WIN   | 是否是 windows 系统 | `boolean` |\n\n### 2. utils 一些常用的方法\n\n| 方法名          | 描述                                 | 参数定义                                                                 | 返回值                         |\n| --------------- | ------------------------------------ | ------------------------------------------------------------------------ | ------------------------------ |\n| progressBar     | 返回一个进度条 string                | `recent: number, total?: number, label?: string`                         | `string`                       |\n| print           | 带颜色级别的 console.log             | `type: 'debug'|'info'|'success'|'warn'|'error', ...msgs: BaseType[]`     | `(filepath: string) => any`    |\n| printJSON       | 打印单层的 JSON                      | `json: Record<string, BaseType>`                                         | `void`                         |\n| parseProperties | 解析 .properties 文件，返回一个 JSON | `file: string`                                                           | `Promise<Record<string, any>>` |\n| templateRender  | 最简单的模板渲染                     | `tpl: string, data: Record<string, any> = {}`                            | `string`                       |\n| confirm         | node 控制台二次确认                  | `message: string, defaultValue = false`                                  | `Promise<boolean>`             |\n| select          | node 控制台用户选择                  | `message: string, options: SelectOptions<T>[], defaultValue: T`          | `Promise<T>`                   |\n| multi           | node 控制台用户多选                  | `message: string, options: SelectOptions<T>[], defaultValue: T[]`        | `Promise<T[]>`                 |\n| input           | node 控制台用户输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| password        | node 控制台密码输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| holding         | node 控制台进入等待状态，按回车继续  | `tips = '按回车继续...'`                                                 | `Promise<boolean>`             |\n| exec            | 执行 shell 命令，返回执行结果        | `command: string, cwd = process.cwd()`                                   | `Promise<any>`                 |\n| execSync        | 同步执行 shell 命令                  | `command: string, cwd = process.cwd()`                                   | `SpawnSyncReturns`             |\n\n其中 `input` 和 `password` 方法的第 3 个参数是校验方法，入参是输入的值，如果返回 false 或 Error（支持 Promise），则表示校验失败，例如：\n\n```ts\nutils.input('请输入用户名', null, async (value) => {\n  // 直接校验\n  return value === 'zhangsan'; \n\n  // 返回自定义错误文案\n  return value === 'zhangsan' ? true : new Error('校验失败！');\n\n  // 远程校验\n  return await request(`api/validate?name=${value}`);\n});\n```\n\n#### 扩展的类型定义\n\n```ts\n/**\n * 基本类型，不算 object、null、undefined\n */\nexport type BaseType = string | number | boolean | symbol;\n```\n\n### 3. files 文件操作相关的常用方法\n\n| 方法名          | 描述                                                      | 参数定义                                                                                        | 返回值                   |\n| --------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------ |\n| fileIterator    | 遍历目录文件，执行 callback                               | 见下文                                                                                          | `Promise<any>`           |\n| dirSyncIterator | 遍历目录文件，同步到目标目录，并对每一个文件执行 callback | 见下文                                                                                          | `Promise<any>`           |\n| getFileCount    | 统计目录中的文件数量                                      | `src: string, exclude?: RegExp`                                                                 | `Promise<number>`        |\n| copyDir         | 逐个复制目录中的文件                                      | `options: OptionShape`                                                                          | `Promise<any>`           |\n| clearDir        | 清空目录(有二次确认)                                      | `options: ClearOptions`                                                                         | `Promise<boolean>`       |\n| findInFolder    | 从目录中查找内容符合条件的文件                            | `src: string, callback: (filePath: string, content: string) => boolean, options: SearchOptions` | `Promise<SearchResult[]` |\n\n#### 扩展的类型定义\n\n```ts\n// 遍历文件目录，执行 callback\nexport async function fileIterator(\n  /** 目录路径 */\n  src: string,\n  /** 执行到文件时的回调，如果返回 false 或 async false，则遍历中止 */\n  fileCallback: (filePath: string, fileRelativePath: string) => any,\n  /** 执行到目录时的回调 */\n  dirCallback?: (dirRelativePath: string) => any,\n  /** 忽略的文件 */\n): Promise<any>;\n\n// 遍历文件目录，同步到目标目录，并对每一个文件执行 callback\nexport async function dirSyncIterator(\n  /** 源文件目录 */\n  source: string,\n  /** 目标目录 */\n  target: string,\n  /** 执行到文件时的回调 */\n  callback: (sourceFile: string, targetFile: string) => any,\n  /** 忽略的文件 */\n  exclude?: RegExp\n): Promise<any>\n\n// copyDir 方法的参数\nexport interface OptionShape {\n  /** 文件来源目录 */\n  src: string;\n  /** 目标目录 */\n  dist: string;\n  /** 文件内容替换规则  */\n  replacer?: { holder: RegExp; value: string }[];\n  /** 忽略的文件 */\n  exclude?: RegExp;\n  /** 只读文件（不读取&替换的文件） */\n  readonlyFile?: RegExp;\n  /** 文件名替换方法 */\n  fileNameTransfer?: (name: string) => string;\n  /** 文件内容格式化方法 */\n  contentFormatter?: (content: string, src: string) => Promise<string>;\n}\n\n// clearDir 方法的参数 \nexport interface ClearOptions {\n  /** 要清除的目录 */\n  src: string;\n  /** 是否有二次确认 */\n  confirm?: boolean;\n  /** 二次确认文案 */\n  confirmText?: string;\n  /** 忽略的文件 */\n  exclude?: RegExp;\n}\n\n// findInFolder 方法的参数\nexport interface SearchOptions {\n  /** 是否找到所有文件，默认 false，即找到第 1 个就返回 */\n  all?: boolean;\n  /** 如果指定了 include，则只处理匹配的文件 */\n  include?: RegExp;\n  /** 匹配规则的文件跳过 */\n  exclude?: RegExp;\n  /** 文件大小限制(byte)，超过大小的文件不遍历 */\n  limit?: number;\n  /** 读取文件的编码，默认是 utf-8 */\n  encoding?: BufferEncoding;\n}\n\nexport interface SearchResult {\n  filePath: string;\n  fileRelativePath: string;\n  fileSize: number;\n}\n```\n\n## CHANGELOG\n\n<!-- - **version**: change logs -->\n- **1.0.0** 发布 1.0 版本，整合并优化 已有能力\n- **1.0.4** 优化文档，迁移代码仓库\n- **1.1.0** 去掉 `BaseAction` ，简化架构\n- **1.1.7** 增强 `utils.print` 方法，可以将日志输出到本地\n- **1.1.9** 新增 `utils.multi` 方法，可以用于多选\n- **1.1.11** 优化 `files.copyDir` 方法，修改默认的配置项\n- **1.1.14** 新增 `utils.promiseTimer` 方法，可以将 promise 方法封装成带超时机制的方法\n\n## LICENSE\n\nBSD-3-Clause License\n\n## Contact Us\n\n[CAIHUAZHI](mailto:huarse@gmail.com)\n","readmeFilename":"README.md","gitHead":"2cde3104656a52a7c73821222d9fc25a908950e8","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.2.0-beta.1","_nodeVersion":"14.18.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-L7EKJlT8xVn0O05XJ87eHdZoGpC1zh5sWP5CsfIpDA3wZ78endhUrmKEWKIl6vVdPOtfc6S/buEEJFm5pNO7TA==","shasum":"e1801ff4b4cf778d562fa8884a58a1ecf52aa174","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.2.0-beta.1.tgz","fileCount":53,"unpackedSize":72556,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfVVuIVH6w2rgWL66GB1fsr4HVenFylUSHDAnCHlUwWAiBBWr1UbSsq15yJBkIJ7je0k19oiM/e5M9Faa2+T/YUpg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8FURACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGjA/+OoUPydfE6UjusfEct8Q/CKNVdllyZzkdTBR04V9EUVJrLib9\r\nc1GjlNb5JTRy8UhMHHT0LbmmPxig5obPkb2x+KgvrobhxJK+zpj4C9iOmpb1\r\nf6XqCbITd6rEklhawmwSf9kT7+VfksZTj9BK+tPTI70BzuoySsAQd8LhQcVA\r\nvG+fWx58EV7+KAI4loVXiYk0huZmwzR0ku9H4F6PE30M2DweNIHcedXxTj+K\r\nbu8MqAVqvqLg76iGtqURhM8mV+xbQBmtXIlarY/HjJikqcNbnKuqIQF4CdoM\r\neQITrUJBcxYbVznsSTUgfFT531mKOgDvTQnpWPCqAj6TeaC4MAodGZBmjeSP\r\nwoZK9T/HJKpUH3U2JzWZqkjiHHLg/HcP7x8y26EHcp4FsD43nAG5VMuxMZoP\r\nRM6TaLLShUfalPR5VsZopgDMUZnsck4WaTPN1BeJe8MZEOCIegQRJPO71pDc\r\n+tNGlSS+cpkIM0tWbLFRpOTo09OxFLQWL3EiFFnJUKTN/zryTlVGIud4Jdck\r\nq/YN10wbA6+Hyj6iqA8/fopRTc1SlNUh/TBlJWFRhkfes/AmkheJSecuwuWf\r\ngYk//lf0lo6yB+S2pbt2x30b6bqYvrrEfanZyLoTwaQ+BITdKsnNeKpFqlCU\r\ntRZSUzek2iJLEWQGi39a2Px/KKKpyDKMjP4=\r\n=Y7zB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.2.0-beta.1_1676694801272_0.440846697750251"},"_hasShrinkwrap":false},"1.2.0-beta.2":{"name":"@irim/cli-base","version":"1.2.0-beta.2","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"build:lib":"tsc --outDir lib --module CommonJS --target ES2017","build:esm":"tsc --outDir esm --module ES6 --target ES2017","build":"npm run build:lib && npm run build:esm","prebuild":"npm run eslint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2017 --watch","clear":"rm -rf ./{lib,esm,types}","test":"jest","test:watch":"jest --watch --silent","prepublishOnly":"npm run build","eslint":"eslint --ext .ts,.tsx ./src","eslint:fix":"eslint --fix --ext .ts,.tsx ./src","prettier":"prettier -w '**/*.{js,jsx,tsx,ts,less,md,json}'","prepare":"husky install .husky"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","lint-staged":{"*.{js,jsx,less,md,json}":["prettier --write"],"*.ts?(x)":["prettier --parser=typescript --write","eslint --fix"]},"dependencies":{"chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^10.0.0","inquirer":"^8.2.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@commitlint/cli":"^17.4.4","@commitlint/config-conventional":"^17.4.4","@types/cross-spawn":"^6.0.2","@types/fs-extra":"^9.0.0","@types/inquirer":"^8.0.0","@types/jest":"^28.1.4","@typescript-eslint/parser":"^5.52.0","eslint":"^8.34.0","eslint-config-intl":"^1.0.1","husky":"^7.0.4","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","lint-staged":"^12.4.1","prettier":"^2.8.4","typescript":"^4.9.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"readme":"# CLI BASE TOOLS\n\n![version](https://img.shields.io/npm/v/@irim/cli-base)\n![license](https://img.shields.io/npm/l/@irim/cli-base)\n![downloads](https://img.shields.io/npm/dw/@irim/cli-base)\n\nNode Cli 基础方法库\n\n## Getting Started\n\n- `$ npm install @irim/cli-base --save`\n\n```ts\nimport { consts, utils, files } from '@irim/cli-base';\nconst { print } = utils;\n\nprint('debug', 'hello', 'world');\n```\n\n## API\n\n### 1. consts 静态常量\n\n| 属性名   | 描述                | 类型      |\n| -------- | ------------------- | --------- |\n| HOMEPATH | 用户 home 目录      | `string`  |\n| IS_WIN   | 是否是 windows 系统 | `boolean` |\n\n### 2. utils 一些常用的方法\n\n| 方法名          | 描述                                 | 参数定义                                                                 | 返回值                         |\n| --------------- | ------------------------------------ | ------------------------------------------------------------------------ | ------------------------------ |\n| progressBar     | 返回一个进度条 string                | `recent: number, total?: number, label?: string`                         | `string`                       |\n| print           | 带颜色级别的 console.log             | `type: 'debug'|'info'|'success'|'warn'|'error', ...msgs: BaseType[]`     | `(filepath: string) => any`    |\n| printJSON       | 打印单层的 JSON                      | `json: Record<string, BaseType>`                                         | `void`                         |\n| parseProperties | 解析 .properties 文件，返回一个 JSON | `file: string`                                                           | `Promise<Record<string, any>>` |\n| templateRender  | 最简单的模板渲染                     | `tpl: string, data: Record<string, any> = {}`                            | `string`                       |\n| confirm         | node 控制台二次确认                  | `message: string, defaultValue = false`                                  | `Promise<boolean>`             |\n| select          | node 控制台用户选择                  | `message: string, options: SelectOptions<T>[], defaultValue: T`          | `Promise<T>`                   |\n| multi           | node 控制台用户多选                  | `message: string, options: SelectOptions<T>[], defaultValue: T[]`        | `Promise<T[]>`                 |\n| input           | node 控制台用户输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| password        | node 控制台密码输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| holding         | node 控制台进入等待状态，按回车继续  | `tips = '按回车继续...'`                                                 | `Promise<boolean>`             |\n| exec            | 执行 shell 命令，返回执行结果        | `command: string, cwd = process.cwd()`                                   | `Promise<any>`                 |\n| execSync        | 同步执行 shell 命令                  | `command: string, cwd = process.cwd()`                                   | `SpawnSyncReturns`             |\n\n其中 `input` 和 `password` 方法的第 3 个参数是校验方法，入参是输入的值，如果返回 false 或 Error（支持 Promise），则表示校验失败，例如：\n\n```ts\nutils.input('请输入用户名', null, async (value) => {\n  // 直接校验\n  return value === 'zhangsan'; \n\n  // 返回自定义错误文案\n  return value === 'zhangsan' ? true : new Error('校验失败！');\n\n  // 远程校验\n  return await request(`api/validate?name=${value}`);\n});\n```\n\n#### 扩展的类型定义\n\n```ts\n/**\n * 基本类型，不算 object、null、undefined\n */\nexport type BaseType = string | number | boolean | symbol;\n```\n\n### 3. files 文件操作相关的常用方法\n\n| 方法名          | 描述                                                      | 参数定义                                                                                        | 返回值                   |\n| --------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------ |\n| fileIterator    | 遍历目录文件，执行 callback                               | 见下文                                                                                          | `Promise<any>`           |\n| dirSyncIterator | 遍历目录文件，同步到目标目录，并对每一个文件执行 callback | 见下文                                                                                          | `Promise<any>`           |\n| getFileCount    | 统计目录中的文件数量                                      | `src: string, exclude?: RegExp`                                                                 | `Promise<number>`        |\n| copyDir         | 逐个复制目录中的文件                                      | `options: OptionShape`                                                                          | `Promise<any>`           |\n| clearDir        | 清空目录(有二次确认)                                      | `options: ClearOptions`                                                                         | `Promise<boolean>`       |\n| findInFolder    | 从目录中查找内容符合条件的文件                            | `src: string, callback: (filePath: string, content: string) => boolean, options: SearchOptions` | `Promise<SearchResult[]` |\n\n#### 扩展的类型定义\n\n```ts\n// 遍历文件目录，执行 callback\nexport async function fileIterator(\n  /** 目录路径 */\n  src: string,\n  /** 执行到文件时的回调，如果返回 false 或 async false，则遍历中止 */\n  fileCallback: (filePath: string, fileRelativePath: string) => any,\n  /** 执行到目录时的回调 */\n  dirCallback?: (dirRelativePath: string) => any,\n  /** 忽略的文件 */\n): Promise<any>;\n\n// 遍历文件目录，同步到目标目录，并对每一个文件执行 callback\nexport async function dirSyncIterator(\n  /** 源文件目录 */\n  source: string,\n  /** 目标目录 */\n  target: string,\n  /** 执行到文件时的回调 */\n  callback: (sourceFile: string, targetFile: string) => any,\n  /** 忽略的文件 */\n  exclude?: RegExp\n): Promise<any>\n\n// copyDir 方法的参数\nexport interface OptionShape {\n  /** 文件来源目录 */\n  src: string;\n  /** 目标目录 */\n  dist: string;\n  /** 文件内容替换规则  */\n  replacer?: { holder: RegExp; value: string }[];\n  /** 忽略的文件 */\n  exclude?: RegExp;\n  /** 只读文件（不读取&替换的文件） */\n  readonlyFile?: RegExp;\n  /** 文件名替换方法 */\n  fileNameTransfer?: (name: string) => string;\n  /** 文件内容格式化方法 */\n  contentFormatter?: (content: string, src: string) => Promise<string>;\n}\n\n// clearDir 方法的参数 \nexport interface ClearOptions {\n  /** 要清除的目录 */\n  src: string;\n  /** 是否有二次确认 */\n  confirm?: boolean;\n  /** 二次确认文案 */\n  confirmText?: string;\n  /** 忽略的文件 */\n  exclude?: RegExp;\n}\n\n// findInFolder 方法的参数\nexport interface SearchOptions {\n  /** 是否找到所有文件，默认 false，即找到第 1 个就返回 */\n  all?: boolean;\n  /** 如果指定了 include，则只处理匹配的文件 */\n  include?: RegExp;\n  /** 匹配规则的文件跳过 */\n  exclude?: RegExp;\n  /** 文件大小限制(byte)，超过大小的文件不遍历 */\n  limit?: number;\n  /** 读取文件的编码，默认是 utf-8 */\n  encoding?: BufferEncoding;\n}\n\nexport interface SearchResult {\n  filePath: string;\n  fileRelativePath: string;\n  fileSize: number;\n}\n```\n\n## CHANGELOG\n\n<!-- - **version**: change logs -->\n- **1.0.0** 发布 1.0 版本，整合并优化 已有能力\n- **1.0.4** 优化文档，迁移代码仓库\n- **1.1.0** 去掉 `BaseAction` ，简化架构\n- **1.1.7** 增强 `utils.print` 方法，可以将日志输出到本地\n- **1.1.9** 新增 `utils.multi` 方法，可以用于多选\n- **1.1.11** 优化 `files.copyDir` 方法，修改默认的配置项\n- **1.1.14** 新增 `utils.promiseTimer` 方法，可以将 promise 方法封装成带超时机制的方法\n\n## LICENSE\n\nBSD-3-Clause License\n\n## Contact Us\n\n[CAIHUAZHI](mailto:huarse@gmail.com)\n","readmeFilename":"README.md","gitHead":"2cde3104656a52a7c73821222d9fc25a908950e8","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.2.0-beta.2","_nodeVersion":"14.18.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-TSNs9DwiD5qi0A5c3LFT8eDKmmDk4/Zry2oW6QUH+bY2wVVkYlQnoCJDcFjGzRGCOA/4+JaSOtLcHMoCMPyMTA==","shasum":"854b8ffd1d1a3759173d93ba6a2739e68dc88603","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.2.0-beta.2.tgz","fileCount":50,"unpackedSize":71442,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC32hDoK9aZLdfzRmSDoIVJPdw6vP86yXj5lnEZ151/MgIhAJ4I4xZ0MlFdaWjjTPlfl3eTX/+uI5B3EKNz54RQQ/34"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8FYyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpatxAAibUy7+v75pexGPkic1AvImOKNy+fcFGbqKxfP1C1CNrS7jdG\r\nt7WVI4jmRnBVRArB/DAj/g9aF4KfHe3SavpD2xe60vPWpaTKCa9gwiS0kBHU\r\n68R/T1V4wxcUodTruydVwcAvsnLclZsaGa3v+Q9FRPmMIgsYbDs3aTqGxId/\r\nH3CE/lbzJivtgyYMJCePtoVhLiG913aWfPOlL6p5KFIHyfasQdoGNiDdVAAA\r\nMOblQNn2xiI8tXbG7yF9otscCI83RmSlO4ihtG7gZOrtmstFsJS1LnMURuAh\r\nP3McYNBqrGuXKS4rlqI5pK2sTaGL7fLhKEP4HZTSWhSc3+YEmhsQdUBMMxQd\r\nuGyTAuQg9uZvOiQhXJi2qx2xu+lDoFOYjajMq8vATG207NxhxapY4iwXatiK\r\nl4EgKYeMPxMl9Z92FEjEgA8lUbHTEsWRcTHYY9fvPpVvrbWrWta7SaF5kUEV\r\nXlHgezs+x+FSY32/s90JTRA/BXR9oLYFDZIvu+AOfECTjGyttUIxG2PlRgoU\r\nUumH15U2n0aNWnrLc80+/tFBQVmg+K+gcZTz7QAeoucNJguAoRsp57sEJMMC\r\nH0S26guFgx6ArAtwRczy3ppfntePt3lvp93ayMbwwcknGP7T5VDCgBZqNHuF\r\nw95thWV/H8G1yYorRn5eRz8uWSsmNyhs71Q=\r\n=mD7s\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.2.0-beta.2_1676695090026_0.0886821495350254"},"_hasShrinkwrap":false},"1.2.0-beta.3":{"name":"@irim/cli-base","version":"1.2.0-beta.3","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"build:lib":"tsc --outDir lib --module CommonJS --target ES2017","build:esm":"tsc --outDir esm --module ES6 --target ES2017","build":"npm run build:lib && npm run build:esm","prebuild":"npm run eslint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2017 --watch","clear":"rm -rf ./{lib,esm,types}","test":"jest","test:watch":"jest --watch --silent","prepublishOnly":"npm run build","eslint":"eslint --ext .ts,.tsx ./src","eslint:fix":"eslint --fix --ext .ts,.tsx ./src","prettier":"prettier -w '**/*.{js,jsx,tsx,ts,less,md,json}'","prepare":"husky install .husky"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","lint-staged":{"*.{js,jsx,less,md,json}":["prettier --write"],"*.ts?(x)":["prettier --parser=typescript --write","eslint --fix"]},"dependencies":{"@types/fs-extra":"^9.0.0","chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^10.0.0","inquirer":"^8.2.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@commitlint/cli":"^17.4.4","@commitlint/config-conventional":"^17.4.4","@types/cross-spawn":"^6.0.2","@types/inquirer":"^8.0.0","@types/jest":"^28.1.4","@typescript-eslint/parser":"^5.52.0","eslint":"^8.34.0","eslint-config-intl":"^1.0.1","husky":"^7.0.4","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","lint-staged":"^12.4.1","prettier":"^2.8.4","typescript":"^4.9.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"readme":"# CLI BASE TOOLS\n\n![version](https://img.shields.io/npm/v/@irim/cli-base)\n![license](https://img.shields.io/npm/l/@irim/cli-base)\n![downloads](https://img.shields.io/npm/dw/@irim/cli-base)\n\nNode Cli 基础方法库\n\n## Getting Started\n\n- `$ npm install @irim/cli-base --save`\n\n```ts\nimport { consts, utils, files } from '@irim/cli-base';\nconst { print } = utils;\n\nprint('debug', 'hello', 'world');\n```\n\n## API\n\n### 1. consts 静态常量\n\n| 属性名   | 描述                | 类型      |\n| -------- | ------------------- | --------- |\n| HOMEPATH | 用户 home 目录      | `string`  |\n| IS_WIN   | 是否是 windows 系统 | `boolean` |\n\n### 2. utils 一些常用的方法\n\n| 方法名          | 描述                                 | 参数定义                                                                 | 返回值                         |\n| --------------- | ------------------------------------ | ------------------------------------------------------------------------ | ------------------------------ |\n| progressBar     | 返回一个进度条 string                | `recent: number, total?: number, label?: string`                         | `string`                       |\n| print           | 带颜色级别的 console.log             | `type: 'debug'|'info'|'success'|'warn'|'error', ...msgs: BaseType[]`     | `(filepath: string) => any`    |\n| printJSON       | 打印单层的 JSON                      | `json: Record<string, BaseType>`                                         | `void`                         |\n| parseProperties | 解析 .properties 文件，返回一个 JSON | `file: string`                                                           | `Promise<Record<string, any>>` |\n| templateRender  | 最简单的模板渲染                     | `tpl: string, data: Record<string, any> = {}`                            | `string`                       |\n| confirm         | node 控制台二次确认                  | `message: string, defaultValue = false`                                  | `Promise<boolean>`             |\n| select          | node 控制台用户选择                  | `message: string, options: SelectOptions<T>[], defaultValue: T`          | `Promise<T>`                   |\n| multi           | node 控制台用户多选                  | `message: string, options: SelectOptions<T>[], defaultValue: T[]`        | `Promise<T[]>`                 |\n| input           | node 控制台用户输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| password        | node 控制台密码输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| holding         | node 控制台进入等待状态，按回车继续  | `tips = '按回车继续...'`                                                 | `Promise<boolean>`             |\n| exec            | 执行 shell 命令，返回执行结果        | `command: string, cwd = process.cwd()`                                   | `Promise<any>`                 |\n| execSync        | 同步执行 shell 命令                  | `command: string, cwd = process.cwd()`                                   | `SpawnSyncReturns`             |\n\n其中 `input` 和 `password` 方法的第 3 个参数是校验方法，入参是输入的值，如果返回 false 或 Error（支持 Promise），则表示校验失败，例如：\n\n```ts\nutils.input('请输入用户名', null, async (value) => {\n  // 直接校验\n  return value === 'zhangsan'; \n\n  // 返回自定义错误文案\n  return value === 'zhangsan' ? true : new Error('校验失败！');\n\n  // 远程校验\n  return await request(`api/validate?name=${value}`);\n});\n```\n\n#### 扩展的类型定义\n\n```ts\n/**\n * 基本类型，不算 object、null、undefined\n */\nexport type BaseType = string | number | boolean | symbol;\n```\n\n### 3. files 文件操作相关的常用方法\n\n| 方法名          | 描述                                                      | 参数定义                                                                                        | 返回值                   |\n| --------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------ |\n| fileIterator    | 遍历目录文件，执行 callback                               | 见下文                                                                                          | `Promise<any>`           |\n| dirSyncIterator | 遍历目录文件，同步到目标目录，并对每一个文件执行 callback | 见下文                                                                                          | `Promise<any>`           |\n| getFileCount    | 统计目录中的文件数量                                      | `src: string, exclude?: RegExp`                                                                 | `Promise<number>`        |\n| copyDir         | 逐个复制目录中的文件                                      | `options: OptionShape`                                                                          | `Promise<any>`           |\n| clearDir        | 清空目录(有二次确认)                                      | `options: ClearOptions`                                                                         | `Promise<boolean>`       |\n| findInFolder    | 从目录中查找内容符合条件的文件                            | `src: string, callback: (filePath: string, content: string) => boolean, options: SearchOptions` | `Promise<SearchResult[]` |\n\n#### 扩展的类型定义\n\n```ts\n// 遍历文件目录，执行 callback\nexport async function fileIterator(\n  /** 目录路径 */\n  src: string,\n  /** 执行到文件时的回调，如果返回 false 或 async false，则遍历中止 */\n  fileCallback: (filePath: string, fileRelativePath: string) => any,\n  /** 执行到目录时的回调 */\n  dirCallback?: (dirRelativePath: string) => any,\n  /** 忽略的文件 */\n): Promise<any>;\n\n// 遍历文件目录，同步到目标目录，并对每一个文件执行 callback\nexport async function dirSyncIterator(\n  /** 源文件目录 */\n  source: string,\n  /** 目标目录 */\n  target: string,\n  /** 执行到文件时的回调 */\n  callback: (sourceFile: string, targetFile: string) => any,\n  /** 忽略的文件 */\n  exclude?: RegExp\n): Promise<any>\n\n// copyDir 方法的参数\nexport interface OptionShape {\n  /** 文件来源目录 */\n  src: string;\n  /** 目标目录 */\n  dist: string;\n  /** 文件内容替换规则  */\n  replacer?: { holder: RegExp; value: string }[];\n  /** 忽略的文件 */\n  exclude?: RegExp;\n  /** 只读文件（不读取&替换的文件） */\n  readonlyFile?: RegExp;\n  /** 文件名替换方法 */\n  fileNameTransfer?: (name: string) => string;\n  /** 文件内容格式化方法 */\n  contentFormatter?: (content: string, src: string) => Promise<string>;\n}\n\n// clearDir 方法的参数 \nexport interface ClearOptions {\n  /** 要清除的目录 */\n  src: string;\n  /** 是否有二次确认 */\n  confirm?: boolean;\n  /** 二次确认文案 */\n  confirmText?: string;\n  /** 忽略的文件 */\n  exclude?: RegExp;\n}\n\n// findInFolder 方法的参数\nexport interface SearchOptions {\n  /** 是否找到所有文件，默认 false，即找到第 1 个就返回 */\n  all?: boolean;\n  /** 如果指定了 include，则只处理匹配的文件 */\n  include?: RegExp;\n  /** 匹配规则的文件跳过 */\n  exclude?: RegExp;\n  /** 文件大小限制(byte)，超过大小的文件不遍历 */\n  limit?: number;\n  /** 读取文件的编码，默认是 utf-8 */\n  encoding?: BufferEncoding;\n}\n\nexport interface SearchResult {\n  filePath: string;\n  fileRelativePath: string;\n  fileSize: number;\n}\n```\n\n## CHANGELOG\n\n<!-- - **version**: change logs -->\n- **1.0.0** 发布 1.0 版本，整合并优化 已有能力\n- **1.0.4** 优化文档，迁移代码仓库\n- **1.1.0** 去掉 `BaseAction` ，简化架构\n- **1.1.7** 增强 `utils.print` 方法，可以将日志输出到本地\n- **1.1.9** 新增 `utils.multi` 方法，可以用于多选\n- **1.1.11** 优化 `files.copyDir` 方法，修改默认的配置项\n- **1.1.14** 新增 `utils.promiseTimer` 方法，可以将 promise 方法封装成带超时机制的方法\n\n## LICENSE\n\nBSD-3-Clause License\n\n## Contact Us\n\n[CAIHUAZHI](mailto:huarse@gmail.com)\n","readmeFilename":"README.md","gitHead":"2cde3104656a52a7c73821222d9fc25a908950e8","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.2.0-beta.3","_nodeVersion":"14.18.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-MLYhrwgy6t0C4LklrML3fG8FPd5pLglACUImJUaghhc2+S3OC7G4dcAn6QMuZa/dvo4uE/hJysq3I/kdKyWTgQ==","shasum":"e78d6820a4b4464da640a2c77430459d3972358e","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.2.0-beta.3.tgz","fileCount":50,"unpackedSize":71442,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGssMFGHgqtwuboWk3+N2ZbD73qh2XkZ+ZV5AW8FJnK9AiAaOAzd1mREdzRYQF509+ef1zs+8t+kLZtxKtcYzzDGOw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8FcqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9cA/8CJAL0tBH0EI+7G4hkSRldEwT2yggmvUMsoQfxEK1lrdywXbV\r\ntGbOWvauyCbm0Kj1bPPiquxpoVvtipB0450PmMmrllDz0n5DKSPXdPD0IdpE\r\nNVRyDpwMxAqKWHSrYklFSv1rOEyvQl8nDGV9/1krmHx013ey/KqdXfyWDiZ2\r\nsMDFCVnAWy2zb+5s/IF4pkxdOAS6+yINy3wnup+hPEKGDuT2spIjQOeTipS8\r\n/DB+rFZBHrK+4J9Mcl5xDOj4HPRme2bYKxFXRsq7/3ChO9zSsbGTNpvpHCnz\r\nT2V7x4dY4kOBQ4kuVVM/fWegpaX0fvmYttkXEPPjO1lwQvt6aphToHntzeCP\r\nG5GGPZ0HIYVrupFBBYsjwuIspsu5YGBTT+bQmVsIT9evnq/w2WooIIRz3Nj9\r\nMHzqQ2bZ3og0M6D3SBgAYdwol4MWTi7DdzzXi0ys95IjkHb/LDHqmi9Y8W1Z\r\n9Maj//u2r1rebYSX0Tl152DvGEiEgmuDbOQ/EyoGpEfKLYXjrOcgt55exXXP\r\nxBZCO6uXWCUiAMRjXjB9x/4YkaSdR+qNY1bHLQrUnvHahPw9Fz1s4B+9SW7s\r\nLDNrRBQc/BK6svO9RbjGRwLv5q4WiDkFem9X5TK4pnj1T0wHZ1aXywRi6a2K\r\naJDDOIRGgvBEA26plD+ZSvXsU/lPYfWkiN0=\r\n=bbCx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.2.0-beta.3_1676695338059_0.28085067282563125"},"_hasShrinkwrap":false},"1.2.0":{"name":"@irim/cli-base","version":"1.2.0","description":"Base Module for Command Line Tools","repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"main":"./lib/index.js","types":"./types/index.d.ts","scripts":{"build:lib":"tsc --outDir lib --module CommonJS --target ES2017","build:esm":"tsc --outDir esm --module ES6 --target ES2017","build":"npm run build:lib && npm run build:esm","prebuild":"npm run eslint && npm run clear","dev":"tsc --outDir lib --module CommonJS --target ES2017 --watch","clear":"rm -rf ./{lib,esm,types}","test":"jest","test:watch":"jest --watch --silent","prepublishOnly":"npm run build","eslint":"eslint --ext .ts,.tsx ./src","eslint:fix":"eslint --fix --ext .ts,.tsx ./src","prettier":"prettier -w '**/*.{js,jsx,tsx,ts,less,md,json}'","prepare":"husky install .husky"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"license":"BSD-3-Clause","lint-staged":{"*.{js,jsx,less,md,json}":["prettier --write"],"*.ts?(x)":["prettier --parser=typescript --write","eslint --fix"]},"dependencies":{"@types/fs-extra":"^9.0.0","chalk":"^4.1.1","cross-spawn":"^7.0.3","fs-extra":"^10.0.0","inquirer":"^8.2.3","ora":"^5.4.0","properties":"^1.2.1"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@commitlint/cli":"^17.4.4","@commitlint/config-conventional":"^17.4.4","@types/cross-spawn":"^6.0.2","@types/inquirer":"^8.0.0","@types/jest":"^28.1.4","@typescript-eslint/parser":"^5.52.0","eslint":"^8.34.0","eslint-config-intl":"^1.0.1","husky":"^7.0.4","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","lint-staged":"^12.4.1","prettier":"^2.8.4","typescript":"^4.9.5"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["cli-base"],"gitHead":"17a6eac05ee3591e74767705c0ba1421c4efc979","bugs":{"url":"https://github.com/huarse/cli-base/issues"},"homepage":"https://github.com/huarse/cli-base#readme","_id":"@irim/cli-base@1.2.0","_nodeVersion":"14.18.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-sgIYV80WXC7riBtNhqj1B4/OOYfyUxYlMvGGq3b06mwx0yp1S7HOccK1KosuLSLJK/JMUrrfe/vr0CVCBm6Etg==","shasum":"524a143e505cbd32febee95a3238ca5268f76e4e","tarball":"https://registry.npmjs.org/@irim/cli-base/-/cli-base-1.2.0.tgz","fileCount":50,"unpackedSize":71766,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGN/bmlv1BswQfcvNZujBLZnAT5tGL+l47opg12V4IiWAiAVxp48pqO7kCpegXQTCv+fyNntngGgmMTC3A9MiYQAmw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8FkQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoC1RAAlCMoit2b3lAr7cXGZ8clP78KhWzeEfM7Pu+nV9+3TLtpfMLv\r\naCX0OgXDfRMtsel43Z13uvek2uXSDjjTxY+v5mQibSPsmybuP93bLy+LpMS8\r\n5yxZAoCX116J/gFOrJsHHKJ+CWWLZLKjrGsvePpdG22/FjE3BZzW61Hem7p0\r\newYUufOL1JQKgeJzDx0LaRDs246QNgofzOczpgyAqc40BuJNWm/oRslfqtYr\r\nH/yMv68JcBbn3OglVYtdUM0im8eEkVxWqCCtA0Y5XJkUlqhG9FiLQ5qTILY+\r\nhC+VgoDXTOKHM85a5LPk8e0jjx/5YgxD+oNF4kGWjD94Z1tb4xyar05mzNDA\r\nnhnbVS8dQBU3JfCLE4AavT+X6O3MxRTWPh/yLRytuuIJLwX33TTK9cQSHdlV\r\n6zDJrEIoKX0eUi+yPnosdFN4kceKG6MbNkj/WbZ/He5TQath2aWkTqc9pwaK\r\n/mEdodguJhf4+wWy+ChCxTsh6S0VZ98PajK2qOSIaznAiS4bVmoF1e5y3Iap\r\nPmj3wT5hV9gUQSqIxDt7lBguV8+RYvyNjF8ftO73SOFz8aovbNnEwD/iqLNK\r\nknYkhUamakhLRwPhLwuT/+Cg3EvQ9kRgYjutUAtmKT09QFWUsJXHi+WsEuMg\r\nLng2FqnX3A2HrHpTC2EVnoULZDso0gbUJt0=\r\n=uNzF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"huarse","email":"huarse@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli-base_1.2.0_1676695824641_0.23759952515091354"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-17T14:46:58.092Z","1.0.0":"2020-08-17T14:46:58.411Z","modified":"2023-02-18T04:50:24.874Z","1.0.1":"2020-08-17T14:55:55.190Z","1.0.2":"2020-09-03T16:46:21.125Z","1.0.3":"2020-09-03T17:03:26.283Z","1.0.4":"2020-10-07T15:44:52.581Z","1.0.5":"2020-10-09T15:11:35.410Z","1.1.0":"2020-10-18T13:35:12.811Z","1.1.1":"2020-11-19T03:18:42.533Z","1.1.2":"2020-11-19T03:34:47.495Z","1.1.3":"2020-11-19T16:01:42.111Z","1.1.4":"2020-11-20T02:53:23.092Z","1.1.5":"2020-11-21T16:03:27.194Z","1.1.6":"2020-11-21T16:24:06.146Z","1.1.7":"2020-11-24T15:52:51.945Z","1.1.8":"2020-12-01T16:20:55.646Z","1.1.9":"2021-01-11T14:18:25.801Z","1.1.10":"2021-02-24T11:43:04.059Z","1.1.11":"2021-02-24T13:56:25.499Z","1.1.12-beta.1":"2021-04-26T02:45:09.531Z","1.1.12":"2021-04-26T02:51:54.069Z","1.1.13":"2021-04-26T02:59:39.583Z","1.1.14":"2021-04-28T01:52:33.532Z","1.1.15-beta.1":"2021-05-11T16:21:46.859Z","1.1.15":"2021-05-11T16:42:57.885Z","1.1.16":"2021-05-14T02:27:49.361Z","1.1.17":"2021-05-19T04:15:48.786Z","1.1.18":"2021-06-03T09:24:00.731Z","1.1.19":"2021-07-13T08:40:35.294Z","1.1.20":"2021-09-26T07:44:31.832Z","1.2.0-beta.1":"2023-02-18T04:33:21.495Z","1.2.0-beta.2":"2023-02-18T04:38:10.343Z","1.2.0-beta.3":"2023-02-18T04:42:18.220Z","1.2.0":"2023-02-18T04:50:24.779Z"},"maintainers":[{"name":"huarse","email":"huarse@gmail.com"}],"description":"Base Module for Command Line Tools","keywords":["cli-base"],"repository":{"type":"git","url":"git+ssh://git@github.com/huarse/cli-base.git"},"author":{"name":"CAIHUAZHI","email":"huarse@gmail.com"},"license":"BSD-3-Clause","readme":"# CLI BASE TOOLS\n\n![version](https://img.shields.io/npm/v/@irim/cli-base)\n![license](https://img.shields.io/npm/l/@irim/cli-base)\n![downloads](https://img.shields.io/npm/dw/@irim/cli-base)\n\nNode Cli 基础方法库\n\n## Getting Started\n\n- `$ npm install @irim/cli-base --save`\n\n```ts\nimport { consts, utils, files } from '@irim/cli-base';\nconst { print } = utils;\n\nprint('debug', 'hello', 'world');\n```\n\n## API\n\n### 1. consts 静态常量\n\n| 属性名   | 描述                | 类型      |\n| -------- | ------------------- | --------- |\n| HOMEPATH | 用户 home 目录      | `string`  |\n| IS_WIN   | 是否是 windows 系统 | `boolean` |\n\n### 2. utils 一些常用的方法\n\n| 方法名          | 描述                                 | 参数定义                                                                 | 返回值                         |\n| --------------- | ------------------------------------ | ------------------------------------------------------------------------ | ------------------------------ |\n| progressBar     | 返回一个进度条 string                | `recent: number, total?: number, label?: string`                         | `string`                       |\n| print           | 带颜色级别的 console.log             | `type: 'debug'|'info'|'success'|'warn'|'error', ...msgs: BaseType[]`     | `(filepath: string) => any`    |\n| printJSON       | 打印单层的 JSON                      | `json: Record<string, BaseType>`                                         | `void`                         |\n| parseProperties | 解析 .properties 文件，返回一个 JSON | `file: string`                                                           | `Promise<Record<string, any>>` |\n| templateRender  | 最简单的模板渲染                     | `tpl: string, data: Record<string, any> = {}`                            | `string`                       |\n| confirm         | node 控制台二次确认                  | `message: string, defaultValue = false`                                  | `Promise<boolean>`             |\n| select          | node 控制台用户选择                  | `message: string, options: SelectOptions<T>[], defaultValue: T`          | `Promise<T>`                   |\n| multi           | node 控制台用户多选                  | `message: string, options: SelectOptions<T>[], defaultValue: T[]`        | `Promise<T[]>`                 |\n| input           | node 控制台用户输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| password        | node 控制台密码输入                  | `message: string, defaultValue?: string, validator = (v: string) => any` | `Promise<string>`              |\n| holding         | node 控制台进入等待状态，按回车继续  | `tips = '按回车继续...'`                                                 | `Promise<boolean>`             |\n| exec            | 执行 shell 命令，返回执行结果        | `command: string, cwd = process.cwd()`                                   | `Promise<any>`                 |\n| execSync        | 同步执行 shell 命令                  | `command: string, cwd = process.cwd()`                                   | `SpawnSyncReturns`             |\n\n其中 `input` 和 `password` 方法的第 3 个参数是校验方法，入参是输入的值，如果返回 false 或 Error（支持 Promise），则表示校验失败，例如：\n\n```ts\nutils.input('请输入用户名', null, async (value) => {\n  // 直接校验\n  return value === 'zhangsan'; \n\n  // 返回自定义错误文案\n  return value === 'zhangsan' ? true : new Error('校验失败！');\n\n  // 远程校验\n  return await request(`api/validate?name=${value}`);\n});\n```\n\n#### 扩展的类型定义\n\n```ts\n/**\n * 基本类型，不算 object、null、undefined\n */\nexport type BaseType = string | number | boolean | symbol;\n```\n\n### 3. files 文件操作相关的常用方法\n\n| 方法名          | 描述                                                      | 参数定义                                                                                        | 返回值                   |\n| --------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------ |\n| fileIterator    | 遍历目录文件，执行 callback                               | 见下文                                                                                          | `Promise<any>`           |\n| dirSyncIterator | 遍历目录文件，同步到目标目录，并对每一个文件执行 callback | 见下文                                                                                          | `Promise<any>`           |\n| getFileCount    | 统计目录中的文件数量                                      | `src: string, exclude?: RegExp`                                                                 | `Promise<number>`        |\n| copyDir         | 逐个复制目录中的文件                                      | `options: OptionShape`                                                                          | `Promise<any>`           |\n| clearDir        | 清空目录(有二次确认)                                      | `options: ClearOptions`                                                                         | `Promise<boolean>`       |\n| findInFolder    | 从目录中查找内容符合条件的文件                            | `src: string, callback: (filePath: string, content: string) => boolean, options: SearchOptions` | `Promise<SearchResult[]` |\n\n#### 扩展的类型定义\n\n```ts\n// 遍历文件目录，执行 callback\nexport async function fileIterator(\n  /** 目录路径 */\n  src: string,\n  /** 执行到文件时的回调，如果返回 false 或 async false，则遍历中止 */\n  fileCallback: (filePath: string, fileRelativePath: string) => any,\n  /** 执行到目录时的回调 */\n  dirCallback?: (dirRelativePath: string) => any,\n  /** 忽略的文件 */\n): Promise<any>;\n\n// 遍历文件目录，同步到目标目录，并对每一个文件执行 callback\nexport async function dirSyncIterator(\n  /** 源文件目录 */\n  source: string,\n  /** 目标目录 */\n  target: string,\n  /** 执行到文件时的回调 */\n  callback: (sourceFile: string, targetFile: string) => any,\n  /** 忽略的文件 */\n  exclude?: RegExp\n): Promise<any>\n\n// copyDir 方法的参数\nexport interface OptionShape {\n  /** 文件来源目录 */\n  src: string;\n  /** 目标目录 */\n  dist: string;\n  /** 文件内容替换规则  */\n  replacer?: { holder: RegExp; value: string }[];\n  /** 忽略的文件 */\n  exclude?: RegExp;\n  /** 只读文件（不读取&替换的文件） */\n  readonlyFile?: RegExp;\n  /** 文件名替换方法 */\n  fileNameTransfer?: (name: string) => string;\n  /** 文件内容格式化方法 */\n  contentFormatter?: (content: string, src: string) => Promise<string>;\n}\n\n// clearDir 方法的参数 \nexport interface ClearOptions {\n  /** 要清除的目录 */\n  src: string;\n  /** 是否有二次确认 */\n  confirm?: boolean;\n  /** 二次确认文案 */\n  confirmText?: string;\n  /** 忽略的文件 */\n  exclude?: RegExp;\n}\n\n// findInFolder 方法的参数\nexport interface SearchOptions {\n  /** 是否找到所有文件，默认 false，即找到第 1 个就返回 */\n  all?: boolean;\n  /** 如果指定了 include，则只处理匹配的文件 */\n  include?: RegExp;\n  /** 匹配规则的文件跳过 */\n  exclude?: RegExp;\n  /** 文件大小限制(byte)，超过大小的文件不遍历 */\n  limit?: number;\n  /** 读取文件的编码，默认是 utf-8 */\n  encoding?: BufferEncoding;\n}\n\nexport interface SearchResult {\n  filePath: string;\n  fileRelativePath: string;\n  fileSize: number;\n}\n```\n\n## CHANGELOG\n\n<!-- - **version**: change logs -->\n- **1.0.0** 发布 1.0 版本，整合并优化 已有能力\n- **1.0.4** 优化文档，迁移代码仓库\n- **1.1.0** 去掉 `BaseAction` ，简化架构\n- **1.1.7** 增强 `utils.print` 方法，可以将日志输出到本地\n- **1.1.9** 新增 `utils.multi` 方法，可以用于多选\n- **1.1.11** 优化 `files.copyDir` 方法，修改默认的配置项\n- **1.1.14** 新增 `utils.promiseTimer` 方法，可以将 promise 方法封装成带超时机制的方法\n- **1.2.0** 透出 `fs-extra` 以及 d.ts 文件，方便被引用\n\n## LICENSE\n\nBSD-3-Clause License\n\n## Contact Us\n\n[CAIHUAZHI](mailto:huarse@gmail.com)\n","readmeFilename":"README.md","homepage":"https://github.com/huarse/cli-base#readme","bugs":{"url":"https://github.com/huarse/cli-base/issues"}}