Commit Graph

19595 Commits

Author SHA1 Message Date
Ben Newman
a0cf07e604 Bump package versions for 1.5.2.1-rc.2 release. release/METEOR@1.5.2.1-rc.2 2017-09-25 16:57:01 -04:00
Ben Newman
5947df645a Allow Npm.require to find packages in application node_modules.
This used to "work" (somewhat accidentally) before we got stricter about
which `node_modules` directories `Npm.require` can search:
971d2b1272

This commit should fix the problem with `juliancwirko:postcss` reported
here: https://github.com/meteor/meteor/issues/9094#issuecomment-331964596

Note that this only works for `Npm.require` when called during the build
process, not at application runtime. Use ordinary `require` for that.
2017-09-25 16:43:05 -04:00
Ben Newman
8d28e0b14e Update History.md to mention the --expose-gc change. 2017-09-25 12:59:29 -04:00
Ben Newman
80c25c1547 Update minifier-js shrinkwrap file after uglify-{es,js} change.
Follow-up to d1c984aa61.

cc @abernix
2017-09-25 12:54:29 -04:00
Ben Newman
c6bc8e2118 Bump package versions for 1.5.2.1-rc.1 release. release/METEOR@1.5.2.1-rc.1 2017-09-25 12:35:22 -04:00
Ben Newman
5d212926e7 Disable programmatic garbage collection for now.
Although this flag allows the build process to be more aggressive about
collecting garbage, it has also been a source of several problems in
Meteor 1.5.2 and Node 4.8.4, from increased segmentation faults during
garbage collection to extreme slowness in rebuilding local packages.

We still use this flag in the Meteor 1.6 betas, where it appears to cause
no problems. For Meteor 1.5.x, however, I think we need to prioritize
development reliability over memory efficiency, for now.

Fixes #8648.
Fixes #9094.
2017-09-25 12:15:52 -04:00
Jesse Rosenberger
2c25055aec Bump package versions for 1.5.2.1-rc.0 release. release/METEOR@1.5.2.1-rc.0 2017-09-25 16:20:32 +03:00
Jesse Rosenberger
8ccbd02c9a Bump $BUNDLE_VERSION to 4.8.37 before rebuilding dev bundle. 2017-09-25 13:27:16 +03:00
Jesse Rosenberger
bd9d085342 Update NODE_BUILD_NUMBER to latest Jenkins build, 49. 2017-09-25 13:26:25 +03:00
Jesse Rosenberger
d1c984aa61 Revert "Redo the change to uglify-es, which got lost in a merge."
This reverts commit 6b80cdaea4.

I'll re-introduce this commit to the release-1.6 branch so it doesn't
interfere with 1.5.x releases on the active `devel` branch.  The PR
should have likely targeted the 1.6 branch anyhow.
2017-09-25 13:08:37 +03:00
Ben Newman
3a4f69deb9 Merge pull request #9123 from meteor/support-meteorignore-files
Support .meteorignore files.
2017-09-22 15:44:21 -04:00
Ben Newman
022f87c5b1 Avoid stopping fs.watchFile pollers when rewatching.
Calling unwatchFile may result in stopping the watcher before watchFile is
called, which then restarts it. This temporary stoppage appears to cause
change events to be missed sometimes. In particular, preventing this
stop/start with the acrobatics in this commit seems to fix recent
compiler-plugins.js test failures.
2017-09-22 15:00:17 -04:00
Ben Newman
eb8189c99f Mention .meteorignore support in History.md. 2017-09-22 09:49:51 -04:00
Ben Newman
bce7129712 Stop setting METEOR_DISABLE_OPTIMISTIC_CACHING=1 in Circle CI.
Since 8c70716954, optimistic file watching
uses far fewer file descriptors, so the original motivation of setting
this environment variable no longer holds.
2017-09-22 09:40:09 -04:00
Ben Newman
7fd4fd559b Support .meteorignore files.
Closes https://github.com/meteor/meteor-feature-requests/issues/5.
2017-09-22 08:47:37 -04:00
Ben Newman
f4f4fd9994 Optimistically depend on parent directory when file does not exist.
With any luck, this will solve a host of problems related to undetected
changes when new files are created.
2017-09-22 08:47:36 -04:00
Ben Newman
3e6ca236e0 Bump $BUNDLE_VERSION to 4.8.36 before rebuilding dev bundle. 2017-09-22 08:47:35 -04:00
Ben Newman
99589f1058 Add the ignore package to the dev bundle.
https://npmjs.org/package/ignore
2017-09-21 20:13:03 -04:00
Ben Newman
069d3dffe7 Additional timeout for duplicate extension compiler plugins test. 2017-09-20 16:33:52 -04:00
Jesse Rosenberger
d50b83cc47 When starting mongod, yield until the heartbeat has pulsed after election. (#9119)
* When awaiting Mongo, wait until the heartbeat has pulsed after election.

> Prologue: A heartbeat is used amongst members of a MongoDB replica set
to poll the status of said members.

When we are initiating a new replicaset for the test Mongo server, the
replicaset is not fully prepared to accept writes until the voting
members have negotiated and propagated their decision about who is the
"primary" to all members involved.  This seems to be delayed by almost
_exactly_ the default heartbeat interval, which is 2000ms.

The heartbeat interval is marked as an "internal only" property in Mongo
so I was hesitant to lower it.  It's also a new property in Mongo 3.2
which might explain why this cropped up a while ago.

I believe this heartbeat delay is the only explanation for why the
`rs.status()` (i.e. `replSetGetStatus`) believes it is ready before the
`mongod` has actually printed "transition to primary complete" to the
log.

Fixes meteor/meteor#9026.

* Replace addl. variable occurrence with the new `firstMemberState` var.
2017-09-20 14:51:54 -04:00
Hugh Willson
d854a4b9ba Add DDP.onReconnect(), deprecate conn.onReconnect (#9092)
* Fix bug #5665: add DDP.onReconnect(), deprecate conn.onReconnect

Deprecate use of `connection.onReconnect = func`. Instead, a new
`DDP.onReconnect(callback)` method should be used to register callbacks to call
when a connection reconnects. The connection that is reconnecting is passed as
the only argument to `callback`. This is used by the accounts system to relogin
on reconnects without interfering with other code which uses
`connection.onReconnect`.

* Adjust History entry, package versions, code cleanup
2017-09-20 14:49:34 -04:00
Hugh Willson
a549448e54 Fix issues with Infinity based login token lifetimes (#9113)
* Fix issues with Infinity based login token lifetimes

Several areas of the Accounts system are using the current
login token expiration millisecond limit for different
`Date` based calculations. When `loginExpirationInDays` is set
to `null`, and the Accounts system uses an expiration limit of
`Infinity`, these `Date` based operations fail, since
`Infinity` can't be converted to a `Date`.

These changes replace the use of `Infinity` with a far future
fixed date representation, that's used when
`loginExpirationInDays` is set to `null`.

Fixes #9066.

* Small comment typo

* Remove unnecessary comment
2017-09-20 11:44:59 -04:00
Jesse Rosenberger
c6a643acf1 Tweaks to project README.md. (#9112)
Some simple messaging changes to the README to account for the fact that Meteor uses not just "pure" JavaScript, but modern JavaScript.

Additionally, link to the React and Angular tutorials, not just Blaze.
2017-09-20 11:34:22 -04:00
Ben Newman
4f43008aa0 Explicitly depend on d3-collection in bundle-visualizer.
The visualizer seems to have stopped working recently if you reinstall its
npm dependencies without using the existing npm-shrinkwrap.json file,
likely due to changes in indirect dependencies.

The good news is that the package now has far fewer npm dependencies.
However, since the sunburst.js module imports d3-collection explicitly, we
should definitely be depending directly on that package.

cc @abernix
2017-09-18 17:19:53 -04:00
Ben Newman
e59e0a582a Convert \s to /s in Npm.require'd module identifiers.
This is another way of addressing the problem I attempted to fix with
f34c5ec926 earlier today.

Apparently, older versions of compiler plugin-registering packages such as
standard-minifier-css and templating-compiler still depend on older
versions of the meteor package, which may still use path.join to import
fibers/future. This can be fixed by republishing those packages, as I did
in 917b01ac5f, but I'd prefer not to
republish every compiler plugin package.

Fortunately, we can also solve the problem by being more tolerant in the
implementation of Npm.require, which is what this commit does.
2017-09-18 16:54:23 -04:00
Ben Newman
b84a322ceb Update packages/non-core/blaze submodule to latest master revision. 2017-09-18 16:34:47 -04:00
Ben Newman
917b01ac5f Bump standard-minifier-css package version to republish.
Since all Meteor packages implicitly depend on the meteor package, it
appears packages that register compiler plugins may need to be republished
in order to benefit from f34c5ec926, or else
the `Cannot find module "fibers\\future"` error may occur on Windows.
2017-09-18 16:25:18 -04:00
Ben Newman
565e6904d7 Avoid using meteor/tools/node_modules symlink (missing on Windows). 2017-09-18 14:22:41 -04:00
Ben Newman
1bdc3fc94a Bump versions of packages affected by fibers/future changes. 2017-09-18 14:22:16 -04:00
Ben Newman
f34c5ec926 Stop using path.join to require fiber/futures.
This misunderstanding of CommonJS module identifiers goes back to 2012:
8f83b2c32e

In Node, CommonJS module identifiers are always delimited by forward
slashes, even on Windows. Using path.join to abstract away the choice of
platform-specific delimiter is therefore pointless.

While this usage of path.join was always pointless, it was also mostly
harmless until #9095, when we stopped falling back to Node's native
`require` function to handle e.g. `Npm.require("fibers\\future")`. That PR
made the misuse problematic on Windows, so this commit fixes that.
2017-09-18 14:14:14 -04:00
Ben Newman
a8cb0835b4 Bump dynamic-import package version to 0.1.3. 2017-09-18 12:36:00 -04:00
Ben Newman
7cbb2bb579 Tolerate : or _ in dynamic version identifiers, and add tests.
Follow-up to #9103.
2017-09-18 12:34:47 -04:00
Daniel C
2dfb8a2208 dynamic-import: fix modules version recognition to fix caching (#9103)
A fix to the dynamic-import code to correctly detect modules version.

Without this fix dynamic-import can't detect correctly modules versions
which breaks the dynamic-import cache functionality.
2017-09-18 12:34:23 -04:00
Ben Newman
971d2b1272 Standardize Npm.require exceptions and limit lookup paths. (#9095)
Ever since Meteor 1.3 first introduced a module system based on something
other than `Npm.require`, we've continued throwing missing module
exceptions that refer to `Npm.depends` and/or `Npm.require`, even if the
developer called `require` or used an `import` declaration. This commit
fixes that, so that all missing module exceptions look like 'Cannot find
module "module/name"'.

I also noticed recently that `Npm.require` is capable of returning modules
installed in `node_modules` directories completely outside the app, which
is bad news for development/production reproducibility. Fixed that too.

CC @hwillson who has spoken of deprecating `Npm.require` entirely, and
just using `require` everywhere, instead.
2017-09-18 11:39:45 -04:00
Jesse Rosenberger
1ae42052a3 Merge pull request #9099 from klaussner/dev-bundle-caching
Explain how to enable `dev_bundle` caching
2017-09-18 14:01:36 +03:00
Christian Klaussner
9a564e2b1a Explain how to enable dev_bundle caching; fix typos 2017-09-16 15:38:24 +02:00
Ben Newman
29f2509a46 Fix small typo in dynamic-import/cache.js. 2017-09-15 13:29:42 -04:00
Jesse Rosenberger
a4bc3f50b6 Merge branch 'guard-ddp-current-invoc-and-underscore-too' into devel 2017-09-14 23:56:06 +03:00
Jesse Rosenberger
a8084d3f76 Bump ddp package patch version. 2017-09-14 23:42:02 +03:00
Jesse Rosenberger
227ac694ff Bump allow-deny package patch version. 2017-09-14 15:36:13 +03:00
Jesse Rosenberger
6e42505860 Avoid Array.prototype.includes.
Array.prototype.includes was not available in older implementations
and this avoids tighter version contraints and maximum compatibility.
2017-09-14 15:07:02 +03:00
Jesse Rosenberger
d1c3a99b9b Bump allow-deny package patch version. 2017-09-14 13:46:16 +03:00
Ben Newman
7bc4d7704b Avoid Array.from, Set, and spread elements when computing union. 2017-09-14 13:08:58 +03:00
Jesse Rosenberger
29a3fbda6a Replace Underscore methods with native ECMAScript.
This removes `underscore` entirely from `allow-deny`.
2017-09-14 13:08:58 +03:00
Jesse Rosenberger
8983eeae87 Guard against nonexistent Package.ddp.DDP._CurrentMethodInvocation.
In the same way as was done in 88824ca04d
and as suggested in https://github.com/meteor/meteor/issues/8947.
2017-09-14 13:08:58 +03:00
Jesse Rosenberger
079cd5c0e3 Bump mongo package patch version. 2017-09-13 23:53:16 +03:00
Jesse Rosenberger
e5184325f8 Merge pull request #9062 from klaussner/issue-9060
Fix falsy `_id` in selector object not being treated as ID
2017-09-13 22:03:56 +03:00
Jesse Rosenberger
29e0a46b25 Bump minimongo package patch version. 2017-09-13 22:02:40 +03:00
Ben Newman
78f3242f26 Bump permessage-deflate to latest version in ddp-client, too. 2017-09-13 12:20:58 -04:00
Ben Newman
1bd966ad66 Bump ddp-{client,server} package patch versions. 2017-09-13 12:03:52 -04:00