@react-bratus/cli

3.6.0 • Public • Published

react-bratus - A software visualisation tool

This is the react-bratus CLI tool. With this tool you can parse your react.js project and have your component tree visualised in a web app.

See a demo of react-bratus v-2.0.7 here

Disclaimer

This tool is in development. Bugs may therefore occur and the parser might not include all components in your project.

Getting started

You can install react-bratus globally (Method 1) or locally (Method 2). We recommend the global installation, as it doesn't require configuring the extra scripts in your package.json.

Method 1

Start by installing the tool globally on your computer. This may take a while.

npm install -g @react-bratus/cli

Test that the tool is installed correctly by running bratus. You should see the following message:

Usage: bratus [options]

React Bratus CLI

Options:
  -s, --start    Start react-bratus app
  -p, --parse    Parse repository
  -l, --log      Show logs while parsing. Must be after the -p flag (bratus -p -l).
  -v, --version  Show current version of React-bratus
  -h, --help     display help for command

Navigate to your React project and write bratus -s or bratus --start. If it is the first time running on that project, it will parse the data before launching the application. This can take a moment.

It will show Listening on port 4444 when ready. Open the browser and navigate to http://localhost:4444, if the default browser doesn't open automatically.

Method 2

Run: npm install @react-bratus/cli -D locally in your project to install react-bratus.

Add following scripts to your package.json file:

{
  //...
  "scripts": [
    //...
    "bratus": "node ./node_modules/@react-bratus/cli/bin",
    "bratus:start": "node ./node_modules/@react-bratus/cli/bin -s",
    "bratus:parse": "node ./node_modules/@react-bratus/cli/bin -p",
  ]
  //...
}

Test that the tool is installed correctly by running npm run bratus -V. You should see the version that you have installed.

Changelog

  • 3.6.0 (After testing bratus with master's students)
    • Added modal for component details.
    • Removed times used & path from the drawer that now only holds the code of the component.
    • The modal now shows how many times a component is rendered in the application, the type of a component (Functional, Class, Arrow Function) & the lines of code.
    • Modal closes when someone presses X or clicks outside the component.
    • Added Reset button in custom roots.
    • Moved filters to their own section, as it was difficult for people to find them and use them.
    • Added Reset button in the filters.
    • Made focus work together with the subtree mode.
    • Removed Actions section from the navigation panel, put the github links in the help panel.
    • Added an "Open Help" button to be accessible always and remind to the users that there is a Help Panel to help them with using the application.
    • Added a file colors.js, which includes some colors for reusability.
    • Changed the default mode of Bratus to be green instead of white, and gave different colors to borders, leaves and edges.
    • Used green font in some navigation panel sentences, to make users focus on important keywords that would make it easier for them to perform tasks.
    • Removed default open panels from the help panel. They were blocking users from seeing the panels that were not collapsed by default.
    • Fixed bug where onClick was triggered by simply dragging the nodes and therefore, the modal was triggered for no reason.
    • Changed README files to recommend global installation as the first choice.
    • Updated Help Panel text & images
  • 3.5.0
    • You can now focus the component searchbar with CTRL+F (windows) or CMD+F (apple).
    • The browser warning popup has a "remember me" functionality and doesn't pop up if the browser is already Chrome.
    • You can now hide nodes by typing their names in an input field.
  • 3.4.1
    • Bugfix: Times used filter now works only if there is a value in the input.
  • 3.4.0
    • You can now filter nodes by how many times they are rendered in your application.
    • Implemented more accurate label filtering.
    • Adjusting searchfields, labels & tree dynamically on Switch click/ Dropdown click.
    • Implemented highlighted components styling.
    • Implemented notification that warns you to switch to Chrome.
  • 3.3.0
    • Added new functionality to parser.
    • Updated functionality for defining custom roots for parsing. Added it in the Frontend in the "Define custom roots" section in the Menu.
    • Introduced Subtree Mode!
    • Subtree switch button added to the Menu under the "Search for component" section. Subtree mode is disabled by default.
    • Users can now render subtrees of the tree, by clicking on the node name from the dropdown, as soon as subtree mode is enabled.
    • Fixes regarding the rendering of the conditionally rendered nodes.
  • 3.2.2
    • Adding comments & documentation to the codebase, refactoring.
    • Deleting unnecessary functionality.
    • Bug fixes
    • Smooth animations on fitting the tree in the view.
  • 3.2.1
    • Fix: Node names no longer break the design. Display ... if the name is long.
  • 3.2.0
    • Implemented Interactive Minimap
    • Supports scroll and drag.
    • Components are highlighted when hovering over them.
    • Minimap can be hidden or displayed with a button click.
  • 3.1.0
    • Reintroducing help panel.
    • Now contains information about the different visualizations of the nodes and the edges.
  • 3.0.2
    • Added glob as dependency to cli
  • 3.0.1
    • Updated Repo URLs
  • 3.0.0
    • Added horizontal layout and dynamic change of tree layout with buttons.
    • Redesigned the navigation panel + made it collapsible.
    • Changed the folder structure of the applcation.
    • Refactored the code.
    • Made bratus work with React-Router v6.
    • Visualizing the conditional rendering of the components.
    • The command was changed from react-bratus to bratus.
    • Changed the design, and the visualization types of the components.
    • Fixed bugs that had to do with the language of the browser.
    • Fixed the positioning of the tree and the nodes and made it fit the view whenever the tree is rendered.
    • Added the option to remember the tree layout, so that the user can set vertical as the default view.
    • WIP: Help panel doesn't work, as we work on it atm.
  • 2.0.7
    • Bug fix
  • 2.0.6
    • Configurable component backgrounds
    • Improved logging
  • 2.0.5
    • Throws error if a circular reference is found
    • Minor bug fixes
    • Updated README
  • 2.0.4
    • Added TreeSearch
    • Colored components based on the label hash
    • Added lock icon. Possibility to lock multiple components
    • Added eye icon. Possibility to open details about component. Currently path and code defining the component
    • Fixed some bugs
  • 2.0.3
    • Added posibility to set options in .bratusrc.json file
    • Handle multiple components
    • Highlight components feature
    • Lock highlighted component and move component including descendants at the same time
    • CLI command -c --compile has been changed to -p --parse
    • Removed info section
  • 2.0.2
    • First release

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
3.6.04latest

Version History

VersionDownloads (Last 7 Days)Published
3.6.04
3.5.00
3.4.10
3.4.00
3.3.00
3.2.20
3.2.10
3.2.00
3.1.01
3.0.20
3.0.10
3.0.00
2.0.70
2.0.60
2.0.50
2.0.40
2.0.30
2.0.20
2.0.10
2.0.00
1.2.30
1.2.20
1.2.10
1.2.00
1.1.6-alpha.80
1.1.6-alpha.50

Package Sidebar

Install

npm i @react-bratus/cli

Weekly Downloads

5

Version

3.6.0

License

MIT

Unpacked Size

11.3 MB

Total Files

86

Last publish

Collaborators

  • thepiotrek
  • evgenios95
  • stephanboersma