equinor / equinor/fusion-framework

module: create a BaseModule implementing the Module interface

Open
#5,145 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.