first stage excludes replaceable source code from fingerprinting
second stage fingerprints replaceable source code files
allowing fingerprint changes in non-source code assets to be reflected
as fingerprint changes in source code assets
update source code tests assets to have fingerprint match file hash
extended asset map test to confirm generation is still correct