@microsoft/rush-lib
Advanced tools
Comparing version 1.8.3 to 1.10.0
@@ -5,2 +5,19 @@ { | ||
{ | ||
"version": "1.10.0", | ||
"tag": "@microsoft/rush-lib_v1.10.0", | ||
"date": "Fri, 24 Feb 2017 22:44:31 GMT", | ||
"comments": { | ||
"patch": [ | ||
{ | ||
"comment": "Rush will automatically create the common folder." | ||
} | ||
], | ||
"minor": [ | ||
{ | ||
"comment": "Add a \"pinnedVersions\" option to rush.json, which will add dependencies to the common package.json. Since these dependencies are installed first, this mechanism can be used to control versions of unconstrained second-level dependencies." | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"version": "1.8.0", | ||
@@ -7,0 +24,0 @@ "tag": "@microsoft/rush-lib_v1.8.0", |
# Change Log - @microsoft/rush-lib | ||
This log was last generated on Tue, 14 Feb 2017 22:53:30 GMT and should not be manually modified. | ||
This log was last generated on Fri, 24 Feb 2017 22:44:31 GMT and should not be manually modified. | ||
## 1.10.0 | ||
Fri, 24 Feb 2017 22:44:31 GMT | ||
### Minor changes | ||
- Add a "pinnedVersions" option to rush.json, which will add dependencies to the common package.json. Since these dependencies are installed first, this mechanism can be used to control versions of unconstrained second-level dependencies. | ||
### Patches | ||
- Rush will automatically create the common folder. | ||
## 1.8.0 | ||
@@ -6,0 +17,0 @@ Tue, 14 Feb 2017 22:53:30 GMT |
@@ -27,2 +27,5 @@ /// <reference types="es6-collections" /> | ||
projects: IRushConfigurationProjectJson[]; | ||
pinnedVersions: { | ||
[dependency: string]: string; | ||
}; | ||
} | ||
@@ -60,2 +63,3 @@ /** | ||
private _projectsByName; | ||
private _pinnedVersions; | ||
/** | ||
@@ -181,2 +185,3 @@ * Loads the configuration data from an Rush.json configuration file and returns | ||
readonly projectsByName: Map<string, RushConfigurationProject>; | ||
readonly pinnedVersions: Map<string, string>; | ||
/** | ||
@@ -183,0 +188,0 @@ * Looks up a project in the projectsByName map. If the project is not found, |
@@ -38,3 +38,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. | ||
if (!fsx.existsSync(this._commonFolder)) { | ||
throw new Error("Rush common folder does not exist: " + rushConfigurationJson.commonFolder); | ||
console.log("No common folder was detected."); | ||
console.log("Creating folder: " + this._commonFolder); | ||
fsx.mkdirpSync(this._commonFolder); | ||
console.log("Next, you should probably run \"rush generate\""); | ||
process.exit(1); | ||
} | ||
@@ -121,2 +125,17 @@ this._commonFolderName = path.basename(this._commonFolder); | ||
} | ||
this._pinnedVersions = new Map(); | ||
if (rushConfigurationJson.pinnedVersions) { | ||
Object.keys(rushConfigurationJson.pinnedVersions).forEach(function (dependency) { | ||
var pinnedVersion = rushConfigurationJson.pinnedVersions[dependency]; | ||
if (!semver.valid(pinnedVersion)) { | ||
throw new Error("In rush.json, the pinned version \"" + pinnedVersion + "\" for \"" + dependency + "\"" + | ||
" project is not a valid semantic version"); | ||
} | ||
if (_this._projectsByName.has(dependency)) { | ||
throw new Error("In rush.json, cannot add a pinned version " + | ||
("for local project: \"" + dependency + "\"")); | ||
} | ||
_this._pinnedVersions.set(dependency, pinnedVersion); | ||
}); | ||
} | ||
} | ||
@@ -417,2 +436,9 @@ /** | ||
}); | ||
Object.defineProperty(RushConfiguration.prototype, "pinnedVersions", { | ||
get: function () { | ||
return this._pinnedVersions; | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
/** | ||
@@ -419,0 +445,0 @@ * Looks up a project in the projectsByName map. If the project is not found, |
@@ -103,2 +103,12 @@ { | ||
} | ||
}, | ||
"pinnedVersions": { | ||
"description": "A mapping of dependency package names to a semantic version. These are included in the common package.json and are used to control versions of second-level dependencies.", | ||
"type": "object", | ||
"patternProperties": { | ||
"^\\S+$": { | ||
"type": "string", | ||
"description": "A semantic version specifier" | ||
} | ||
} | ||
} | ||
@@ -105,0 +115,0 @@ }, |
{ | ||
"name": "@microsoft/rush-lib", | ||
"version": "1.8.3", | ||
"version": "1.10.0", | ||
"description": "Library support for the Rush tool", | ||
@@ -5,0 +5,0 @@ "repository": { |
Sorry, the diff of this file is not supported yet
304596
3318