Skip to content
/ magma Public
forked from mitre/magma

MITRE Caldera's user interface plugin powered by VueJS

License

Notifications You must be signed in to change notification settings

d3vco/magma

This branch is up to date with mitre/magma:master.

Folders and files

NameName
Last commit message
Last commit date
Nov 7, 2022
Sep 8, 2022
Mar 10, 2021
Dec 26, 2024
Jul 11, 2024
Sep 8, 2022
Sep 8, 2022
Nov 7, 2022
Feb 13, 2024
Feb 13, 2024
Sep 8, 2022
Jan 24, 2024
Feb 11, 2024
Sep 8, 2022
Aug 10, 2023
Oct 28, 2024
Dec 16, 2024
Nov 7, 2022
Nov 7, 2022

Repository files navigation

MITRE Caldera Plugin: Magma

The UI/UX Vue.js framework of Caldera v5.

Dependencies

  • NodeJS (v16+ recommended)
  • Caldera (v4.0.0+)

Installation

If you are going to run Magma without developing on it, all you have to do is run Caldera with an extra flag once. To do so:

In the Caldera directory:

  1. Run python3 server.py --build.

The --build flag automatically installs any dependencies, bundles the Vue frontend into a dist directory, and is served by the Caldera server. You will only have to use the --build flag again if you add any plugins.

Development

To serve up the UI in a development environment (with hot-reloading, etc.), do

In the magma directory:

  1. Run npm install.
  2. Run npm run build

In the Caldera directory:

  1. Run python3 server.py --uidev localhost.

You can reach the UI in your browser at http://localhost:3000

Code Quality

Currently Linting is done manually by the developer. To do so:

  1. Run npm run lint.

In order to run linting with it automatically formatting issues:

  1. Run npm run lintfix.

Testing

Magma uses Jest as its frontend testing framework. All tests are located at the src/tests directory.

  1. Run npm run test-all to run all tests.

Each vue component is tested for accessibility in their respected file. This is done using a custom Jest matcher, jest-axe. Jest-axe adheres to axe-core rules. Each one of these rules can be modified or disabled when calling the axe function.

  1. Run npm run test-accessibility to run only accessibility tests.

About

MITRE Caldera's user interface plugin powered by VueJS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 45.7%
  • Vue 44.1%
  • JavaScript 9.5%
  • Other 0.7%