Coder Social home page Coder Social 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 modules network node-modules nodejs visualization tree-structure usage packages scanner webapp

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.