Skip to content
This repository has been archived by the owner on Jul 19, 2021. It is now read-only.

6. Commands

Hugues Tennier edited this page Oct 29, 2018 · 1 revision

The following is a list of all available API commands for Slate Tools:

build

Builds a production-ready version of the theme by compiling the files into the dist folder.

slate-tools build

Sets process.env to ’production’, which can be used in Slate config to return production only values, e.g.:

// Array of PostCSS plugins which is passed to the Webpack PostCSS Loader
'webpack.postcss.plugins': (config) => {
  const plugins = [autoprefixer];

  if (process.env.NODE_ENV === 'production') {
    plugins.push(cssnano());
  }
  return plugins;
},

deploy

Uploads the dist folder to the Shopify store.

slate-tools deploy [--env=my-custom-env-name] [--skipPrompts] [--replace]
Flag Description
--env Targets a custom environment file. Setting --env=production would use the .env.production file
--skipPrompts Skips all prompts. This is especially useful when using Slate Tools with continuous integration tools
--replace By default, the deploy command updates any existing files, and adds any new files to your Shopify store's theme. Use this flag to replace all files on your theme with those of your Slate project. This will delete all files from your Shopify theme which are not in your Slate project

format

Formats the theme code according to the rules declared in the .eslintrc and .stylelintrc files. By default, it uses ESLint Fix to format JS files, Stylelint Fix to format CSS files and Prettier to format JSON files.

slate-tools format [--scripts] [--styles] [--json]
Flag Description
--scripts Runs linting only on script files
--styles Runs linting only on style files
--locales Runs linting only on locales files

lint

slate-tools lint [--scripts] [--styles] [--locales]
Flag Description
--scripts Runs linting only on script files
--styles Runs linting only on style files
--json Runs linting only on json files

start

Compiles your local theme files into a dist directory, uploads these files to your remote Shopify store and finally boots up a local Express server that will serve most of your CSS and JavaScript.

slate-tools start [--env=my-custom-env-name] [--skipPrompts] [--skipFirstDeploy]
Flag Description
--env Targets a custom environment file. Setting --env=production would use the .env.production file
--skipPrompts Skips all prompts. This is especially useful when using Slate Tools with continuous integration tools
--skipFirstDeploy Skips the file upload sequence and simply boots up the local Express server

⚠️ Because most of your assets are being served locally, your theme won’t function on any device outside your network. You want to deploy your assets anytime your theme updates are finalized using slate-tools build && slate-tools deploy.

zip

Compiles the contents of the dist directory and creates a ZIP file in the root of the project.

slate-tools zip