Request to not enforce arbitrary standardization.
I've received news from nimble while working on my library nimsgp that the default folder structure has not only changed, but the new one will be enforced by error in the future.
This issue is made to request rethinking this. The package manager had made the claim that the new folder structure (parent + one level with a specific name) will be enforced by error while many existing packages that still work completely fine use the original folder structure, and may never be possible for the original maintainers to update to the new folder structure.
As well, I would like to request the return of a "srcDir" or similar variable to point where the actual source of the library itself is, relative to the nimble package file.
I ask all of this because my project is using a sub-library system to implement a necessary library for its usage that is not reasonable to make into a separate project, due to currently having an extremely unstable public API reliant on changes to the primary library.
As a first step, we should simply disable the warning. We have not enforce the structure for years, how important can it really be? Ping @dom96
It will become more important the more packages are created. If we disregard it completely then it won't be long before import types will give you an error because packageA, packageB, packageC didn't put that module in its own namespace.
I think we should rethink how we do it though, maybe just force each package that doesn't conform to be put in its own namespace, but then people will complain even more. I don't have strong feelings here but giving up and ignoring the problem isn't going to work either.
Just a note on usage, but I recently updated my embedded projects to use nimble 0.14 for the lock and sync mechanism. Mostly that was great, though theres a few bugs or missing things I should make bug reports on.
However getting a correct package structure for a hybrid library with multiple binaries was a pain. I had to do so or the new sync/lock mechanisms wouldn't work.
File collisions can be resolved downstream.