Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cut down on dependencies to get rid of Xcode requirement #1141

Closed
paintedbicycle opened this issue Mar 23, 2020 · 5 comments
Closed

Cut down on dependencies to get rid of Xcode requirement #1141

paintedbicycle opened this issue Mar 23, 2020 · 5 comments
Assignees
Labels
pinned 📌 Don't let stalebot clean this up uikit

Comments

@paintedbicycle
Copy link

paintedbicycle commented Mar 23, 2020

I am using Pattern Lab Node v5.7.0 on Mac, with Node v8.15.0, using a Vanilla Edition.

When trying to get a coworker up and running with this, the install failed because they didn't have Xcode installed. We tried installing the Xcode cli tools, but that wasn't enough.

Expected Behaviour
  • Is Xcode really needed?

Some of the dependencies that could be the culprits (just watching the cli output during build):

  • fsevents runs node-gyp rebuild a couple times which is my main guess as to the issue here
  • node-sass is installed
  • puppeteer - installs twice I think
  • Chromium gets downloaded
Actual Behavior
  • Are these dependencies needed? I'm not sure which one (or ones) are triggering the Xcode requirement. But if we could get it so designers who know basic HTML can still use this, it would be great. Would love to be able to lose theXcode requirement
Steps to Reproduce

Install via npm create pattern-lab

  • Choose handlebars
  • Choose a stylekit (don't think it matters)
@mfranzke
Copy link
Contributor

mfranzke commented Mar 25, 2020

Valid topic. I even also had a short discussion with @sghoweri in gitter.im:

I'm wondering, whether all of the non-dev-dependencies for @pattern-lab/uikit-workshop wouldn't be able to get moved to devDependencies instead?
When using @pattern-lab/uikit-workshop within a patternlab installation, a lot of dependencies get installed as well, which only seem to be necessary when developing @pattern-lab/uikit-workshop, but not at runtime when running patternlab. As the @pattern-lab/uikit-workshop files are getting build at prepublishing the @pattern-lab/uikit-workshop npm package, all of those dependencies shouldn't be necessarily defined as dependencies, should they?

@sghoweri explained the current architecture pretty good:

in a nutshell, I’ve been a little bit on the fence with regards to moving a lot of those UIKit dependencies into devDependencies.

One of my original goals with the UIKit refactor would be to allow devs to easily customize a bunch of things in Pattern Lab’s UI (add their own custom components, enable / disable / swap around widgets, etc), not to mention support server-side pre-rendering — a lot of which benefits from having the ability to recompile the UIKit build downstream. That said, now I’m starting to rethink that architectual decision…

One idea could be to have a simpler pre-built version of UIKit (basically zero dependencies) and a separate version that allows for customizations (and basically compiles the simpler version to keep things as maintainable as possible).

Would need to spend a little bit of time on that before comitting to that particular direction but definitly want to make sure that PL can easily get used by as many people as possible without any curveballs 🙂

@sghoweri
Copy link
Contributor

sghoweri commented Mar 25, 2020

I'd like to better understand the root cause of the issue here (ie. what specifically is causing this unintentional xcode requirement, ex. git?)... wouldn't hurt to also try adding an automated test to help prevent these sorts of issues from popping up in the future.

@stale
Copy link

stale bot commented May 30, 2020

It's hard to keep track of everything. This issue has been automatically marked as stale because it has not had recent activity, neither from the team nor the community. It will be closed if no further activity occurs. Please consider adding additional info, volunteering to contribute a fix for this issue, or making a further case that this is important to you, the team, and the project as a whole. Thanks!

@ringods ringods added the pinned 📌 Don't let stalebot clean this up label May 30, 2020
@mfranzke
Copy link
Contributor

mfranzke commented Feb 3, 2022

@paintedbicycle we did a huge amount of changes to our dependencies and especially finally moved a lot of them from ‚dependencies‘ to ‚devDependencies‘ — are you still experiencing these problems?

@paintedbicycle
Copy link
Author

I'm not sure anymore. This is an old issue so I'm happy to close it to keep things clean and since it sounds like a bunch of dependency work has been done that will likely affect this.

@mfranzke mfranzke closed this as completed Feb 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pinned 📌 Don't let stalebot clean this up uikit
Projects
None yet
Development

No branches or pull requests

4 participants