Files
meteor/scripts/dev-bundle-tool-package.js
ekatek 12d030dd53 completely rewrite of ‘meteor show’; some changes to ‘meteor search’.
The ‘show’ command has been completely rewritten. It has different output
and now does the following:

- Interacts with local package versions. Checks in the local package catalog, and
  returns the local versions along with the server versions. When ‘meteor show’ is
  run with a specific version request (‘meteor show foo@<version>’), default to
  showing the local package version (but show a message that a server version is
  available). Running ‘meteor show foo@local’ will always show the local version
  (useful for version-less local packages).

- Simplify the interface. Instead of various ‘show-*’ flags, we only have one: show-all.
  By default, we only show the top 5 official (non-prerelease) unmigrated versions of a
  package (+ local version, if applicable). This can be overridden with ‘show-all’, and we
  let the user know that more versions are available. For releases, ‘show-all’ will show
  non-recommended releases.

- Display publication time for non-local package versions. This makes it easier to run
  ‘meteor show <name>’ and see if <name> is actively maintained. For local packages,
  we display the root directory (useful for large apps or running with the
  LOCAL_PACKAGE_DIRS variable, for example).

- For non-local package versions, show if the version is ‘installed’ (downloaded into the
  warehouse). This involved minor changes to tropohouse.js. The idea is that this should
  give a pretty good clue whether the version can be added offline.

- Show version dependencies. This should help the user understand, track down and
  debug constraint solver failures.

- Do not show version architectures except in —ejson mode.

- Allow an ‘—ejson’ flag to get the output in EJSON format. That should make scripting
  easier. (As a bonus, for release versions, the EJSON output acts as a nice template
  for the release configuration file.)

The search command now does the following:

- Interacts with local package versions. Specifically, local versions override equivalent
  server versions. Also, ‘search’ works on local packages (so, for example,
  ‘meteor search troposphere’ inside the package server app will give you the troposphere
  package).

- Allows an ‘—ejson’ flag to get the outout in EJSON format.

Minor changes to some minor testing infrastructure:

 - A new skeleton package, package-for-show. Its versions contain different
   values for various metadata, so we can test that metadata comes from
   the right version.

 - In several places, replace the pattern of copying around
   package.js files with using the replace function on a placeholder
   string. (Mostly, as applied to package versions).

This is based on these hackpads: https://mdg.hackpad.com/Showing-Package-Metadata-HdGo3Lzx3hR
and https://mdg.hackpad.com/Meteor-Search-Output-1xxEzrAK9YU.
2015-01-13 13:53:20 -08:00

55 lines
2.1 KiB
JavaScript

// This file contains a package.json for the dependencies of the command-line
// tool.
// We put this in a JS file so that it can contain comments. It is processed
// into a package.json file by generate-dev-bundle.sh.
var packageJson = {
name: "meteor-dev-bundle-tool",
// Version is not important but is needed to prevent warnings.
version: "0.0.0",
dependencies: {
// Fibers 1.0.2 is out but introduces a bug that's been fixed on master
// but unreleased: https://github.com/laverdet/node-fibers/pull/189
// We will definitely need to upgrade in order to support Node 0.12 when
// it's out, though.
fibers: "1.0.1",
// Not yet upgrading Underscore from 1.5.2 to 1.7.0 (which should be done
// in the package too) because we should consider using lodash instead
// (and there are backwards-incompatible changes either way).
underscore: "1.5.2",
"source-map-support": "0.2.8",
semver: "4.1.0",
request: "2.47.0",
fstream: "1.0.2",
tar: "1.0.2",
kexec: "0.2.0",
"source-map": "0.1.40",
"browserstack-webdriver": "2.41.1",
"node-inspector": "0.7.4",
chalk: "0.5.1",
sqlite3: "3.0.2",
netroute: "0.2.5",
phantomjs: "1.9.12",
"http-proxy": "1.6.0",
"wordwrap": "0.0.2",
"moment": "2.8.4",
// XXX We ought to be able to get this from the copy in js-analyze rather
// than in the dev bundle.)
esprima: "1.2.2",
// 2.4.0 (more or less, the package.json change isn't committed) plus our PR
// https://github.com/williamwicks/node-eachline/pull/4
eachline: "https://github.com/meteor/node-eachline/tarball/ff89722ff94e6b6a08652bf5f44c8fffea8a21da",
// XXX We install our own fork of cordova because we need a particular patch that
// didn't land to cordova-android yet. As soon as it lands, we can switch back to
// upstream.
// https://github.com/apache/cordova-android/commit/445ddd89fb3269a772978a9860247065e5886249
// npm install cordova@3.5.0-0.2.6
"cordova": "https://github.com/meteor/cordova-cli/tarball/0c9b3362c33502ef8f6dba514b87279b9e440543"
}
};
process.stdout.write(JSON.stringify(packageJson, null, 2) + '\n');