Releases: Shopify/themekit
Updated user-agent string, better error handling for connection errors in certain situations
Fixes file path issues on Windows and issue with uploading large files
Fixes default command output
Whenever no command is provided themekit will output the --help
information to show the user what operations they can perform.
This does mean that the default operation (download
) has been removed, so a command must always be provided for themekit to operate.
If you are using themekit version 0.3.0 you can apply this update by entering the following in your console:
theme update
You can verify what version of themekit you are on by entering the following:
theme version
Major improvements to the tool and Automatic Updating feature
There are a number of improvements and features that have been included in this release. This release consisted of a milestone whose goal was to make Themekit a true alternative to the theme gem
The major changes include:
- Truly Cross-Platform terminal colours
- An automatic installer for Mac OS and Linux
- Improved handling of HTTP errors from Shopify
- Fixes to the "key parser" which resulted in attempts to upload assets under an invalid name
- Usability Improvements
- Ignore "compiled assets" when downloading from shopify (
application.scss.liquid
automatically becomesapplication.css
) - Fixed an issue where projects with large amounts of files would cause the application to crash with a cryptic error
Major Features:
- Themekit will check for updates and if they are available will inform the user about them. For now, the user will have to opt-in to applying the update by typing the command
theme update
Props to @chrisbutcher for all the codereviews!
Log 404 errors from API, Use cross platform color library, adds api throttling to theme replace
The release of 0.2.6 had a regression that made it impossible to run any commands without an argument when the default environment (development
) was missing from the configuration file. Instead of claiming that the configuration was invalid, now inform the user that their environment is not correct and list off the available environments.
Fixes an issue where modifications to templates/customer
files weren't getting correctly namespaced. This resulted in failed requests to Shopify because the asset key was not correct. Customer templates are now properly namespaced and can be uploaded correctly via theme watch
.
404s from Shopify weren't reflected in the output from the tool. If there was a 404 the application did nothing to inform the user about the problem. 404s are now correctly logged in the terminal.
Fixed some of the output about 403s from Shopify when attempting to remove core templates.
Also added an installer for Mac and Linux that will automatically download and install the tool for you. More information about that can be found on the website
Concurrent Environment Uploads when watching
This enables theme developers to leverage the environments in config.yml
and upload to all of them at the same time. Use cases for this feature could include seeing how your theme performs on shops with long product descriptions, single product views, and so forth.
At this time all environments will receive changes, so be aware of whether or not this is going to upload changes to a production shop. Adding excludes is something that is being considered, but for designers building themes to sell this shouldn't be a big problem.
Usage:
theme watch --allenvs
Fixes Regression with Theme Configuration
When running theme configure
the application wouldn't do anything if the file did not already exist.
Watch task completion notifications and safer theme migration
- It was difficult to integrate with other tools such as LiveReload when a batch of uploads have been performed by the watcher. You can tell
theme watch
to touch a file as a notification event. This is done by simply including the argument-notify=file-you-wish-to-touch-on-idle
. - Makes the operation of migrating a theme configuration from the old layout to the new environment based one safer. Before a migration is to be performed, the user will be prompted by to verify that the changes are sane. On confirmation, the changes will be written to disk.
Upload can upload entire theme contents
theme upload
without arguments will now perform a full upload (albeit, synchronously)- There was a bug with the filters that could cause all files to be ignored
- Fixes filters such that some hidden files like
.DS_Store
and.git
will be ignored
Ignore hidden files and directories, improve error reporting
.git
repositories would get watched, resulting in a few things.
- We'd be watching a directory that could generate tons of unnecessary events
- We'd chew up a bunch of file descriptors to monitor directories we don't need to
Basically, any files prefixed with a .
will be ignored by default.