Live data from Hacker News

Show HN: 1Poshword, cross-platform PowerShell client for 1Password

github.com

1–10 of 17 posts

Re: Show HN: 1Poshword, cross-platform PowerShell client for 1Password

#7
post #4

I don't see how this works on Linux though?

Linux has had PowerShell support for a few weeks now, and if you look in the lib.ps1, you'll see that ClipboardCopy function tries clip.exe (Windows), then pbcopy (MacOS), then finally xclip (Linux).

The module author used good form in dividing things up between the functions (cmdlets) that user should call from the PowerShell commandline and shouldn't change (1Poshword.psm1) and helper functions whose names are subject to change if he ever rewrites something (lib.ps1).

Re: Show HN: 1Poshword, cross-platform PowerShell client for 1Password

#8
post #7
post #4

I don't see how this works on Linux though?

Linux has had PowerShell support for a few weeks now, and if you look in the lib.ps1, you'll see that ClipboardCopy function tries clip.exe (Windows), then pbcopy (MacOS), then finally xclip (Linux). The module author used good form in dividing things up between the functions (cmdlets) that user should call from the PowerShell commandline and shouldn't change (1Poshword.psm1) and helper functions whose names are subj…

OP here. The open-sourcing and cross-platformizing of powershell itself makes it about 99% free to create "cross-platform" projects. A few specifics I came across from the remaining 1%:

  - Use platform-appropriate native tools (e.g. clip.exe/pbcopy/xclip as mentioned)
  - Use appropriate path separators (tip: just use / always - Windows handles it fine)
  - Be mindful of case-sensitive file paths
  - Use platform-appropriate newline (fixed a bug here just this morning)
  - Avoid BOMs when writing files, unix doesn't like them (use [IO.File]::WriteAllText, not Out-File. Sad.)
  - Need to restrict yourself to powershell cmdlets and .NET APIs that are available in the open-source version of powershell

Re: Show HN: 1Poshword, cross-platform PowerShell client for 1Password

#10
This is awesome! Props for going the extra mile and including things that people who doing quick bash-to-PowerShell ports tend to leave out- like pipeline input and SecureString. Here is the rare "Show HN" thing that I'm going to start using right away.
Post reply on HN