316 Commits

Author SHA1 Message Date
comp500
f533e677ca Merge duplicate getLoaders methods into single core method 2022-06-08 22:34:50 +01:00
comp500
72fbc68256 Omit mode when empty (equivalent to mode "url") 2022-06-07 03:23:41 +01:00
comp500
d34728f347 Add support for CF files marked with Quilt (fixes #127) 2022-06-05 04:39:51 +01:00
Jamie Mansfield
57b554d5e3
Add flag to disable Modrinth restricted domains (#126)
* Update list of Modrinth approved domains

* Add flag to disable Modrinth restricted domains

This allows packwiz to produce .mrpack files with direct downloads,
for packs that aren't distributed on modrinth.com.
2022-06-02 17:40:51 +01:00
Aaron Harabedian
f47d71f203
Added command to list all mods (#125) 2022-05-31 17:02:42 +01:00
comp500
e71b63ea98 Check if download URL is null instead of allowModDistribution; fixes issue with null values for latter 2022-05-23 01:39:07 +01:00
comp500
bf2f060efc Fix lookup of old .toml files 2022-05-21 14:29:59 +01:00
comp500
fc3b5ff8ea Bump current pack format version number and auto-migrate loaded packs 2022-05-21 05:05:08 +01:00
comp500
dae133b73c Completed download implementation for Modrinth export 2022-05-21 05:00:21 +01:00
comp500
f3837af145 Completed download implementation for CF export
Added support for importing manual files and rehashing where necessary
Moved cache folder to "local" user folder
Cleaned up messages, saved index after importing
2022-05-21 03:40:00 +01:00
comp500
55f0e4a297 WIP: misc fixes, start updating CF/MR export to use download system 2022-05-20 18:13:43 +01:00
comp500
e73fa8c48a Continued work on download system (cache + cf meta now implemented) 2022-05-18 22:11:28 +01:00
comp500
30bc6d81bb WIP caching system for Modrinth/CurseForge pack export 2022-05-18 16:02:40 +01:00
comp500
3a6109c1f9 Merge branch 'master' into wip/new-curseforge-api 2022-05-17 01:07:04 +01:00
comp500
0f3096e251 Use the correct directories for non-mod files; use .pw.toml extension
The mods-folder option is now replaced with two new options: meta-folder and meta-folder-base
This allows non-mod files to use the correct directory based on their category; with correct
import of resource packs/etc from CurseForge packs, and the ability to override this behaviour.
To improve the reliability of packwiz metadata file marking (in the index), new files now use .pw.toml
as the extension - any extension can be used, but .pw.toml will now be automatically be
marked as a metafile regardless of folder, so you can easily move metadata files around.
Existing metadata files will still work (as metafile = true is set in the index); though in
the future .pw.toml may be required.
2022-05-16 21:06:10 +01:00
comp500
d73c7e809b Reworked install command to use new slug lookup API, and support any game/category
New --category and --game flags allow using categories other than Minecraft mods (also parsed from URLs)
Fixed loader checks to allow a project with no loaders in the version list
Improved error messages and docs
Fixed sending empty mod requests when dependencies were already installed
Slug lookup now defaults to no category, forcing a user to interactively select a project (--category should guarantee no interactivity)
Added project summaries to search results
Fixes #112
2022-05-16 17:09:28 +01:00
comp500
640d4ac046 Update open command to use proper URL 2022-05-16 15:39:53 +01:00
comp500
2073e4475e Support Modrinth modpack fileSize field and sha512 hash 2022-05-16 01:15:12 +01:00
comp500
5a48ddeb66 Create local store functions 2022-05-14 19:38:32 +01:00
comp500
0c5ff0b7bb Change backend request code to use new CurseForge API (WIP)
See the packwiz Discord for more information, as the changes with the new API Terms and Conditions have some implications for packwiz.
This commit isn't fully functional yet; I have more changes to make.
2022-05-07 18:18:57 +01:00
comp500
9ace015690 Don't publish broken 32-bit builds (see #107) 2022-05-07 16:07:12 +01:00
comp500
d7bfed5cb3 Fix installing without file ID, with no version data in latestfiles 2022-05-03 21:09:41 +01:00
comp500
efb434dadc Fix installing by file ID, allow using --file-id with slug 2022-04-30 21:02:00 +01:00
comp500
e29c3022b3 Improve error messages when unable to find a CF file/addon 2022-04-23 20:09:10 +01:00
comp500
f1eb34d444 Quilt support 2022-04-20 20:58:49 +01:00
comp500
9faf42c0a8 Use semver for the goreleaser version 2022-04-20 02:27:50 +01:00
comp500
f008ecec0f Fix amd64 builds (goreleaser added a _v1 suffix to output folders) 2022-04-20 02:17:56 +01:00
comp500
3d7793ef9b Update dependencies, remove custom completion command in favour of cobra-generated one 2022-04-19 21:27:11 +01:00
comp500
f85938fa12 Expose darwin/arm64 and windows/arm64 builds (fixes #105) 2022-04-11 00:11:05 +01:00
comp500
b69080ce49 Update README to reflect go 1.18 update 2022-03-30 12:53:56 +01:00
comp500
3ab85821e9 Add support for looking up 1.19 snapshot versions on CurseForge 2022-03-29 01:05:12 +01:00
comp500
cdd737839d Automatically download and bundle unwhitelisted mods/files in Modrinth modpacks 2022-03-29 01:02:24 +01:00
comp500
3fb350f244 Pass through optional-disabled on CF import (fixes #93) 2022-03-07 18:22:29 +00:00
comp500
7c387f6c83 Add --output/-o flags for Modrinth/Curseforge export (fixes #38) 2022-02-27 17:44:44 +00:00
comp500
2dd0a1ae78 Fix component version message in cf import (fixes #90) 2022-02-20 17:14:44 +00:00
comp500
d43984923e Prefer SHA1 hash first for Modrinth files 2022-02-14 20:12:13 +00:00
comp500
07c0af7bcb Add packwiz binaries to default ignores (fixes #37) 2022-02-14 20:09:55 +00:00
comp500
f58e16ff81 Batch CF import file requests for significantly improved speed 2022-02-14 19:13:27 +00:00
comp500
f1716faa72 Fix URL re-encoding for square brackets 2022-02-14 18:47:03 +00:00
comp500
55ce2fb581 Use new SHA1/MD5 hashes from CurseForge API 2022-02-14 18:21:22 +00:00
comp500
9585272311 Reorder preferred hash list 2022-02-14 16:53:34 +00:00
comp500
6bb15f593b Remove unnecessary warnings 2022-02-14 16:02:07 +00:00
comp500
36b6d806c8 Re-encode URLs from CF and when exporting to MR for RFC3986 compliance 2022-02-14 15:48:54 +00:00
comp500
fa5de4b4bc Add default .packwizignore contents (fixes #3) 2022-02-10 16:47:38 +00:00
comp500
226a376be9 Import author/version metadata from CurseForge packs 2022-02-10 16:32:55 +00:00
Sasha Sorokin
f41235b04c
Fix ignore file inconsistencies (#88)
* Fix ignore file inconsistencies

.packwizignore is supposed to work like .gitignore, yet it fails
miserably at doing so, being able to ignore only global patterns like
*.zip, and failing at patterns like /*.zip.

This commit introduces two changes to fix the issue:

- First, it uses a more up-to-date library. denormal/go-gitignore has
  not been updated since 2018 and has long open issues and pull
  requests, one of which tries to address leading slash ignoring, a-la
  /*.zip. denormal account seems to be abandoned since around the same
  year, so it makes sense to find a new library that does roughly the
  same thing.

  Gladly so, there's actually a library by sabhiram that shares the same
  name (but not the package name itself - which is just ignore - so it
  probably requires aliasing when importing).

- Secondly, it checks relative paths against ignore file instead of the
  absolute ones, which makes it possible to use leading slash (and
  probably some other features) with the new library.

From personal tests, it seems to address most - if not all - of the
inconsistencies. However, since it's a different library more throughout
testing probably wouldn't hurt to make sure it didn't break anything.

* Move dependency to main block
2022-01-23 21:05:34 +00:00
comp500
e233ac09c7 Update README for Modrinth exporting 2021-12-28 23:20:41 +00:00
comp500
20e57ac220 Warn when no version is provided 2021-12-28 22:32:18 +00:00
comp500
ce49820ef5 Add description field for Modrinth exports 2021-12-28 22:29:35 +00:00
comp500
60c08b93f3 Implement Modrinth pack exporting (fixes #34) 2021-12-28 22:03:22 +00:00