)]}'
{
  "commit": "9f1a8de0e2710404fd92bd3f2d3985a8313ab7ca",
  "tree": "ab6f6667996d85a48ff8243b0cd24776ef3319df",
  "parents": [
    "6693617d2022af9b7212ff8ba56a3f201b972900"
  ],
  "author": {
    "name": "Han Seoul-Oh",
    "email": "laughinghan@gmail.com",
    "time": "Tue Jan 24 13:51:02 2017 -0800"
  },
  "committer": {
    "name": "Han Seoul-Oh",
    "email": "laughinghan@gmail.com",
    "time": "Tue Jan 24 13:51:02 2017 -0800"
  },
  "message": "Makefile: Wipe node_modules if not properly installed\n\nIf `make server` is already running (or port 9292 is someotherhow\nalready in use), and I run `make server` in a fresh clone, the test\nserver gets an EADDRINUSE and quits. However, it first starts up `make\ntest` in parallel, which does an `npm install`, which gets aborted\npartway through. On my machine, this race condition results in the\npackages seemingly all installed under `node_modules/*`, but not the\nexecutables like `node_modules/.bin/lessc`.\n\nThe problem arises when subsequently building again (e.g. `PORT\u003d9393\nmake server`), which runs `npm install` again, this time to completion.\n`npm` sees all the packages and installed under `node_modules/*` and\ndoesn\u0027t try to complete the installation and install the\n`node_modules/.bin/*` executables (it probably doesn\u0027t want to do a full\nintegrity check: https://github.com/npm/npm/issues/15562 ), instead\nquitting and reports success, but the Makefile then fails when it tries\nto do `node_modules/.bin/lessc`.\n\nhttps://mathquill.slack.com/archives/mathquill/p1482616486000235\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfe521fda929d91c5c464c9b6945dace7aa57af3",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "fc87a4c4d00300ab95defb3a1ac0f97a24cbe85a",
      "new_mode": 33188,
      "new_path": "Makefile"
    }
  ]
}
