mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-22 17:47:53 +00:00
In Yeoman generator, assert dotnet is >= 1.0.0, and set detected version in global.json
This commit is contained in:
@@ -63,6 +63,8 @@ class MyGenerator extends yeoman.Base {
|
||||
if (isWindows) {
|
||||
assertNpmVersionIsAtLeast('3.0.0');
|
||||
}
|
||||
|
||||
assertDotNetSDKVersionIsAtLeast('1.0.0');
|
||||
}
|
||||
|
||||
prompting() {
|
||||
@@ -99,6 +101,7 @@ class MyGenerator extends yeoman.Base {
|
||||
this._answers.templateConfig = templateConfig;
|
||||
this._answers.namePascalCase = toPascalCase(answers.name);
|
||||
this._answers.projectGuid = this.options['projectguid'] || uuid.v4();
|
||||
this._answers.sdkVersion = getDotNetSDKVersion();
|
||||
|
||||
done();
|
||||
});
|
||||
@@ -199,6 +202,27 @@ function assertNpmVersionIsAtLeast(minVersion: string) {
|
||||
}
|
||||
}
|
||||
|
||||
function assertDotNetSDKVersionIsAtLeast(minVersion: string) {
|
||||
const runningVersion = getDotNetSDKVersion();
|
||||
if (!runningVersion) {
|
||||
console.error('Could not find dotnet tool on system path. Please install dotnet core SDK then try again.');
|
||||
console.error('Try running "dotnet --version" to verify you have it.');
|
||||
process.exit(1);
|
||||
} else if (!semver.gte(runningVersion, minVersion, /* loose */ true)) {
|
||||
console.error(`This generator requires dotnet SDK version ${minVersion} or later. You have version ${runningVersion}`);
|
||||
console.error('Please update your dotnet SDK then try again. You can run "dotnet --version" to check your version.');
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
function getDotNetSDKVersion() {
|
||||
try {
|
||||
return execSync('dotnet --version').toString().replace(/\r|\n/g, '');
|
||||
} catch (ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function rewritePackageJson(contents, includeTests) {
|
||||
if (!includeTests) {
|
||||
// Delete any test-specific packages from dependencies and devDependencies
|
||||
|
||||
Reference in New Issue
Block a user