diff --git a/tools/commands-packages.js b/tools/commands-packages.js index 8539a07287..650ed8c68c 100644 --- a/tools/commands-packages.js +++ b/tools/commands-packages.js @@ -870,6 +870,7 @@ main.registerCommand({ // Versions of the packages. We need this to get the right description for the // user, in case it changed between versions. var versions = project.getVersions(); + var newVersionsAvailable = false; var messages = buildmessage.capture(function () { _.each(packages, function (version, name) { @@ -883,7 +884,18 @@ main.registerCommand({ " at version " + version + "\n"); return; } - var description = versionInfo.version + + + var versionAddendum = "" ; + var latest = catalog.complete.getLatestVersion(name, version); + if (version !== latest.version && + !catalog.complete.isLocalPackage(name)) { + versionAddendum = "*"; + newVersionsAvailable = true; + } else { + versionAddendum = " "; + } + + var description = version + versionAddendum + (versionInfo.description ? (": " + versionInfo.description) : ""); @@ -895,7 +907,15 @@ main.registerCommand({ process.stdout.write("\n" + messages.formatMessages()); return 1; } + process.stdout.write(formatList(items)); + + if (newVersionsAvailable) { + process.stdout.write( + "\n * New versions of these packages are available! " + + "Run 'meteor update' to update. \n"); + } + return 0; }); diff --git a/tools/tests/packages/package-of-two-versions/package.js b/tools/tests/packages/package-of-two-versions/package.js new file mode 100644 index 0000000000..34ae7b1c7e --- /dev/null +++ b/tools/tests/packages/package-of-two-versions/package.js @@ -0,0 +1,4 @@ +Package.describe({ + summary: "Test package.", + version: "1.0.0" +}); diff --git a/tools/tests/packages/package-of-two-versions/package2.js b/tools/tests/packages/package-of-two-versions/package2.js new file mode 100644 index 0000000000..42bee974e8 --- /dev/null +++ b/tools/tests/packages/package-of-two-versions/package2.js @@ -0,0 +1,4 @@ +Package.describe({ + summary: "Test package.", + version: "1.0.1" +}); diff --git a/tools/tests/publish.js b/tools/tests/publish.js index f783f1a6ea..a09b0da906 100644 --- a/tools/tests/publish.js +++ b/tools/tests/publish.js @@ -128,7 +128,7 @@ selftest.define("list-with-a-new-version", ["slow", "online"], function () { run.waitSecs(10); run.match(fullPackageName); run.match("1.0.0"); - run.forbidAll("versions available"); + run.forbidAll("New versions"); run.expectExit(0); }); @@ -145,8 +145,9 @@ selftest.define("list-with-a-new-version", ["slow", "online"], function () { s.cd('mapp', function () { run = s.run("list"); run.match(fullPackageName); - run.match("1.0.0"); - run.match("versions available"); + run.match("1.0.0*:"); + run.match("New versions"); + run.match("meteor update"); run.expectExit(0); });