diff --git a/package.json b/package.json index ba8edd188e430..d2c2d0823d04a 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,9 @@ "build": "npm run build:compiler && npm run build:tests", "build:compiler": "jake local", "build:tests": "jake tests", - "clean": "jake clean" + "clean": "jake clean", + "jake": "jake", + "postinstall": "node scripts/link-hooks.js" }, "browser": { "buffer": false, diff --git a/scripts/hooks/post-checkout b/scripts/hooks/post-checkout new file mode 100644 index 0000000000000..fb41e4e8652cd --- /dev/null +++ b/scripts/hooks/post-checkout @@ -0,0 +1,2 @@ +#!/bin/sh +npm run jake -- generate-diagnostics \ No newline at end of file diff --git a/scripts/link-hooks.js b/scripts/link-hooks.js new file mode 100644 index 0000000000000..33b5d4fd94f3d --- /dev/null +++ b/scripts/link-hooks.js @@ -0,0 +1,20 @@ +var fs = require("fs"); +var path = require("path"); + +var hooks = [ + "post-checkout" +]; + +hooks.forEach(function (hook) { + var hookInSourceControl = path.resolve(__dirname, "hooks", hook); + + if (fs.existsSync(hookInSourceControl)) { + var hookInHiddenDirectory = path.resolve(__dirname, "..", ".git", "hooks", hook); + + if (fs.existsSync(hookInHiddenDirectory)) { + fs.unlinkSync(hookInHiddenDirectory); + } + + fs.linkSync(hookInSourceControl, hookInHiddenDirectory); + } +}); \ No newline at end of file