{"_id":"@linyjs/cli","_rev":"26-cea2bfae48b7901dba3844f4c160c1b6","name":"@linyjs/cli","dist-tags":{"latest":"0.0.27"},"versions":{"0.0.2":{"name":"@linyjs/cli","version":"0.0.2","_id":"@linyjs/cli@0.0.2","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"ling":"dist/index.js"},"dist":{"shasum":"56e5c3a2e99524b47d086ce2b249785d6ecc5a1e","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.2.tgz","fileCount":30,"integrity":"sha512-85JOlVypBUScFRVNDW0ZdSo9Jad69JZI5GySVbl1BIxmSewVssr5W2QirNSXxrXylL4S09f/K2oHqFywJHFbJQ==","signatures":[{"sig":"MEUCIQDH4C7hHYRAn7UtpyIuxBYHUXEcxeVFETmNSQNhJ0SisgIgANLKJZYGSm7LIWR7bt/BXvy3sKGyC4JxbQZuMwnwM0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143361},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"9c88300c47bb5e45178e700f5908b2adf2bb4228","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.2_1781137456864_0.39727403746975387","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@linyjs/cli","version":"0.0.3","_id":"@linyjs/cli@0.0.3","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"ling":"dist/index.js"},"dist":{"shasum":"162739afda4bcfdfec5e97baa49cd9e37f3de57c","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.3.tgz","fileCount":30,"integrity":"sha512-USanubCe/IXsh3qeotTJ9XV6ah5XpCtis4g9IrVULnrAbK/mB8Vuamp4aB4FOIMyYMlJGTdJtBGmrYoEarnHEg==","signatures":[{"sig":"MEUCIHiDI0N62N+YGCZ02LDlu6olBVLjs8nWOIxtYomyyuUDAiEAjEJzmbMwyhj7/krem6JvKnr0JJX4ezAIUN3EoNL1lAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148760},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"57cc68c7393d8ad515af637c6cde38d8e559afd7","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.3_1781137761181_0.3044350148719619","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@linyjs/cli","version":"0.0.4","_id":"@linyjs/cli@0.0.4","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"ling":"dist/index.js"},"dist":{"shasum":"aaa839897e9b6362ade0cf8ab2f21315c9ee3651","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.4.tgz","fileCount":30,"integrity":"sha512-rOH2QhimEisycWz6JtuNbVoI328pBh/oLA8PBd97Q+xGyjKc0Xama9cUEXA4ymfDM7vWh2Xrz2hvS3Lj8j/PSQ==","signatures":[{"sig":"MEUCIQD0Vm2H0/2LWYr9tZoe7IvWD1PXdmaaVqPZohzbqytacgIgVZB2l2uLiYp+f/xUC/O9qJ3xELpPNP79d6llmC+FGBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154893},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"55ba516d068620368fa9eb5598dcab25d8758201","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.4_1781138171084_0.8031129924900196","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@linyjs/cli","version":"0.0.5","_id":"@linyjs/cli@0.0.5","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"ling":"dist/index.js"},"dist":{"shasum":"0858bcc89ab1e58e3a1233341bbdb1051a0d0b74","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.5.tgz","fileCount":22,"integrity":"sha512-67iN3Nfri1PCzzQzII1X4YKfG+9PZUQVFUy3A7TuulQIwPICXlHVk9MWU4vMTiw2RWrf+OINNAhZERkCHGicDw==","signatures":[{"sig":"MEQCIGRIynLTZoaNgw/DA4HpAwtoT3gGvxZJrKNQXBjD4cjQAiA8g4iVX/ooaYzpAgGaJ8OOKfc6RnWfmC+69Ekcza7QPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87158},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"19df23d3999a2ce4ebf1e8647a7a48220d328604","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.5_1781139657737_0.7420398021342327","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@linyjs/cli","version":"0.0.6","_id":"@linyjs/cli@0.0.6","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"322b3b2c03171e28a743678d9305139012b82d37","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.6.tgz","fileCount":22,"integrity":"sha512-A0Vb/DKpEHiQ1iNhNyZL7soOfutoCx8JcTNQWP1zCceEU5owY/cE86Ur3RWLfBEQhhl9VXA9aj+mrUgnMBThaA==","signatures":[{"sig":"MEUCIQCs+1tTpRw182ADAmmzFUHNw3j5zutGODouP0R4pAvyhwIgDi9MTJXhpp2pu2nPciRGS7vGFzM7Whkxnaao2eTR6ko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87158},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e1bf0b16913fe255fc4d2fa338186095aebc26fe","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.6_1781210826986_0.18640460603031173","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@linyjs/cli","version":"0.0.7","_id":"@linyjs/cli@0.0.7","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"4fcf4f77c48edd711d4d4aacb8ffe1b4ddc359ea","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.7.tgz","fileCount":22,"integrity":"sha512-3XJY2WrDKrv/AsNresTT5k8iYFXYK2ab8DcYNphduCwfoHgUZtADexetQZbLgJx7JvOEeRAo1o2a7QPgMYsVLQ==","signatures":[{"sig":"MEUCIQCa/NiChF5lqj0saXrOEZx+BFnCUK2phDnxjwlDy1NP0wIgDVETnc9U/AUotcq8zEko5pVUofuT5AAdadPxv2Cb1E0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88684},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e1bf0b16913fe255fc4d2fa338186095aebc26fe","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.7_1781211445059_0.586578161454987","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@linyjs/cli","version":"0.0.8","_id":"@linyjs/cli@0.0.8","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"5298a35064b3907b41a5fc840d2e898cd4fb8802","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.8.tgz","fileCount":34,"integrity":"sha512-iaG5CI5bFGQ3CLcD9J0Uid1f2OLSnGUpq5+IFCGPpr7QWhMnN7dp7Ld04ZhF0j9Yr0Nre4dhXO5JEmSDWCF5Cg==","signatures":[{"sig":"MEYCIQDlDah+DDIm0AeJhvqccZOrKRVk6eEhZUAOZShQN9NregIhAPsp1Mz7XlT9tG7JSX0PB4UniRTbK2/U8IKQUKbwAtvh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104871},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"65fad5cf8beb0bbfa7efaddd0fc8d462cd9ef413","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.8_1782113312114_0.8005313018309814","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@linyjs/cli","version":"0.0.9","_id":"@linyjs/cli@0.0.9","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"480e4f4462a435fcfbf6f2b3ab36b71c1b69fed8","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.9.tgz","fileCount":34,"integrity":"sha512-zb2PftEk8ITHXFxmr4J49wUxGW3UMe9XVUCrdgcrCU03BBy+8rozssHlD05BjpHJTQlZ4uQExOM0PRtYGSeHRQ==","signatures":[{"sig":"MEQCIGfxvlHV5GfWpieMJDXqXc+E2YzVvLqajigMdLKyLXxiAiBf8kig3Emx70+GoKCgkztUDW0iI13sE3KF+XevVRu9oQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104871},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"65fad5cf8beb0bbfa7efaddd0fc8d462cd9ef413","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.9_1782114123078_0.07855581603878736","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@linyjs/cli","version":"0.0.10","_id":"@linyjs/cli@0.0.10","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"6f4201fbf8ead6c0b82f4c5465caf60ad1067e3f","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.10.tgz","fileCount":34,"integrity":"sha512-6C74wTLAfJSK5fA0NDhff3GNE0OxciCz7j0TcxqN//NGZeGMdXoJ5bEkcTROxTrdnS//UGLwp6WlcZzWpd/SnA==","signatures":[{"sig":"MEQCIHevRPdxg7EcQM/3OPwdQISIgmrmISrEOAtbUWW4wsa2AiAYzqesJ1dVm5Mq4wPHobo7j4tU6eVZP/Rmt/Fj80vnSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104872},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3e48d2d65fbd5f309c2c365c2df94fe3450c79f6","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.10_1782122934942_0.5621618998708842","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@linyjs/cli","version":"0.0.11","_id":"@linyjs/cli@0.0.11","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"fd1bf0d69c3bcde193d3f3e7498792eac402338d","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.11.tgz","fileCount":34,"integrity":"sha512-U1o/0Q8mEbB8xY511rhWdcV2KsTPX13e5EN9Vpmk4kMGTLJUjWh8HUSrniAY4O8EW16/N2gg+GoCHwgHXo9N7A==","signatures":[{"sig":"MEQCIDzfnTosnT8YPfuZRra+ARf6wKkHl80unrj2IT4Gkp5/AiAINiw+XGemxr6OOUSn56cUbmi9QKWLIit6nMCMQMkzYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5892357ae4b544aa9f7e840a2c05403069ce80ef","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.11_1783149765001_0.21854615261585475","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@linyjs/cli","version":"0.0.12","_id":"@linyjs/cli@0.0.12","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"3f1d94013a2755bfa216be26e953a406ae80864e","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.12.tgz","fileCount":34,"integrity":"sha512-glbbOA9A9ixKY/p8elJo+Lx6jr+roid/dz8O1/wjIH5/3Z9SlApnzI0BYOPnq5WYkQxTdxTr8lidHsQQOd2cxQ==","signatures":[{"sig":"MEUCIBKoU811bYwQCy+dUqKwvzAYO7k9+C8J4KNXU3VbwgzjAiEAlBcalJg/io5UB9rtfL7kfwjn1JEgPZydz4FbFz4g70o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"6d9309f5bb92dc133f5dc34dec38ad9cd6d4a3bc","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.12_1783154146778_0.5582516912493154","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@linyjs/cli","version":"0.0.13","_id":"@linyjs/cli@0.0.13","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"5623be1f37d36f998b8b2341de06dee3fe903c38","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.13.tgz","fileCount":34,"integrity":"sha512-ON+TQzfmd1l6XAr5vpf5EWuOrDWJ0V35KhegjPDje2yerhuvlGSCWuQdYV86jriCMyT0jLOJarQDH1I4RBaO4g==","signatures":[{"sig":"MEUCIDqn2Ws0I7frSDuI68ut0vTf54thhyTQNc/Q1cgleTO/AiEA2Emobemu4XSZ+SZFUGhe5pWu+Znqx45vIB2Rml4WCPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a257a83e68f5e836fc0499a3dc5a1821401b4cda","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.13_1783214524576_0.1382874239088845","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@linyjs/cli","version":"0.0.14","_id":"@linyjs/cli@0.0.14","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"1a34d47bcccd25da7922ebda4243f3e91b10e4f1","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.14.tgz","fileCount":34,"integrity":"sha512-We6eSz7vX7MUuj+RGGVQMkl6U9PTBRO4pmm+b7PhH7KuCRXw+UenOUTt7lTooS0U7KXIxyrs9cW/F2MP+VsumA==","signatures":[{"sig":"MEQCIExh509t2vcZb00CIF9ZKzHFyFRurPnEdKQ3+R7id3DSAiAvAiC62dF5nZ4cyTIl5YHvgnRyGbYd6I28Scb+/w2MFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5bc852d33b9513219ad913668085490414a4e13c","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.14_1783223649289_0.9571730306825805","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@linyjs/cli","version":"0.0.15","_id":"@linyjs/cli@0.0.15","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"93cbab5f93caf5f90799ad83afa12e9265879dd1","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.15.tgz","fileCount":34,"integrity":"sha512-wedM3ZNJ97ZQgKtHBNzilCXjGzoE8QP8Or2/WbC/orbHlSQ4b6RxWFIhutfPzxl8fypKc60WhlFb3yFsI+iUHQ==","signatures":[{"sig":"MEUCIGXH6V6Hbi6s+aAtf306m3Z9RmrE/BpBZRzl9A7TlcufAiEAxBdVhHPzGWswCUqoYRHAfoaq5ocVVx4RH/9bZ8pb/rw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"313518c0694d814dcff04a0d0b12d04339b79494","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.15_1783393494583_0.6386854409828884","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@linyjs/cli","version":"0.0.16","_id":"@linyjs/cli@0.0.16","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"ac6aede09fd0af1c5af6d21f996edb4c12792859","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.16.tgz","fileCount":34,"integrity":"sha512-Q62NTVh6zcNMewQQrj6kYvz9qe16Ka1a4llXqirCUughtQn6rlkUteWnbtwaadMMnOXYCI/mLyyRbo8k3uOw5g==","signatures":[{"sig":"MEUCIF1s4jQjBPFPDSdR15AdJpetyw/nZAkOtKBDOpeGNliiAiEAxo4hWaKPLuwu3Tu4SL8VMBWY/5hUEXqMrpYkGn/p730=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"40899e397632c99087eea543817258d16d02c762","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.16_1783417982437_0.9882608192883315","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@linyjs/cli","version":"0.0.17","_id":"@linyjs/cli@0.0.17","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"a73fc6edb2db535d9987c5dbd68745d9b7ad334c","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.17.tgz","fileCount":34,"integrity":"sha512-+2J7m7z2bXjxFx4hTvraeJ6bWROsMjM42yTR4MDBwkfPJfdLaMhIXsHFgsh3vYRGTdSvjrTOBe9Rk8EOpxs0TA==","signatures":[{"sig":"MEUCIQD4Gqao9RptXTxPXEeFnLDTCIgiwL5l1XFl3upJ4JefbwIgLkntM6GT4Nlt0B3mDHdjmtf5LIfRgO5BY88ufxfWogU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"769458fd9b2c721cb5dfe4323111ef6128e8053e","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.17_1783558512695_0.4560644470023818","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@linyjs/cli","version":"0.0.18","_id":"@linyjs/cli@0.0.18","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"2c36ce9b993bfddbc9cb83a1411c565f871ebab8","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.18.tgz","fileCount":34,"integrity":"sha512-uQEGtgApxygboEqTuuu5sNo0Q5uu17Bmk0VaLs1wCAgTiTYV5dLZ1iKevjwQhxFIlhBR3hkScuTJx5n5ZU03Qw==","signatures":[{"sig":"MEUCIB57IcEDUbfro3SPhx8LAvqpcst26ppv2XYq57CFeFJZAiEAtKMBZbPZ4KHlaQyj/8j/oOWXabWJAVRGrsKqd5xY7tU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"82f7fa51375ecc95d22ebd6c5d45161811307187","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.18_1784243076269_0.12037264225982813","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@linyjs/cli","version":"0.0.19","_id":"@linyjs/cli@0.0.19","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"3eb3d856d8108a8695f2df4f1d341fa3c400489f","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.19.tgz","fileCount":34,"integrity":"sha512-kTaIa4Iqk/5P3vWljcIYUqpPh34XzdIA6ppENxUdJG7TLHFWa09UY5NtUMx8xBMrmw60gtiFLQMLt2rz7n1nAg==","signatures":[{"sig":"MEQCIBIdntjtqtHP6Q8qcGNJkHxp90rcGouvbJ1ZthrE+MoZAiBl07Uc3SGjIzmVSgzY1cuoIwPhVpW2cEQoeItd4r3PmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"455efa7604b92b587f7772a4e410be13cfb17461","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.19_1785051100876_0.4269547776325959","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@linyjs/cli","version":"0.0.20","_id":"@linyjs/cli@0.0.20","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"4f880ffed28a7bde23dddf927a46983c15be472c","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.20.tgz","fileCount":34,"integrity":"sha512-yPGlOJnjaoYghYZeC1pikRMnKVbpBCqXqy2tAbL1TLFb7EE4TIUfeWsHxTVRFXhQFPrcNKKJ9mYSb13hFLqCwQ==","signatures":[{"sig":"MEQCIBO6L52eHZ3kd7RGxJ7HqT4heJ5wBkLB5kipcta10owvAiA/SRfRNBfx9ifzRJHlTwzLWAOzl0JPlGGlHb1YC3TqZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5dff2d65e586e3b56508026c641d555924a6c543","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.20_1785206285128_0.256034054200442","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@linyjs/cli","version":"0.0.21","_id":"@linyjs/cli@0.0.21","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"562c663df6366e3f6bf3875950f0e6740a31515f","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.21.tgz","fileCount":34,"integrity":"sha512-/yCTvrdQUjlgsjqhO+Aq7iF6VWhSX/shqnQUAJ6o22nBi9jgOFHFn4BnvH414FxoGsLf/7A8l5kx5HB4vX4Dyw==","signatures":[{"sig":"MEUCIQCadazk7P1pIkQo1nlgm1qEEG6w6AYBjHnZFuFPIcwlIQIgKz2GO1w+Lw6f8pXojoqf8K/T7sZp7Oj/1wyZ+oqA6gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"ce9ee5234086158234cb9f761f5fc4f1cb985e87","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.21_1785245036018_0.3106600711793448","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@linyjs/cli","version":"0.0.22","_id":"@linyjs/cli@0.0.22","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"f12894c9c3696073b9a150056c7822259fcf291c","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.22.tgz","fileCount":34,"integrity":"sha512-ggjsT61jF1oYSMhh1b2vvZSfZbtpa/4cbbjIyFxV9WUXfQ9u225CwUmMdhimvmzJkAFD3x8bsnfX02lIpfkVKw==","signatures":[{"sig":"MEUCIAEPNkfVytPZ16yjroos+9frZN1QG9aF+jPL9ZnVfX8wAiEAsieW51HkyL6kddanOmfzgBcIEA0mayirYWmexhrTo+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106538},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"318a806bbeffa47a6dcd05acc673f78e39bda54d","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.22_1785293283431_0.7963529482515121","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@linyjs/cli","version":"0.0.23","_id":"@linyjs/cli@0.0.23","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"7d805e7b7cc31740a8baead5378d269b526c6159","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.23.tgz","fileCount":34,"integrity":"sha512-5UoK4ruPAP10AyH3rm41aOHf7Dq5e8b1JVy+AzX3W2ctdW1JRUqWB/Q6yYGGKk9b+B4HVQTEvkatPmPJ3kcgWA==","signatures":[{"sig":"MEUCIEK+6MYoH9sltDHtJJuJRf6Sr8WuMI/Fo0bDY6ivLEJzAiEAlsNdM1l3CCG6OFNiYTVw74b6SW5K3YScnlJyuoSBeVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106538},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a21377e4759a1e5d7efd32d3769be83fde14642e","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.23_1785669813062_0.4112865025597374","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@linyjs/cli","version":"0.0.24","_id":"@linyjs/cli@0.0.24","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"e8686b746c775741aca89f470b7e216d5f9c3802","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.24.tgz","fileCount":34,"integrity":"sha512-fG9BkDSSoD4Ua1RXhV/liDW1VKawAdfDqjMHHOWAZbj7Xev8rhR/jgKE0yFI91yHnRbRqZorUjEGwJlvrSvJgQ==","signatures":[{"sig":"MEYCIQC9KsIypYu+o/1bkRGTy6rLT0JLebvf3x8MtIIeBkRBtgIhAKTIJVo2P6OFkByyWwOp3zwEUy4eej2K2nZQJ7k1JPLx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106538},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e2adc14e84cdb63b1425311e662d57e700006d3b","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.24_1788590120964_0.5595119508602295","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@linyjs/cli","version":"0.0.25","_id":"@linyjs/cli@0.0.25","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"8e23dfae45ce6f535bae02e92643a4e388ddcf3f","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.25.tgz","fileCount":34,"integrity":"sha512-MAUlnNleB7KMZ01NxRzAXxEutbPMv9hq5hoLJBeXUESszFw68DZw13ZfYz9sLGaMv/EgwilspJGxvC5Xhffcnw==","signatures":[{"sig":"MEYCIQC9rgMbPKw85NRuhlJj6amrfPIgQw0n509JE79ho/diCQIhAKncxXWsDF8G7v64JV4wfL4YIDnG4zJumsB007I6IQuM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106538},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"8b68209e22160ceb5791efba954f72f74660bbb4","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.25_1788601887749_0.8320536605073188","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@linyjs/cli","version":"0.0.26","_id":"@linyjs/cli@0.0.26","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"bin":{"liny":"dist/index.js"},"dist":{"shasum":"1dd8c4ed16798f13ec407121557067af2151841d","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.26.tgz","fileCount":34,"integrity":"sha512-C49bRw4TKf1CDMa16HNSoOKcvbrY5LiLNp3zp3XiFoqr2+Ex+9RecBh2SpvhH0Ct1xVYzqyHoUVjWStiC+Lc0Q==","signatures":[{"sig":"MEUCIGsSkkKOIAVsjURUEAA86qDvqpjVXjVDgvSb2T1wkLYjAiEA3VkNnps28QFTYD/HkcwwRw6GI4ufS44gdFN5rsHQBHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106538},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"707d4d32bc17791a5e8ec80a931816b23eef8940","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.26_1789055682997_0.8097745429731382","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"_id":"@linyjs/cli@0.0.27","bin":{"liny":"dist/index.js"},"dist":{"shasum":"bcafd440d28d27e3f0c943f1cc5deeec27a55b51","tarball":"https://registry.npmjs.org/@linyjs/cli/-/cli-0.0.27.tgz","fileCount":34,"integrity":"sha512-SRSrMP1G1p5hbgc5bMgzEFbvi23plYFu/C+XftNtmBBTKROJ4mMDQ3oM6gAI4K50S1DQmMqp/QIFBnx+Tm2Pqw==","signatures":[{"sig":"MEYCIQC3Q+9DkSYCzPWwqSRS3hOqS5+jcCd4dM4mZznlhwQNOwIhANjTwNn6Rbn3cNtBIwsmMOCe1Aa8W12GYohvQJwK0fiI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBXhxjwpam77LhoEj5aItHbPP18AzbsehejWkniMpiz3AiB2uNf8MNOzMcle6HbQcHhoaSujxdzl0nMuW/RRQeFelw=="}],"unpackedSize":106538},"main":"./dist/index.js","name":"@linyjs/cli","type":"module","types":"./dist/index.d.ts","gitHead":"d1d53f5c754f605a92255748ae059d270fb6e2c6","scripts":{"build":"tsc -b","clean":"rm -rf dist *.tsbuildinfo"},"version":"0.0.27","_npmUser":{"name":"playl","email":"playl@outlook.com"},"_npmVersion":"10.9.2","description":"## 📦 简介","directories":{},"maintainers":[{"name":"playl","email":"playl@outlook.com"}],"_nodeVersion":"23.6.1","dependencies":{"ora":"^7.0.0","chalk":"^5.0.0","cleye":"^1.3.0","execa":"^8.0.0","dotenv":"^16.4.0","esbuild":"^0.20.0","archiver":"^6.0.0","fs-extra":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/execa":"^0.9.0","@types/archiver":"^6.0.0","@types/fs-extra":"^11.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.0.27_1789096672577_0.33344746486417876"}}},"time":{"created":"2026-06-11T00:24:16.747Z","modified":"2026-09-11T03:17:52.823Z","0.0.2":"2026-06-11T00:24:17.030Z","0.0.3":"2026-06-11T00:29:21.416Z","0.0.4":"2026-06-11T00:36:11.242Z","0.0.5":"2026-06-11T01:00:57.932Z","0.0.6":"2026-06-11T20:47:07.109Z","0.0.7":"2026-06-11T20:57:25.198Z","0.0.8":"2026-06-22T07:28:32.283Z","0.0.9":"2026-06-22T07:42:03.232Z","0.0.10":"2026-06-22T10:08:55.076Z","0.0.11":"2026-07-04T07:22:45.143Z","0.0.12":"2026-07-04T08:35:46.931Z","0.0.13":"2026-07-05T01:22:04.701Z","0.0.14":"2026-07-05T03:54:09.423Z","0.0.15":"2026-07-07T03:04:54.857Z","0.0.16":"2026-07-07T09:53:02.565Z","0.0.17":"2026-07-09T00:55:12.862Z","0.0.18":"2026-07-16T23:04:36.404Z","0.0.19":"2026-07-26T07:31:41.025Z","0.0.20":"2026-07-28T02:38:05.270Z","0.0.21":"2026-07-28T13:23:56.159Z","0.0.22":"2026-07-29T02:48:03.567Z","0.0.23":"2026-08-02T11:23:33.227Z","0.0.24":"2026-09-05T06:35:21.113Z","0.0.25":"2026-09-05T09:51:27.880Z","0.0.26":"2026-09-10T15:54:43.217Z","0.0.27":"2026-09-11T03:17:52.660Z"},"description":"## 📦 简介","maintainers":[{"name":"playl","email":"playl@outlook.com"}],"readme":"# @linyjs/cli - linyjs 框架命令行工具\n\n## 📦 简介\n\n`@linyjs/cli` 是 linyjs 框架的官方命令行工具，提供**零配置**的插件打包功能。\n\n**核心理念：**\n- ✅ **零配置** - 无需配置 webpack、rollup 等构建工具\n- ✅ **智能构建** - CLI 自动处理所有构建细节\n- ✅ **开箱即用** - 只需编写 TypeScript/TSX 代码即可打包\n- ✅ **优化默认值** - 内置 esbuild，自动 bundle、minify、tree shaking\n\n---\n\n## 🚀 快速开始\n\n### 安装\n\n```bash\n# 全局安装（推荐）\nnpm install -g @linyjs/cli\n\n# 或在项目中使用\nnpx @linyjs/cli <command>\n```\n\n### 基本用法\n\n```bash\n# 查看帮助\nnpx @linyjs/cli\n\n# 创建新插件项目\nnpx @linyjs/cli init my-plugin\n\n# 打包插件\ncd my-plugin\nnpx @linyjs/cli pack\n\n# 开发模式（打包 + 安装 + 注册）\nnpx @linyjs/cli dev\n\n# 验证插件\nnpx @linyjs/cli validate my-plugin.mpk\n```\n\n---\n\n## 📖 命令参考\n\n### `pack` - 打包插件\n\n将插件项目打包为 `.mpk` 文件。\n\n#### 用法\n\n```bash\nnpx @linyjs/cli pack [options]\n```\n\n#### 选项\n\n| 选项 | 简写 | 类型 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `--output` | `-o` | string | `.` | 输出目录 |\n| `--name` | `-n` | string | - | 插件名称（覆盖 package.json） |\n| `--version` | `-v` | string | - | 版本号（覆盖 package.json） |\n| `--build` | - | boolean | true | 执行构建步骤（使用 `--no-build` 跳过） |\n| `--manifest` | - | string | - | 自定义 manifest.json 路径 |\n| `--verbose` | - | boolean | false | 显示详细日志 |\n\n#### 示例\n\n```bash\n# 基本用法\nnpx @linyjs/cli pack\n\n# 指定输出目录\nnpx @linyjs/cli pack -o ./releases\n\n# 跳过构建（已有 dist/）\nnpx @linyjs/cli pack --no-build\n\n# 详细模式\nnpx @linyjs/cli pack --verbose\n\n# 自定义版本\nnpx @linyjs/cli pack -v 1.0.0\n```\n\n#### 工作流程\n\n```\n1. 读取 package.json\n2. 执行构建（npm run build）\n3. 生成 manifest.json\n4. 验证插件结构\n5. 打包为 .mpk 文件\n6. 显示结果统计\n```\n\n---\n\n### `dev` - 开发模式 ⭐\n\n快速开发工作流：打包插件 → 安装到 extensions → 注册到 packages.json\n\n#### 用法\n\n```bash\nnpx @linyjs/cli dev [options]\n```\n\n#### 选项\n\n| 选项 | 简写 | 类型 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `--target` | `-t` | string | 自动检测 | extensions 目录路径 |\n| `--verbose` | - | boolean | false | 显示详细日志 |\n\n#### 工作流程\n\n```\n1. 打包插件（生成 .mpk）\n2. 解压到 extensions/<plugin-name>/\n3. 读取 manifest.json\n4. 更新 packages.json\n5. 清理临时文件\n```\n\n#### 示例\n\n```bash\n# 基本用法（自动检测 extensions 目录）\nnpx @linyjs/cli dev\n\n# 指定目标目录\nnpx @linyjs/cli dev --target /path/to/ling/packages/ssr/extensions\n\n# 详细模式\nnpx @linyjs/cli dev --verbose\n```\n\n#### 输出示例\n\n```\n🚀 linyjs Plugin Dev Mode\n\n✔ Packing plugin...\n✔ Plugin packed: my-plugin-1.0.0.mpk\n✔ Installing to extensions...\n✔ Installed to: /path/to/extensions/my-plugin\n✔ Registering plugin...\n✔ Plugin registered in packages.json\n\n✓ Development setup complete!\n\nPlugin installed:\n  Name: my-plugin\n  Path: /path/to/extensions/my-plugin\n  Status: enabled\n\nNext steps:\n  1. Restart SSR server:\n     cd packages/ssr && npx tsx src/demo/dev-server-with-pkg.tsx\n  2. Or use hot reload (if supported)\n  3. Test your plugin in the browser\n```\n\n#### 优势\n\n✅ **一键部署** - 无需手动复制文件  \n✅ **自动注册** - 自动更新 packages.json  \n✅ **智能检测** - 自动查找 extensions 目录  \n✅ **增量更新** - 覆盖旧版本，保留配置  \n✅ **清理临时文件** - 不留下垃圾文件  \n\n---\n\n### `init` - 创建项目 ⭐\n\n从 npm 下载模板，快速创建新的插件项目。\n\n#### 用法\n\n```bash\nnpx @linyjs/cli init [name]\n```\n\n#### 参数\n\n- `name` - 项目名称（默认：`my-plugin`）\n\n#### 示例\n\n```bash\n# 创建名为 my-blog 的插件项目\nnpx @linyjs/cli init my-blog\n\n# 使用默认名称\nnpx @linyjs/cli init\n```\n\n#### 工作流程\n\n```\n1. 从 npm 下载 @linyjs/plugin-templates\n2. 创建项目目录\n3. 复制模板文件\n4. 显示下一步操作指南\n```\n\n#### 输出示例\n\n```\n🚀 linyjs Plugin Project Creator\n\n✔ Downloading template from npm...\n✔ Template downloaded\n\n✓ Project created successfully!\n\nNext steps:\n  1. Navigate to your project:\n     cd my-plugin\n  2. Install dependencies:\n     npm install\n  3. Start development:\n     npm run dev\n  4. Pack for deployment:\n     npx @linyjs/cli pack\n\nLearn more:\n  - Plugin Development Guide: ...\n  - CLI Documentation: ...\n```\n\n#### 模板内容\n\n创建的插件项目包含：\n\n```\nmy-plugin/\n├── package.json          # 预配置的依赖和脚本\n├── tsconfig.json         # TypeScript 配置\n├── README.md             # 项目说明\n├── .gitignore            # Git 忽略文件\n└── src/\n    ├── server/\n    │   └── index.ts      # 服务端模块示例\n    └── client/\n        └── index.tsx     # 客户端模块示例\n```\n\n**特性：**\n- ✅ TypeScript 支持\n- ✅ React 19 支持\n- ✅ 零配置构建（使用 `@linyjs/cli`）\n- ✅ 示例代码和注释\n- ✅ 开箱即用\n\n---\n\n### `validate` - 验证插件\n\n验证 `.mpk` 文件或插件目录是否符合规范。\n\n#### 用法\n\n```bash\nnpx @linyjs/cli validate <path> [options]\n```\n\n#### 参数\n\n- `path` - 插件路径（.mpk 文件或目录）\n\n#### 选项\n\n| 选项 | 简写 | 类型 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `--strict` | - | boolean | false | 严格模式（警告也报错） |\n| `--json` | - | boolean | false | JSON 格式输出 |\n\n#### 示例\n\n```bash\n# 验证目录\nnpx @linyjs/cli validate ./my-plugin\n\n# 验证 .mpk 文件\nnpx @linyjs/cli validate my-plugin.mpk\n\n# JSON 输出\nnpx @linyjs/cli validate my-plugin.mpk --json\n```\n\n---\n\n### `init` - 初始化项目\n\n快速创建新的插件项目模板。\n\n#### 用法\n\n```bash\nnpx @linyjs/cli init [name] [options]\n```\n\n#### 参数\n\n- `name` - 项目名称（可选）\n\n#### 选项\n\n| 选项 | 简写 | 类型 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `--template` | `-t` | string | `minimal` | 项目模板 |\n| `--yes` | `-y` | boolean | false | 跳过确认 |\n\n#### 可用模板\n\n- `minimal` - 最小化插件（Hello World）\n- `full` - 完整功能插件\n- `admin-extension` - 管理后台扩展\n- `api-service` - 纯 API 服务\n\n#### 示例\n\n```bash\n# 交互式创建\nnpx @linyjs/cli init\n\n# 指定名称和模板\nnpx @linyjs/cli init my-blog --template=full\n\n# 非交互模式\nnpx @linyjs/cli init my-plugin -t minimal -y\n```\n\n---\n\n## 💡 使用场景\n\n### 1. 本地开发\n\n#### 方式 A：使用 dev 命令（推荐）⭐\n\n```bash\n# 在插件项目中\ncd my-plugin\n\n# 一键打包、安装、注册\nnpx @linyjs/cli dev\n\n# 重启 SSR 服务器即可看到效果\ncd ../ssr && npx tsx src/demo/dev-server-with-pkg.tsx\n```\n\n**优势：**\n- ✅ 自动打包\n- ✅ 自动复制到 extensions\n- ✅ 自动注册到 packages.json\n- ✅ 清理临时文件\n\n#### 方式 B：手动流程\n\n```bash\n# 在插件项目中\ncd my-plugin\n\n# 打包并测试\nnpx @linyjs/cli pack\n\n# 复制到 extensions 目录\ncp my-plugin-1.0.0.mpk ../ssr/extensions/\n\n# 重启 SSR 服务器\ncd ../ssr && npx tsx src/demo/dev-server-with-pkg.tsx\n```\n\n### 2. CI/CD 集成\n\n```yaml\n# .github/workflows/build.yml\nname: Build Plugin\n\non:\n  push:\n    tags:\n      - 'v*'\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    \n    steps:\n      - uses: actions/checkout@v3\n      \n      - name: Setup Node.js\n        uses: actions/setup-node@v3\n        with:\n          node-version: '18'\n      \n      - name: Install dependencies\n        run: npm ci\n      \n      - name: Pack plugin\n        run: npx @linyjs/cli pack --output ./dist\n      \n      - name: Upload artifact\n        uses: actions/upload-artifact@v3\n        with:\n          name: plugin\n          path: ./dist/*.mpk\n```\n\n### 3. 批量处理\n\n```bash\n# 打包多个插件\nfor dir in plugins/*/; do\n  cd \"$dir\"\n  npx @linyjs/cli pack -o ../../releases/\n  cd ../..\ndone\n```\n\n---\n\n## 🔧 配置\n\n### `.lingrc.json`\n\n可以在项目根目录创建 `.lingrc.json` 配置文件：\n\n```json\n{\n  \"build\": {\n    \"command\": \"npm run build\",\n    \"outputDir\": \"dist\"\n  },\n  \"pack\": {\n    \"exclude\": [\n      \"node_modules\",\n      \".git\",\n      \"*.test.ts\",\n      \"*.spec.ts\"\n    ],\n    \"include\": [\n      \"**/*\"\n    ]\n  },\n  \"manifest\": {\n    \"customFields\": {\n      \"homepage\": \"https://example.com\"\n    }\n  }\n}\n```\n\n---\n\n## 🎨 输出示例\n\n### 成功打包\n\n```\n📦 linyjs Plugin Packer\n\n✔ Package.json loaded\n✔ Build completed\n✔ Manifest generated\n✔ Structure validated\n✔ Plugin packed successfully\n\n✓ Plugin ready!\n  File: /path/to/my-plugin-1.0.0.mpk\n  Size: 245.67 KB\n  Version: 1.0.0\n\nNext steps:\n  1. Test the plugin:\n     cp /path/to/my-plugin-1.0.0.mpk /path/to/ling/packages/ssr/extensions/\n  2. Restart SSR server:\n     cd packages/ssr && npx tsx src/demo/dev-server-with-pkg.tsx\n  3. Validate the plugin:\n     npx @linyjs/cli validate /path/to/my-plugin-1.0.0.mpk\n```\n\n### 验证失败\n\n```\n📦 linyjs Plugin Packer\n\n✔ Package.json loaded\n✔ Build completed\n✔ Manifest generated\n✗ Validation failed\n\nValidation errors:\n  - Server entry not found: server/index.js\n  - Client entry not found: client/index.js\n```\n\n---\n\n## 🛠️ 技术栈\n\n- **[Cleye](https://github.com/zthh/cleye)** - 现代化 CLI 框架\n- **[Archiver](https://github.com/archiverjs/node-archiver)** - ZIP 压缩\n- **[Chalk](https://github.com/chalk/chalk)** - 终端着色\n- **[Ora](https://github.com/sindresorhus/ora)** - 加载动画\n- **[FS Extra](https://github.com/jprichardson/node-fs-extra)** - 文件系统操作\n\n---\n\n## 📝 开发指南\n\n### 本地开发\n\n```bash\n# 克隆仓库\ngit clone https://github.com/linyjs/ling.git\ncd ling/packages/cli\n\n# 安装依赖\nnpm install\n\n# 构建\nnpm run build\n\n# 测试\nnode dist/index.js pack --help\n```\n\n### 添加新命令\n\n1. 在 `src/commands/` 目录下创建新文件\n2. 实现命令逻辑\n3. 在 `src/index.ts` 中注册命令\n\n---\n\n## ❓ 常见问题\n\n### Q: 如何使用 dev 命令快速开发？\n\n```bash\n# 在插件项目目录中\ncd my-plugin\n\n# 一键打包、安装、注册\nnpx @linyjs/cli dev\n\n# 如果自动检测失败，指定目标目录\nnpx @linyjs/cli dev --target /path/to/ling/packages/ssr/extensions\n```\n\n详见：[`dev` - 开发模式](#dev---开发模式-)\n\n### Q: 如何跳过构建步骤？\n\n```bash\nnpx @linyjs/cli pack --no-build\n```\n\n### Q: 如何指定输出目录？\n\n```bash\nnpx @linyjs/cli pack -o ./releases\n```\n\n### Q: 打包后文件在哪里？\n\n默认在当前目录，文件名格式为 `{name}-{version}.mpk`。\n\n### Q: 如何验证插件？\n\n```bash\nnpx @linyjs/cli validate my-plugin.mpk\n```\n\n---\n\n## 📄 License\n\nMIT\n\n---\n\n## 🔗 相关链接\n\n- [linyjs 框架文档](https://github.com/linyjs/ling)\n- [插件开发指南](../../spec/插件开发指南.md)\n- [问题反馈](https://github.com/linyjs/ling/issues)\n","readmeFilename":"README.md"}