Shopify / slate

Slate is a toolkit for developing Shopify themes. It's designed to assist your workflow and speed up the process of developing, testing, and deploying themes.
https://shopify.github.io/slate
MIT License
1.28k stars 364 forks source link

ThemeKit 1.1.2, support section themes #1071

Open henrybarn opened 4 years ago

henrybarn commented 4 years ago

This repo is currently on low maintenance. See README for details

What are you trying to accomplish with this PR?

Upgrades node-themekit to version 1.1.2 Offers support for section themes with ShopifySlateSections plugin.

Things I considered: SlateSections now checks if the source directory exists making Slate compatible with both section themes and non section themes. My last PR had removed the --replace functionality accidentally, that's fixed here My last PR had an issue with an empty SLATE_IGNORE_FILES in .env, that's fixed here

Please provide a link to the associated GitHub issue. https://github.com/Shopify/slate/issues/1057 https://github.com/Shopify/slate/issues/1054

Checklist

For contributors:

For maintainers:

evankford commented 4 years ago

@henrybarn Are you interested in forking this repo to help make an unofficial toolkit for this? I can be involved, though I'm not the most experienced at all of this, I've built about 100 stores on Slate and would like to have an option moving forward.

henrybarn commented 4 years ago

@evankford I'm hopeful for what Shopify might put out in the future for us. I also don't yet know everything sections everywhere will change or how compatible this theming method will be with the new updates. For my needs in the meantime, I've forked this repo here: https://github.com/henrybarn/slate

And I've made the following upgrades:

You're welcome to give it a try. You will need to update all babel plugins. You'll need node >= 11.10.1

You'll also to have to upgrade the following devDependencies in your slate project's root directory either with the CLI or by editing package.json.

Package name New version/ref
@shopify/slate-tools "https://github.com/henrybarn/slate.git"
babel-preset-shopify "21.0.0"
eslint-plugin-shopify "^35.0.0"
stylelint-config-prettier "^8.0.1"
stylelint-config-shopify "^7.4.0"
@babel/plugin-transform-async-to-generator "^7.8.3"
@babel/plugin-transform-runtime "^7.8.3"

And you'll have to use a Babel 7 compatible .babelrc feel free to copy this one which is based on the original .babelrc from slate-starter-theme.

{
  "presets": [
    [
      "babel-preset-shopify/web",
      {
        "corejs": 3
      }
    ]
  ],
  "plugins": [
    "@babel/plugin-transform-async-to-generator",
    "@babel/plugin-transform-runtime"
  ]
}