Commit Graph

18891 Commits

Author SHA1 Message Date
Ben Newman
642e8a369f Bump package versions for 1.5-rc.2 release. release/METEOR@1.5-rc.2 2017-05-15 16:17:24 -04:00
Ben Newman
2e057d7119 Call requestGarbageCollection in Isopack#_writeTool.
This method appears to be causing large spikes in memory consumption on
Circle CI during the `meteor --get-ready` preparation step, which often
leads to the test process being killed.

Also added a call in IsopackCache#_loadLocalPackage for good measure.

We're now calling requestGarbageCollection pretty frequently when
we run Node with --expose-gc, but that currently only happens during
Circle CI tests, so I don't think we need to implement the improvements
suggested in tools/utils/gc.js, yet.

Previously: 35f488e140, f6df21ff1e
2017-05-15 16:17:20 -04:00
Ben Newman
2032ba8b23 Re-run individual tests to avoid re-running the whole suite.
To deal with individual flaky tests, we often just re-run the entire test
suite, which feels like an enormous waste of shared computing resources.

This change automatically re-runs individual failed tests as many as two
more times, and considers the test successful if any of those attempts
succeeds.

cc @abernix @hwillson et al.
2017-05-15 13:56:57 -04:00
Ben Newman
93da21ed62 Update History.md with miscellaneous Meteor 1.5 changes. 2017-05-15 13:06:52 -04:00
Ben Newman
e3bd1cfb9c Make dynamic import(...) caching more robust to IndexedDB failures.
Fixes #8697.
2017-05-15 12:11:30 -04:00
Ben Newman
4ee3fc1b5e Improve summary in dynamic-import/package.js. 2017-05-11 16:06:42 -04:00
Ben Newman
eb45a78982 Bump package versions for 1.5-rc.1 release. release/METEOR@1.5-rc.1 2017-05-11 13:33:57 -04:00
Ben Newman
4cd46ded3c Minor tweaks to the meteor/non-core/bundle-visualizer package. 2017-05-11 13:16:42 -04:00
Jesse Rosenberger
a5a3611de8 New bundle-visualizer package for analyzing initial client bundles.
This package is required to be ran with `--production` in order to for
it to accurately use data from the minifier which is only provided when
emulating or actually in production.  The additional work required in
this mode is too costly to run during normal development as the
minification process (provided by UglifyJS, one of the fastest
minifiers) is still quite slow.

Once added, this package will display a sundial chart showing the weight
of the modules included in the application, in the web-browser, on top
of your existing application.

While maybe not the best final product, it's certainly something we can
iterate on and improve.

This package should be removed before bundling/deploying for production.
2017-05-11 01:16:59 +03:00
Ben Newman
74c64369d4 Bump package versions for 1.5-rc.0 release. release/METEOR@1.5-rc.0 2017-05-10 13:45:12 -04:00
Ben Newman
9e32c00428 Give dynamic module manifest items a different type: "dynamic js".
Now that dynamic modules are part of the manifest that determines which
files are served over HTTP, I'm a bit paranoid about them somehow ending
up as <script> tags in the initial HTML of the application.

This commit adds another safety measure to prevent that, just in case the
boilerplate-generator package for some reason fails to skip items whose
.path starts with "dynamic/" (see my previous commit).
2017-05-10 12:30:19 -04:00
Ben Newman
b6694b2f5d Expose dynamic modules via HTTP, but do not load them eagerly.
This allows fetching the compiled code of dynamic modules via HTTP,
without generating <script> tags for those resources in the intial
boilerplate HTML of the application.

The URL for a dynamic module should be formed by taking its absolute
module identifier, prepending "/dynamic" and appending "?hash=<version>".
Appropriate version hashes can be obtained from the tree exported by the
meteor/dynamic-import/dynamic-versions.js module, though the hashes are
used only for cache busting, so they could be anything at all.

A good place to do this fetching would be the meteorInstall.fetch
callback, as defined (for example) in meteor/dynamic-import/client.js.
That implementation still uses a WebSocket rather than HTTP, but this
commit will allow us to experiment with HTTP in the future.

Because the code returned for these dynamic modules is wrapped as an
anonymous function expression, you'll need to fetch them using an
XMLHttpRequest, the HTTP fetch() function, or some similar utility, rather
than using a <script> tag, because executing the unmodified code as JS
will likely throw a syntax error.
2017-05-10 12:11:10 -04:00
Ben Newman
fba9e9dfe9 Restrict the dynamic-import package to Meteor 1.5+ apps. 2017-05-10 11:31:39 -04:00
Ben Newman
1af76603c6 Imply the dynamic-import package from the meteor-base package.
Since it's relatively easy to remove/replace the meteor-base package, this
should keep dynamic-import optional in principle, but also make sure it's
installed in most apps without need for `meteor add dynamic-import`.

I also considered implying the dynamic-import package from the ecmascript
package, but that would have made it much harder to opt out, and created
some nasty circular dependency problems.
2017-05-10 11:09:47 -04:00
Ben Newman
5f8b52b2c2 Use module.watch instead of module.importSync in getNamespace.
https://github.com/benjamn/reify/pull/159
2017-05-09 22:35:57 -04:00
Ben Newman
d78fa46d06 Bump package versions for 1.5-beta.20 release. release/METEOR@1.5-beta.20 2017-05-09 22:25:25 -04:00
Ben Newman
656fbeba9b Upgrade meteor-babel to version 0.21.2 to enable class properties. 2017-05-09 21:56:20 -04:00
Ben Newman
7a54259c94 Revert "Include the dynamic-import package in new apps and packages."
Partially reverts commit 8364f81344.

This commit was causing self-test failures like the following:

  While selecting package versions:
  error: unknown package in top-level dependencies: dynamic-import

I suspect these tests won't work until the dynamic-import package is
published with a non-prerelease version.
2017-05-09 21:25:28 -04:00
Ben Newman
42c41901c5 Call module.runSetters() after any meteor/tools modules load. 2017-05-09 21:23:41 -04:00
Ben Newman
3b6a577ffb Fix typo in dynamic-import/client.js comment. 2017-05-09 21:22:00 -04:00
Ben Newman
75ada39092 Bump LINKER_CACHE_SALT and compiler.BUILT_BY for good measure.
Recent updates to meteor-babel and reify make it particularly important to
force recompilation of ECMAScript modules and package/app bundles.
2017-05-09 15:21:42 -04:00
Ben Newman
ee5638761e Mention bundle size analysis in History.md. 2017-05-09 14:53:41 -04:00
Ben Newman
8364f81344 Include the dynamic-import package in new apps and packages.
It's tempting to make the ecmascript package api.imply("dynamic-import"),
but the dynamic-import package depends on the ddp package, which depends
heavily on the ecmascript package, and I'm not sure how best to break that
dependency cycle.
2017-05-09 14:53:34 -04:00
Ben Newman
f8bf1ae6eb Bump $BUNDLE_VERSION to 4.8.11 before rebuilding dev bundle. 2017-05-09 14:19:07 -04:00
Ben Newman
ea286d0aba Upgrade Node to version 4.8.3.
https://nodejs.org/en/blog/release/v4.8.3/
2017-05-09 14:19:07 -04:00
Ben Newman
3bda1c3df8 Upgrade the meteor-babel, reify, and install npm packages. 2017-05-09 14:19:06 -04:00
Ben Newman
b5b76a850e Include minifier package name and version in .stats.json file. 2017-05-09 13:17:01 -04:00
Ben Newman
1c8bc7353e Serve <hash>.stats.json for every <hash>.js bundle. 2017-05-09 13:17:00 -04:00
Ben Newman
084801237a Report per-bundle stats from minifier. 2017-05-09 13:16:59 -04:00
Ben Newman
95c4bcd6f2 Make meteor create --bare apps use static-html.
Perhaps most importantly, this means bare apps no longer depend on jquery.
2017-05-09 13:16:58 -04:00
Ben Newman
a89963fdbe Bump package versions for 1.5-beta.19 release. release/METEOR@1.5-beta.19 2017-05-04 16:45:48 -04:00
Hugh Willson
9228345ce6 Fixed broken upserts with undefined selectors (#8668).
Fixes #8666.
2017-05-04 16:43:05 -04:00
Ben Newman
509f9aee11 Bump $BUNDLE_VERSION to 4.8.10 before rebuilding dev bundle. 2017-05-04 16:23:59 -04:00
Ben Newman
8f17fd5610 Merge branch 'devel' into release-1.5 2017-05-04 16:17:48 -04:00
Ben Newman
269e10caa6 Remove support for pkg.module in client bundles.
This partially reverts commit d7cae3c939.

This functionality was problematic without providing any clear benefits to
Meteor developers, as reported by @fermuch and @markoshust:
https://github.com/meteor/meteor/pull/8327#issuecomment-298723203
2017-05-04 16:09:45 -04:00
Ben Newman
46e00ab517 Upgrade the reify npm package to version 0.9.2. 2017-05-04 16:01:46 -04:00
Jesse Rosenberger
cf851b0660 Update Contributing.md. (#8664)
* Update Contributing.md.

Various changes and cleanups to the Contributing information but primarily, remove the team mentions part of "Need help with your pull request?" (which don't work unless you're a member of the GitHub org).  In general, contributors can get ahold of the correct person(s).

/cc @hwillson

* Update Contributing.md
2017-05-04 17:05:53 +03:00
Hugh Willson
0d10b33be6 Added a small note explaining how to get dev_bundle changes published. (#8652)
* Added a small note explaining how to get dev_bundle changes published.

* Fixed grammar errors with 's; Updated @meteor/platform mention.

* Removed @meteor/platform suggestion since it can only be used by team members.
2017-05-03 20:30:05 +03:00
nick-gudumac
4887a48639 Added support for making secure graph api requests with appsecret_proof (#8657)
* Added support for making graph api requests with appsecret_proof

* Add missing comma
2017-05-03 11:42:01 -04:00
ziedmahdi
534477b9ac fix bug when initiating dict with non string values (#8643) 2017-05-03 11:32:51 -04:00
Ben Newman
d6c4281eeb Merge pull request #8642 from mutdmour/issue3599
[#3599] match $near behavior in minimongo to mongo
2017-05-03 11:24:37 -04:00
Seba Kerckhof
541bfbf820 Remove nested properties from upsert selector document (#8633)
* Remove nested properties from upsert selector document

Fixes https://github.com/meteor/meteor/issues/8631

* Fix upserts that include _id in the selector

* Incorporate PR review requests.
2017-05-03 11:17:41 -04:00
Christian Klaussner
f0223c9151 Remove leading slash from paths in Babel options (#8610) 2017-05-03 11:14:21 -04:00
mutdmour
9900c226df $push $slice with positive numbers (#5167) (#8623) 2017-05-03 11:09:54 -04:00
Ben Newman
6fb8e1f0ab Bump package versions for 1.5-beta.18 release. release/METEOR@1.5-beta.18 2017-05-02 11:42:53 -04:00
Ben Newman
cccf387c44 Bump $BUNDLE_VERSION to 4.8.9 before rebuilding dev bundle. 2017-05-02 11:21:06 -04:00
Ben Newman
64aa28cb6f Merge branch 'devel' into release-1.5 2017-05-02 11:20:28 -04:00
Ben Newman
6b34e1edc0 Merge branch 'master' into devel 2017-05-02 11:17:04 -04:00
Ben Newman
e3c00ad5ca Merge pull request #8636 from meteor/release-1.4.4.2
Release 1.4.4.2
2017-05-02 11:14:08 -04:00
Ben Newman
807c4224eb Update to latest meteorInstall.fetch API.
90fd573f86
2017-05-02 11:06:28 -04:00