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

Replace Themekit with Slate Sync #468

Open t-kelly opened 6 years ago

t-kelly commented 6 years ago

Problem

Slate has always relied on it's sister project, Themekit, to connect to the Shopify Theme and Asset API.

For the most part, this partnership has worked out well since the two projects overlap in very few ways. Slate handles the overall development workflow and tooling around building a Shopify Theme, and Themekit uploads that theme to Shopify servers.

The biggest problem we have with Themekit is that it is written in Go. The maintainers of Slate, and majority of Slate users are not familiar with the Go language. This means that any feature requests, bugs, or clarifications need to be performed by Themekit's maintainer, @tanema. This makes Themekit a pretty large liability to Slate. If something were to happen and Themekit's maintainer was unavailable, the Slate project would suffer.

Solution

@davidcornu opened a PR which was the start of replacing Themekit with a pure JS implementation. Let's continue to build off of this and merge it into the packages/slate-sync folder.

More information

Related https://github.com/Shopify/slate/issues/403 https://github.com/Shopify/slate/issues/328 https://github.com/Shopify/slate/issues/255

qw-in commented 6 years ago

Would be awesome to have something like themekit's theme.lock. Maybe a slate.lock that can support multiple environments?

dave4jr commented 5 years ago

@t-kelly Hi Thomas, thanks for your continued work on this, seriously we all appreciate it. How I got to this page was by following your Related links, originally starting from and then redirecting down the chain:

I remember Tim from Theme Kit actually moved away from the theme.lock in the most recent versions of theme kit and a lot of people weren't sure why. I'm sure he had a reason for doing so, but everyone that I know that used Theme Kit are still using 0.7.5 and it works really well for them (us). I think if Slate had the ability to have the .lock (regardless of which way) and the ability to only deploy single files similar to Theme Watch, it would make this libarary absolutely amazing. I'm trying to plan out infrastructure for 2019, and wanted to ask if you think this will be possible? Thanks again!