npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

image-flatify

v4.0.0

Published

Take a directory, search images recursively and rename as single flat directory with date based filenames

Downloads

87

Readme

image-flatify

Take a directory, search image files recursively and rename them based on their creation time, producing a flat directory

Windows build status Node.js v22 CI codecov FOSSA Status Code Smells

Got so fed up with mobile devices creating image files named DCIM_01.JPG or similar, hence having the same filenames after importing them to my computer.

One annoying example is Sony Xperia which saves burst images in separate folders but the filenames inside those folders are always the same.

This tool will solve that step in the process when renaming and organising images.

The given directory will be searched recursively for media files and they all will be renamed to the given directory. Those directories which are touched during the operation, in case they will be empty after the rename, the directory will be renamed.

Please note that the minimum supported version of Node.js is 22.11.0, which is the active Long Term Support (LTS) version.

See also image-foldarizer for organising images by their names and counter numbers.

Installation

Make sure to have both GraphicsMagick and Mediainfo available in the PATH environment variable.

The versions supported (tested via automation) are GraphicsMagick 1.3.45 and MediaInfo 18.08. Other versions should work...

They can be installed for example for macOS via Brew:

brew install graphicsmagick mediainfo

In Ubuntu Linux it can be done with command:

sudo apt-get install graphicsmagick mediainfo

In Windows, the applications need to be downloaded from their sites and once installed, their installation paths should be added in the Path system environment variable.

Now install the image-flatify command line tool globally, which might need increased privileges:

[sudo] npm install --global image-flatify

Command line options

image-flatify --help
image-flatify [options] <directory> [more directories]

  -h, --help                 Help and usage instructions
  -V, --version              Version number
  -v, --verbose              Verbose output, will print which file is currently being processed
  -n, --dry-run              Try it out without actually touching anything
  -K, --keep-in-directories  Keep the renamed image files in their original directory
  -p, --prefix String        Prefix for the resulting filename, default empty
  -a, --append-hash          Always append a hash string to the filename instead of a possible counter
  -l, --lowercase-suffix     Lowercase the resulting file suffixes, or use as is by default
  -D, --no-delete-empty-directories  Do not delete any directories that become empty after processing

Version 4.0.0

Example commands

The following command shows how the renaming would be done in the current directory, but it is not done since the --dry-run option is used.

image-flatify -vn .

Contributing

First thing to do is to file an issue.

"A Beginner's Guide to Open Source: The Best Advice for Making your First Contribution".

Also there is a blog post about "45 Github Issues Dos and Don’ts".

Linting is done with ESLint and can be executed with npm run lint. There should be no errors appearing after any JavaScript file changes.

Unit tests are written with tape and can be executed with npm test.

Code coverage is inspected with nyc and can be executed with npm run coverage after running npm test. Please make sure it is over 90% at all times.

Version history

Changes happening across different versions and upcoming changes are tracked in the CHANGELOG.md file.

License

Licensed under the MIT license.

Copyright (c) Juga Paazmaya [email protected]

FOSSA Status