lemonsync-js

A command line development tool for synchronizing LemonStand store theme files.

View the Project on GitHub

Local LemonStand theme development made easy

LemonSyncJS is a tool for syncing local theme files with a live LemonStand store. It runs along side your development tools, watching for local changes, magically updating your store theme. It’s built using JavaScript and Node (as an npm module). It runs on Mac, Windows, and Linux.

Installation

To install LemonSync, first install Node.js. NodeJS includes npm, the package manager for NodeJS applications.

To confirm that you have npm installed you can run this command in your terminal:

πŸ‹ npm -v

With npm you can now install LemonSyncJS:

πŸ‹  npm install lemonsync -g

Depending on how you have installed npm, you may need to run the -g global install using sudo.

Uninstalling previous versions of LemonSync

If you happen have the old Python version of LemonSync installed, you will need to uninstall it as well:

πŸ‹ sudo pip uninstall lemonsync

You can verify that you have LemonSync installed properly by running the following:

πŸ‹ which lemonsync
/Users/<youruser>/.npm/bin/lemonsync

Note: You may need to start your terminal application after uninstalling previous versions of LemonSync.

Usage

  1. Download a theme from your LemonStand store.
  2. Create a new configuration file, name it lemonsync.json, and place it in your theme folder (see example below).
  3. Now you can run LemonSync from within the theme folder.

To run LemonSync:

πŸ‹ lemonsync

That’s it!

Example lemonsync.json configuration

Your LemonSync-js configuration is a JSON file that should contain the following:

{
  "theme_code": "zest",
  "store": "https://yourstore.lemonstand.com",
  "api_token": "<API token from your store>",
  "ignore_patterns": [ "*.tmp", ".git", "lemonsync.json" ]
}

Note: If you have set up a custom domain (e.g. yourstore.com) for your store, your configuration file should use that for the store URL instead of yourstore.lemonstand.com domain.

Example: lemonsync.json

Additional options

Option Description
--version Show the current version of lemonsync
--verbose Show additional logging detail
--network-logging Show detail of each network request

Advanced options

Warning: using the --reset=remote option will overwrite your store’s remote theme and can delete your remote theme if used incorrectly.

Option Parameter Description
--reset local Overwrite local theme with REMOTE store version
--reset remote Overwrite store theme with LOCAL version
# Reset local theme files with your store's theme
πŸ‹  lemonsync --reset=local

# Reset and overwrite your remote theme with your local
πŸ‹  lemonsync --reset=remote