Looping through every file on every file update *and* cleaning + fromslash is sloww with many files
(ideally, we'd have a map to look up the file, but this is already significantly faster)
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.
* 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
index.toml is now the pack root - if you want to replicate
what the pack-root option would have provided, just move
your index.toml (and update the path in pack.toml)