Commit Graph

122 Commits

Author SHA1 Message Date
David Glasser
5df873a4e0 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).

Conflicts:
	meteor
	tools/safe-pathwatcher.js
2014-12-22 12:27:55 -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
David Glasser
2248a0174a Fix jsdoc. No longer depends on dev bundle. 2014-10-28 10:34:59 -07:00
Slava Kim
36d9b3d4aa Pin cordova-cli to the newest cordova-lib-npm fork that correctly points to the latest fork of cordova-android 2014-10-24 12:20:23 -07:00
David Glasser
42de8d4552 Delete a lot of junk from the dev bundle
Mostly test data and docs. Also some build-time-only dependencies for sqlite.
2014-10-20 13:50:40 -07:00
Justin SB
a68a12dd02 Replace the progress npm dependency with our own version
More or less copied code, for now (MIT licensed)
2014-10-17 11:27:17 -07:00
Emily Stark
301eb65637 Put 'netroute' into dev bundle 2014-10-14 21:14:14 -07:00
ekatek
676c3ea1b6 add sqllite to 0.9.4 branch 2014-09-30 14:55:42 -07:00
Justin SB
292b107759 Put new dependencies into generate-dev-bundle.sh and LICENSE.txt
I had put them into dev-bundle-package.json (incorrectly)
2014-09-19 20:08:47 -07:00
Ben Newman
64a624ae5c Include node-inspector v0.7.4 in the dev_bundle. 2014-09-18 14:55:58 -04:00
Slava Kim
2c741b0a34 Remove redundant reference to ios-sim 2014-08-29 00:27:26 -07:00
Matthew Arbesfeld
fca5c382d5 Merge branch 'release-0.9.1' into cordova-hcp
Conflicts:
	docs/client/api.html
	docs/client/api.js
	meteor
	packages/autoupdate/autoupdate_server.js
	packages/autoupdate/package.js
	packages/constraint-solver/package.js
	packages/less/package.js
	packages/meteor-tool/package.js
	packages/meteor/package.js
	packages/minimongo/package.js
	packages/mongo-livedata/package.js
	packages/oauth1/package.js
	packages/package-version-parser/package.js
	packages/spiderable/package.js
	packages/standard-app-packages/package.js
	packages/templating/package.js
	packages/test-in-console/package.js
	packages/webapp/package.js
	scripts/admin/meteor-release-experimental.json
	scripts/generate-dev-bundle.sh
	tools/uniload.js
2014-08-28 21:13:59 -07:00
Sashko Stubailo
29ff6a8d99 Add jsdoc to dev bundle 2014-08-27 14:46:55 -07:00
Matthew Arbesfeld
75427d70ce Merge branch 'devel' into cordova-hcp
Conflicts:
	docs/client/docs.js
	examples/leaderboard/.meteor/versions
	meteor
	packages/backbone/package.js
	packages/constraint-solver/package.js
	packages/meetup/package.js
	packages/meteor-tool/package.js
	packages/showdown/package.js
	packages/stylus/package.js
	scripts/admin/meteor-release-experimental.json
	tools/commands-packages.js
	tools/commands.js
	tools/project.js
	tools/tests/old/app-with-private/.meteor/versions
	tools/tests/old/app-with-public/.meteor/versions
	tools/tests/old/empty-app/.meteor/versions
2014-08-27 13:38:57 -07:00
Slava Kim
0f285d3596 Fix devbundle url for cordova fork 2014-08-25 20:11:15 -07:00
Slava Kim
5d8d9e7ddf Switch npm module 'cordova' to our fork due to an outstanding issue
fork contains this patch:
445ddd89fb
2014-08-25 20:02:05 -07:00
David Glasser
aa8e465b4e Shrink dev bundle by removing 10M phantom zip file
The phantom install process downloads this zip file but doesn't clean it
up.
2014-08-22 18:24:42 -07:00
Matthew Arbesfeld
922af65765 Merge branch 'devel' into cordova-hcp
Conflicts:
	meteor
	scripts/generate-dev-bundle.sh
	tools/bundler.js
	tools/unipackage.js
2014-08-20 19:48:26 -07:00
David Glasser
9fefcb2a6f update fstream/tar to fix tarball crash
https://github.com/npm/fstream/issues/26

We were working around this before, but this is a better fix. Plus might
be a (probably unobservable?) performance improvement since we do fewer
fs ops.
2014-08-19 12:58:32 -07:00
David Glasser
c708cd6813 Just fix the npm bug, on 0.10.29
Even though 0.10.29 has a security hole, 0.10.30 is worse: it often
takes 100% CPU if you pass a float to setTimeout!
2014-08-15 12:11:42 -07:00
David Glasser
98b2885e85 Revert "Upgrade Node to 0.10.30. Fix npm bug again."
This reverts commit 56ff54b085.
2014-08-15 07:21:24 -07:00
David Glasser
56ff54b085 Upgrade Node to 0.10.30. Fix npm bug again. 2014-08-14 10:15:47 -07:00
Slava Kim
3f04a82ea4 Checkout a certain version of ios-deploy 2014-08-12 17:24:51 -07:00
Slava Kim
c889dfdc76 ios-deploy, download ios-sim from s3 2014-08-12 17:17:41 -07:00