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

Provide detection mechanism for NPM projects #234

Open
3 tasks
Riduidel opened this issue Sep 27, 2022 · 7 comments
Open
3 tasks

Provide detection mechanism for NPM projects #234

Riduidel opened this issue Sep 27, 2022 · 7 comments
Labels
effort: 13 state: approved Approved to proceed. type: research Tickets with this label are researches, that may or may not have a final result 🧪 work: complex The situation is complex, emergent practices used.

Comments

@Riduidel
Copy link
Owner

Riduidel commented Sep 27, 2022

We're currently only able to detect major technologies for Java/Maven projects.
We should at least try to detect technologies in the Javascript universe.
It would require a maven module and some JSON reading code.

The following steps can be envisionned

  • Create a maven module (aptly called javascript-metadata-inferer)
  • In this module, create an enhancer working on all model elements that will check if they have the aadarchi.javascript.package
  • Read the defined package.json looking for "framework" dependencies (React, Vuejs, Angular, and also server-side ones)
@Riduidel
Copy link
Owner Author

@Sese-collab Have you ever worked in a javascript project? Do you know how to detect frameworks in a package.xml file? If so, it would be interesting to create an equivalent of the maven-metadata-enhancer able to read that file and understand some things.

@Riduidel Riduidel assigned Helielzel and unassigned Se-C12 Mar 1, 2023
@Riduidel Riduidel changed the title Provide detection mechanism for other technologies Provide detection mechanism for NPM projects Apr 11, 2023
@Se-C12
Copy link
Collaborator

Se-C12 commented Apr 11, 2023

project to test your work : https://github.com/MawsFr/tech-tok

@Helielzel
Copy link
Collaborator

Trying to run tests on JavascriptDetailsInfererEnhancer class with https://github.com/Zenika/qvgdc-app package.json

@Helielzel
Copy link
Collaborator

Element element in JavascriptDetailsInfererEnhancer -> ModelElementJavascriptEnhancer -> ?
From where do I have to test it, how specify the project to use @before each test ?

@Helielzel
Copy link
Collaborator

mvn -pl :javascript-metadata-inferer install -Psettings-aadarchi
mvnDebug -pl :javascript-metadata-inferer install -Psettings-aadarchi -DforkMode=none

@Riduidel
Copy link
Owner Author

I assume you'll have find a way towards loading package.json and extracted interesting technologies from the file you have.
But the JS ecosystem is moving.
Can you think about a way to detect "signifiant" technologies in project?
Currently, I imagine automatically fetching the frameworks list from techempower, but have you got any better idea ? (mind you, this point qualifies the subject as applied R&D, so take some time to detail the approach you choose, how it will suite our needs, and elaborate an experiment to ensure the hypothesis is correct)

@Riduidel
Copy link
Owner Author

@Riduidel Riduidel added effort: 13 state: approved Approved to proceed. priority: 2day work: complex The situation is complex, emergent practices used. type: research Tickets with this label are researches, that may or may not have a final result 🧪 and removed difficulty-🐛🐛 labels Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: 13 state: approved Approved to proceed. type: research Tickets with this label are researches, that may or may not have a final result 🧪 work: complex The situation is complex, emergent practices used.
Projects
None yet
Development

No branches or pull requests

3 participants