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 🙏

© 2026 – Pkg Stats / Ryan Hefner

mysql-file-sync

v1.1.0

Published

Continuously keeps a set of MySQL tables in-sync with a set of .sql files on disk - changes are detected and propogated both ways

Readme

mysql-file-sync

What is mysql-file-sync?

It syncs a set of MySQL tables with a set of files on disk.

Installation

npm install mysql-file-sync -g

This will install mysql-file-sync globally so it can be run from the command line.

Usage

  • Create a file .mysql-file-sync.yml
    The structure should have this structure:
---
database:
  host: localhost
  username: my_username
  password: my_password
  schema: wordpress
 
tables:
  - table_name: wp_options
    file_name: src/database/wp-options.sql
    order_by: option_name
    ignore_columns:
      - option_id
    exclude_rows:
      - column: option_name
        value_to_exclude: "^_transient_.*$"
  • In the same folder as .mysql-file-sync.yml simply run:
mysql-file-sync

What does it do? / what are the options?

  • If there are changes in the database table, they get copied to the file
  • If there are changes to the file, they get copied to the database

It's about as simple as that!

Actually, there's one more bit:

  • First, it checks if any of the files have un-committed changes in git.
    • When the program first starts, it doesn't know whether you consider the database or the file to be most up-to-date (the timestamp might not represent what you consider to be the latest change)
    • So, we insist that you put the .sql files into git and that they are committed in git before we start
    • Then, the first thing we do is to sync from the database to the file - now, git knows about both sets of data - the file (committed) and the database (the new, uncommitted changes)