Giter Site home page Giter Site logo

nx-console's Introduction

Nx Console - The UI for Nx & Lerna

The UI for Nx & Lerna

Spend less time looking up command line arguments and more time shipping incredible products.

CI Status Visual Studio Marketplace Version JetBrains Plugin Version GitHub Visual Studio Marketplace Downloads Visual Studio Code Support


Nx Console - The UI for Nx & Lerna

Why Nx Console?

Developers use both command-line tools and user interfaces. They commit in the terminal, but resolve conflicts in Visual Studio Code or WebStorm. They use the right tool for the job.

Nx is a command-line tool, which works great when you want to serve an application or generate a simple component. But it falls short once you start doing advanced things.

For instance:

  • Exploring custom generator collections is hard in the terminal, but it's easy using Nx Console.
  • Using rarely-used flags is challenging. Do you pass absolute or relative paths? You don't have to remember any flags, names or paths - Nx Console will help you by providing autocompletion and validating your inputs.
  • Context-switching between your IDE and the browser is annoying. With Nx Console, you can view the nx graph right in VSCode!

Nx Console does all that and more!

Download

You can install Nx Console in the following places:

True UI for Nx & Lerna

Nx Console is the UI for all Nx workspaces. It works for any generator or any architect commands. Nx Console does not have a specific UI for, say, generating a component. Instead, Nx Console does what the command-line version of Nx does - it analyzes the same meta information to create the needed UI. This means that anything you can do with Nx, you can do with Nx Console. After all, Nx Console is the UI for Nx.

Useful for Both Experts and Beginners

Even though we started building Nx Console as a tool for experts, we also aimed to make Nx Console a great tool for developers who are new to development or Nx. You can create projects, interact with your editor, run generators and commands and install extensions without ever touching the terminal or having to install any node packages globally. Also, Nx Console highlights the properties you are likely to use for built-in generators and commands, so if you haven't used the CLI, you don't get overwhelmed.

Compatibility

The latest version of Nx Console supports all Nx versions starting at Nx 15. For older versions, we cannot guarantee compatibility or full functionality. However, we welcome contributions! If you encounter specific issues with older versions, please consider submitting a PR. Of course, if you discover any problems with newer versions of Nx, please report these issues to help us improve Nx Console.

If you're looking to upgrade your version of Nx easily, refer to the Nx migrate documentation.

Learn More

Contributing

Please read the contributing guidelines. Pick one of the issues from the good first issue list to get started.

Jetbrains WSL support

The Node interpreter under Languages & Frameworks > Node.js needs to be configured to use the Node executable within the WSL distribution. You can read more on the official Jetbrains docs page.

nx-console's People

Contributors

adammedford avatar agentender avatar bcabanes avatar cammisuli avatar dzhavat avatar fkolar avatar fmalcher avatar iguissouma avatar isaacplmann avatar jaysoo avatar jeffbcross avatar kamilkisiela avatar leosvelperez avatar manekinekko avatar maxkless avatar mbriggs avatar mkapal avatar mrmeku avatar nixallover avatar peterblazejewicz avatar phillip9587 avatar piotrtomiak avatar renovate-bot avatar renovate[bot] avatar sandikbarr avatar semantic-release-bot avatar srleecode avatar vsavkin avatar xiongemi avatar zackderose avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nx-console's Issues

[enhancement] - Save user preferences/settings

When serving I often prefer to run with --open. I selected that in the Angular Console and it worked, but when I went back to other tabs and came back, that option was not saved/remembered.

I would like the user preferences to be saved.

open in Webstorm button

This app is really cool, Thanks!

The video shows the Angular Console with a webstorm icon next to the VSCode icon. I have both IDEs installed, but I only see the open in VSCode icon, and not one to open it in Webstorm.

I am running the app on windows 10, while the Video appears to be running on a Mac. Should "open in Webstorm" be an option on the toolbar when "open in VSCode" is present?

How does an IDE get its icon on that toolbar?

Feature: Available Extension Discovery

Working in the enterprise we own our own schematics on a private npm feed. It would be nice if you could configure a discovery endpoint that the application queried to provide additional information to Angular Console, such as populating the Available Extensions tab.

Importing from other drives than C: (Windows)

Context: Using Windows 10, trying to import existing Angular projects to get started. My workspace partition on Windows is an encrypted and named D instead of C. This partition is decrypted and accessible.

Current: The Angular Consoles only lists the default C: partition on Windows.
Expected: The Angular Console should list all partitions that are accessible on Windows.

Workaround: Create a symlink from C: to D: (mklink /d C:/D D:)

Show Workspace name on Windows Title

Here is the scenario:

  1. Open Angular Console, the Windows Title shows "Angular Console".
  2. When click into specific workspace, for example: demo3
  3. the Windows Title is "Angular Console" now, it may change to "demo3 - Angular Console" in the Windows Title bar. See screenshot below:

image

Reason:

When I click into an item of Genereate Code, Run Tasks or Add/Remove CLI Extensions, the workspace name is disappeared. If the name can show on Windows Title, I think it will improve UX.

[Feature Request] Ability for multiple terminal tasks

Just started testing the usage of Angular Console and noticed it doesn't currently allow multiple tasks to be triggered parallel with one another. If a user selects a task that shows in the UI corresponding to their package.json scripts, they can only run one at a time. It would be a nice enhancement if the user could still access the task list screen once a task has been triggered and then upon selecting an additional task, a 'tab' in the terminal UI is created for the additional task to be run. Similar to how most terminals work.

Linux ubuntu version

Release an linux version software for the angular console. That will awesome. Because lots of developer used ubuntu

Serving the Application

  • Created a new application

  • Ran 'Serve' from the project via the GUI
    Project started.
    when to add extensions.
    Could not find or navigate back to terminal that was running the server.

ISSUE: Could not find the terminal with the running server.

Workspace creation: Terminal dialog is closable while command still running

I just went to create a new workspace and I notice the flow has been updated to show the terminal in a dialog.

Currently, you can click the overlay to close the dialog, but I would argue this is not desired as if you accidentally click (like I just did) you lose reference to what’s happening and get visually stranded.

Additionally, the text in the top bar remains something like “Fill in required fields” even when the command is already running (and you must have already completed that requirement).

freshly installed app has GraphQL error

I installed the app from an installer that @mrmeku created on Mac. When I opened it, and clicked "open workspace" without providing a path, it had a 500 error.

Error: Http failure response for http://localhost:7777/graphql: 500 Internal Server Error

screen shot 2018-07-19 at 6 40 21 pm

When I provided a path to the input, it started failing with new errors. And when I clicked "Create New Workspace" it had this screen:

screen shot 2018-07-19 at 6 44 30 pm

Maybe the server died and never recovered because I didn't provide a path the first time like I was supposed to?

Linux support

There are currently installs for Mac and Windows. Any way to install on Ubuntu?

feat: Angular global error handler

When an error is propagated up through Angular's zone, we want to capture that error and log it with analytics so we can fix it in a future release.

ui-form component: Add links to docs to form fields wherever possible

To encourage developers to read documentation we can add links to docs on the form.
Ex:

  • User wants to generate a component.
  • Sees the option for viewEncapsulation but doesn't really know what it is.
  • User clicks the info link on the form label to learn more about the viewEncapsulation options they can choose from.

Create new project/workspace with 3rd party Schematic

Currently when creating a new workspace AngularConsole only gives the choice of the default angular schematics or the nx schematics.

It would be beneficial to allow other, or internal, schematics to be used at this point.

[Feature Request] Use a GraphQL Subscription for command output

Currently the command output is retrieved by polling the GraphQL Query with a small interval. It probably makes sense to use a GraphQL Subscription to handle the output of the commands as it should save a lot of unneeded requests.

image

I'm happy to give a go at implementing this if it seems useful.

skipPackageJson option installs packages

This is not a bug but confusing behavior.

Run:

ng generate library teach/app1 --publishable --skipPackageJson --routing --lazy --parentModule=apps/teach/src/app/app.module.ts

Behavior:

@angular-devkit/build-ng-packagr, ng-packagr, tsickle, tslib installed.
npm warnings displayed.

Suggestion:
I do see that these packages are being installed for publishable option but it might be confusing to users. I am wondering if we can display more information on what is happening?

screen shot 2018-08-08 at 12 51 41 pm

screen shot 2018-08-08 at 12 51 55 pm

Display affected:dep-graph

Expected behavior:

  • Dep-graph displayed on a new route. Not generated under the 'Run Tasks' route.
  • Effected lib/app nodes are interactive, ex: display child modules/files when clicked.
  • Default graph option is '--base=master'
  • Allow user to run it with all options.

"Little Big Details" - Misc. UX Feedback

@nrwl/nrwlians Please add bits of tiny UX feedback to this list.

Things which are not really bugs, just things we can refine.

  • When clicking run on a command, it takes a couple of seconds for anything to happen in the UI. We should immediately provide feedback to the users that the run command succeeded

Add support for zoom

Looks like command + and command - do not work to zoom in and out in the app.

Also, it looks like the width: 100vw; on the .nested-outlet-container class may be an issue when zooming. The schematics options screen does not scale correctly when the css zoom property is used on a parent element like <body> (not sure if css zoom is the same as the zoom that the browser uses with command +, but if it is then this may be an issue).

Oh, and one more. When using the css zoom on the <body> it results in a vertical scroll bar. My guess is that this is due to the structure of the layout with the sticky header/sidebar and a scrollable panel. Just want to add that info here to make sure that gets tested when zoom is implemented. 😄

Empty Projects page after importing a newly created nx workspace project

Repro:

  • Create an nx workspace.
  • Navigate to import and select newly created workspace.
  • Automatic navigation to Project page renders empty page.

Suggestion:

  • Have a message on Project tab for empty project and link to generate code tab.
  • Or navigate to generate code tab if the project is empty.

screen shot 2018-08-08 at 6 36 36 pm

fix: The required property isn't handled correctly for tasks

Currently none of our tasks have required fields since we need to re-archtiect how task default values are computed. We need to parse angular.json to find the default values that an architect command has and fill them out. Then we can mark fields as required

[Feature Request] Allow creation of component in sub-directory

Currently you have to provide a name for new components including sub-directories for the component to be created in a sub-directory.

For example:
I want to create info component inside the entitiy/detail folder.

I would have to name the component entity/detail/info.

Feature Request:
Allow option to choose the directory a new component is created in

Save window size when exiting app

Feature request:

Would like the app to save the window dimensions when exiting the app and use those when opening the app if they exist. It would also be nice if it saved the window location as well.

Angular Console should work without internet connection

These two should be replaced with local links:

  <link href="https://fonts.googleapis.com/icon?family=Material+Icons+Extended" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">

Add some keyboard shortcuts or hotkeys

For example:

image

  • Ctrl-1: switch to Projects
  • Ctrl-2: switch to Generate Code
  • Ctrl-3: switch to Run Tasks
  • Ctrl-4: switch to Add/Remove CLI Extensions
  • ArrowDown / ArrowUp: move cursor up and down of the items
  • /: Jump to Filter

image

  • Alt-A: hit Add button
  • Alt-C: hit Cancel button
  • Escape: back to go back to previous page

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.