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

fresch

v2.1.0

Published

Refresh local dev environment with files and database from a remote server

Downloads

15

Readme

fresch

Refresh local dev environment with files and database from a remote server

Fresch is a command line tool which basically wraps around rsync and mysql (and mysqldump). You can save global connection configuration and alias specific configuration and then quickly sync htdocs and databases by using the alias.

This is useful in cases where your local development environment is mirrored by an instance on a remote server and not all relevant data is stored in version control. Fresch allows you to 1) quickly sync files from the remote 2) quickly import locally a dump of the remote database.

All settings are saved in a json settings file in your config directory. (And could therefore also by synced easily through, for example, Dropbox, by using a symlink)

Basics

Install it like this:

npm install fresch -g

Showing help information:

fresch help

Showing global configuration:

fresch show

Requirements

  • rsync (A version which supports --info=progress2)
  • gzip
  • ssh (needs to be properly configured (= no passwords or keys need to be explicitly passed for it to work))
  • mysql (A custom binary can be configured)
  • pv
  • On the remote server: mysqldump and gzip
  • /tmp is the temporary directory and can be written to

Documentation

Fresch includes comprehensive documentation and help for all commands and parameters. Here is what you get when you run fresch help (Note: To see the documentation of each command, run fresch help command-name)

Usage: fresch [options] [command]

Commands:

  htdocs [alias]  sync remote htdocs with the local one
  db [alias]      sync remote database with the local one
  show [alias]    show global config (or alias config)
  save [alias]    save config globally (or under an alias)
  delete <alias>  delete an alias
  config-path     print the path to the config file
  help [cmd]      display help for [cmd]

Refresh local dev environment with files and database from a remote installation

Options:

  -h, --help     output usage information
  -V, --version  output the version number

Examples:

  (A tilde in the remotedir option should be escaped by enclosing it in quotes)
  $ fresch save myalias --port 10201 --localdir /var/www/local/mylocalroot \
  --remotedir "~/www/htdocs/"

  Save an empty mysql password surrounded by quotes:
  $ fresch save myalias --remotedbpass ""

  Show the saved options for alias myalias:
  $ fresch show myalias

  Use -S/--simulate to preview the command:
  $ fresch htdocs myalias -S

  fresch will tell you if you have missing config for a command:
  $ fresch db myalias

  Open config file for debugging & manual adjustment:
  $ vi $(fresch config-path)