Appends the version of the component into the build path

@yields Could you please review my change? I don't expect you to merge this into the main branch, but some feedback would be great!
you should throw an `Error` rather than a string for stack traces, etc