WiseMapping Frond End
WiseMapping Frond End is part of the MindMap Open Source Project. The first release of WiseMapping was in 2010 and there was not mayor update on the architecture. In 2021, a major change started with the goal to provide a visual and technology refresh of the project.
WiseMapping Front extracts all the UI related aspects in this repository. You will find three major modules:
- Web2D: Lighway abstraction over SVG for chart renderding.
- Mindplot: Pure vanilla ES6 classes responsible for providing mindmap rendering and edition capabilities.
- Webapp: REACT application that encompass the whole midnmap edition experience.
Make sure you have NodeJs installed (version compatible with
package.json engine), and yarn installed (
npm i -g yarn).
nvm use yarn install
Please refer to each package's Readme.md for anything specific to the package.
If you want to contribute, please check out CONTRIBUTING.md.
Each package might provide the following scripts.
You can run these for all packages by running it from the root folder. Alternatively you can run it for a specific package by passing the
start a devServer with some browsable examples
yarn playground --scope @wisemapping/web2d
yarn playground --scope @wisemapping/mindplot
run all the tests
run only integration tests
run only unit tests
Image Snapshot Testing
When a test that contains a
matchImageSnapshot call is run, it compares the snapshot to the corresponding one in the
snapshots directory. If Any change is detected, the test will fail, and the diff can be found in the
cypress/snapshots/*/__diff_output__ folder. If the change is intentional, we should "accept" those changes by updating the snapshot and include it in the commit.
There is a caveat where colors, fonts or ui may differ depending on the host machine running the tests.
A workaround for this is to run the tests using docker. Make sure you have docker and docker-compose installed.
Run snapshot tests:
docker-compose -f docker-compose.snapshots.yml up
If anything changed, and the change was intentional, update the snapshots and then commit the new images to source control.
docker-compose -f docker-compose.snapshots.update.yml up