Git Product home page Git Product logo

Comments (37)

mraible avatar mraible commented on July 19, 2024 3

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024 2

Perfect, I'll have a look next week.
Ping @jhipster/developers !!

from generator-jhipster-nodejs.

mraible avatar mraible commented on July 19, 2024 1

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024

Awesome, congrats!!!
Let me add the bug bounties, and give you the permissions - I'll do this at the beginning of next week.
We must also add a sample app, etc.

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

Hi @jdubois , thanks a lot! I have already provided all that is needed (at least I think :) ... All it's explained in the README.md (where during the release phase I will update the Title with "RELEASED" instead of "IN DEVELOPMENT".. so in that are indicated all info, with a demo gif and an example app

from generator-jhipster-nodejs.

gmarziou avatar gmarziou commented on July 19, 2024

Excuse my ignorance but why does generated project require maven?

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@gmarziou on your machine you don't have to install maven, it is included in the generated project as wrapper (mvnw). As a normal jhipster requirement, you must have only java installed. The project contains a pom.xml because there are some profiles and command to build the server part with the client part (maven in this generator is a sort of "orchestrator"). However you can run the entire app with the normal npm scripts defined in the package.json. You can read the related README.md to understand more.

from generator-jhipster-nodejs.

PierreBesson avatar PierreBesson commented on July 19, 2024

Personally I am in favor of having a generated pom. I personally use either maven or gradle with the node plugin in all my node project to simplify CI setup. This allows to download the right node version which is a big annoyance. Of course you could do this with NVM as well which is a shell script solution to the same problem but it cannot fully wrap node like maven/gradle. Of course if people don't want this, it is very easy to remove a few files after generation.

from generator-jhipster-nodejs.

gmarziou avatar gmarziou commented on July 19, 2024

I'm on same page with Matt, I tend to think that people wanting to use Nodejs blueprint might not expect a hybrid environment (java+node). IMHO, it should be an option and default should be 'no java', or maybe move it to a docker container.

Otherwise, I think we could realistically expect some flame wars or basic questions about how maven works (e.g. with proxies) or even worse about how to install java.

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@gmarziou in fact I have put it for the same reasons that @PierreBesson has explained. It is compliant with the jhipster standard, so the developers have already confidence with maven structure.. but this pom has only profiles and maven-frontend-plugin to run frontend and/or server part. If you don't want to use maven, you can delete it after generation, otherwise you can hold it and use the standard npm scripts defined in the package.json. For the proxies there aren't problems : the generator adds the maven wrapper (mvnw) so that you mustn't have it on your machine configured, and in the last, I repeat it, the pom.xml has only profiles and the maven frontend plugin configured to run client and/or server part and install node versions (as jhipster standard).. then to install the blueprint and use jhipster however you have to have java...it's all clear?

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@mraible in the project java artifacts aren't generated, there is only a pom.xml that could help the CI/CD processes and "assembly" the full app. All the files generated are of typescript language. So maven it only a facility tool in this case, not a requirement for the development.

from generator-jhipster-nodejs.

gmarziou avatar gmarziou commented on July 19, 2024

All the files generated are of typescript language

By the way, maybe you should mention typescript in the stack used in https://github.com/jhipster/generator-jhipster-nodejs/blob/master/README.md

from generator-jhipster-nodejs.

gmarziou avatar gmarziou commented on July 19, 2024

So maven it only a facility tool in this case, not a requirement for the development.

This was not obvious for me when I read the README of the generated project: https://github.com/amanganiello90/jhipster-nodejs-sample-app#building-and-running

from generator-jhipster-nodejs.

gmarziou avatar gmarziou commented on July 19, 2024

Just tried it and there are few things printed on screen that could confuse node developers but I don't know if a blueprint has control over these:

Besides JUnit and Jest, which testing frameworks would you like to use?

Run your Spring Boot application:
./mvnw clean package -Pdev (mvnw clean package -Pdev if using Windows Command Prompt)

Next, I tried to run it as instructed but I did not have java installed which I suppose could be the case for a node developer:

mvnw clean package -Pdev

Error: JAVA_HOME not found in your environment.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

All the files generated are of typescript language

By the way, maybe you should mention typescript in the stack used in https://github.com/jhipster/generator-jhipster-nodejs/blob/master/README.md

@gmarziou NestJS, as Angular, is already a framework written in typescript

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

So maven it only a facility tool in this case, not a requirement for the development.

This was not obvious for me when I read the README of the generated project: https://github.com/amanganiello90/jhipster-nodejs-sample-app#building-and-running

This mode run is a sort of "shortcut/facility" to run one shoot frontend/server app in a single process ( at the same manner of a spring boot execution). But if you want to use that command, you can run separately the npm scripts as explained in the server/README.md (it's indicated in the README.md linked from you)

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

Just tried it and there are few things printed on screen that could confuse node developers but I don't know if a blueprint has control over these:

Besides JUnit and Jest, which testing frameworks would you like to use?

Run your Spring Boot application:
./mvnw clean package -Pdev (mvnw clean package -Pdev if using Windows Command Prompt)

Next, I tried to run it as instructed but I did not have java installed which I suppose could be the case for a node developer:

mvnw clean package -Pdev

Error: JAVA_HOME not found in your environment.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
  1. For the test framework question, it's inherited from the general app generator that it's not allowed to override (as the applicationType and the app name) . This question does not generate nothing whatever response. If you know the way to delete that question, you are welcome to submitt the relative PR :)

  2. After generation the blueprint prints on console the facility command to run the entire application compliant with the jhipster running standard. A jhipster developer is confident and can migrate easy to use this blueprint, while a nodeJS developer can consider that as a "custom command line interface" and run it without know what is maven. If the developer hasn't JAVA installed, can ignore it and run the app following the npm scripts steps (npm install, npm start and so on). The maven pom.xml is a facility to install the correct node version using the frontend maven plugin, as the normal jhispter generator. Similary, an angular developer, does not have to modify pom.xml or understand what is, he goes on to develop with the npm standards (in the same way of a spring boot application with the angular part, he didn't care of maven of java functionalities).
    If it is a problem, I can add a note in the README.md, and print on console this message:
    Run your app with this command: ./mvnw clean package -Pdev (mvnw clean package -Pdev if using Windows Command Prompt). If you does not have JAVA installed, read the related section under server/README.md

from generator-jhipster-nodejs.

gmarziou avatar gmarziou commented on July 19, 2024

This question does not generate nothing whatever response. If you know the way to delete that question, you are welcome to submit the relative PR :)

I rather propose to change the texts in the main generator:

Besides JUnit and Jest, which testing frameworks would you like to use?

would become

Which additional testing frameworks would you like to use?

and

Run your Spring Boot application:

would become:

Run your backend application:

from generator-jhipster-nodejs.

gmarziou avatar gmarziou commented on July 19, 2024

NestJS, as Angular, is already a framework written in typescript

According to their doc, it is built with and fully supports TypeScript (yet still enables developers to code in pure JavaScript). My point here is that the generator generates typescript.

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

This question does not generate nothing whatever response. If you know the way to delete that question, you are welcome to submit the relative PR :)

I rather propose to change the texts in the main generator:

Besides JUnit and Jest, which testing frameworks would you like to use?

would become

Which additional testing frameworks would you like to use?

and

Run your Spring Boot application:

would become:

Run your backend application:

Hi @gmarziou, thanks for the help :)
however:

  1. I can't delete the JUnit question or modify it because it belongs to the general app generator that is not allowed to override basic rules for jhipster blueprint
  2. "Run your backend application:" for me it's better Run your app, because you can choose also a monolithic app that has the client part (so in this case you run the full app not only server part)
  3. For the doc, I can add some notes and explanations to point that is all typescript and how can run it with the standard npm scripts.
    Thanks a lot for the feedbacks, you are welcome for every improvement.

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@gmarziou resolved all with #40 , you can view the new app committed here

from generator-jhipster-nodejs.

ameinabdi avatar ameinabdi commented on July 19, 2024

@amanganiello90 did generator have font-end of react if it's not why don't you add it ?

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

Hi @ameinabdi , thanks for the question.
Now the generator supports for the client only Angular. For more information about features enabled please refer to README.md, CHANGELOG.md and the sample app.
This is a first version that I have completely developed by me with the helping of some gentlemen developers. I have prefered angular because I have some experience and confidence in this. If the generator will be of great support, we can provide in the ROADMAP new features as the react support.
However, there are the default react templates inherited from jhipster. So you can choose react client as answer in the related question, but I have never tested the app generated.
Any feedbacks for improvements are appreciated a lot.

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

Guys, Any news to prepare the release? An official repo for sample app, grants to publish the package , and so on. Thanks

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024

Sorry @amanganiello90 I took too much time:

  • I had a quick look at the generated code, I'm impressed by how close this is to our Java code. I love this, as one of the idea is to have something consistent across technologies/frameworks.
  • I don't have the time nor the technical competency to do more than a quick look, but I hope we will get more reviews and feedback - publishing this is a good way to move forward, so let's do this and we'll see afterwards.
  • I'm adding a $500 bug bounty here, this is such an incredible hard work!
  • @amanganiello90 can you give me your NPM login so I grant you with the correct permissions to do a release?

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024

@amanganiello90 you should have received the invitation to our NPM org by email.
Once you accept it, I'll add you to a specific team for this project.

Then I have a doubt on the process, because I think they improved it since the last time I did it. Here's what we used to do, but I hope it's better: you need to publish the package yourself, and then transfer it to me (login "jdubois"), so I can then put it under the JHipster org and give you again the permissions, through your team. Tell me if that's complex! I would advise that you release a first very early release, and call the package "generator-jhipster-nodejs". Then we iterate a bit (do a couple of "alpha" releases) before we do the real 1.0.0 release, once everything is properly done.

This is why I want to move to GitHub's registry, the NPM UX/UI is so awful!!

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@jdubois thanks a lot! For me it's a pleasure, an honor to receive compliments from you!
I have accepted the npm invite, my npm username is amanganiello90.
So I have to publish the package from myself with a 1.0.0-alfa.1 version and notify you? thanks a lot.

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024

@amanganiello90 c'mon, you're the one doing all the hard work :-)
I have added you to the "nodejs-blueprint" team:

  • Please set up 2FA authentication, as at some point we will need to enforce this
  • For your package name, can you rename "alfa" to "alpha"?
  • Once it's released, I guess that then you need to transfer it to me, and then I'll add it to the org, as this can only be done by a org owner

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@jdubois very gentleman :) ..
Do you refer to npm jhipster team?
So,

  1. Where I have to set authentication?
  2. Yes, of course
  3. Ok, perfect.

Could you please also create and add me in a new git repo for the sample app, as jhipster-sample-app-nodejs, (so I can refer to it in the readme)
Thanks again.

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024

Oh @amanganiello90 what you refer to is the JHipster organization on NPM, and inside it there are several teams (it seems those are not public, I don't know why, maybe for privacy). So I created one specific team, which will have full permissions on the future generator-jhipster-nodejs package (but not on the other packages, of course).

I'm sure it will end up working well, as we already set this up several time, but the UI sucks so much that it's a bit hacky at first.

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

Oh @amanganiello90 what you refer to is the JHipster organization on NPM, and inside it there are several teams (it seems those are not public, I don't know why, maybe for privacy). So I created one specific team, which will have full permissions on the future generator-jhipster-nodejs package (but not on the other packages, of course).

I'm sure it will end up working well, as we already set this up several time, but the UI sucks so much that it's a bit hacky at first.

Okkkkk, I have also activated on npm 2FA auth:
immagine

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024

@amanganiello90 in your readme you point to a sample application that returns a 404... It probably worked before, as I remember looking at your generated code.
Anyway, the sample application should be under the JHipster org, let me create this for you! I will call it "jhipster-sample-app-nodejs".

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@amanganiello90 in your readme you point to a sample application that returns a 404... It probably worked before, as I remember looking at your generated code.
Anyway, the sample application should be under the JHipster org, let me create this for you! I will call it "jhipster-sample-app-nodejs".

Yes, today I moved the repo and I created a branch for the release with the correct url.. Perfect, I was waiting for the official repo :) thanks @jdubois

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@jdubois I have just released the generator, and it is published now: https://www.npmjs.com/package/generator-jhipster-nodejs/v/1.0.0-alpha.2 .
I have also transfered to you on npm. Thanks

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

$500 bug bounty claim: https://opencollective.com/generator-jhipster/expenses/10177

from generator-jhipster-nodejs.

jdubois avatar jdubois commented on July 19, 2024

@amanganiello90 awesome! I just paid the bounty!
I also moved the NPM package to the JHipster organization on NPM, and you should have full permissions on it. So that should all be OK, but the NPM UI is so broken that I hope everything's fine: don't hesitate to contact me on this!

from generator-jhipster-nodejs.

 avatar commented on July 19, 2024

@jdubois, thanks very very much! Yes, it's all OK. If in future I have problems to transfer new release packages in the npm jhipster, I will know it to you. Thanks a lot again for the advices and interest.

from generator-jhipster-nodejs.

Related Issues (20)

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.