Plugins for GraphDB workbench
npm install graphdb-workbench-pluginsSince v1.2, GraphDB Workbench features a plugin system which allows components to be plugged in
without introducing coupling between new and existing components. The new system allows extending or
replacing existing components, introduction of new single or compositional components. All this
could be achieved without any changes in the rest of the system.
_Currently the new system is integrated in the workbench main components registration. These are the
components which implement the main workbench views (extension point route) and their respective
main menu entries (extension point main.menu). In next versions more extension points might be
introduced._
---
- Features
- Installation
- Usage
- Available npm Scripts
- Development Workflow
- Project Structure
- Plugin Manifest
- Contributing
- Documentation
- License
---
- Plugin-based architecture for GraphDB Workbench
- Extend or replace existing components without modifying core code
- Easy integration and validation of plugins
---
Clone the repository and install dependencies:
``sh`
git clone
cd graphdb-workbench-plugins
npm install
---
To build the plugins for production:
`sh`
npm run build
The output will be in the dist/ directory.
For development with automatic rebuild on changes:
`sh`
npm run dev
To check code style and find problems:
`sh`
npm run lint
To automatically fix linting issues:
`sh`
npm run lint:fix
To generate documentation using JSDoc:
`sh`
npm run document
The documentation will be generated in the docs/ directory.
---
| Script | Description |
|--------------------|------------------------------------------------------------------|
| dev | Watch plugin files and rebuild on changes |build
| | Validate manifest and build plugins using webpack |validate-manifest
| | Validate the plugins manifest file |lint
| | Run ESLint on the codebase |lint:fix
| | Run ESLint and automatically fix problems |document
| | Generate documentation using JSDoc |install:ci
| | Install dependencies in CI mode (clean install) |prepare
| | Prepare git hooks using Husky |
---
1. Clone and install dependencies as described above.
2. Develop plugins in the plugins/ directory.npm run dev
3. Run in development mode with for live rebuilding.npm run build
4. Validate and build with .npm run lint
5. Lint and fix code with and npm run lint:fix.npm run document
6. Generate documentation with .
---
``
graphdb-workbench-plugins/
├── dist/ # Compiled plugin output
├── docs/ # Generated documentation
├── plugins/ # Source code for plugins
├── scripts/ # Utility scripts (e.g., manifest validation)
├── plugins-manifest.json # Manifest describing available plugins
├── package.json # Project configuration and scripts
├── webpack.config.js # Webpack build configuration
├── jsdoc.config.json # JSDoc configuration
└── README.md # Project documentation
---
The plugins-manifest.json` file describes all available plugins and their extension points. It is validated automatically during the build process.
---
Please follow these steps:
1. Fork the repository and create your branch.
2. Make your changes and ensure all lint checks pass.
3. Submit a pull request with a clear description of your changes.
---
This project is licensed under the Apache-2.0 License.