From a504fa835e9cd5fb4dd0aa63d4ebfc73138d9cf6 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin <pete@bacondarwin.com> Date: Tue, 19 May 2015 22:29:34 +0100 Subject: [PATCH] chore(doc-gen): improve github links to point to the correct tagged URL Closes #1994 --- .../templates/class.template.html | 3 +- .../templates/function.template.html | 3 +- .../templates/module.template.html | 3 +- .../templates/var.template.html | 2 + docs/dgeni-package/index.js | 5 + .../templates/class.template.html | 5 +- .../templates/function.template.html | 4 +- .../templates/lib/githubLinks.html | 3 + .../templates/module.template.html | 3 +- .../dgeni-package/templates/var.template.html | 4 +- docs/dgeni-package/versionInfo.js | 181 +++++++++++++ npm-shrinkwrap.clean.json | 13 +- npm-shrinkwrap.json | 256 +++++++++--------- package.json | 2 + 14 files changed, 347 insertions(+), 140 deletions(-) create mode 100644 docs/dgeni-package/templates/lib/githubLinks.html create mode 100644 docs/dgeni-package/versionInfo.js diff --git a/docs/angular.io-package/templates/class.template.html b/docs/angular.io-package/templates/class.template.html index d266afeaf2..841077020c 100644 --- a/docs/angular.io-package/templates/class.template.html +++ b/docs/angular.io-package/templates/class.template.html @@ -1,10 +1,11 @@ +{% include "lib/githubLinks.html" -%} {% include "lib/paramList.html" -%} {% extends 'layout/base.template.html' -%} {% block body %} p.location-badge. exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} } - defined in <a href="https://github.com/angular/angular/tree/master/modules/{$ doc.fileInfo.relativePath $}#L{$ doc.location.start.line+1 $}-L{$ doc.location.end.line+1 $}">{$ doc.fileInfo.relativePath $} (line {$ doc.location.start.line+1 $})</a> + defined in {$ githubViewLink(doc) $} :markdown {$ doc.description | indent(2, true) $} diff --git a/docs/angular.io-package/templates/function.template.html b/docs/angular.io-package/templates/function.template.html index 8a23300ea1..7426f9f9ec 100644 --- a/docs/angular.io-package/templates/function.template.html +++ b/docs/angular.io-package/templates/function.template.html @@ -1,3 +1,4 @@ +{% include "lib/githubLinks.html" -%} {% include "lib/paramList.html" -%} {% extends 'layout/base.template.html' -%} @@ -13,7 +14,7 @@ p.location-badge. exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} } - defined in <a href="https://github.com/angular/angular/tree/master/modules/{$ doc.fileInfo.relativePath $}#L{$ doc.location.start.line+1 $}-L{$ doc.location.end.line+1 $}">{$ doc.fileInfo.relativePath $} (line {$ doc.location.start.line+1 $})</a> + defined in {$ githubViewLink(doc) $} :markdown {$ doc.description | indent(4, true) $} diff --git a/docs/angular.io-package/templates/module.template.html b/docs/angular.io-package/templates/module.template.html index 96ba98ccd6..1bc24aeff7 100644 --- a/docs/angular.io-package/templates/module.template.html +++ b/docs/angular.io-package/templates/module.template.html @@ -1,7 +1,8 @@ +{% include "lib/githubLinks.html" -%} {% extends 'layout/base.template.html' -%} {% block body -%} p.location-badge. - defined in <a href="https://github.com/angular/angular/tree/master/modules/{$ doc.fileInfo.relativePath $}#L{$ doc.location.start.line+1 $}-L{$ doc.location.end.line+1 $}">{$ doc.fileInfo.relativePath $} (line {$ doc.location.start.line+1 $})</a> + defined in {$ githubViewLink(doc) $} ul for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data diff --git a/docs/angular.io-package/templates/var.template.html b/docs/angular.io-package/templates/var.template.html index ac0e8b45ae..a7d59866f7 100644 --- a/docs/angular.io-package/templates/var.template.html +++ b/docs/angular.io-package/templates/var.template.html @@ -1,3 +1,4 @@ +{% include "lib/githubLinks.html" -%} {% extends 'layout/base.template.html' %} {% block body %} @@ -5,6 +6,7 @@ h2 {$ doc.name $} <span class="type">variable</span> p.location-badge. exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} } + defined in {$ githubViewLink(doc) $} :markdown {$ doc.description | indent(4, true) $} diff --git a/docs/dgeni-package/index.js b/docs/dgeni-package/index.js index 1efe1b8d98..15fe3ae7cf 100644 --- a/docs/dgeni-package/index.js +++ b/docs/dgeni-package/index.js @@ -1,5 +1,6 @@ require('../../tools/transpiler/index.js').init(); +var versionInfo = require('./versionInfo'); var Package = require('dgeni').Package; var jsdocPackage = require('dgeni-packages/jsdoc'); var nunjucksPackage = require('dgeni-packages/nunjucks'); @@ -47,6 +48,10 @@ module.exports = new Package('angular', [jsdocPackage, nunjucksPackage, linksPac }) +.config(function(renderDocsProcessor) { + renderDocsProcessor.extraData.versionInfo = versionInfo; +}) + // Configure file reading .config(function(readFilesProcessor, ngdocFileReader, readTypeScriptModules) { readFilesProcessor.fileReaders = [ngdocFileReader]; diff --git a/docs/dgeni-package/templates/class.template.html b/docs/dgeni-package/templates/class.template.html index 8acf1f2d42..23d608b30a 100644 --- a/docs/dgeni-package/templates/class.template.html +++ b/docs/dgeni-package/templates/class.template.html @@ -1,11 +1,12 @@ {% include "lib/paramList.html" -%} +{% include "lib/githubLinks.html" -%} {% extends 'layout/base.template.html' -%} {% block body %} <h1 class="class export">{$ doc.name $} <span class="type">{$ doc.docType $}</span></h1> <p class="module">exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} }<br/> -defined in <a href="https://github.com/angular/angular/tree/master/modules/{$ doc.fileInfo.relativePath $}#L{$ doc.location.start.line+1 $}-L{$ doc.location.end.line+1 $}"> - {$ doc.fileInfo.relativePath $} (line {$ doc.location.start.line+1 $})</a></p> +defined in {$ githubViewLink(doc) $} +</p> <p>{$ doc.description | marked $}</p> {%- if doc.constructorDoc or doc.members.length -%} diff --git a/docs/dgeni-package/templates/function.template.html b/docs/dgeni-package/templates/function.template.html index 9ca2c93f24..4e6d5441f6 100644 --- a/docs/dgeni-package/templates/function.template.html +++ b/docs/dgeni-package/templates/function.template.html @@ -1,9 +1,11 @@ {% include "lib/paramList.html" -%} +{% include "lib/githubLinks.html" -%} {% extends 'layout/base.template.html' -%} {% block body %} <h1 class="function export">{$ doc.name $}{$ paramList(doc.parameters) $}</h1> -<p class="module">exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} }</p> +<p class="module">exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} }<br/> +defined in {$ githubViewLink(doc) $}</p> <p>{$ doc.description | marked $}</p> {% endblock %} \ No newline at end of file diff --git a/docs/dgeni-package/templates/lib/githubLinks.html b/docs/dgeni-package/templates/lib/githubLinks.html new file mode 100644 index 0000000000..2a35c3b79f --- /dev/null +++ b/docs/dgeni-package/templates/lib/githubLinks.html @@ -0,0 +1,3 @@ +{% macro githubViewLink(doc) -%} + <a href="https://github.com/{$ versionInfo.gitRepoInfo.owner $}/{$ versionInfo.gitRepoInfo.repo $}/tree/{$ versionInfo.currentVersion.isSnapshot and 'master' or versionInfo.currentVersion.raw $}/modules/{$ doc.fileInfo.relativePath $}#L{$ doc.location.start.line+1 $}-L{$ doc.location.end.line+1 $}"> +{%- endmacro -%} diff --git a/docs/dgeni-package/templates/module.template.html b/docs/dgeni-package/templates/module.template.html index 4a59c376fd..c016075c48 100644 --- a/docs/dgeni-package/templates/module.template.html +++ b/docs/dgeni-package/templates/module.template.html @@ -1,8 +1,9 @@ +{% include "lib/githubLinks.html" -%} {% extends 'layout/base.template.html' %} {% block body %} <h1 class="id">{$ doc.id $} <span class="type">module</span></h1> - +<p>defined in {$ githubViewLink(doc) $}</p> <p>{$ doc.description | marked $}</p> {% if doc.exports.length %} diff --git a/docs/dgeni-package/templates/var.template.html b/docs/dgeni-package/templates/var.template.html index f93348f49d..2d43873595 100644 --- a/docs/dgeni-package/templates/var.template.html +++ b/docs/dgeni-package/templates/var.template.html @@ -1,8 +1,10 @@ +{% include "lib/githubLinks.html" -%} {% extends 'layout/base.template.html' %} {% block body %} <h1>{$ doc.name $} <span class="type">variable</span></h1> -<p class="module">exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} }</p> +<p class="module">exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} }<br/> +defined in {$ githubViewLink(doc) $}</p> <p>{$ doc.description | marked $}</p> {% endblock %} \ No newline at end of file diff --git a/docs/dgeni-package/versionInfo.js b/docs/dgeni-package/versionInfo.js new file mode 100644 index 0000000000..44329ddcfa --- /dev/null +++ b/docs/dgeni-package/versionInfo.js @@ -0,0 +1,181 @@ +'use strict'; + +var fs = require('fs'); +var path = require('path'); +var shell = require('shelljs'); +var semver = require('semver'); +var _ = require('lodash'); + +var currentPackage, previousVersions, gitRepoInfo; + + +/** + * Load information about this project from the package.json + * @return {Object} The package information + */ +var getPackage = function() { + // Search up the folder hierarchy for the first package.json + var packageFolder = path.resolve('.'); + while (!fs.existsSync(path.join(packageFolder, 'package.json'))) { + var parent = path.dirname(packageFolder); + if (parent === packageFolder) { break; } + packageFolder = parent; + } + return JSON.parse(fs.readFileSync(path.join(packageFolder,'package.json'), 'UTF-8')); +}; + + +/** + * Parse the github URL for useful information + * @return {Object} An object containing the github owner and repository name + */ +var getGitRepoInfo = function() { + var GITURL_REGEX = /^https:\/\/github.com\/([^\/]+)\/(.+).git$/; + var match = GITURL_REGEX.exec(currentPackage.repository.url); + var git = { + owner: match[1], + repo: match[2] + }; + return git; +}; + + + +/** + * Extract the code name from the tagged commit's message - it should contain the text of the form: + * "codename(some-code-name)" + * @param {String} tagName Name of the tag to look in for the codename + * @return {String} The codename if found, otherwise null/undefined + */ +var getCodeName = function(tagName) { + var gitCatOutput = shell.exec('git cat-file -p ' + tagName, {silent:true}).output; + var tagMessage = gitCatOutput.match(/^.*codename.*$/mg)[0]; + var codeName = tagMessage && tagMessage.match(/codename\((.*)\)/)[1]; + if (!codeName) { + throw new Error("Could not extract release code name. The message of tag " + tagName + + " must match '*codename(some release name)*'"); + } + return codeName; +}; + + +/** + * Compute a build segment for the version, from the Jenkins build number and current commit SHA + * @return {String} The build segment of the version + */ +function getBuild() { + var hash = shell.exec('git rev-parse --short HEAD', {silent: true}).output.replace('\n', ''); + return 'sha.' + hash; +} + + +/** + * If the current commit is tagged as a version get that version + * @return {SemVer} The version or null + */ +var getTaggedVersion = function() { + var gitTagResult = shell.exec('git describe --exact-match', {silent:true}); + + if (gitTagResult.code === 0) { + var tag = gitTagResult.output.trim(); + var version = semver.parse(tag); + + if (version && semver.satisfies(version, currentPackage.version)) { + version.codeName = getCodeName(tag); + version.full = version.version; + version.branch = 'v' + currentPackage.branchPattern.replace('*', 'x'); + return version; + } + } + + return null; +}; + +/** + * Get a collection of all the previous versions sorted by semantic version + * @return {Array.<SemVer>} The collection of previous versions + */ +var getPreviousVersions = function() { + // always use the remote tags as the local clone might + // not contain all commits when cloned with git clone --depth=... + // Needed e.g. for Travis + var repo_url = currentPackage.repository.url; + 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 { + return []; + } +}; + +/** + * Get the unstable snapshot version + * @return {SemVer} The snapshot version + */ +var getSnapshotVersion = function() { + var version = _(previousVersions) + .filter(function(tag) { + return semver.satisfies(tag, currentPackage.version); + }) + .last(); + + if (!version) { + // a snapshot version before the first tag on the branch + version = semver(currentPackage.branchPattern.replace('*','0-alpha.1')); + } + + // We need to clone to ensure that we are not modifying another version + version = semver(version.raw); + + var jenkinsBuild = process.env.TRAVIS_BUILD_NUMBER || process.env.BUILD_NUMBER; + if (!version.prerelease || !version.prerelease.length) { + // last release was a non beta release. Increment the patch level to + // indicate the next release that we will be doing. + // E.g. last release was 1.3.0, then the snapshot will be + // 1.3.1-build.1, which is lesser than 1.3.1 accorind the semver! + + // If the last release was a beta release we don't update the + // beta number by purpose, as otherwise the semver comparison + // does not work any more when the next beta is released. + // E.g. don't generate 1.3.0-beta.2.build.1 + // as this is bigger than 1.3.0-beta.2 according to semver + version.patch++; + } + version.prerelease = jenkinsBuild ? ['build', jenkinsBuild] : ['local']; + version.build = getBuild(); + version.codeName = 'snapshot'; + version.isSnapshot = true; + version.format(); + version.full = version.version + '+' + version.build; + version.branch = 'master'; + + return version; +}; + + +exports.currentPackage = currentPackage = getPackage(); +exports.gitRepoInfo = gitRepoInfo = getGitRepoInfo(); +exports.previousVersions = previousVersions = getPreviousVersions(); +exports.currentVersion = getTaggedVersion() || getSnapshotVersion(); diff --git a/npm-shrinkwrap.clean.json b/npm-shrinkwrap.clean.json index 2d1ec719fd..9659589f2f 100644 --- a/npm-shrinkwrap.clean.json +++ b/npm-shrinkwrap.clean.json @@ -8564,6 +8564,9 @@ "semver": { "version": "4.3.4" }, + "shelljs": { + "version": "0.5.0" + }, "sorted-object": { "version": "1.0.0" }, @@ -8984,12 +8987,7 @@ "version": "0.1.4" }, "minitable": { - "version": "0.0.3", - "dependencies": { - "minichain": { - "version": "0.0.1" - } - } + "version": "0.0.3" }, "es6-shim": { "version": "0.9.1" @@ -9255,6 +9253,9 @@ }, "detect-indent": { "version": "0.1.4" + }, + "minichain": { + "version": "0.0.1" } } }, diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 03ff45b8b1..8ea4b8b124 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -4261,52 +4261,52 @@ }, "firefox-profile": { "version": "0.3.4", - "from": "firefox-profile@0.3.4", + "from": "https://registry.npmjs.org/firefox-profile/-/firefox-profile-0.3.4.tgz", "resolved": "https://registry.npmjs.org/firefox-profile/-/firefox-profile-0.3.4.tgz", "dependencies": { "jetpack-id": { "version": "0.0.4", - "from": "jetpack-id@0.0.4", + "from": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-0.0.4.tgz", "resolved": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-0.0.4.tgz" }, "adm-zip": { "version": "0.4.7", - "from": "adm-zip@>=0.4.0 <0.5.0", + "from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz" }, "archiver": { "version": "0.11.0", - "from": "archiver@>=0.11.0 <0.12.0", + "from": "https://registry.npmjs.org/archiver/-/archiver-0.11.0.tgz", "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.11.0.tgz", "dependencies": { "buffer-crc32": { "version": "0.2.5", - "from": "buffer-crc32@>=0.2.1 <0.3.0", + "from": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz" }, "glob": { "version": "3.2.11", - "from": "glob@>=3.2.6 <3.3.0", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", "dependencies": { "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "minimatch": { "version": "0.3.0", - "from": "minimatch@>=0.3.0 <0.4.0", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", "dependencies": { "lru-cache": { "version": "2.6.4", - "from": "lru-cache@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz" }, "sigmund": { "version": "1.0.1", - "from": "sigmund@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" } } @@ -4315,54 +4315,54 @@ }, "readable-stream": { "version": "1.0.33", - "from": "readable-stream@>=1.0.2 <1.1.0", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "dependencies": { "core-util-is": { "version": "1.0.1", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" }, "isarray": { "version": "0.0.1", - "from": "isarray@0.0.1", + "from": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" }, "string_decoder": { "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } }, "tar-stream": { "version": "0.4.7", - "from": "tar-stream@>=0.4.0 <0.5.0", + "from": "https://registry.npmjs.org/tar-stream/-/tar-stream-0.4.7.tgz", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-0.4.7.tgz", "dependencies": { "bl": { "version": "0.9.4", - "from": "bl@>=0.9.0 <0.10.0", + "from": "https://registry.npmjs.org/bl/-/bl-0.9.4.tgz", "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.4.tgz" }, "end-of-stream": { "version": "1.1.0", - "from": "end-of-stream@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", "dependencies": { "once": { "version": "1.3.2", - "from": "once@>=1.3.0 <1.4.0", + "from": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", "dependencies": { "wrappy": { "version": "1.0.1", - "from": "wrappy@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" } } @@ -4373,17 +4373,17 @@ }, "zip-stream": { "version": "0.4.1", - "from": "zip-stream@>=0.4.0 <0.5.0", + "from": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.4.1.tgz", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.4.1.tgz", "dependencies": { "compress-commons": { "version": "0.1.6", - "from": "compress-commons@>=0.1.0 <0.2.0", + "from": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.1.6.tgz", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.1.6.tgz", "dependencies": { "crc32-stream": { "version": "0.3.4", - "from": "crc32-stream@>=0.3.1 <0.4.0", + "from": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz" } } @@ -4394,71 +4394,71 @@ }, "async": { "version": "0.9.2", - "from": "async@>=0.9.0 <0.10.0", + "from": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" }, "fs-extra": { "version": "0.11.1", - "from": "fs-extra@>=0.11.0 <0.12.0", + "from": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.11.1.tgz", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.11.1.tgz", "dependencies": { "ncp": { "version": "0.6.0", - "from": "ncp@>=0.6.0 <0.7.0", + "from": "https://registry.npmjs.org/ncp/-/ncp-0.6.0.tgz", "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.6.0.tgz" }, "mkdirp": { "version": "0.5.1", - "from": "mkdirp@>=0.5.0 <0.6.0", + "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "dependencies": { "minimist": { "version": "0.0.8", - "from": "minimist@0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" } } }, "jsonfile": { "version": "2.0.1", - "from": "jsonfile@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.0.1.tgz", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.0.1.tgz" }, "rimraf": { "version": "2.3.4", - "from": "rimraf@>=2.2.8 <3.0.0", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz" } } }, "lazystream": { "version": "0.1.0", - "from": "lazystream@>=0.1.0 <0.2.0", + "from": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", "dependencies": { "readable-stream": { "version": "1.0.33", - "from": "readable-stream@>=1.0.2 <1.1.0", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "dependencies": { "core-util-is": { "version": "1.0.1", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" }, "isarray": { "version": "0.0.1", - "from": "isarray@0.0.1", + "from": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" }, "string_decoder": { "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } @@ -4467,27 +4467,27 @@ }, "wrench": { "version": "1.5.8", - "from": "wrench@>=1.5.1 <1.6.0", + "from": "https://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz", "resolved": "https://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz" }, "xml2js": { "version": "0.4.9", - "from": "xml2js@>=0.4.0 <0.5.0", + "from": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.9.tgz", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.9.tgz", "dependencies": { "sax": { "version": "0.6.1", - "from": "sax@>=0.6.0 <0.7.0", + "from": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz" }, "xmlbuilder": { "version": "2.6.4", - "from": "xmlbuilder@>=2.4.6", + "from": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz", "dependencies": { "lodash": { "version": "3.9.3", - "from": "lodash@>=3.5.0 <4.0.0", + "from": "https://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz" } } @@ -4496,7 +4496,7 @@ }, "ini": { "version": "1.2.1", - "from": "ini@>=1.2.1 <1.3.0", + "from": "https://registry.npmjs.org/ini/-/ini-1.2.1.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-1.2.1.tgz" } } @@ -11002,146 +11002,147 @@ }, "jpm": { "version": "1.0.0", - "from": "jpm@1.0.0", + "from": "https://registry.npmjs.org/jpm/-/jpm-1.0.0.tgz", "resolved": "https://registry.npmjs.org/jpm/-/jpm-1.0.0.tgz", "dependencies": { "commander": { "version": "2.6.0", - "from": "commander@2.6.0", + "from": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz" }, "fs-promise": { "version": "0.3.1", - "from": "fs-promise@0.3.1", + "from": "https://registry.npmjs.org/fs-promise/-/fs-promise-0.3.1.tgz", "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-0.3.1.tgz", "dependencies": { "any-promise": { "version": "0.1.0", - "from": "any-promise@>=0.1.0 <0.2.0", + "from": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz" } } }, "fs-extra": { "version": "0.16.4", - "from": "fs-extra@0.16.4", + "from": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.16.4.tgz", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.16.4.tgz", "dependencies": { "graceful-fs": { "version": "3.0.8", - "from": "graceful-fs@>=3.0.5 <4.0.0", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz" }, "jsonfile": { "version": "2.0.1", - "from": "jsonfile@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.0.1.tgz", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.0.1.tgz" }, "rimraf": { "version": "2.3.4", - "from": "rimraf@>=2.2.8 <3.0.0", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz" } } }, "fx-runner": { "version": "0.0.7", - "from": "fx-runner@0.0.7", + "from": "https://registry.npmjs.org/fx-runner/-/fx-runner-0.0.7.tgz", "resolved": "https://registry.npmjs.org/fx-runner/-/fx-runner-0.0.7.tgz", "dependencies": { "lodash": { "version": "2.4.1", - "from": "lodash@2.4.1" + "from": "lodash@2.4.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" }, "when": { "version": "3.6.4", - "from": "when@3.6.4", + "from": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz" }, "winreg": { "version": "0.0.12", - "from": "winreg@0.0.12", + "from": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz" } } }, "jpm-core": { "version": "0.0.9", - "from": "jpm-core@0.0.9", + "from": "https://registry.npmjs.org/jpm-core/-/jpm-core-0.0.9.tgz", "resolved": "https://registry.npmjs.org/jpm-core/-/jpm-core-0.0.9.tgz" }, "jetpack-id": { "version": "0.0.4", - "from": "jetpack-id@0.0.4", + "from": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-0.0.4.tgz", "resolved": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-0.0.4.tgz" }, "jetpack-validation": { "version": "0.0.4", - "from": "jetpack-validation@0.0.4", + "from": "https://registry.npmjs.org/jetpack-validation/-/jetpack-validation-0.0.4.tgz", "resolved": "https://registry.npmjs.org/jetpack-validation/-/jetpack-validation-0.0.4.tgz", "dependencies": { "resolve": { "version": "0.7.4", - "from": "resolve@>=0.7.1 <0.8.0", + "from": "https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz", "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz" }, "semver": { "version": "2.3.2", - "from": "semver@>=2.3.1 <3.0.0", + "from": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz" } } }, "firefox-profile": { "version": "0.3.9", - "from": "firefox-profile@0.3.9", + "from": "https://registry.npmjs.org/firefox-profile/-/firefox-profile-0.3.9.tgz", "resolved": "https://registry.npmjs.org/firefox-profile/-/firefox-profile-0.3.9.tgz", "dependencies": { "adm-zip": { "version": "0.4.7", - "from": "adm-zip@>=0.4.0 <0.5.0", + "from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz" }, "archiver": { "version": "0.14.4", - "from": "archiver@>=0.14.3 <0.15.0", + "from": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz", "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz", "dependencies": { "buffer-crc32": { "version": "0.2.5", - "from": "buffer-crc32@>=0.2.1 <0.3.0", + "from": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz" }, "glob": { "version": "4.3.5", - "from": "glob@>=4.3.0 <4.4.0", + "from": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz", "dependencies": { "inflight": { "version": "1.0.4", - "from": "inflight@>=1.0.4 <2.0.0", + "from": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", "dependencies": { "wrappy": { "version": "1.0.1", - "from": "wrappy@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" } } }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "once": { "version": "1.3.2", - "from": "once@>=1.3.0 <2.0.0", + "from": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", "dependencies": { "wrappy": { "version": "1.0.1", - "from": "wrappy@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" } } @@ -11150,59 +11151,59 @@ }, "lodash": { "version": "3.2.0", - "from": "lodash@>=3.2.0 <3.3.0", + "from": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz" }, "readable-stream": { "version": "1.0.33", - "from": "readable-stream@>=1.0.26 <1.1.0", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "dependencies": { "core-util-is": { "version": "1.0.1", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" }, "isarray": { "version": "0.0.1", - "from": "isarray@0.0.1", + "from": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" }, "string_decoder": { "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } }, "tar-stream": { "version": "1.1.5", - "from": "tar-stream@>=1.1.0 <1.2.0", + "from": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz", "dependencies": { "bl": { "version": "0.9.4", - "from": "bl@>=0.9.0 <0.10.0", + "from": "https://registry.npmjs.org/bl/-/bl-0.9.4.tgz", "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.4.tgz" }, "end-of-stream": { "version": "1.1.0", - "from": "end-of-stream@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", "dependencies": { "once": { "version": "1.3.2", - "from": "once@>=1.3.0 <1.4.0", + "from": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", "dependencies": { "wrappy": { "version": "1.0.1", - "from": "wrappy@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" } } @@ -11213,22 +11214,22 @@ }, "zip-stream": { "version": "0.5.2", - "from": "zip-stream@>=0.5.0 <0.6.0", + "from": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz", "dependencies": { "compress-commons": { "version": "0.2.9", - "from": "compress-commons@>=0.2.0 <0.3.0", + "from": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz", "dependencies": { "crc32-stream": { "version": "0.3.4", - "from": "crc32-stream@>=0.3.1 <0.4.0", + "from": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz" }, "node-int64": { "version": "0.3.3", - "from": "node-int64@>=0.3.0 <0.4.0", + "from": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz" } } @@ -11239,37 +11240,37 @@ }, "async": { "version": "0.9.2", - "from": "async@>=0.9.0 <0.10.0", + "from": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" }, "lazystream": { "version": "0.1.0", - "from": "lazystream@>=0.1.0 <0.2.0", + "from": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", "dependencies": { "readable-stream": { "version": "1.0.33", - "from": "readable-stream@>=1.0.2 <1.1.0", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", "dependencies": { "core-util-is": { "version": "1.0.1", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" }, "isarray": { "version": "0.0.1", - "from": "isarray@0.0.1", + "from": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" }, "string_decoder": { "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } @@ -11278,66 +11279,66 @@ }, "lodash": { "version": "3.5.0", - "from": "lodash@>=3.5.0 <3.6.0", + "from": "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz" }, "wrench": { "version": "1.5.8", - "from": "wrench@>=1.5.8 <1.6.0", + "from": "https://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz", "resolved": "https://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz" }, "xml2js": { "version": "0.4.9", - "from": "xml2js@>=0.4.4 <0.5.0", + "from": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.9.tgz", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.9.tgz", "dependencies": { "sax": { "version": "0.6.1", - "from": "sax@>=0.6.0 <0.7.0", + "from": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz" }, "xmlbuilder": { "version": "2.6.4", - "from": "xmlbuilder@>=2.4.6", + "from": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz" } } }, "ini": { "version": "1.3.3", - "from": "ini@>=1.3.3 <1.4.0", + "from": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz" } } }, "jsontoxml": { "version": "0.0.11", - "from": "jsontoxml@0.0.11", + "from": "https://registry.npmjs.org/jsontoxml/-/jsontoxml-0.0.11.tgz", "resolved": "https://registry.npmjs.org/jsontoxml/-/jsontoxml-0.0.11.tgz" }, "lodash": { "version": "3.3.1", - "from": "lodash@3.3.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-3.3.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.3.1.tgz" }, "minimatch": { "version": "2.0.4", - "from": "minimatch@2.0.4", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz", "dependencies": { "brace-expansion": { "version": "1.1.0", - "from": "brace-expansion@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz", "dependencies": { "balanced-match": { "version": "0.2.0", - "from": "balanced-match@>=0.2.0 <0.3.0", + "from": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz" }, "concat-map": { "version": "0.0.1", - "from": "concat-map@0.0.1", + "from": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" } } @@ -11346,69 +11347,69 @@ }, "node-watch": { "version": "0.3.4", - "from": "node-watch@0.3.4", + "from": "https://registry.npmjs.org/node-watch/-/node-watch-0.3.4.tgz", "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.3.4.tgz" }, "tmp": { "version": "0.0.25", - "from": "tmp@0.0.25", + "from": "https://registry.npmjs.org/tmp/-/tmp-0.0.25.tgz", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.25.tgz" }, "open": { "version": "0.0.5", - "from": "open@0.0.5", + "from": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz" }, "promzard": { "version": "0.3.0", - "from": "promzard@0.3.0", + "from": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz" }, "read": { "version": "1.0.5", - "from": "read@1.0.5", + "from": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", "resolved": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", "dependencies": { "mute-stream": { "version": "0.0.5", - "from": "mute-stream@>=0.0.4 <0.1.0", + "from": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" } } }, "semver": { "version": "4.3.3", - "from": "semver@4.3.3", + "from": "https://registry.npmjs.org/semver/-/semver-4.3.3.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.3.tgz" }, "mozilla-version-comparator": { "version": "1.0.2", - "from": "mozilla-version-comparator@1.0.2", + "from": "https://registry.npmjs.org/mozilla-version-comparator/-/mozilla-version-comparator-1.0.2.tgz", "resolved": "https://registry.npmjs.org/mozilla-version-comparator/-/mozilla-version-comparator-1.0.2.tgz" }, "mozilla-toolkit-versioning": { "version": "0.0.2", - "from": "mozilla-toolkit-versioning@0.0.2", + "from": "https://registry.npmjs.org/mozilla-toolkit-versioning/-/mozilla-toolkit-versioning-0.0.2.tgz", "resolved": "https://registry.npmjs.org/mozilla-toolkit-versioning/-/mozilla-toolkit-versioning-0.0.2.tgz" }, "when": { "version": "3.7.2", - "from": "when@3.7.2", + "from": "https://registry.npmjs.org/when/-/when-3.7.2.tgz", "resolved": "https://registry.npmjs.org/when/-/when-3.7.2.tgz" }, "zip-dir": { "version": "1.0.0", - "from": "zip-dir@1.0.0", + "from": "https://registry.npmjs.org/zip-dir/-/zip-dir-1.0.0.tgz", "resolved": "https://registry.npmjs.org/zip-dir/-/zip-dir-1.0.0.tgz", "dependencies": { "jszip": { "version": "2.5.0", - "from": "jszip@>=2.4.0 <3.0.0", + "from": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz", "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz", "dependencies": { "pako": { "version": "0.2.6", - "from": "pako@>=0.2.5 <0.3.0", + "from": "https://registry.npmjs.org/pako/-/pako-0.2.6.tgz", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.6.tgz" } } @@ -12770,7 +12771,7 @@ }, "protractor": { "version": "2.1.0", - "from": "protractor@2.1.0", + "from": "https://registry.npmjs.org/protractor/-/protractor-2.1.0.tgz", "resolved": "https://registry.npmjs.org/protractor/-/protractor-2.1.0.tgz", "dependencies": { "request": { @@ -12905,7 +12906,7 @@ }, "jasminewd2": { "version": "0.0.5", - "from": "jasminewd2@0.0.5", + "from": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.5.tgz", "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.5.tgz" }, "saucelabs": { @@ -13228,6 +13229,11 @@ "from": "https://registry.npmjs.org/semver/-/semver-4.3.4.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.4.tgz" }, + "shelljs": { + "version": "0.5.0", + "from": "shelljs@*", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.0.tgz" + }, "sorted-object": { "version": "1.0.0", "from": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz", @@ -13873,14 +13879,7 @@ "minitable": { "version": "0.0.3", "from": "https://registry.npmjs.org/minitable/-/minitable-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/minitable/-/minitable-0.0.3.tgz", - "dependencies": { - "minichain": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/minichain/-/minichain-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/minichain/-/minichain-0.0.1.tgz" - } - } + "resolved": "https://registry.npmjs.org/minitable/-/minitable-0.0.3.tgz" }, "es6-shim": { "version": "0.9.1", @@ -14297,6 +14296,11 @@ "version": "0.1.4", "from": "https://registry.npmjs.org/detect-indent/-/detect-indent-0.1.4.tgz", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-0.1.4.tgz" + }, + "minichain": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/minichain/-/minichain-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/minichain/-/minichain-0.0.1.tgz" } } }, diff --git a/package.json b/package.json index e807a9953a..081f6d96bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "angular", "version": "2.0.0-alpha.25", + "branchPattern": "2.0.*", "description": "Angular 2 - a web framework for modern web apps", "homepage": "https://github.com/angular/angular", "bugs": "https://github.com/angular/angular/issues", @@ -105,6 +106,7 @@ "rewire": "^2.3.3", "run-sequence": "^1.1.0", "semver": "^4.3.4", + "shelljs": "^0.5.0", "sorted-object": "^1.0.0", "source-map": "^0.3.0", "sprintf-js": "1.0.*",