Courses needs a way to bundle templates and extension functionality into packages that can be redistributed.
The initial idea is to have a simple .toml based configuration inspired by Cargo and Poetry. The configuration file specifies template source locations, resource file locations, and extension file locations. At some point Courses might provide integrations with build tools for certain extensions (notably Rust), but this is not an initial goal.
Packages contain template definitions/specifications and extensions. The template format has to be modified to be able to express extending other templates. There are also other changes necessary for the new and more generic node concept [link].
Summary:
- Packages are defined by a .toml file specifying sources and dependencies
- Templates can be defined or extended (perhaps some import system should be used?)
- WASM extensions can be defined.
Courses needs a way to bundle templates and extension functionality into packages that can be redistributed.
The initial idea is to have a simple .toml based configuration inspired by Cargo and Poetry. The configuration file specifies template source locations, resource file locations, and extension file locations. At some point Courses might provide integrations with build tools for certain extensions (notably Rust), but this is not an initial goal.
Packages contain template definitions/specifications and extensions. The template format has to be modified to be able to express extending other templates. There are also other changes necessary for the new and more generic node concept [link].
Summary: