Giter Club home page Giter Club logo

Comments (7)

reggi avatar reggi commented on June 2, 2024

I know that this makes me seem like a looser who can't install binaries, but this is 2014 and we shouldn't have to! I suggest using NPM it's super easy! That's because I don't know how to do it in Go! :/

I'm lazzyyyyyyyyy.

mkdir -p ~/utils/phoenix
echo "export PATH=$PATH:/~/utils/phoenix" > ~/.bashrc
source ~/.bashrc

from themekit.

csaunders avatar csaunders commented on June 2, 2024

There kind of isn't a real way to manage this kinda stuff in go, at least not that I know of.

I'll look around and see if there is like some kind of update checker or something that I can easily embed to make it easier to keep up to date with changes.

from themekit.

reggi avatar reggi commented on June 2, 2024

Here's an example of it working with NPM.

Note: it hasn't been published to NPM.

Install with:

npm install reggi/shopify-phoenix --global

https://github.com/reggi/shopify-phoenix

Then you have theme-watch, theme-configure, theme-manipulate in the global scope.

Ideally we'd let NPM build / make the commands and everything could be compiled on install. Then you could get rid of releases.

from themekit.

reggi avatar reggi commented on June 2, 2024

@csaunders Your effort to create a multi-platform command line tool is really admirable. I really didn't know what wen't into creating those rerelease binaries, or why you needed them. Part of me is really ok with having people install Golang. Then using the app, like the gem. Using the app from the go source. Making those binaries probably takes forever and isn't good to do in the NPM install process. With my NPM you still need NPM. With my NPM solution it could be a seporate repo / project that:

  • checks your github releases
  • checks the system darwin, linux, windows
  • checks the cpu architecture
  • downloads the right / latest release
  • unpackages
  • NPM would then finish the rest by putting the app in the bin path

from themekit.

csaunders avatar csaunders commented on June 2, 2024

If you want to maintain something that downloads, unpacks and installs the binaries then please feel free. Let me know when the package is up on NPM and I'll be sure to add it to the readme/website for people looking to integrate it into their workflows.


While you might not have a problem with people installing a build tool on their platform, it's another thing that gets in the way of people doing what they really wanted to do (work on a shops theme).

I can understand that lots of front-end developers use node because of all the pipeline stuff it has built into it. Phoenix (and the shopify_theme gem) aren't designed for that; they are simply utilities to make it easier to send and receive theme content.

I've had to deal with platform issues where people couldn't get the gem working on their Windows system, followed by issues with things like SSL certificate validation on their platform, etc. That is the reason why I'm building the tool in Go and creating releases.

from themekit.

reggi avatar reggi commented on June 2, 2024

@csaunders Makes sense! Feel free to close this issue or leave it open for discussion or wait until a solution is created.

from themekit.

csaunders avatar csaunders commented on June 2, 2024

Installation of themekit on Linux and OSX is now basically jokes. And when #94 gets merged updating to newer versions will be a single command.

Install for first time:
curl https://raw.githubusercontent.com/Shopify/themekit/installers/install | python

Update Application (once v0.3.0 goes out)
theme update

from themekit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.