GithubHelp home page GithubHelp logo

royvandijk06 / luna Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 7.76 MB

LUNA: Library Usage in Node.js Analyzer

Home Page: https://royvandijk06.github.io/luna/

JavaScript 35.80% EJS 0.11% HTML 64.09%
analysis analyzer architecture ast dependencies dependency graph javascript libraries library

luna's People

Contributors

revadike avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

luna's Issues

Summary of collected feedback

Scanner

  • add export tracking for API extraction
  • full library API extraction (not just the API that’s imported)
  • alongside position, add line (and col) information for file nodes
  • add metrics/statistics about relation between project and external components
    e.g., proportion or number of lines/functions/methods/etc. that depend on the external
    component, either directly or indirectly);
    e.g., proportion or number of lines/functions/methods/etc. that I’m using from the
    external component
  • add full object/class extraction of js files, alongside the calling tree
  • support typescript/jsx/html source code
  • support other programming languages
  • deployable for quantitative research (e.g. bulk scanning)
  • better package version parsing

Visualization

  • instead of one global layout, split layouts for each subcomponent
  • avoid overlapping compound nodes for all layouts
  • right mouse button for panning and left mouse button for dragging (compound) nodes
  • change edges depending on the closeness of the selected node (thickness or opacity)
  • add more techniques to reduce edge count (e.g. Tarjan’s Algorithm)
  • improve UX with the cola layout algorithm simulation

Menu and UI

  • search box for file/library tree located in menu
  • highlight searched node (alongside locating it)
  • make searching work for collapsed items (auto-expand or notify user)
  • layout refresh button next to the layout selector
  • link the hiding status of a parent item with its children items in the menu
  • negative hiding: option to hide all other items, besides those selected
  • add (right click) context menu for nodes with all available node options
  • add ability to collapse/expand all
  • add filter options for function call nodes
  • a light theme

Bugs

  • fix bugs related to node expand/collapse functionality
  • fix bugs related to node hiding functionality
  • fix bug where sometimes node icons go distorted/invisible
  • fix bug where some web browsers open #-links in new tab

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.