@slater/sync

shopify theme deployment utility

Usage no npm install needed!

<script type="module">
  import slaterSync from 'https://cdn.skypack.dev/@slater/sync';
</script>

README

@slater/sync

Sync files between your local machine and a remote Shopify theme.

Install

npm i @slater/sync -g

Getting Started

Create a slater.config.js file, and define one or more themes:

module.exports = {
  themes: {
    development: {
      id: '12345...',
      password: 'abcde...',
      store: 'store-name.myshopify.com',
      ignore: []
    },
    production: { ... }
  }
}

Then, use the CLI to sync or unsync files or directories:

slater-sync sync snippets/header.liquid # file
slater-sync sync snippets/ # directory
slater-sync unsync snippets/header.liquid

Commands

sync

Sync a file or directory.

slater-sync sync snippets/header.liquid # file
slater-sync sync snippets/ # directory

unsync

Un-sync a file or directory.

slater-sync unsync snippets/header.liquid # file
slater-sync unsync snippets/ # directory

API

@slater/sync can also be used in node, as it is in @slater/cli.

const sync = require('@slater/sync')

const theme = sync({
  id: '12345...',
  password: 'abcde...',
  store: 'store-name.myshopify.com',
  ignore: []
})

Methods

sync

// single file
theme.sync('./build/snippets/nav.liquid')

// multiple files
theme.sync([
  './build/snippets/nav.liquid',
  './build/templates/index.liquid'
])

// or a directory
theme.sync([
  './build/snippets/'
])

unsync

theme.unsync([ 'templates/index.liquid' ])

License

MIT License © The Couch