jshor / symbology

🔖 Generates 1D, 2D, or composite barcodes in png, svg, or eps formats. Supports 50+ symbologies.
https://symbology.dev
GNU General Public License v3.0
219 stars 25 forks source link

Download tarball instead of git clone #104

Closed petrzjunior closed 1 year ago

petrzjunior commented 2 years ago

Usually when a package is depends on an external library, a tarball (or zip) is downloaded, unpacked and compiled, see sharp's install script. For zint, the links can be found at their GitHub. This package is instead using git clone zint, which assumes that git is installed in the host system, which might not be the case. I am using a slim node-alpine docker image and now I am forced to include a git installation just to compile this package. I suggest we download the tarball instead. There is also IMO no need to compile the master branch. I would much rather see this package using a pinned version which is guaranteed to work.

jshor commented 1 year ago

Hi @petrzjunior

Usually when a package is depends on an external library, a tarball (or zip) is downloaded, unpacked and compiled, see sharp's install script. For zint, the links can be found at their GitHub. This package is instead using git clone zint, which assumes that git is installed in the host system, which might not be the case. I am using a slim node-alpine docker image and now I am forced to include a git installation just to compile this package. I suggest we download the tarball instead.

This is a good point and I've incorporated the change from git to downloading a tarball in #116. git is no longer a requirement for using this library.

There is also IMO no need to compile the master branch. I would much rather see this package using a pinned version which is guaranteed to work.

Symbology doesn't compile the master branch directly--it clones the zintVersion pinned in package.json. The version pinned runs through the unit and e2e tests for each platform/node version prior to npm publication, so it is guaranteed to work.