{"_id":"@dzhechkov/npx-ui","_rev":"20-79046cd4b41b9a577a1afbfbb0cb7c0a","name":"@dzhechkov/npx-ui","dist-tags":{"latest":"0.1.19"},"versions":{"0.1.0":{"name":"@dzhechkov/npx-ui","version":"0.1.0","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.0","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"caa9ad02aeb4ec6852614a066f8c2db9dd560dfc","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.0.tgz","fileCount":47,"integrity":"sha512-DHPVexpUM7LB/l8oZOuW/QaqFt667XOqymheSwGKq3z44mtZX938P6lact1kbk/HrmU/qa8q/BJuido8pET/Vw==","signatures":[{"sig":"MEQCIH7OMnVr3nM9XG023acObNm8GjgLm3PnbIFiBWsJFINrAiATqdHld+xKDQgJZnHClpZnLHatnyN/kiuLKidcReVgGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":415546},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.0_1776840021979_0.6219245151005728","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dzhechkov/npx-ui","version":"0.1.1","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.1","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"11cd9241c835d2d51c59688858af59e72708528a","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.1.tgz","fileCount":47,"integrity":"sha512-saGZ/RP9XcGaB0cCDh6Kz7dYUtfe3nhZ/SmEoYhq6LuDd4YH/U17UT7wnmxxtLtMMaUiGRUf75DrAbNNBXcT3w==","signatures":[{"sig":"MEUCIA6P3VYc4U4qOyvBkNcQLwNT3KYOTNLDbOJ0LckruL7KAiEAuyceFkKqcLKbmGrhfoQEJFxZMV7717ws4k+PvwEXtnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416791},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.1_1776840107365_0.7008881175951138","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dzhechkov/npx-ui","version":"0.1.2","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.2","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"dd457454af491c290e51963bb01d8e9347e97cca","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.2.tgz","fileCount":47,"integrity":"sha512-I5Yk0NLXYc7hWKgPXT54FP5WpbcZoBHrLYUl2xTztdQjXCk1aG+btMnxHneetkZuDav9bGbYMqTWJCBWeu5Cng==","signatures":[{"sig":"MEQCIGjcnFLm+AU7JRuGK5NNvSI0o5YHa7KgtHA8ZwvxGxWFAiBiWJPl6fFoBTqgwRplmz+gK3Uro6EZ+XWWuW6ZNCsLSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416844},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.2_1776840195357_0.20166923770975043","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dzhechkov/npx-ui","version":"0.1.3","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.3","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"5989a02c197951b53cb3bc33052f476dae5ec4d9","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.3.tgz","fileCount":47,"integrity":"sha512-GF7pnZuq8jNTsiPmdx/7eNSudT7ruX2CA6qMBLT/cHwSUGWsoIAI3M9NzkpHLJa7rtpz1Jq4NHJZhm6ikZ6Zzw==","signatures":[{"sig":"MEUCIQDe4ZpvpZP4vLWibUDQf1gL0YRSZ49hGXXjsB+VfWrnuAIgWQ2i39TrFnJRK3NdVANUvb0YrEYThYGO4HE2hrFuL44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421767},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.3_1776842366896_0.6682493651275383","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dzhechkov/npx-ui","version":"0.1.4","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.4","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"6556d6ee246c1b42efc8dbba47ae018392101b94","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.4.tgz","fileCount":47,"integrity":"sha512-53T4qI0XCjDHhTWNkv6Wo6DlBGZDE/Ner/kWIUg7XQyScA3GqWGsirJp3Fi0fx/AbHFO6lqI1p0Z4eKElPpOFw==","signatures":[{"sig":"MEUCIBBUUn0uMQIT+wI/DbLGR8rIKg70nbFxLWItqqgp+Yu9AiEAymTAeWwtzTDN6s2SHkPHWa0yStsF2aUSBpz3IgmEoBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428493},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.4_1776842918338_0.8604133770184392","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dzhechkov/npx-ui","version":"0.1.5","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.5","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"8a52f2ff05738b72ff2703c4d96f0c0e7f217d2d","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.5.tgz","fileCount":47,"integrity":"sha512-vBSSDdGg6PY1lH4Qmfa3EbRpLI/3W74iOB3AqQZbZejs6jp7w1TM47rPiw71glNI82jvmXBH13Wx73ymL/5yLA==","signatures":[{"sig":"MEUCIQCl7Qttp2VCWo/x8i+eLyXjpWgoogeJdTIkwqkcvtv13AIgW2nO/xANE1La/LYcV2knqhr6g+Rq44v1x2m6OeNcwdk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438111},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.5_1776844426245_0.36988741817840287","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@dzhechkov/npx-ui","version":"0.1.6","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.6","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"e8570957706f40163f6087af0f859584a7269513","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.6.tgz","fileCount":47,"integrity":"sha512-TIQs7Aa/1+8Ag2nGzu/LMW6hyqEhoOmq61r1u9aSVrcGFXk1zZEoDeYxpgVYl49PqkzrU/OVZladTnbd6teceQ==","signatures":[{"sig":"MEQCIHkBFHzZNSiZjbZK8DpZgcUHsryOV9OnX3lqC4xxfniBAiA8QwbCADFJFqcAnoaNq3En1IUN/voZtWa2iq8O4uBYQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454140},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.6_1776844697156_0.24785938206253388","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@dzhechkov/npx-ui","version":"0.1.7","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.7","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"73d72d1bf8ec803c955d6ee3934224a56acfd2db","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.7.tgz","fileCount":47,"integrity":"sha512-6hH+EqZT/Psq/lpj2TEcc9wqPitGdcMPyj2cKj5G9zYTlDVXA+lXEa1XnXB3dEaCSGLEr1dvzQshX441O2uKFw==","signatures":[{"sig":"MEUCIDbmpR0edC4npVDwcY84Ngp945+R4kZGp9nJpU3h0OEdAiEAhE8rIyOlUwtxjw3ZgIQEnu+9S5TT0eLDxb4y6UYdNww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454143},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.7_1776844830065_0.02445314155105005","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@dzhechkov/npx-ui","version":"0.1.8","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.8","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"a1a69277fbeb6cce3f24761e35d36e8229732984","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.8.tgz","fileCount":47,"integrity":"sha512-PSAPy7n1r/kqs6aFsd22tL+U4RXrd2lPISoTK+FVfCCW0CtybgKnACMUfshYw97hXYpNMYXIP0FJuP0uqELqNQ==","signatures":[{"sig":"MEUCIQDgbT4nJZugW4wb+OszZCxrnAg2QfCPHZ/jxRta3x17ogIgP0iVGmjceH0DpVChtyZTtEXoNxVBQaqOySO/N4UAeNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":458614},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.8_1776845147291_0.753909323190441","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@dzhechkov/npx-ui","version":"0.1.9","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.9","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"f96dc19675690d09de2a8df9de7b918278c5ee6d","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.9.tgz","fileCount":47,"integrity":"sha512-q3MLlyUBPyNzhQz5c44BSIkup1vk1XfWAu7+/ulYH/5HMFuShbudNwIBeYak0NXVUG7cww4LjN5h+JURB25cAA==","signatures":[{"sig":"MEUCID65O4AE1u6egs9gnlgxgOZFlQif3Z8HQi5CEPcukl35AiEArB8+NSCWDFXAUX4ZqpAU4NEufk0qwaQOfMcdwvhA8fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462378},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.9_1776847437726_0.2802716318244767","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@dzhechkov/npx-ui","version":"0.1.10","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.10","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"6553a7683ded45320c30f16c22806ea19d49f417","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.10.tgz","fileCount":47,"integrity":"sha512-5As8fh8+A4V4O69WFzaYqB7vgH8J+0+RN/H9sDgGj6w2IswRrNz/ps98jGSm1PHEsvF64jwPGc/+2b92LUhfRA==","signatures":[{"sig":"MEUCIQDxS1/m7nfonENzANJf+MxFBxhTDM4LeSLvn0KZGDggNgIgCEjOJluMks+O/vJiV2nYT5qGK2w8TKA0CMCO4UbnK3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467868},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.10_1776847890992_0.4357498656485781","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@dzhechkov/npx-ui","version":"0.1.11","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.11","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"74b4f72a6e328e09608be2abeea5003e53bd1cbf","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.11.tgz","fileCount":47,"integrity":"sha512-D0Li9RGLFPPEeS9xh9s1jE3HXsqMjDDo99FkxZvEEOprKIPP5VGrFx2mhSH6o9z/et3d6DYWRXovQlBLMApNeg==","signatures":[{"sig":"MEQCIB14LN0J4mBwynpERy9SqydXiLYX6CXIF1mbocxF4zj6AiBaZ8yqiZ/ObFCXrQzna0Xt3uukZZt4Mt7zNeLJTmUOdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491363},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.11_1776851575218_0.20671645310442033","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@dzhechkov/npx-ui","version":"0.1.12","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.12","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"db7ec9b0b982f0326804cb9378da1a26136328ca","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.12.tgz","fileCount":47,"integrity":"sha512-2uFEtx9khu1Hoe7T5bs0G9pXoU9LYQ6DIbgF2quFiuEECnB36zWyuhMKX9nE9777hn1S4HgICVyEXaYZoFzmRQ==","signatures":[{"sig":"MEUCIB6rTPlBWfPD9Lu7WaEByOzghwwemsYKU7PRTxFaaNnuAiEAgSnwVHf06ylUylL+EAB3/2s9/RSW7kehyTsMYCUXxhc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":508066},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.12_1776853734744_0.7897256264282579","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@dzhechkov/npx-ui","version":"0.1.13","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.13","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"d3f66c7e246cf38b927524f7c58d3b172d289a37","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.13.tgz","fileCount":47,"integrity":"sha512-oG9AvxGzwyhpKDZFYI3aDOfVCAtx0aVFHj0TI1wVG3utYUzoXL4EdS06kIY47W+s/FEQrAMpDbDJERJDkl1Qfw==","signatures":[{"sig":"MEUCIHIVdxVRfHPtd24VKMMF/ovMqrocNptqfOWhzvE8xM40AiEAt8O0F0fscnRgBW2mvH5amwdq7yjNfaLWBSR6HS4Lep4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":508081},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.13_1776853881226_0.9052458474520386","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@dzhechkov/npx-ui","version":"0.1.14","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.14","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"caa22f2f86e8bd76772c7c171eff6ac91192b2ed","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.14.tgz","fileCount":47,"integrity":"sha512-KD1D7NPNNwiWIizNBvaEuQf1GXqNmkcI/mTnD/yt/ae9FzVbWuEyPT4g5cPYtnlSzW8dzixUB7w/MJGr7eqVVQ==","signatures":[{"sig":"MEUCIQC3wsMdJIqLxyu7Vss7awxSl6EUpNGg7AGtB4hvEcGLqgIgWUBAbc5rs4dnWggiypTNw/c6ATiqqU8JnPHQu8JSpWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":508667},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.14_1776854655382_0.7251989523803966","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@dzhechkov/npx-ui","version":"0.1.15","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.15","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"96130f1c9422b6221f70f46b143d40d43a855c53","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.15.tgz","fileCount":47,"integrity":"sha512-NUuCG/9UV72PEoj5FSiBeb/Z0+1kie1u/w79ZjgvFl8dONnhjy8ZCLIO/8WzMYnV5aahzK95dpeHIJorocuzLA==","signatures":[{"sig":"MEQCIFYT6rFV3ylCfOB5UXN/HLMyXtYbfr7NDmt3lctf/Co4AiAR6eiKQ8BRutSW0lk3lsf4Ni9JCG3j19aDJWJ5FK6IWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511923},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.15_1776855208624_0.9153767732563163","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@dzhechkov/npx-ui","version":"0.1.16","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.16","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"7b3eb7374478b371287542245b0df9751f883dba","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.16.tgz","fileCount":47,"integrity":"sha512-r+p2r3MRXDN2Ot+/0spit1TU8KAw2ROrB7o1Tl/b+CsYaQKVRXl+aXjTgMNMnqfjzdyQOnVfv4RNS4NeICDvrA==","signatures":[{"sig":"MEQCIFaCoLqh3/AE8mRLiF7UUXd9gMRGp3k7HwtYoaO/hsEkAiA6d37vWtD1K0JRkG/d8TjbxfV55hQwgG/JTq9FAYlMNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":516860},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.16_1776859856052_0.9353355013879012","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@dzhechkov/npx-ui","version":"0.1.17","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.17","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"9d6995abbeb0a53f178268de910d5c4fd8c1e478","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.17.tgz","fileCount":47,"integrity":"sha512-wKWYqsjircteQz2hE4xIKPKzcWDnX7JqAHm7Qnk9MmeTTJ6kJfdPn/5/Lfp9tS+o4vbMepaPVvvZHN93kKCdeA==","signatures":[{"sig":"MEQCIB+6C2AfD9bc50oWR1nUBJO9iBAAWWWt2yB0TrNTDDSzAiBX4n728Ngx+Iw8ruLcShlnkpbPnUiQ4IGfKvux7gWbOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517008},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.17_1776860712829_0.8608148526309665","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@dzhechkov/npx-ui","version":"0.1.18","keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","_id":"@dzhechkov/npx-ui@0.1.18","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"bin":{"npx-ui":"dist/index.js"},"dist":{"shasum":"1f934f0d119b2e5819e093f5d6a507aa25579035","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.18.tgz","fileCount":47,"integrity":"sha512-zLWorPzGjZA+y2Y267EdKXh6J4auuj1+HhRx1KSxq9o91oLLqNoH3Tgywwi2+siGRLerjwauGytOIu+sWnTugg==","signatures":[{"sig":"MEQCIG1wVIYUhbfP2+l2It3V7iC0/oEkmmuzkCIRirjp5YqoAiB8/SWmMuQb6bSwBEUUPp7MDTxfhBWhu78reENvv6jrHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517010},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","scripts":{"dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js","build":"tsc","build:client":"node scripts/build-client.js"},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"repository":{"url":"git+https://github.com/djd1m/npx-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Universal web UI wrapper for any CLI/npx package","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.16.0","open":"^10.0.0","express":"^4.18.0","commander":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","react":"^19.2.5","esbuild":"^0.28.0","@types/ws":"^8.5.0","react-dom":"^19.2.5","typescript":"^5.4.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/express":"^4.17.0","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/npx-ui_0.1.18_1776863435666_0.4950527760069592","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@dzhechkov/npx-ui","version":"0.1.19","description":"Universal web UI wrapper for any CLI/npx package","bin":{"npx-ui":"dist/index.js"},"main":"./dist/index.js","scripts":{"build":"tsc","build:client":"node scripts/build-client.js","dev":"tsx src/index.ts","test":"node --test dist/**/*.test.js"},"dependencies":{"commander":"^12.0.0","express":"^4.18.0","open":"^10.0.0","ws":"^8.16.0"},"devDependencies":{"@types/express":"^4.17.0","@types/node":"^20.0.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@types/ws":"^8.5.0","esbuild":"^0.28.0","react":"^19.2.5","react-dom":"^19.2.5","tsx":"^4.7.0","typescript":"^5.4.0"},"engines":{"node":">=18"},"keywords":["cli","gui","web-ui","npx","form-generator"],"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/djd1m/npx-ui.git"},"homepage":"https://github.com/djd1m/npx-ui#readme","bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"_id":"@dzhechkov/npx-ui@0.1.19","gitHead":"df6262326c6db7926c5c42e5506e5975ed7021ba","types":"./dist/index.d.ts","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-91gzMHOisTimSiK76L2ebPorLSkLPIxMo4wBSbLKt8TcLULM0NnYefZnaEMHDDvCC7fjT9wjm7oPvd8TLDgPVw==","shasum":"b3ea5552e6c20f310eae93e29e5ed837ba35ed9d","tarball":"https://registry.npmjs.org/@dzhechkov/npx-ui/-/npx-ui-0.1.19.tgz","fileCount":51,"unpackedSize":535278,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDyHiM7MfxX88YvNd43AtT11d4YsQL92pqwGIm415qXGwIhAOULVqFcg7rSpScrv75wFVOOAhCSbw3kjgBN2HDI/aCL"}]},"_npmUser":{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"},"directories":{},"maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/npx-ui_0.1.19_1776867403767_0.9442079565375112"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T06:40:21.850Z","modified":"2026-04-22T14:16:44.043Z","0.1.0":"2026-04-22T06:40:22.129Z","0.1.1":"2026-04-22T06:41:47.530Z","0.1.2":"2026-04-22T06:43:15.521Z","0.1.3":"2026-04-22T07:19:27.050Z","0.1.4":"2026-04-22T07:28:38.463Z","0.1.5":"2026-04-22T07:53:46.386Z","0.1.6":"2026-04-22T07:58:17.292Z","0.1.7":"2026-04-22T08:00:30.208Z","0.1.8":"2026-04-22T08:05:47.460Z","0.1.9":"2026-04-22T08:43:57.887Z","0.1.10":"2026-04-22T08:51:31.241Z","0.1.11":"2026-04-22T09:52:55.370Z","0.1.12":"2026-04-22T10:28:54.946Z","0.1.13":"2026-04-22T10:31:21.382Z","0.1.14":"2026-04-22T10:44:15.516Z","0.1.15":"2026-04-22T10:53:28.768Z","0.1.16":"2026-04-22T12:10:56.236Z","0.1.17":"2026-04-22T12:25:12.986Z","0.1.18":"2026-04-22T13:10:35.847Z","0.1.19":"2026-04-22T14:16:43.935Z"},"bugs":{"url":"https://github.com/djd1m/npx-ui/issues"},"license":"MIT","homepage":"https://github.com/djd1m/npx-ui#readme","keywords":["cli","gui","web-ui","npx","form-generator"],"repository":{"type":"git","url":"git+https://github.com/djd1m/npx-ui.git"},"description":"Universal web UI wrapper for any CLI/npx package","maintainers":[{"name":"dzhechkov","email":"jechkov.dmitriy@gmail.com"}],"readme":"# npx-ui -- Universal Web UI for CLI Packages\n\n[![npm version](https://img.shields.io/npm/v/npx-ui.svg)](https://www.npmjs.com/package/npx-ui)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAutomatically generate a web-based UI for any CLI tool. Point it at an npm package and get a form-driven interface in your browser -- no code changes to the target CLI required.\n\n<!-- Screenshot placeholder: The user sees a browser window with a sidebar listing discovered CLI commands on the left, a form with labeled inputs (text fields, checkboxes, dropdowns) generated from the CLI's options in the center, and a terminal-style output panel at the bottom showing real-time stdout/stderr. -->\n\n## Quick Start\n\n```bash\nnpx npx-ui run <package-name>\n```\n\nFor example:\n\n```bash\nnpx npx-ui run eslint\n```\n\nThis will introspect the CLI, generate a web form, and open your browser to `http://localhost:3000`.\n\n## CLI Options\n\n| Option | Description | Default |\n|---|---|---|\n| `--port <number>` | Port to listen on | `3000` |\n| `--no-open` | Do not auto-open the browser | `false` |\n| `--no-timeout` | Disable the 30-minute process timeout | `false` |\n\n## How It Works\n\n1. **Detect** -- npx-ui introspects the target package using a multi-strategy fallback chain: `webui.config.json` > Commander.js reflection > `--help` output parsing.\n2. **Generate** -- Discovered commands, arguments, and options are converted to JSON Schema, which drives a dynamic form UI in the browser.\n3. **Serve** -- An Express server hosts the UI and a WebSocket endpoint. Form submissions spawn the CLI as a child process (`shell: false`), streaming stdout/stderr back to the browser in real time.\n\n## Supported CLI Frameworks\n\n- **Commander.js** -- Full reflection via monkey-patching `parse()`. Commands, options, arguments, choices, and defaults are all captured.\n- **Any CLI with `--help`** -- Universal fallback parser that extracts options, arguments, and subcommands from standard help output.\n- **Custom config** -- Drop a `webui.config.json` in your package root for full control.\n\n### webui.config.json Example\n\n```json\n{\n  \"commands\": [\n    {\n      \"name\": \"build\",\n      \"description\": \"Build the project\",\n      \"arguments\": [\n        { \"name\": \"target\", \"description\": \"Build target\", \"type\": \"string\", \"required\": true }\n      ],\n      \"options\": [\n        { \"name\": \"watch\", \"alias\": \"w\", \"description\": \"Watch mode\", \"type\": \"boolean\" },\n        { \"name\": \"output\", \"alias\": \"o\", \"description\": \"Output dir\", \"type\": \"file\", \"required\": true }\n      ]\n    }\n  ]\n}\n```\n\n## API Reference\n\nAll endpoints are served on `http://localhost:<port>` and restricted to localhost connections only.\n\n| Method | Endpoint | Description |\n|---|---|---|\n| `GET` | `/api/package` | Package metadata (name, version, config source) |\n| `GET` | `/api/commands` | List of commands with JSON Schema definitions |\n| `POST` | `/api/execute` | Start a command execution. Body: `{ command, formData }` |\n| `GET` | `/api/executions` | List active and completed executions |\n| `DELETE` | `/api/executions/:id` | Kill a running execution |\n\n### POST /api/execute\n\nRequest body:\n\n```json\n{\n  \"command\": \"build\",\n  \"formData\": {\n    \"_arg_target\": \"production\",\n    \"watch\": true,\n    \"output\": \"./dist\"\n  }\n```\n\nResponse (201):\n\n```json\n{\n  \"executionId\": \"uuid\",\n  \"status\": \"running\",\n  \"wsUrl\": \"ws://localhost:3000/ws?id=uuid\"\n}\n```\n\n## WebSocket Protocol\n\nConnect to `ws://localhost:<port>/ws?id=<executionId>` to receive real-time output.\n\n**Server to client messages:**\n\n| Type | Fields | Description |\n|---|---|---|\n| `stdout` | `data`, `ts` | Standard output chunk |\n| `stderr` | `data`, `ts` | Standard error chunk |\n| `status` | `executionId`, `status` | Process status change |\n| `done` | `executionId`, `exitCode`, `duration`, `signal` | Process completed |\n\n**Client to server messages:**\n\n| Type | Fields | Description |\n|---|---|---|\n| `stdin` | `data` | Send input to process (reserved) |\n| `kill` | `signal?` | Kill the running process |\n\n## Security Model\n\nnpx-ui implements a 6-layer defense model (localhost only):\n\n1. **127.0.0.1 binding** -- Server binds to loopback only, never `0.0.0.0`.\n2. **Origin validation** -- HTTP and WebSocket connections validate Origin/Host headers against a localhost allowlist.\n3. **CSP headers** -- Content-Security-Policy restricts scripts, styles, and connections to `self` and localhost WebSocket.\n4. **Command whitelist** -- Only commands discovered during introspection can be executed. Arbitrary commands are rejected.\n5. **Argument sanitization** -- Shell metacharacters (`;`, `|`, `&`, `` ` ``, `$()`, etc.) are stripped from all argument values.\n6. **No shell execution** -- All processes are spawned with `shell: false` via `child_process.spawn`, passing arguments as arrays.\n\n## Development\n\n### Build\n\n```bash\nnpm install\nnpm run build          # Compile TypeScript\nnpm run build:client   # Bundle client HTML\n```\n\n### Test\n\n```bash\nnpm run build\nnpm test\n```\n\n### Project Structure\n\n```\nsrc/\n  index.ts              # Entry point, orchestration\n  cli.ts                # CLI argument parsing (Commander.js)\n  core/\n    types.ts            # Domain types\n    schema-parser.ts    # Multi-strategy CLI introspection\n    process-manager.ts  # Child process lifecycle management\n  server/\n    app.ts              # Express app setup, security middleware\n    routes.ts           # API route handlers\n    websocket.ts        # WebSocket server and event bridging\n  client/               # React UI (bundled to client.html)\n```\n\n### Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/my-feature`\n3. Make your changes and add tests\n4. Run the test suite: `npm test`\n5. Submit a pull request\n\n## License\n\nMIT\n","readmeFilename":"README.md"}