7

(Re)Introducing Nx Console

 3 years ago
source link: https://blog.nrwl.io/re-introducing-nx-console-a21fa9f4f668
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Image for post
Image for post

If you’ve opened VS Code recently you may have noticed that the Angular Console extension is gone, and has been replaced with Nx Console. What gives?

In this post I want to explain the motivation for the rebrand and what that means for the future of the VS Code extension.

A brief history of the Console extension

You may recall that Angular Console began its life as a desktop application. We used Nx and electron to build an UI around the Angular CLI. A lot of people seemed to love using Console since it made interaction with the CLI much easier.

Image for post
Image for post
Angular Console for Desktop

As time went on, we started adding more and more features to Console. And what started as a simple UI wrapper around the CLI became bigger and bigger. It was around this time that we also spun off the VS Code extension so users of VS Code can use Console from the comfort of their editor.

The initial extension was done somewhat haphazardly by jamming the same UI into a webview, and reusing the same electron server app. This approach worked of course, but the experience was a bit jarring. There were a multitude of issues:

  • Console extension was slow to start since it needed the electron server
  • The UI did not match the VS Code aesthetics
  • The terminal integration was buggy

After weeks of playing whack-a-mole with squashing bugs between the desktop and VS Code versions of Console, we had to make the hard decision to discontinue one of them — the desktop app. We decided to re-focus our attention on VS Code because it is what a lot of developers use; and since we can take advantage of the VS Code infrastructure, it also means that the extension requires a lot less effort to maintain.

The shift in focus to VS Code also meant that we had to remove many of the features we’ve added to Console over the years — dependency graph, affected projects visualizations, etc.

And that brings us to today…

Re-focusing on Nx integration

Because we had originally written Console to be a frontend for the Angular CLI, we missed the opportunity to integrate more closely with Nx itself. This meant that features like the dependency graph and affected commands were hard to find and use.

There were also duplicated efforts between the Console team and the Nx team to develop similar features. For example, the affected graph visualization was lacking some features (such as filtering) in Nx, so we provided a better UI inside of Console, but only in Console. This working arrangement was even more awkward since some developers are on both the Console and Nx team!

Instead of hiding useful features inside the Console extension, it made more sense to make them actual features of Nx so that both VS Code and non-VS Code users can benefit. In the future, new features will be added to Nx, while the Console extension will provide a thin UI around those features. And since we’re going to integrate with Nx more closely, it is as good as a time as ever to rename the extension to Nx Console.

In a sense, Console is going back to its humble origin as a nice UI wrapper around a CLI tool. Only this time around it is the Nx CLI rather than just Angular CLI — although we still (and will continue to ) support Angular CLI.

The future of Nx Console and what’s in it for you

If you want the desktop app back, I’m sorry to say that it is not going to come back. However, if you are happy with the VS Code extension then you will continue to be happy. And if you are a user of Nx then you’ll be even happier!

We have also merged the Console team into the Nx team so both products will be maintained by the same developers, and we can evolve them together. This merge means more attention will be spent on making Console work well with Nx.

If you haven’t tried Console for VS Code in a while, please check it out! We would love to get your feedback through a review. And if you run into any problem, you can file issues in the GitHub repo.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK