equinor / equinor/fusion-framework
module: create a BaseModule implementing the Module interface
- Dominant language
- TypeScript
- Stars
- 10
- Forks
- 10
- Avg merge
- 19h 40m
- Merged PRs (30d)
- 150
Description
## Context
`packages/modules/module/src/types.ts` defines the `Module` interface that all Fusion modules implement. There is currently no base class implementation of this interface — every module implements it from scratch.
## Task
Create a `BaseModule` class in `packages/modules/module` that implements the `Module` interface with sensible defaults, which module authors can extend instead of implementing the interface manually.
## Note
Filed while resolving a `no-todo-without-issue` fusion-lint warning on the pre-existing `// @todo` comment above the `Module` interface.
Contributor guide
Research direction
Start with packages/modules/module/src/types.ts to understand the Module interface and its generic parameters. Inspect the surrounding package entry points to determine where BaseModule belongs and verify that the new class implements the interface with sensible defaults that module authors can extend.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100