Buildpacks are responsible for transforming deployed code into a slug, which can then be executed on a dyno. Buildpacks are composed of a set of scripts, and depending on the programming language, the scripts will retrieve dependencies, output generated assets or compiled code, and more. This output is assembled into a slug by the slug compiler.
https://devcenter.heroku.com/articles/buildpacks
Herokuでpackage.lock
がRoot directoryにあると依存性解決をやってくれるのは、Node.jsのBuildpackが入っているから
デフォルトだと勝手に検知されるが、PHPとNode.jsの両方を使いたい、などというときには手動で追加する必要がある
https://devcenter.heroku.com/articles/buildpacks#using-multiple-buildpacks