Improve Module API docs & example (#26637)

This commit is contained in:
Michael Telatynski 2023-11-28 08:45:59 +00:00 committed by GitHub
parent 2ee082652a
commit 4c182928e1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

View file

@ -21,5 +21,5 @@ modules:
# An example of pulling a module from NPM # An example of pulling a module from NPM
- "@vector-im/element-web-ilag-module@^0.0.1" - "@vector-im/element-web-ilag-module@^0.0.1"
# An example of pulling a module from github # An example of pulling a module from local filesystem during development
- "github:vector-im/element-web-ilag-module#main" - "file:/home/user/development/element-web-ilag-module"

View file

@ -40,6 +40,8 @@ The following requirements are key for any module:
which takes a single parameter: a `ModuleApi` instance. This instance is passed to `super()`. which takes a single parameter: a `ModuleApi` instance. This instance is passed to `super()`.
3. The module must be deployed in a way where `yarn add` can access it, as that is how the build system will try to 3. The module must be deployed in a way where `yarn add` can access it, as that is how the build system will try to
install it. Note that while this is often NPM, it can also be a GitHub/GitLab repo or private NPM registry. install it. Note that while this is often NPM, it can also be a GitHub/GitLab repo or private NPM registry.
Be careful when using git dependencies in yarn classic, many lifecycle scripts will not be executed which may mean
that your module is not built and thus may fail to be imported.
... and that's pretty much it. As with any code, please be responsible and call things in line with the documentation. ... and that's pretty much it. As with any code, please be responsible and call things in line with the documentation.
Both `RuntimeModule` and `ModuleApi` have extensive documentation to describe what is proper usage and how to set things Both `RuntimeModule` and `ModuleApi` have extensive documentation to describe what is proper usage and how to set things