Riduidel / aadarchi

A maven archetype to generate easily projects allowing architecture description using a mix of C4, agile architecture, Asciidoc and PlantUML
https://riduidel.github.io/aadarchi/
Apache License 2.0
40 stars 12 forks source link

Provide detection mechanism for NPM projects #234

Open Riduidel opened 1 year ago

Riduidel commented 1 year ago

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

Riduidel commented 1 year ago

@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.

Se-C12 commented 1 year ago

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

Helielzel commented 1 year ago

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

Helielzel commented 1 year ago

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

Helielzel commented 1 year ago

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

Riduidel commented 1 year ago

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 commented 1 year ago

See also https://www.npmjs.com/npm/state-of-javascript-frameworks-2017-part-1