Because the aim is to have a single file, fairly short, script. Even if we glued the lock file in somehow, it would be huge!
I prefer this myself, as almost all lock files are in practice “the version of packages at this time and date”, so why not be explicit about that?