NuKnossos a complete rewrite of the old Knossos mod manager. Nebula also lives here since it's easier to manage both projects in a single monorepo. If you're looking for the old code, go to https://github.com/ngld/old-knossos.
FSO itself isn't handled as a normal dependency on the package level and instead becomes a special case on the mod-level
during resolution, all dependencies that are missing a required package are skipped and resolution proceeds with the (potentially older) matches
all resolution matches that would add new transitive dependencies (i.e. mods that aren't listed on the main mod's -mod list) are skipped because we can't automatically generate the -mod list and having a dependency that's not listed in -mod is guaranteed to break things
default to >=1.2.3,<1.3.0 where 1.2.3 is the currently installed version of a dependency
by default only a simple version to select the version range with a drop down will be supplied, advanced users can instead enable a text field that supports full semver specs
warn uploaders if they try to upload a new minor or patch release after changing dependencies
record currently installed dependency versions during upload, show these versions to users (not sure where but should be easy to find for troubleshooting purposes)
prominently show currently used dependency versions to users and give them an option to edit them (on installation and launch)
-mod
list) are skipped because we can't automatically generate the-mod
list and having a dependency that's not listed in-mod
is guaranteed to break things>=1.2.3,<1.3.0
where 1.2.3 is the currently installed version of a dependencyRefs: