From 66c29acb78fa7ebab1a0a16c5bcfdbdc8429141e Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 14 Jul 2015 21:09:27 +0100 Subject: [PATCH] complete publish script --- Makefile | 4 ++-- packages/babel/scripts/prepublish.js | 11 +++++++++++ packages/babel/scripts/prepublish.sh | 11 ----------- scripts/publish.js | 10 ++++++++++ 4 files changed, 23 insertions(+), 13 deletions(-) create mode 100755 packages/babel/scripts/prepublish.js delete mode 100755 packages/babel/scripts/prepublish.sh diff --git a/Makefile b/Makefile index d24e48ceb1..5809c2c11b 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,6 @@ lint: clean: test-clean rm -rf coverage - rm -rf packages/*/dist dist rm -rf packages/*/lib packages/babel/templates.json test-clean: @@ -44,7 +43,8 @@ test-travis: bootstrap lint build test publish: build-dist git pull --rebase make test - node scripts/publish + node scripts/publish.js + make clean ./scripts/build-website.sh bootstrap: diff --git a/packages/babel/scripts/prepublish.js b/packages/babel/scripts/prepublish.js new file mode 100755 index 0000000000..065c00c233 --- /dev/null +++ b/packages/babel/scripts/prepublish.js @@ -0,0 +1,11 @@ +function relative(loc) { + return __dirname + "/../" + loc; +} + +cp(relative("dist/browser.js"), relative("browser.js")); +cp(relative("dist/browser.min.js"), relative("browser.min.js")); +cp(relative("dist/polyfill.js"), relative("browser-polyfill.js")); +cp(relative("dist/polyfill.min.js"), relative("browser-polyfill.min.js")); +cp(relative("dist/external-helpers.js"), relative("external-helpers.js")); +cp(relative("dist/external-helpers.min.js"), relative("external-helpers.min.js")); +require("./cache-templates"); diff --git a/packages/babel/scripts/prepublish.sh b/packages/babel/scripts/prepublish.sh deleted file mode 100755 index cd76b035e6..0000000000 --- a/packages/babel/scripts/prepublish.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -set -e - -cp dist/browser.js browser.js -cp dist/browser.min.js browser.min.js -cp dist/polyfill.js browser-polyfill.js -cp dist/polyfill.min.js browser-polyfill.min.js -cp dist/external-helpers.js external-helpers.js -cp dist/external-helpers.min.js external-helpers.min.js -node tools/cache-templates -test -f templates.json diff --git a/scripts/publish.js b/scripts/publish.js index ef6f9666c6..21d8e576d3 100755 --- a/scripts/publish.js +++ b/scripts/publish.js @@ -63,6 +63,7 @@ var changedPackages = []; var changedFiles = [VERSION_LOC]; packageNames.forEach(function (name) { + // check if package has changed since last release var diff = exec("git diff " + lastTag + " -- " + getPackageLocation(name)); if (diff) { console.log("Changes detected to package", name); @@ -77,16 +78,25 @@ changedPackages.forEach(function (name) { var pkgLoc = loc + "/package.json"; var pkg = require(pkgLoc); + // set new version pkg.version = NEW_VERSION; + // updated dependencies for (var depName in pkg.dependencies) { if (changedPackages.indexOf(depName) >= 0) { pkg.dependencies[depName] = "^" + NEW_VERSION; } } + // write new package fs.writeFileSync(pkgLoc, JSON.stringify(pkg, null, " ")); + + // push to be git committed changedFiles.push(pkgLoc); + + // prepublish script + var prePub = loc + "/scripts/prepublish.js"; + if (fs.existsSync(prePub)) require(prePub); }); changedFiles.forEach(function (loc) {