Commit Graph

6451 Commits

Author SHA1 Message Date
Ben Newman
f2eed53963 Compile meteor/tools code for Node 8 in Isopack#_writeTool, too. 2017-07-21 18:59:17 -04:00
Ben Newman
2ae406a61f Enable the Reify runtime API even if meteor-babel/register does not. 2017-07-21 18:59:16 -04:00
Ben Newman
c7690ae49f Fix html-scanner tests by never falsifying noLineNumbers when true.
We should never be generating line number comments for server code, since
they can cause problems with multi-line strings, and no one will see those
comments on the server anyway.

The html-scanner tests were breaking because we no longer compile
multi-line template strings for Node 8, yet we were annotating every line
with a line number comment (because we had a source map), and lines within
multi-line template strings were getting comments appended to them, which
thus became an observable part of the string.

On the client, we still compile template strings to normal string
literals, so the line number annotations are not a problem (for now).
2017-07-21 18:25:12 -04:00
Ben Newman
2ca9e322d9 Use Babel options appropriate for Node 8 to compile meteor/tools.
Related to https://github.com/meteor/meteor/pull/8728#issue-232369984,
though these changes apply only to the meteor/tools codebase. We still
need to make similar changes to the babel-compiler package so that
application code will benefit.

The assumption that we're using Node 8 also allows some simplifications to
the runtime polyfills that we use.
2017-07-21 14:07:28 -04:00
Ben Newman
dd124410f3 Avoid multiple warnings about raising the ulimit. 2017-07-19 18:05:51 -04:00
Ben Newman
a1d92f4c18 Merge branch 'release-1.5.2' into release-1.6 2017-07-17 18:02:39 -04:00
Ben Newman
7d87376bd2 Use multipipe and split2 to compose eachline streams. 2017-07-17 17:41:30 -04:00
Ben Newman
0f05575099 Simplify eachline by using split npm package. 2017-07-17 16:26:38 -04:00
Ben Newman
53e23671e3 Make sure maybeSuggestRaisingWatchLimit runs in a Fiber.
Should fix recent test failures:
https://circleci.com/gh/meteor/meteor/4570#tests/containers/5
https://circleci.com/gh/meteor/meteor/4570#tests/containers/6
2017-07-14 13:34:34 -04:00
Ben Newman
8af4955389 Use eachline@3.0.5 from npm instead of our own fork.
The pull request corresponding to our fork is not going to be merged, so
it's better to use the alternative this.finished API available in newer
versions of the upstream package.

https://github.com/williamkapke/node-eachline/pull/4
2017-07-14 13:34:33 -04:00
Ben Newman
4ae5c54685 Make sure maybeSuggestRaisingWatchLimit runs in a Fiber.
Should fix recent test failures:
https://circleci.com/gh/meteor/meteor/4570#tests/containers/5
https://circleci.com/gh/meteor/meteor/4570#tests/containers/6
2017-07-14 12:17:38 -04:00
Ben Newman
44796a1831 Merge branch 'master' into devel 2017-07-13 20:16:08 -04:00
Ben Newman
25f003d0bc Throttle requestGarbageCollection to once per 500ms.
With Meteor 1.6 / Node 8, I noticed _buildLocalPackages taking multiple
seconds on initial server startup and restart, and the problem seems to be
that we call the global.gc function too often. This wasn't a problem in
previous versions of Node, as far as I know, but it makes sense to heed
the comment in tools/utils/gc.js, now that it matters.
2017-07-13 20:10:37 -04:00
Ben Newman
c253bdd71c Use eachline@3.0.5 from npm instead of our own fork.
The pull request corresponding to our fork is not going to be merged, so
it's better to use the alternative this.finished API available in newer
versions of the upstream package.

https://github.com/williamkapke/node-eachline/pull/4
2017-07-13 16:20:31 -04:00
Ben Newman
8d83d72dc4 Merge branch 'devel' into release-1.6 2017-07-13 11:19:32 -04:00
Mitar
d4c4bf364d filePath is relative to appPath (#8885)
Interpret filePath as relative to appPath.
2017-07-13 08:56:38 -04:00
Ben Newman
f2c102df69 Merge branch 'devel' into release-1.6 2017-07-12 19:06:51 -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
Ben Newman
36302ba715 Set METEOR_WATCH_PRIORITIZE_CHANGED to "false" in "update during run" self-test. 2017-07-11 12:07:47 -04:00
Ben Newman
12753cb916 Additional timeouts for Meteor 1.6 failing tests.
Note that eee519ad58 greatly reduced the
TIMEOUT_SCALE_FACTOR for Circle CI tests, which likely caused some tests
to time out more often, so these additional timeouts are really just a way
of re-bumping individual timeouts, which arguably leaves the test suite in
a better overall state of health.
2017-07-11 12:07:46 -04:00
Ben Newman
692602ac46 Set METEOR_WATCH_PRIORITIZE_CHANGED to "false" in "update during run" self-test. 2017-07-10 22:11:33 -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
a5fe404876 Add additional timeouts to "update during run" self-test. 2017-07-10 15:22:51 -04:00
Ben Newman
5146864012 Merge branch 'release-1.5.1' into release-1.6 2017-07-10 13:22:45 -04:00
Ben Newman
86eedd4bc6 Make METEOR_WATCH_PRIORITIZE_CHANGED opt-out instead of opt-in.
This restores the behavior of 8c70716954 by
default, with the option of disabling the prioritized file watching system
by setting METEOR_WATCH_PRIORITIZE_CHANGED explicitly to "false".

The self-tests where the environment variable is explicitly set form a
nice to-do list of tests that should be improved to be more robust to cope
with differences in file watcher timing.

Helps with #8648 and similar issues.
2017-07-10 12:31:11 -04:00
Ben Newman
54c4dbcbf7 Require opting into the behavior introduced by the previous commit.
Although I think 8c70716954 is a good idea
in practice, it altered the timing of self-tests enough to cause a number
of failures, so for now that behavior will be gated behind the environment
variable METEOR_WATCH_PRIORITIZE_CHANGED.
2017-06-30 11:41:00 -04:00
Ben Newman
8c70716954 Use native file watchers only to watch recently changed files.
This drastically reduces the number of open file descriptors by not
preemptively acquiring a file descriptor for every watched file.

The downside is that the first time you edit a particular file, you may
have to wait up to DEFAULT_POLLING_INTERVAL milliseconds before Meteor
notices the change. The upside is that changes will be detected
instantaneously for that file in the future, even after restart.

If holding open too many file descriptors is indeed a contributing factor
to issues such as #8648, then this change should go a long way towards
mitigating those problems.

cc @abernix @hwillson
2017-06-30 10:24:11 -04:00
Ben Newman
e86600b52b Rename "watchers" to "entries" where appropriate in safe-watcher.js. 2017-06-30 10:06:19 -04:00
Ben Newman
cfc2c25d1d Update package-lock.json and shrinkwraps for modules test app. 2017-06-27 19:22:04 -04:00
Ben Newman
c78b1dfb2f Use URL versions for npm packages installed from URLs.
If a package has a semantic (x.y.z) version in npm-shrinkwrap.json, npm
appears to install it always from the npm registry, rather than the
original tarball URL (uncommon but used by the less and stylus Meteor
packages, among others).
2017-06-27 19:22:04 -04:00