From 758e4402da63eb5cac1c6a6331fb0daef13a933c Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 24 Sep 2015 17:00:27 -0700 Subject: [PATCH 1/4] Add git hooks --- package.json | 7 +++++-- scripts/hooks/post-checkout | 2 ++ scripts/link-hooks.js | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 scripts/hooks/post-checkout create mode 100644 scripts/link-hooks.js diff --git a/package.json b/package.json index ba8edd188e430..16eff345bd9d5 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,8 @@ "istanbul": "latest", "mocha-fivemat-progress-reporter": "latest", "tslint": "latest", - "tsd": "latest" + "tsd": "latest", + "npm": "^2" }, "scripts": { "pretest": "jake tests", @@ -44,7 +45,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..10c13f6bbc307 --- /dev/null +++ b/scripts/hooks/post-checkout @@ -0,0 +1,2 @@ +#!/bin/sh +echo "var npm = require("npm"); npm.load(function (err) {if (err) { throw err; } npm.commands.run(['jake', 'generate-diagnostics']); )" | node \ 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 From e747bf2b36b6d1458e68088a4e82546d17350a04 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 24 Sep 2015 17:02:10 -0700 Subject: [PATCH 2/4] fix hook --- scripts/hooks/post-checkout | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hooks/post-checkout b/scripts/hooks/post-checkout index 10c13f6bbc307..67255350791d7 100644 --- a/scripts/hooks/post-checkout +++ b/scripts/hooks/post-checkout @@ -1,2 +1,2 @@ #!/bin/sh -echo "var npm = require("npm"); npm.load(function (err) {if (err) { throw err; } npm.commands.run(['jake', 'generate-diagnostics']); )" | node \ No newline at end of file +echo "var npm = require('npm'); npm.load(function (err) {if (err) { throw err; } npm.commands.run(['jake', 'generate-diagnostics']); })" | node \ No newline at end of file From 9984ae900017c6f1625a594318d90d8b042d9256 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 24 Sep 2015 17:04:57 -0700 Subject: [PATCH 3/4] We can go simpler --- package.json | 3 +-- scripts/hooks/post-checkout | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 16eff345bd9d5..43c2b423da7e3 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,7 @@ "istanbul": "latest", "mocha-fivemat-progress-reporter": "latest", "tslint": "latest", - "tsd": "latest", - "npm": "^2" + "tsd": "latest" }, "scripts": { "pretest": "jake tests", diff --git a/scripts/hooks/post-checkout b/scripts/hooks/post-checkout index 67255350791d7..fb41e4e8652cd 100644 --- a/scripts/hooks/post-checkout +++ b/scripts/hooks/post-checkout @@ -1,2 +1,2 @@ #!/bin/sh -echo "var npm = require('npm'); npm.load(function (err) {if (err) { throw err; } npm.commands.run(['jake', 'generate-diagnostics']); })" | node \ No newline at end of file +npm run jake -- generate-diagnostics \ No newline at end of file From 29f7c2c9c8bd5c69c7dd8395399b72731dd3fad3 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 24 Sep 2015 17:07:02 -0700 Subject: [PATCH 4/4] intentation is powerful --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 43c2b423da7e3..d2c2d0823d04a 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "build:compiler": "jake local", "build:tests": "jake tests", "clean": "jake clean", - "jake": "jake", + "jake": "jake", "postinstall": "node scripts/link-hooks.js" }, "browser": {