revert: "chore(version-info): disable remote requests when offline"

This reverts commit 6a134605f1.
The connectivity status is not always detected correctly. Skipping version info related tasks, broke
the deployment of the API docs.

Related #https://github.com/angular/angularjs.org/issues/202
This commit is contained in:
Georgios Kalpakas
2016-06-13 20:44:51 +03:00
parent 4d350de038
commit 9686f3a241
5 changed files with 2529 additions and 2661 deletions
-7
View File
@@ -1,7 +0,0 @@
"use strict";
var isOnlineAsync = require('is-online');
isOnlineAsync(function(err, isOnline) {
console.log(isOnline ? 'online' : 'offline');
});
+47 -59
View File
@@ -1,6 +1,5 @@
'use strict';
var childProcess = require('child_process');
var fs = require('fs');
var path = require('path');
var shell = require('shelljs');
@@ -8,9 +7,7 @@ var semver = require('semver');
var _ = require('lodash');
var currentPackage, previousVersions, cdnVersion, gitRepoInfo;
var connectivityStatus = childProcess.execSync('node is-online.js', { cwd: __dirname, encoding: 'utf8' }).trim();
var isOnline = connectivityStatus == 'online';
console.log('Running ' + connectivityStatus);
/**
* Load information about this project from the package.json
@@ -103,68 +100,58 @@ var getPreviousVersions = function() {
// not contain all commits when cloned with git clone --depth=...
// Needed e.g. for Travis
var repo_url = currentPackage.repository.url;
if (isOnline) {
console.log('looking up remote git tags...');
var tagResults = shell.exec('git ls-remote --tags ' + repo_url,
{silent: true});
if (tagResults.code === 0) {
return _(tagResults.output.match(/v[0-9].*[0-9]$/mg))
.map(function(tag) {
var version = semver.parse(tag);
return version;
})
.filter()
.map(function(version) {
// angular.js didn't follow semantic version until 1.20rc1
if ((version.major === 1 && version.minor === 0 && version.prerelease.length > 0) || (version.major === 1 && version.minor === 2 && version.prerelease[0] === 'rc1')) {
version.version = [version.major, version.minor, version.patch].join('.') + version.prerelease.join('');
version.raw = 'v' + version.version;
}
version.docsUrl = 'http://code.angularjs.org/' + version.version + '/docs';
// Versions before 1.0.2 had a different docs folder name
if (version.major < 1 || (version.major === 1 && version.minor === 0 && version.patch < 2)) {
version.docsUrl += '-' + version.version;
version.isOldDocsUrl = true;
}
return version;
})
.sort(semver.compare)
.value();
}
var tagResults = shell.exec('git ls-remote --tags ' + repo_url,
{silent: true});
if (tagResults.code === 0) {
return _(tagResults.output.match(/v[0-9].*[0-9]$/mg))
.map(function(tag) {
var version = semver.parse(tag);
return version;
})
.filter()
.map(function(version) {
// angular.js didn't follow semantic version until 1.20rc1
if ((version.major === 1 && version.minor === 0 && version.prerelease.length > 0) || (version.major === 1 && version.minor === 2 && version.prerelease[0] === 'rc1')) {
version.version = [version.major, version.minor, version.patch].join('.') + version.prerelease.join('');
version.raw = 'v' + version.version;
}
version.docsUrl = 'http://code.angularjs.org/' + version.version + '/docs';
// Versions before 1.0.2 had a different docs folder name
if (version.major < 1 || (version.major === 1 && version.minor === 0 && version.patch < 2)) {
version.docsUrl += '-' + version.version;
version.isOldDocsUrl = true;
}
return version;
})
.sort(semver.compare)
.value();
} else {
console.log('-- skipping remote git tag lookup');
return [];
}
return [];
};
var getCdnVersion = function() {
if (isOnline) {
console.log('searching for CDN versions...');
return _(previousVersions)
.filter(function(tag) {
return semver.satisfies(tag, currentPackage.branchVersion);
})
.reverse()
.reduce(function(cdnVersion, version) {
if (!cdnVersion) {
// Note: need to use shell.exec and curl here
// as version-infos returns its result synchronously...
var cdnResult = shell.exec('curl http://ajax.googleapis.com/ajax/libs/angularjs/' + version + '/angular.min.js ' +
'--head --write-out "%{http_code}" -o /dev/null -silent',
{silent: true});
if (cdnResult.code === 0) {
var statusCode = cdnResult.output.trim();
if (statusCode === '200') {
console.log('-- found CDN version ' + version);
cdnVersion = version;
}
return _(previousVersions)
.filter(function(tag) {
return semver.satisfies(tag, currentPackage.branchVersion);
})
.reverse()
.reduce(function(cdnVersion, version) {
if (!cdnVersion) {
// Note: need to use shell.exec and curl here
// as version-infos returns its result synchronously...
var cdnResult = shell.exec('curl http://ajax.googleapis.com/ajax/libs/angularjs/' + version + '/angular.min.js ' +
'--head --write-out "%{http_code}" -o /dev/null -silent',
{silent: true});
if (cdnResult.code === 0) {
var statusCode = cdnResult.output.trim();
if (statusCode === '200') {
cdnVersion = version;
}
}
return cdnVersion;
}, null);
} else {
console.log('-- skipping CDN version lookup');
}
}
return cdnVersion;
}, null);
};
/**
@@ -211,6 +198,7 @@ var getSnapshotVersion = function() {
return version;
};
exports.currentPackage = currentPackage = getPackage();
exports.gitRepoInfo = gitRepoInfo = getGitRepoInfo();
exports.previousVersions = previousVersions = getPreviousVersions();
+59 -103
View File
@@ -6392,50 +6392,6 @@
}
}
},
"is-online": {
"version": "5.1.1",
"dependencies": {
"is-reachable": {
"version": "1.3.0",
"dependencies": {
"arrify": {
"version": "1.0.1"
},
"each-async": {
"version": "1.1.1",
"dependencies": {
"set-immediate-shim": {
"version": "1.0.1"
}
}
},
"is-port-reachable": {
"version": "1.0.0"
},
"router-ips": {
"version": "0.2.0"
},
"url-parse-lax": {
"version": "1.0.0",
"dependencies": {
"prepend-http": {
"version": "1.0.4"
}
}
}
}
},
"onetime": {
"version": "1.1.0"
},
"random-item": {
"version": "1.0.0"
},
"root-hints": {
"version": "1.0.10"
}
}
},
"jasmine-core": {
"version": "2.4.1"
},
@@ -6986,15 +6942,15 @@
"ansi": {
"version": "0.3.1"
},
"ansi-regex": {
"version": "2.0.0"
},
"ansi-styles": {
"version": "2.2.1"
},
"are-we-there-yet": {
"version": "1.1.2"
},
"ansi-regex": {
"version": "2.0.0"
},
"asn1": {
"version": "0.2.3"
},
@@ -7004,12 +6960,12 @@
"async": {
"version": "1.5.2"
},
"bl": {
"version": "1.0.3"
},
"aws-sign2": {
"version": "0.6.0"
},
"bl": {
"version": "1.0.3"
},
"block-stream": {
"version": "0.0.8"
},
@@ -7019,38 +6975,35 @@
"caseless": {
"version": "0.11.0"
},
"chalk": {
"version": "1.1.3"
},
"combined-stream": {
"version": "1.0.5"
},
"core-util-is": {
"version": "1.0.2"
},
"commander": {
"version": "2.9.0"
},
"deep-extend": {
"version": "0.4.1"
"chalk": {
"version": "1.1.3"
},
"core-util-is": {
"version": "1.0.2"
},
"cryptiles": {
"version": "2.0.5"
},
"ecc-jsbn": {
"version": "0.1.1"
},
"delayed-stream": {
"version": "1.0.0"
},
"debug": {
"version": "2.2.0"
},
"deep-extend": {
"version": "0.4.1"
},
"delegates": {
"version": "1.0.0"
},
"extend": {
"version": "3.0.0"
"delayed-stream": {
"version": "1.0.0"
},
"ecc-jsbn": {
"version": "0.1.1"
},
"escape-string-regexp": {
"version": "1.0.5"
@@ -7058,17 +7011,20 @@
"extsprintf": {
"version": "1.0.2"
},
"extend": {
"version": "3.0.0"
},
"forever-agent": {
"version": "0.6.1"
},
"gauge": {
"version": "1.2.7"
"fstream": {
"version": "1.0.8"
},
"form-data": {
"version": "1.0.0-rc4"
},
"fstream": {
"version": "1.0.8"
"gauge": {
"version": "1.2.7"
},
"generate-object-property": {
"version": "1.2.0"
@@ -7088,21 +7044,21 @@
"has-ansi": {
"version": "2.0.0"
},
"has-unicode": {
"version": "2.0.0"
},
"hawk": {
"version": "3.1.3"
},
"hoek": {
"version": "2.16.3"
},
"has-unicode": {
"version": "2.0.0"
"http-signature": {
"version": "1.1.1"
},
"ini": {
"version": "1.3.4"
},
"http-signature": {
"version": "1.1.1"
},
"inherits": {
"version": "2.0.1"
},
@@ -7112,24 +7068,24 @@
"is-property": {
"version": "1.0.2"
},
"isarray": {
"is-typedarray": {
"version": "1.0.0"
},
"is-typedarray": {
"isarray": {
"version": "1.0.0"
},
"isstream": {
"version": "0.1.2"
},
"jsbn": {
"version": "0.1.0"
},
"jodid25519": {
"version": "1.0.2"
},
"json-schema": {
"version": "0.2.2"
},
"jsbn": {
"version": "0.1.0"
},
"json-stringify-safe": {
"version": "5.0.1"
},
@@ -7142,10 +7098,10 @@
"lodash.pad": {
"version": "4.1.0"
},
"lodash.padend": {
"lodash.padstart": {
"version": "4.2.0"
},
"lodash.padstart": {
"lodash.padend": {
"version": "4.2.0"
},
"lodash.repeat": {
@@ -7154,14 +7110,11 @@
"lodash.tostring": {
"version": "4.1.2"
},
"mime-types": {
"version": "2.1.10"
},
"mime-db": {
"version": "1.22.0"
},
"minimist": {
"version": "0.0.8"
"mime-types": {
"version": "2.1.10"
},
"mkdirp": {
"version": "0.5.1"
@@ -7169,12 +7122,15 @@
"ms": {
"version": "0.7.1"
},
"node-uuid": {
"version": "1.4.7"
"minimist": {
"version": "0.0.8"
},
"npmlog": {
"version": "2.0.3"
},
"node-uuid": {
"version": "1.4.7"
},
"oauth-sign": {
"version": "0.8.1"
},
@@ -7187,12 +7143,12 @@
"pinkie-promise": {
"version": "2.0.0"
},
"qs": {
"version": "6.0.2"
},
"process-nextick-args": {
"version": "1.0.6"
},
"qs": {
"version": "6.0.2"
},
"readable-stream": {
"version": "2.0.6"
},
@@ -7208,14 +7164,11 @@
"sshpk": {
"version": "1.7.4"
},
"string_decoder": {
"version": "0.10.31"
},
"stringstream": {
"version": "0.0.5"
},
"strip-json-comments": {
"version": "1.0.4"
"string_decoder": {
"version": "0.10.31"
},
"strip-ansi": {
"version": "3.0.1"
@@ -7223,6 +7176,12 @@
"supports-color": {
"version": "2.0.0"
},
"strip-json-comments": {
"version": "1.0.4"
},
"tar": {
"version": "2.2.1"
},
"tough-cookie": {
"version": "2.2.2"
},
@@ -7232,21 +7191,18 @@
"tunnel-agent": {
"version": "0.4.2"
},
"tar": {
"version": "2.2.1"
},
"tweetnacl": {
"version": "0.14.3"
},
"uid-number": {
"version": "0.0.6"
},
"util-deprecate": {
"version": "1.0.2"
},
"verror": {
"version": "1.3.6"
},
"uid-number": {
"version": "0.0.6"
},
"wrappy": {
"version": "1.0.1"
},
+2423 -2491
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -52,7 +52,6 @@
"gulp-sourcemaps": "^1.2.2",
"gulp-uglify": "^1.0.1",
"gulp-util": "^3.0.1",
"is-online": "^5.1.1",
"jasmine-core": "^2.4.0",
"jasmine-node": "^2.0.0",
"jasmine-reporters": "~1.0.1",