pkgroll icon indicating copy to clipboard operation
pkgroll copied to clipboard

Hashbang not included in CLIs

Open ayuhito opened this issue 3 years ago • 1 comments

I think the current version doesn't work to include the hashbang for any files included in the bin field of package.json. Or more accurately, I don't think the bundler even recognises bin field at all, considering the cli.ts file is compiled to both cli.js and cli.mjs when pkgroll is run, rather than just cli.js with just the hashbang.

Here's a simple repro, although there really isn't anything special to it. I've copied the instructions on the README which leads to this bug. The dist files are shown so you can see the result.

I wonder if #7 is related to this?

ayuhito avatar Jun 28 '22 13:06 ayuhito

It works based on these tests but you may have discovered an edge-case.

Thanks for the reproduction, will look into it

privatenumber avatar Jun 28 '22 16:06 privatenumber

I have the same issue on my side,

On linux #!/usr/bin/env node is injected in dist/my-cli.js, not in cjs or mjs files

On Windows 10 Pro 22H2 (up to date) no hashbang in any files

So it seems related to OS only

Shuunen avatar Jun 26 '23 13:06 Shuunen

Yup, I can confirm it is definitely a Windows only bug.

This is a current workaround I have for all my packages in the meantime which runs after every build.

ayuhito avatar Jun 26 '23 13:06 ayuhito