> 5\. Always put your code into a src dir. Even though nimble supports not 
> having src dir, it’s just better in every way.

In my experience that's the best way to break your project because on install 
nimble removes the `src` directory and then all your paths are wrong.

This is so broken that even in nimble you had workaround like this: 
[https://github.com/nim-lang/nimble/blob/3ba8bd94/nimble.nimble#L4-L9](https://github.com/nim-lang/nimble/blob/3ba8bd94/nimble.nimble#L4-L9)
    
    
    when fileExists(thisModuleFile.parentDir / "src/nimblepkg/common.nim"):
      # In the git repository the Nimble sources are in a ``src`` directory.
      import src/nimblepkg/common
    else:
      # When the package is installed, the ``src`` directory disappears.
      import nimblepkg/common
    
    
    Run

Reply via email to