@jarkkojs/phindex
v1.1.2
Published
Export and normalize digital photos from local, SFTP, and iOS sources
Downloads
465
Readme
phindex
phindex exports photos from local, SFTP, or iOS sources and normalizes their
names into one naming convention. It supports JPEG, PNG, and Canon CR2 files.
Installation
Install the prebuilt Linux binary through npm (Node.js 18 or newer):
npm install -g @jarkkojs/phindexPrebuilt packages are available for Linux x64 and ARM64. To build from source:
zig build
zig build -Doptimize=ReleaseSafephindex is written in Zig. Command-line parsing uses zig-clap. JPEG and PNG decoding uses zigimg; EXIF timestamps are parsed in Zig. CR2, SFTP, and iOS still link libraw, libssh2, and libimobiledevice.
Development
Run the same checks used before a release:
make cimake package archives HEAD and cross-compiles static musl binaries with
zig cc on the host. No container is required. The host needs Zig (matching
build.zig.zon), Node.js, autotools, pkg-config, perl, curl, file, and make.
Staging writes binaries under npm/*/bin and release tarballs under artifacts/:
make package
make package PLATFORMS='linux-x64'
PACKAGE_STRICT=1 make packageRelease
Create the version commit and signed tag, push them, then package HEAD and
publish from the signed tag:
scripts/release.sh <version>
git push --atomic origin main <version>
make ci
PACKAGE_STRICT=1 make package
make publishmake publish publishes the two platform packages followed by
@jarkkojs/phindex, then creates or updates the GitLab release with glab.
The first npm release must use a new version tag containing this packaging setup.
Licensing
phindex and its npm packages are licensed under GPL-3.0-or-later.
