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 🙏

© 2025 – Pkg Stats / Ryan Hefner

generate_check_md5

v2.1.0

Published

Generate and compare MD5 files

Downloads

14

Readme

Generator / Comparator MD5

Description

With this generator, you can very easily create a MD5 hash on each files wanted. Furthemore, you can compare two MD5 files and see the difference. That's make sense, for example, if you want to compare a file which is on HARDDRIVE A and an other file which is on HARDDRIVE B and be sure the files aren't corrupted. Very useful in the case of the backup copy.

Install (Production)


npm install -g generate_check_md5

Usage (Production)

How it works ? (Production)

// To generate MD5 on console (only) :
gcmd5 --path "/path/to/the/my_directory_with_files1/" "/path/to/the/my_directory_with_files2/"

// To generate MD5 and write it in the file :
gcmd5 --path "/path/to/the/my_directory_with_files1/" "/path/to/the/my_directory_with_files2/" --dest "/path/to/write/file_md5_results.txt"

// To compare two md5 files :
gcmd5 --source "/path/to/the/md5_file_source_its_the_reference.txt/" --compare "/path/to/the/md5_file_to_be_compared_with_source_file.txt/"

// To generate AND compare md5 files in the same :
gcmd5 --path "/path/to/the/my_directory_with_files1/" "/path/to/the/my_directory_with_files2/" --dest "/path/to/write/file_md5_results.txt" --source "/path/to/the/md5_file_source_its_the_reference.txt/" --compare "/path/to/the/md5_file_to_be_compared_with_source_file.txt/"

//------------------------------------  OPTIONAL: ------------------------------------
// To rename files name in the file of results without space :
gcmd5 your_arguments  --nospace
// Example:
// Before: /Folder1/my file for example.mkv a9asd1171dd83e122598af664bd3f785)
// After: /Folder1/my_file_for_example.mkv a9asd1171dd83e122598af664bd3f785)

// To ask only an update between a path and your md5 files :
gcmd5 your_arguments --update
// NB: By default, if you don't specify --update or --rewrite, it's the argument --update which is selected

// To rewrite completely your md5 files got with --dest :
gcmd5 your_arguments  --rewrite

// To sort using the natural sort on the file with --dest :
gcmd5 your_other_args --dest "your_file" --sort

Install (Development)

Global Dependencies (Development)

| Dependency | Version | Install | | ---------- | ------- | ------------------------------------- | | NodeJS | > 4.x.x | http://node.org | | Npm | > 3.x.x | http://node.org | | Yarn | > 1.x.x | npm install yarn -g | | Auto-cl | > 3.x.x | npm install auto-changelog -g |

Others Dependencies (Development)

Yarn

Tape the command: yarn

Npm

Tape the command: npm install

Usage (Development)

Tasks

  • $ npm run start: Like npm run dev
  • $ npm run clean: Remove the bin and coverage folders
  • $ npm run lint: Apply a TSlinter on the src and tests folders
  • $ npm run check: Apply the linter and check if the dependencies required in ts files is also present in the package.json
  • $ npm run pretest: Before the tests, we start the ts compiler if npm run test was called
  • $ npm run test: Execute once all the tests available
  • $ npm run test:watch: When the bin or src folder's files change, we do again npm run test
  • $ npm run compile: Compile all src files with ts compiler and get the bin output folder
  • $ npm run compile:watch: When the src folder's files change, we do again npm run compile
  • $ npm run build: Execute npm run compile
  • $ npm run postbuild: Execute npm run check and npm run test after to have execute npm run build
  • $ npm run coverage: Execute the coverage of the code and show the results in the coverage folder
  • $ npm run coveralls: Execute npm run coverage and create the data of the code for coveralls
  • $ npm run postcoveralls: Remove the coverage folder after execute npm run coveralls
  • $ npm run prepublish: Execute the build before to execute npm run publish if npm run publish was called
  • $ npm run deploy: Execute a pull / rebase and push on github (origin master)
  • $ npm run patch: Create a tag 0.0.X and publish the npm module
  • $ npm run minor: Create a tag 0.X.0 and publish the npm module
  • $ npm run major: Create a tag X.0.0 and publish the npm module
  • $ npm run postpublish: After to call npm run publish, We push the new tag on the github (origin master)
  • $ npm run autocl: Generate a Changelog file using the commits on github

How it works ? (Develoment)

1- Go in the bin folder.

2- Choose one of these commands:

// To generate MD5 on console (only) :
node index.js --path "/path/to/the/my_directory_with_files/1" "/path/to/the/my_directory_with_files/2"

// To generate MD5 and write it in the file :
node index.js --path "/path/to/the/my_directory_with_files1/" "/path/to/the/my_directory_with_files2/" --dest "/path/to/write/file_md5_results.txt"

// To compare two md5 files :
node index.js --source "/path/to/the/md5_file_source_its_the_reference.txt/" --compare "/path/to/the/md5_file_to_be_compared_with_source_file.txt/"

// To generate AND compare md5 files in the same :
node index.js --path "/path/to/the/my_directory_with_files1/" "/path/to/the/my_directory_with_files2/" --dest "/path/to/write/file_md5_results.txt" --source "/path/to/the/md5_file_source_its_the_reference.txt/" --compare "/path/to/the/md5_file_to_be_compared_with_source_file.txt/"

//------------------------------------  OPTIONAL: ------------------------------------
// To rename files name in the file of results without space :
node index.js your_arguments  --nospace
// Example:
// Before: /Folder1/my file for example.mkv a9asd1171dd83e122598af664bd3f785)
// After: /Folder1/my_file_for_example.mkv a9asd1171dd83e122598af664bd3f785)

// To ask only an update between a path and your md5 files :
node index.js your_arguments --update
// NB: By default, if you don't specify --update or --rewrite, it's the argument --update which is selected

// To rewrite completely your md5 files got with --dest :
node index.js your_arguments  --rewrite

// To sort using the natural sort on the file with --dest :
node index.js your_other_args --dest "your_file" --sort

License

MIT © Kévin CARADANT