Preheat oven to 350 degrees F. Line an 8-inch x 8-inch square baking dish with parchment paper. (see notes)
Place graham crackers in a large ziploc bag, close the bag and crush graham crackers into crumbs with a rolling pin. (You can do this in your food processor if you prefer.) Transfer to a bowl and stir in the sugar and salt until combined. Pour in melted butter and stir until crumbs are moist.
Pour the crumbs into your prepared baking dish. use your hands to press into an even layer in the bottom of the dish. Bake for 10 minutes.
Remove dish from oven and reduce heat to 325 degrees F. Allow crust to cool while you prepare the filling.
In a large mixing bowl, beat together cream cheese and sugar until smooth. Add sour cream, vanilla, and eggs and mix until combined. Add salt and flour; mix until smooth. Pour cheesecake filling on top of the crust.
Microwave milk in a small bowl for 25 seconds. Pour milk over chocolate chips. Let sit for 30 seconds. Stir until smooth. (If there is still some unmelted chocolate, microwave again for 8 seconds and stir. Don't let the chocolate get too hot or it will seize.)
Use a spoon to spread the chocolate over the cheesecake filling in 4 lines until all the chocolate is used up. Take a knife and cut through the chocolate lines to swirl the chocolate into the cheesecake. Do NOT stir it all together, just swirl a bit. Sprinkle hazelnuts all over the top.
Bake for 40 to 45 minutes. The center of the cheesecake will still be soft. Set out at room temperature for 1 hour on a wire rack before transferring to the fridge to cool for at least 6 hours (or overnight). Cut into 9 squares. Serve immediately or cover and refrigerate until ready to serve.
You can use foil in place of the parchment paper to line the baking dish.