question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

SPIKE: Combine cosmos/voyager, cosmos/explorer, websites, and `ni-*` components in monorepo

See original GitHub issue

Version

0.5.0

Description

Combining these interrelated projects would help solve integration issues like #685, #689, cosmos/explorer#1, cosmos/explorer#2, tendermint/tendermint.com#151. There have been many other integration and component update issues over the past couple years that would be solved by this.

It will also be the biggest single step towards universal, theme-able, and reusable vue components for all Cosmos projects.

We can reuse this Voyager repository or we can make a new one, I think there are arguments both ways. Reusing the Voyager repo lets us retain our valuable SEO and hard links. We can rename this repository if we want to, and GitHub will forward all requests to the new repository name. The alternative is a brand new repository–we will definitely need a name for this. I’m open to suggestions.

Steps to Monorepo

Here are all the steps needed to accomplish this. We can attempt this one step at a time, it doesn’t all have to be in one sprint. Combinging cosmos/voyager and cosmos/explorer is a significant one, because cosmos/explorer (in general) is using an old version of cosmos/voyager components.

  • combine cosmos/voyager and cosmos/explorer: e.g. mono/voyager mono/explorer mono/components/
  • add @nylira/vue-* components to monorepo under ./components
  • add cosmos.network to monorepo
  • add tendermint.com to monorepo
  • add allinbits.com to monorepo

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:16 (11 by maintainers)

github_iconTop GitHub Comments

1reaction
nyliracommented, May 25, 2018

@nylira/vue-field and the others components took a huge amount of integration work and still has maintenance costs today. The dream has always been to extract the rest of our Cosmos UI components to npm, but I’d had to give up on that idea because it’s too much work to maintain so many separate repos. That’s how we ended up with different versions of NiPageHeader, NiSection, forms and modals – all of which are reused in different levels across our Explorer, Voyager, and other cosmos front end projects. All those components are not up to date, and all the components have small improvements in them that are not being shared.

yarn link does work for editing a node module and viewing its changes in another repo. But it’s still not the ideal workflow.

Let’s say we improve the @nylira/vue-button, yarn linking it to the cosmos.network repo. We improved its usability. It looks great. We make a PR in the cosmos.network repo to bump the version. It’s merged. We’re not done–we still have go into all of our other repos that use @nylira/vue-button and also bump the version in their package.json. We have to make the four extra PRs (in Explorer, Voyager, tendermint.com, allinbits.com… etc) to get this accomplished. Whoever reviews these PRs needs to know about what changed in the new version of @nylira/vue-button because there no diffs other than the version bump.

In the monorepo case, once we improve @nylira/vue-button (now just called ./components/button) and get that PR merged, the button has been instantly improved in every single project that uses it. The person who reviews this PR knows exactly what happened to the button.

How often do our components change? They should change whenever we need them to. The @nylira components would change a lot faster to suit our needs if they were not in a separate repository. We have been ignoring them as a team because they seem to work okay, but they don’t have any unit tests (due to lack of time and oversight), yet they power critical parts of our app.

The Voyager product is still the primary focus of the UI team. If no one works on the websites except for Jordan and I, it’s okay. But doing this change will help the two of us tremendously in maintaining these currently separated but very similar projects.

Read more comments on GitHub >

github_iconTop Results From Across the Web

light theme broken · Issue #685 · luniehq/lunie · GitHub
SPIKE : Combine cosmos/voyager, cosmos/explorer, websites, and ni-* components in monorepo #696. Closed. peng/design checkup windows #697.
Read more >
Simple index - piwheels
... map-coordinates mosaik-csv-semver django-error-pages hypergrowth oe-utils ruckus-python-api faust-pydantic-validate piforge ocean-agent-master vcnadera ...
Read more >
Untitled
Harvey jones, Absolut cherrykran cosmo, Graffiti bombing 2016! Uk jewellery online shop, Sterling silver belcher bracelet nz, Khasiat manne lotion, ...
Read more >
Netflix Technology Blog | Noise | Page 2
Providing a seamless and consistent Netflix experience across various platforms (iOS, Android, smart TVs, Roku, Amazon FireStick, web browser) ...
Read more >
GitHub is home to over 40 million developers ... - fasrcooking
auth0, docs+lock+cosmos+auth0-python+node-auth0+auth0.js+rules+auth0- ... -docs-ko+performance+the-knights-who-say-ni+python-docs-theme+python-docs-ja+ ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found