yCodeTech / valet-windows

Laravel Valet for Windows.
https://packagist.org/packages/ycodetech/valet-windows
MIT License
27 stars 4 forks source link

Refactor 'share' command for improved site handling #5

Closed hemant-kr-meena closed 11 months ago

hemant-kr-meena commented 11 months ago

Proposal to Enhance 'share' Command in Laravel Valet

Currently, when using the 'share' command, we often want to share our current working directory. Recentally ngrok start providing a default permanent domain for all free users. it makes sense to optimize the process for sharing projects without unnecessary repetitions.

My proposal is to make the 'site' parameter in the 'share' command optional. This change would allow us to automatically use the current working directory's domain when no site name is specified. This adjustment aligns well with common usage scenarios and reduces the need for repetitive input.

By making the 'site' parameter optional, we can streamline the sharing process for our projects and further enhance the user experience. Developers who wish to use ngrok options can do so without the frustration of passing the site name every time.

If we want to define a site name then we need to just pass name with -s|--site parameter.

Now:

valet share site-1 domain=custom-domain

After:

valet share domain=custom-domain //for current working directory
//or 
valet share -s site-1 domain=custom-domain //other site
valet share --site site-1 domain=custom-domain //other site
yCodeTech commented 11 months ago

The site is already optional. The square brackets [ ] syntax denotes the argument as optional internally. However, I am aware that the docs do not reflect this. The docs are somewhat lacking in a lot of places and it's something I'm working on.

yCodeTech commented 11 months ago

More tests concluded that choosing to omit the site argument but specify ngrok's options incurs problems. I think the best cause of action would be to change the options array argument to a --options flag and pass multiple ngrok options separated by a double slash //, like other commands.

yCodeTech commented 11 months ago

The referenced commit closes this PR as it is the best way to go at this current time, and it is inline with the other commands. Thank you for bringing it to my attention, it is appreciated.