The SBOM Workbench is a graphical user interface to scan and audit source code using SCANOSS API.
Auditing your source code for license compliance has never been easier. Simply scan your source code directory to find and identify open source components. Generate your SPDX-Lite software bill of materials (SBOM) with the press of a button.
- Node.js v14+
- NPM (Node Packages Manager)
We strongly recommend handling your node versions using nvm
npm install --legacy-peer-deps
Please note that you should include the --legacy-peer-deps
parameter in the installation command. This is because @mui/styles
is not compatible with React 18. You can find more information about this at https://mui.com/system/styles/basics/.
SBOM Workbench uses node-gyp to compile SQLite3 native module. This module uses "node-pre-gyp" to download the prebuilt binary for your platform instead you need build from source. In case it does not exist for your platform, node-gyp going to build it.
Depending on your operating system, you will need prepare the correct environment to run node-gyp: See https://github.com/nodejs/node-gyp#installation
Start the app in the dev
environment:
npm start
For live reloading you can use npm run start --watch
to run the app using Electronmon. Warning: this tool has a high memory consumption.
To package apps for the local platform:
npm run package
SBOM Workbench is multi-language enabled. To contribute a new language please see our internationalization documentation.
SBOM Workbench support proxy settings, you might need to specify proxy settings depending on how your network is configured
All the configurations needs to be included in the workspace config file ~/scanoss-workspace/workspaceCfg.json
"PROXY": "<proxy_ip_address>:<proxy_port>"
If your network is using a proxy with SSL interception you can include your certificate in the configuration
"CA_CERT": "<certificate_path>"
You can disable any SSL errors, to do so you can change this option to true
"IGNORE_CERT_ERRORS:"true"
SBOM Workbench is an open source project, and we love to receive contributions from our community. There are many ways to contribute. For more information see the Contributing Guide and Code of Conduct.
This project was made using Electron React Boilerplate