Commit Graph

144 Commits

Author SHA1 Message Date
Martijn Walraven
e164fd969c Install ios-sim from NPM instead of building it ourselves 2015-08-26 19:26:44 +02:00
Martijn Walraven
d09ee4c5a1 Use cp -R just in case it matters on OS X 2015-08-03 13:46:34 +02:00
Martijn Walraven
e88e4a2837 Add explicit dependency on the npm version we build our node fork with 2015-07-30 17:37:41 +02:00
Martijn Walraven
e924dc470c Replace npm in dev bundle with version from our own fork 2015-07-23 20:48:06 -07:00
Martijn Walraven
62c99185a4 Add explicit version for npm 3 so builds are reproducible 2015-07-23 16:46:06 -07:00
Martijn Walraven
e07143b2ca Save some space by removing esprima tests (as we were doing before) 2015-07-23 16:08:36 -07:00
Martijn Walraven
6038c8dc00 Use npm 3 for building dev bundle on Unix 2015-07-23 15:25:46 -07:00
David Glasser
dfa394ea1c Try to build dev bundle again
This time with actual Node 0.10.40, not some random commit because
Jenkins is running old versions of git where `git clone -b garbage`
isn't an error!
2015-07-17 00:00:26 -07:00
David Glasser
58397f5bf1 Now build new dev bundle 2015-07-16 23:22:36 -07:00
David Glasser
f59cf85740 Prepare to build Node 0.10.40 2015-07-16 21:58:14 -07:00
Avital Oliver
3875e1aea8 Change how we strip Node modules when building dev bundle
Apparently the contents of the browserify-zlib library changed.

Fixes #4013
2015-03-24 16:47:49 -07:00
Slava Kim
5bd8d35b68 Remove the outdated line deleting a benchmarks folder in browserify from the
dev-bundle script
2015-02-16 15:13:41 -08:00
David Glasser
5d17598584 Update pathwatcher, which took our PR
Our PR landed in 4.1.0, so we no longer need a fork.

Hopefully, the runas-related bug which causes dev bundle builds to
sometimes fail (which is why we moved the install to its own step) is
fixed with the newer version of runas used by pathwatcher now.

Note that we were previous using a fork with an early version of our PR,
which put the numeric errno on 'code'. The accepted version of the PR
puts the numeric errno on 'errno' (and in Node 0.12, puts a string on
'code').
2015-02-16 14:34:54 -08:00
Slava Kim
37f3230591 Merge branch 'upgrade-cordova' into devel
This merge applies changes to the dev-bundle script, but the new dev-bundle is
yet to be built.
2015-02-16 14:07:00 -08:00
Slava Kim
c3615d6898 Add a link to docs on ios-sim 2015-02-11 15:56:34 -08:00
Ben Newman
5d08559cc7 Pull in new Node and Mongo builds 2015-02-05 22:40:44 -08:00
David Glasser
fca8a19b4c generate-dev-bundle: download stuff over https 2015-02-05 22:40:43 -08:00
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
Ben Newman
8e0bbec6f7 Simplify gzip/tar dance in generate-dev-bundle.sh.
Summary:
I recently learned that `curl <url> | tar zx` works just as well as
`curl <url> | gzip -d | tar x`.

I'm also hoping to test out the new Phabricator.

Test Plan: Regenerating the dev bundle on Jenkins.

Reviewers: glasser

Reviewed By: glasser

Differential Revision: https://phabricator.meteor.io/D7
2015-01-13 14:23:08 -05:00
Ben Newman
0514be4689 Revert back to Node v0.10.33 to fix regression in meteor debug.
Inspecting local variables in node-inspector is impossible in v0.10.35 due
to a known issue in Node: https://github.com/joyent/node/issues/8948
2015-01-02 00:21:37 -05:00
Ben Newman
e93f8bbc2a Update generate-dev-bundle.sh to use prebuilt Node v0.10.35. 2014-12-29 20:41:57 -05:00
Slava Kim
2b72e12266 Use a new build of ios-sim
linked against xcode6
2014-12-22 13:43:33 -08:00
David Glasser
f5f136adc9 Don't crash on pathwatcher failures
Instead, increase polling interval for that file/dir to 500ms from 5s.

Fixes #3336.

The most common case where this was occuring is when you're on Linux and
your inotify max_user_watches is too low.  A wiki page will explain how
to increase this.  In debug mode, a message will tell you to go to the
wiki page if you hit the limit (we may later expose this message by
default, but it is part of the new user experience).
2014-12-22 12:19:59 -08:00
ekatek
24a4ed9bdc Automatically line-wrap output
Includes the following changes to Console.js:

- Console.info, Console.warn, Console.debug and Console.error now automatically
  line-wrap the output to 80 characters, or the width of the terminal screen (if
  known). This is in line with our current style guide on how things should be wrapped!

- Sometimes, there are parts of text that we don't want to line-wrap. For example, if we are
  telling the user to run 'meteor long-command --with --options' we don't want to
  have a newline in the middle of that! Wrap those commands in Console.command, like
  this:
     Console.info("something and then run", Console.command(command), "and then");
  This also makes them bold if chalk is on, as a nice bonus. So, if we ever turn
  chalk back on, the bolding of commands will be more consistent.

- Sometimes, there is bulkier output that we don't want to format at all, including
  line-wrapping: log snippets, stack traces, JSON output, etc. In that case, we can use
  Console.rawInfo, Console.rawError, Console.rawWarn and Console.rawDebug. Don't use
  Console.command inside the raw* functions! It won't be processed (at all).

- There are fancier things that we can do, other than just simply wrapping things.
  We can indent:
  "  Start here and then when wrapping
     continue over here".

  We frequently do this for commands, for example. In the past, we did this manually --
  but we can't do this for long messages that might get wrapped, and anyway, it is
  good to codify this instead of counting spaces. Allows us to be better about consistency,
  for example.

- We can also add a bulletPoint, which is a small notice in the beginning that looks like
  this:
  " => Start here and then when wrapping
       continue below the bulletPoint".

  Since it is a elss intuitive option, I have wrapped most of the time that we use a
  bulletPoint into helper functions on the Console.js.

- Some common bulletpoints that we use are:
    ASCII Checkboxes (Console.success)
    ASCII X-s (Console.failWarn and Console.failInfo)
    =>  (Console.arrowError, Console.arrowWarn, Console.arrowInfo)
    WARNING (Console.labelWarn)

  The => are sometimes indented, so they take an optional indent argument, showing how
  many spaces to indent by.

The wrapper interface would be less complicated, if there was a more unified conceit behind our
terminal messages. If there is one, it is not documented. My hope is that, in many cases,
moving these to Console will make it easier for someone with great product sense to
clean up our terminal messages. It will also make it easier to write such messages, since
it will be easier to follow an accepted standard.

In the codebase outside of Console:

- Went through and looked at our use of Console.error/info/etc, replacing with rawError/etc
  whenever approporiate.

- Went through and modified most of 'stdout' and 'stderr' calls to use the new functions.
  I made an exception for stuff that doesn't want a new line at the end, or otherwise does
  weird things (ex: print user logs directly), on the basis that, at this juncture, it is
  better to be safe than to be sorry.

- Long messages no longer need to break the code style guide by ignoring indentation rules.
  Fixed that where approporiate.

- Fixed the tests! A number of our stock messages are actually longer than 80 chars.

- Personal favourite: The Android license agreement is now line wrapped! Much better experience.

- There is some more work to do on:
  - longform help (currently comes with built-in linebreaks, would have to change the entire
    mechanism for how that works)
  - Buildmessage sometimes has headers that start with =>, but they are short. I didn't want to
    pass wrapper options all the way to main.captureOrExit before merging the rest of this and
    making sure that we like it. Since these messages are fairly short, I don't think that's
    likely to be a serious problem.

I hope that this makes life easier for us in the future! No more counting chars, no more breaking
the style guide. Better experience for users with wider terminals (or even shorter terminals!).
Let's give this a try.
2014-12-04 17:56:04 -08:00
Ben Newman
187b0e00f2 Make a note of future aspirations about installing pathwatcher. 2014-11-26 14:23:18 -05:00
Ben Newman
4403a5bf7e Install pathwatcher from NPM instead of GitHub. 2014-11-26 13:52:50 -05:00
David Glasser
f403b06799 switch unmatched pushd to cd 2014-11-26 10:22:27 -08:00
David Glasser
1487d824be move tool deps to package.json to run npm dedupe 2014-11-26 10:19:37 -08:00
David Glasser
289d92f2ec separate server deps from tool deps
move package.json to a JS file so it can have comments.
2014-11-26 09:45:49 -08:00
David Glasser
bfffb986cb generate-dev-bundle: use local node/mongo tarballs
(kind of like the dev bundle itself)
2014-11-26 09:24:35 -08:00
Ben Newman
01a19bf182 Don't remove the rimraf dependency from pathwatcher/node_modules/.
One of the actual dependencies (as opposed to devDependencies) of
pathwatcher (fs-plus) depends on rimraf, but it doesn't get installed in
pathwatcher/node_modules/fs-plus/node-modules/ because it's already
installed in pathwatcher/node_modules/, so we should avoid deleting it.
2014-11-26 00:45:08 -05:00
Ben Newman
ad03de15fc Download pre-built node and mongo build artifacts from S3. 2014-11-26 00:01:49 -05:00
Ben Newman
fff79abea8 Source build-dev-bundle-common.sh in generate-dev-bundle.sh. 2014-11-25 20:56:59 -05:00
Ben Newman
48f8d7f89c Install node-pathwatcher from our branch. 2014-11-25 15:58:13 -05:00
Ben Newman
f15f56fff7 Upgrade pathwatcher to prevent tests from hanging.
I fixed https://github.com/atom/node-pathwatcher/issues/47 with
https://github.com/atom/node-pathwatcher/pull/48, and @kevinsawicki
published my changes to NPM as pathwatcher@2.3.3.

These changes make it so pathwatcher no longer keeps our test processes
alive when they would otherwise naturally exit.
2014-11-21 17:37:15 -08:00
Ben Newman
88477358ac Add node-pathwatcher NPM package to dev bundle. 2014-11-17 20:27:29 -05:00
Ben Newman
2cb7d51d21 Revert "Add watchman and sane to the dev bundle."
This reverts commit c426ffe899.
2014-11-17 20:11:32 -05:00
Ben Newman
c426ffe899 Add watchman and sane to the dev bundle. 2014-11-11 21:08:49 -05:00
David Glasser
34aac459a0 Upgrade esprima to 1.2.2 from pre-1.1 2014-10-30 15:12:30 -07:00
David Glasser
e79e04fd60 Upgrade Mongo to 2.4.12 from 2.4.9
Not quite ready to take 2.6 yet
2014-10-30 15:12:29 -07:00
David Glasser
fc375be7c8 Upgrade openssl in mongo to 1.0.1j from 1.0.1g 2014-10-30 15:12:29 -07:00
David Glasser
d91667a941 Upgrade http-proxy to 1.6.0 from 1.0.2
The patch was integrated in 1.0.3.
2014-10-30 15:12:29 -07:00
David Glasser
66bd817382 Upgrade phantomjs to 1.9.12 from 1.8.1-1 2014-10-30 15:12:29 -07:00
David Glasser
8b9771420b upgrade sqlite3 to 3.0.2 from 3.0.0 2014-10-30 15:12:29 -07:00
David Glasser
80f8eec669 Upgrade source-map to 0.1.40 from 0.1.32 2014-10-30 15:12:29 -07:00
David Glasser
5d84fd2b7c Upgrade tar to 1.0.2 from 1.0.1 2014-10-30 15:12:29 -07:00
David Glasser
92b1bf1369 Upgrade request to 2.47.0 from 2.33.0
Looks like it now auto-detects $HTTP_PROXY so we could drop that code
from http-helpers (but not from the faye stuff).
2014-10-30 15:12:29 -07:00
David Glasser
4d2499ed7d Explain why not upgrading underscore 2014-10-30 15:12:28 -07:00
David Glasser
a6cce36f8d Explain why not upgrading fibers 2014-10-30 15:12:28 -07:00
David Glasser
c2a4134d97 Update Node to 0.10.33 from 0.10.29
Our npm patch is not yet in a Node 0.10 release (it's in npm 2.1.0).
2014-10-30 15:12:28 -07:00