Commit graph

16 commits

Author SHA1 Message Date
mircearoata
3640e5e708
feat: client and server-only mods (#71)
* feat: local registry database migrations

* chore: store raw API responses in local registry

* feat: update ficsit-resolver

* feat: client and server-only mods

* fix: remove mods that no longer support the current target
2024-10-04 19:23:51 +02:00
mircearoata
d744884f25
feat: remove SML references (#64)
* feat: update ficsit-resolver

* feat: remove SML references

* feat: read GameVersion from uplugin

* ci: docker-compose => docker compose
2024-08-14 03:27:07 +03:00
Vilsol
25f544b8fe
refactor: zerolog -> slog, errors.Wrap -> fmt.Error (#49)
* refactor: zerolog -> slog, errors.Wrap -> fmt.Error

* chore: lint

* fix: correctly handle errors

* fix: use parsed level

* fix: use parsed level, log json to file
2023-12-16 16:19:53 +02:00
Vilsol
4195463c60
feat: threaded download pooling (#48)
* feat: threaded download pooling
refactor: splice out resolver

* chore: remove debug
2023-12-16 13:59:58 +02:00
Vilsol
b6592fe185
feat: parallel apply view (#47)
* feat: parallel apply view

* chore: cleaner readme

* chore: lint

* chore: remove debug logging

* chore: lint
2023-12-14 01:34:01 +02:00
Vilsol
5f2e60a9e2
feat: multi targets (#44)
* feat: use mod version targets

* chore: lint

* chore: remove unused

* chore: target dev on ci

* fix: rename WindowsNoEditor target to Windows
fix: close file reader

* fix: ensure closure of downloaded mod

* fix: ensure all important events are sent

* fix: lock adding files to cache

---------

Co-authored-by: mircearoata <mircearoatapalade@gmail.com>
2023-12-07 18:57:31 +02:00
mircearoata
6088d1e8eb
feat: parallel downloads (#43)
* feat: parallel downloads

* feat: mod extract progress using file size

* feat: pass mod version in install progress updates

* fix: only close update channels after finished sending

* chore: verbose ci tests

* fix: store mod in cache
chore: add progress logging to tests

* chore: lint

* test: add concurrent download limit

* fix: prevent concurrent map access

* chore: bump pubgrub
fix: fix race conditions

---------

Co-authored-by: Vilsol <me@vil.so>
2023-12-07 01:39:34 +02:00
mircearoata
a192a63c82
feat: add mod updating (#42)
* feat: add mod updating

* fix: refactor for previous changes

* test: add mod update tests

---------

Co-authored-by: Vilsol <me@vil.so>
2023-12-06 21:37:33 +02:00
mircearoata
e4b02a792d
feat: offline mode (#14)
* chore: move mod downloading to cli/cache

* feat: data providers, ficsit and local

* feat: keep cache in memory, load on init

* feat: log invalid cache files instead of returning error

* chore: make linter happy

* feat: fill cached mod Authors field from CreatedBy

* chore: make linter happy again

* feat: add icon and size to cached mods

* feat: cache the cached file hashes

* fix: change to new provider access style

---------

Co-authored-by: Vilsol <me@vil.so>
2023-12-06 06:47:41 +02:00
mircearoata
024b11b1e8
feat: use the pubgrub algorithm for solving versions (#40)
* refactor: separate resolving tests

* feat: use pubgrub to resolve dependencies

* feat: show friendly mod name in error message

* feat: show single version in error message when only one matches

* ci: update go version to match go.mod

* feat: format FactoryGame incompatibility and term

* chore: fetch all necessary data of the version at once

* chore: upgrade pubgrub

* chore: upgrade pubgrub

* ci: update golangci-lint version for go 1.21

* chore: lint

* chore: update go version in readme
2023-12-06 05:01:49 +02:00
mircearoata
7f3e6382c1 fix: deterministic resolving order 2023-06-12 11:47:04 +02:00
Vilsol
815c8a3c57 chore: make tests pass 2022-10-14 20:43:17 +03:00
Vilsol
d0a807b6a4 feat: add mod upload command 2022-10-14 19:11:16 +03:00
Vilsol
3c4837069d do not fail fast, update test message 2022-05-02 23:31:23 +03:00
Vilsol
0647db1620 Resolution, downloads, lockfiles 2022-05-02 23:07:15 +03:00
Vilsol
a4f77e407c Dependency resolution, installations 2022-04-14 04:27:39 +03:00