Commit Graph

52 Commits

Author SHA1 Message Date
Ben Newman
6b3cc2e94f Avoid displaying package stats errors in headless mode.
Console.isInteractive() will be false during our Circle CI test runs,
since we set the METEOR_HEADLESS environment variable, so this change
should help prevent spurious test failures like these:
https://circleci.com/gh/meteor/meteor/15305.
2018-04-02 12:32:50 -04:00
Jesse Rosenberger
20307f8d72 Change top-level const-like variables to actual consts. 2017-12-12 17:19:55 +02:00
Jesse Rosenberger
b70d01c5b0 Remove Underscore from Meteor "console" module. 2017-12-12 17:19:50 +02:00
Jesse Rosenberger
d35b1e240e Use Object.create(null) rather than object literal notation.
To avoid any unintended inheritance of non-"own" properties.
2017-12-12 17:19:35 +02:00
Jesse Rosenberger
0f18f96a18 Switch to using import syntax in Meteor console module. 2017-12-12 17:19:27 +02:00
Jesse Rosenberger
7268fb8ca0 Improve Emacs shell support by auto-detecting Emacs.
This adds a memoized helper function for detecting Emacs throughout the
CLI tool and automatically resorts to "ProgressDisplayStatus" mode when
Emacs is enabled.

In my tests with both Emacs 22 and 27, this nearly doubled performance
when using Meteor from within the Emacs shell (i.e. `M-x shell`).
2017-12-12 17:19:16 +02:00
David Glasser
c8fd6e855e tools: allow explicitly opting in to low-fi status display
I think this was originally designed for Emacs shell but at some point Emacs or
Node improved so that Node finds columns for Emacs shell and switches to the
full display.

Switching to the status-only display leads to massive speedups when doing builds
in my Emacs shell.
2017-11-09 18:11:37 -08:00
Jesse Rosenberger
d86b0c712e Be more considerate of interactive environments and expired tokens. (#9015)
If a login token is expired, or no longer valid, make sure that Meteor doesn't
just sit there at a login prompt that the user can't see.

This currently only applies if `headless` mode is enabled, though a follow-up
to this commit might consider setting `headless = true` automatically
in a CI environment using environment variables such as: `CI`, `TRAVIS`,
`JENKINS_URL`, etc., as the npm-registry-client does in a similar way.

See: https://github.com/npm/npm-registry-client/pull/129/files

Fixes #8839.
2017-08-16 11:21:53 -04:00
Ben Newman
21d2dab151 Merge branch 'master' into devel 2017-07-12 18:43:27 -04:00
Rob Fallows
7d2416435b (re)fixes #8879 Build phase command line output jumps 2017-07-12 14:43:45 -04:00
Jesse Rosenberger
3a6e4eb199 Replace remaining selfs with this in new Console classes. 2017-07-10 12:42:07 -07:00
Jesse Rosenberger
d54631f78b Change most function expressions into ES arrow functions. 2017-07-10 12:42:06 -07:00
Jesse Rosenberger
200627168c Change ProgressDisplayNone to an ES class. 2017-07-10 12:42:05 -07:00
Jesse Rosenberger
ca9034147b Change some var constants to use const. 2017-07-10 12:42:04 -07:00
Jesse Rosenberger
bc044092dd Finish changing ProgessBarRenderer to an ES class. 2017-07-10 12:42:04 -07:00
Jesse Rosenberger
bf67d802fc Begin changing ProgressBarRenderer to an ES class. 2017-07-10 12:42:03 -07:00
Jesse Rosenberger
edeaa5814e Finish changing ProgessDisplayStatus to an ES class. 2017-07-10 12:42:02 -07:00
Jesse Rosenberger
95cdc19795 Begin changing ProgressDisplayStatus to an ES class. 2017-07-10 12:42:01 -07:00
Jesse Rosenberger
eafb26aac9 Finish changing StatusPoller to an ES class. 2017-07-10 12:42:01 -07:00
Jesse Rosenberger
bfed1ab7b5 Begin changing StatusPoller to an ES class. 2017-07-10 12:42:00 -07:00
Jesse Rosenberger
e077a71fed Change SpinnerRenderer into an ES class. 2017-07-10 12:41:59 -07:00
Jesse Rosenberger
cee5a3e5d6 Finish moving ProgressDisplayFull to an ES class. 2017-07-10 12:41:58 -07:00
Jesse Rosenberger
1187034bb9 Begin changing ProgressDisplayFull into a ES class. 2017-07-10 12:41:58 -07:00
Jesse Rosenberger
1b7b4cffbc Move the CARRIAGE_RETURN constant with the other constants. 2017-07-10 12:41:57 -07:00
Jesse Rosenberger
b01a2fe0be Change self to this in new Console class.
This also involved changing `function`s into arrow-functions, sometimes
for the sake of posterity.
2017-07-10 12:41:56 -07:00
Jesse Rosenberger
dc242340a8 Preserve the LEVEL_* static properties above the Console class.
Though they don't appear to actually be used anywhere by Meteor, it's
probably worth preserving them in case they are somehow exposed
elsewhere.  Static class properties would avoid this, but the TC39
proposal is still progressing.
2017-07-10 12:41:55 -07:00
Jesse Rosenberger
f757154c12 Begin changing Console to an ES class. 2017-07-10 12:41:54 -07:00
Jesse Rosenberger
774ac5fdba Change ConsoleOptions into a class. 2017-07-10 12:41:54 -07:00
Jesse Rosenberger
7fda52c681 Move LEVEL_CODE_* constants above where they are used. 2017-07-10 12:41:53 -07:00
Jesse Rosenberger
8e5ad19f17 Console#readLine into existing _.extend(Console.prototype, {...});. 2017-07-10 12:41:49 -07:00
Ben Newman
5d0da71e27 Use process.env.METEOR_HEADLESS in CI tests.
This should also fix a bug where Console.isHeadless() was returning false
in tests.

Follow-up to #8037.
2016-12-06 12:47:05 -05:00
Ben Newman
e804c00e97 Merge pull request #8037 from mitar/headless
Respect METEOR_HEADLESS environment variable.
2016-12-01 10:18:52 -05:00
Mitar
fca0dccd20 Parse JSON for the flag. 2016-11-30 03:18:52 -08:00
Rhywden
b029732a11 Fix for console output in PowerShell on Win10
See https://github.com/meteor/meteor/issues/6785

Basically, 
```
new Array(249).join('\b')
```
is not a good idea for a carriage return. Code has been tested with CMD, PowerShell and PowerShell in Legacy Mode and seems to solve the issue.
2016-11-21 20:34:11 +01:00
Mitar
3ee60f57e5 Allow global headless setting. 2016-11-09 22:53:28 -08:00
Ben Newman
2553958c38 Merge branch 'devel' into release-1.4.2 2016-10-07 19:30:30 -04:00
Ben Newman
a24448e7a7 Merge pull request #7885 from abernix/feature/fix-console-success
`Console.success` should provide an indicator when pretty is disabled
2016-10-07 09:58:36 -04:00
Jesse Rosenberger
58a6d743c8 Console.success should provide an indicator when pretty is disabled
`Console.success` is currently called in only one place but it relies on the fact that `pretty` console mode is enabled for it to make any sense.  This adds the ability to pass an "ugly" (less pretty?) message to `Console.success` (default: "success") and changes the Cordova dependency checker to use "installed" when showing a met-dependency.

Fixes meteor/meteor#7883
2016-10-07 13:41:39 +03:00
Jesse Rosenberger
1d3d6c2bda Fix for Console.failInfo and Console.failWarn when pretty is false
These functions were both using the `Console._fail` function which is passed a severity of failure as a string (e.g. "warn", "error", etc.) which corresponds to the appropriate `Console` function.  Previously, the string was just being called as if it was a function.

Fixes meteor/meteor#7882
2016-10-07 13:36:59 +03:00
Ben Newman
9304f76b52 Fix tests by avoiding printing inotify warning when Console.isHeadless(). 2016-09-27 11:09:46 -04:00
Ben Newman
93d8281f48 Implement Console.setHeadless instead of Console.{enable,disable}Spinner. 2016-05-17 19:53:12 -04:00
Ben Newman
05dfe24438 Avoid test timeouts by printing keepalive message every 5min.
Even though @abernix set the circle.yml timeout to 1200 seconds, I'm still
seeing tests occasionally time out. This commit should prevent timeouts by
printing a "[ProgressDisplayFull keepalive]" message every five minutes,
if nothing else has been printed in the meantime.

Related: https://github.com/meteor/meteor/pull/7063
2016-05-17 14:41:17 -04:00
Ben Newman
b3bcdbafda Disable progress spinner when running headless CI tests. 2016-05-09 18:00:32 -04:00
Ben Newman
1a1f8327c6 Avoid depainting console messages after server restarts.
Fixes #6226.
2016-03-14 17:07:17 -04:00
Steven Edouard
8abbf3012f Console success output should print on Windows cmd 2016-01-25 15:02:02 -08:00
Félix-Antoine Paradis
b0e3a7b7a8 fixes the runnerw output problem in non-tty windows console 2015-12-15 19:48:52 -05:00
Ben Newman
6aec5ef841 Eliminate Fiber from tools/console.js. 2015-12-09 12:06:52 -05:00
Ben Newman
8ad55e3f7b Eliminate Future from tools/console.js. 2015-12-09 12:06:47 -05:00
Ben Newman
ed17924940 Add braces to every if/for(-in)/while statement in tools directory. 2015-11-13 12:25:19 -05:00
Martijn Walraven
7d34b1296b Split up and sanitize cordova-commands.js, use cordova-lib 2015-08-26 19:26:45 +02:00