complete publish script

This commit is contained in:
Sebastian McKenzie 2015-07-14 21:09:27 +01:00
parent e50babe916
commit 66c29acb78
4 changed files with 23 additions and 13 deletions

View File

@ -21,7 +21,6 @@ lint:
clean: test-clean clean: test-clean
rm -rf coverage rm -rf coverage
rm -rf packages/*/dist dist
rm -rf packages/*/lib packages/babel/templates.json rm -rf packages/*/lib packages/babel/templates.json
test-clean: test-clean:
@ -44,7 +43,8 @@ test-travis: bootstrap lint build test
publish: build-dist publish: build-dist
git pull --rebase git pull --rebase
make test make test
node scripts/publish node scripts/publish.js
make clean
./scripts/build-website.sh ./scripts/build-website.sh
bootstrap: bootstrap:

View File

@ -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");

View File

@ -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

View File

@ -63,6 +63,7 @@ var changedPackages = [];
var changedFiles = [VERSION_LOC]; var changedFiles = [VERSION_LOC];
packageNames.forEach(function (name) { packageNames.forEach(function (name) {
// check if package has changed since last release
var diff = exec("git diff " + lastTag + " -- " + getPackageLocation(name)); var diff = exec("git diff " + lastTag + " -- " + getPackageLocation(name));
if (diff) { if (diff) {
console.log("Changes detected to package", name); console.log("Changes detected to package", name);
@ -77,16 +78,25 @@ changedPackages.forEach(function (name) {
var pkgLoc = loc + "/package.json"; var pkgLoc = loc + "/package.json";
var pkg = require(pkgLoc); var pkg = require(pkgLoc);
// set new version
pkg.version = NEW_VERSION; pkg.version = NEW_VERSION;
// updated dependencies
for (var depName in pkg.dependencies) { for (var depName in pkg.dependencies) {
if (changedPackages.indexOf(depName) >= 0) { if (changedPackages.indexOf(depName) >= 0) {
pkg.dependencies[depName] = "^" + NEW_VERSION; pkg.dependencies[depName] = "^" + NEW_VERSION;
} }
} }
// write new package
fs.writeFileSync(pkgLoc, JSON.stringify(pkg, null, " ")); fs.writeFileSync(pkgLoc, JSON.stringify(pkg, null, " "));
// push to be git committed
changedFiles.push(pkgLoc); changedFiles.push(pkgLoc);
// prepublish script
var prePub = loc + "/scripts/prepublish.js";
if (fs.existsSync(prePub)) require(prePub);
}); });
changedFiles.forEach(function (loc) { changedFiles.forEach(function (loc) {