-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
Envrionment conditions selector is frustrating yet hilarious #408
Comments
I'm glad you found this entertaining. It's a concept called a "constraint":
Since this was originally set up, Deno has made the decision to fully embrace Node.js compatibility and even mimic Node.js by supporting features like Feel free to dig into constraints which you find reproachable further, if you care enough to share a considered thought. |
These "constraints" are purely technical, and nothing in UI shows how do they work. Only Dev/Prod selector works "reliably", every other switch may live its own life depending on state of some switches around and depends on the order of switches being clicked. For example:
At 0:12 you can clearly see that both of them are turned on. So it's occasional exclusivity, which can only be deducted from states of other switches. Also at 0:08 when I click "Deno" it turns off "Browser" and turns on "Node", in the next second I can manually turn "Browser" on, which makes it more frustrating: why would you turn it off if it can be turned back on? This basically becomes a Guardian's Puzzle to find the correct order of buttons to press to open up some ancient door. So I would really suggest making it obvious with usage of radio buttons and by moving "unsetting" behavior and conditions "compatibility" section which can "fix" incompatible checkboxes when the person explicitly wants that compatibility being applied. This is what I'm proposing in UI view:
|
This is great, and I agree, thanks for clearly explaning your suggestion! Radio buttons for development and production makes a lot of sense, I've posted jspm/generator.jspm.io#63. For the Beyond the UI, these concepts also need to be translated into JSPM CLI flags / generator environment setting where today these are all bags of bools. I wonder if there's some sensible ways to do that as well, more explicitly defining production/dev, platform flags etc. |
fucked.up.switches.2.mp4
The text was updated successfully, but these errors were encountered: