You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The file descriptor support seemed weird at first but it's starting to grow on me. Tempfiles are the bane of inter-process communication. It's much cleaner to pass everything around with pipes. If we support routing output to arbitrary file descriptors, callers can create a pipe for every kind of output they need, then just assign the pipes to pre-determined file descriptors and tell unibeautify about those fd numbers. No tempfiles ever 🎉
This is actually an implementation detail of each individual beautifier -- not specific to Unibeautify CLI or even Unibeautify core itself. Ideally, we don't use anything except stdin and stdout, however, for too many beautifiers this is not an option 😢. Therefore, this issue is more so a discussion of the best practice for developing beautifiers and then each beautifier which is currently afflicted with temporary files should be migrated towards the best practice.
Ah, I thought people who call our CLI would benefit from having the option to use arbitrary file descriptors of their choosing. I agree that we should definitely call the beautifiers using stdin/stdout/stderr whenever possible. If it works at all (on Windows) then it should be quite easy to implement. It's definitely easy on Unix if Node comes with an OS API of similar scope to e.g. Python.
Continuing from #82 (comment)
And from #82 (comment)
Linux, Mac and all other unixes are easy - passing around file descriptor numbers has a long history there and the relevant APIs are extremely stable.
After investigating for a bit, I think it can be done the same way one Windows, but not sure if there are any gotchas.
The text was updated successfully, but these errors were encountered: