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

Add node.js support #54

Closed
hohwille opened this issue Mar 28, 2019 · 3 comments · Fixed by #138
Closed

Add node.js support #54

hohwille opened this issue Mar 28, 2019 · 3 comments · Fixed by #138
Labels
commandlet related to commandlets (scripts/command/*) enhancement New feature or request help wanted Extra attention is needed scripts related to shell scripts (bash and CMD) software software-package with 3rd party products
Milestone

Comments

@hohwille
Copy link
Member

We already have a ng commandlet for angular-cli. However, without node.js support the user needs to manually install node.js into his system/path. This is not consistent with our approach and expected UX of devon-ide.

Hence we need to add a node commandlet. This whould then be able to download and install node.js. We need to check if we want to use node version manager or manage the node version on our own.

@hohwille hohwille added enhancement New feature or request scripts related to shell scripts (bash and CMD) software software-package with 3rd party products help wanted Extra attention is needed labels Mar 28, 2019
@sjimenez77
Copy link
Member

sjimenez77 commented Apr 2, 2019

IMHO we should use always the latest LTS node version. nvm is really good (I use it) but adds a bit of complexity to be maintained alongside with the node.js versions. Besides, we are focusing lately in the yarn package manager, so we should also provide it just in case you want to use in your node.js front and/or backend projects.

In the latest devonfw distributions we managed to install a portable version of the latest node.js LTS in the software folder. We should do something similar or at least discuss if we can ask the user to install it globally in the system. It will be definitely more natural to any frontend developer.

My concern is how to handle everything in the future devonfw dashboard. For the moment we are struggling a lot calling efficiently bash scripts. I can imagine that we will also need to provide some kind of feature selector that will check and install the latest versions of java, node.js, our IDEs, stacks, etc.

@hohwille hohwille added the commandlet related to commandlets (scripts/command/*) label Apr 5, 2019
@hohwille
Copy link
Member Author

@sjimenez77 thanks for your valuable feedback. I agree that using LTS version of node is great.
However, I think that the general idea of devon-ide is:

  • keep the prerequesites as little as possible
  • make the IDE as local as possible and prevent global installations that cause conflicts between co-existing projects.

Hence, if possible I would still suggest that we do the same for node as we do for all the other tools which is download and "install" them locally within the IDE.
This does not necessarily require that one has to call wrapper bash scripts to launch node, npm, yarn, etc. (if that actually was the fear you were having, I am not sure if otherwise I got your concern right). For the "feature selector" I also do not get your point. People just call the setup script once (what is technically nothing more than devon ide setup). This installs all the tools reuqired by the project where now each project is free to customize and configure the tools they need in their settings. So projects not using JavaScript/TypeScript/node.js/npm/yarn/etc. do not care about all this. However, most projects will require it as we assume and what is currently the default. The only problem ist that I have not implemented this for node as I am not an experienced JavaScript/Client guy so I would need some contribution.

@hohwille
Copy link
Member Author

hohwille commented Jul 9, 2019

Implemented with PR #138 and tested on mac OS.
If you do not like the default version or find a bug for other OS, please provide PR.

@hohwille hohwille closed this as completed Jul 9, 2019
hohwille added a commit that referenced this issue Aug 15, 2019
* #54: clean code
* #176: fix if java symlink already exists but points to a non existing location
* #176: fix if gradle is not properly on PATH (analog to mvn)
@hohwille hohwille reopened this Jan 6, 2022
@hohwille hohwille linked a pull request Jan 6, 2022 that will close this issue
@hohwille hohwille added this to the release:3.2.0 milestone Jan 6, 2022
@hohwille hohwille closed this as completed Jan 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
commandlet related to commandlets (scripts/command/*) enhancement New feature or request help wanted Extra attention is needed scripts related to shell scripts (bash and CMD) software software-package with 3rd party products
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants