Commit Graph

18885 Commits

Author SHA1 Message Date
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
Jesse Rosenberger
5e617b93c8 Bump minimongo package version to 1.0.23 in preparation for publishing. 2017-05-02 12:28:24 +03:00
Jesse Rosenberger
1ac0d4ca2f Bump package versions for the official 1.4.4.2 release. release/METEOR@1.4.4.2 2017-05-02 10:56:09 +03:00
Jesse Rosenberger
15542d7de2 Add date to History.md for official 1.4.4.2 release. 2017-05-02 10:46:59 +03:00
Jesse Rosenberger
0223c6a8ed Add message about MAIL_URL scheme in History.md.
This should act as a reminder for those who may be using `smtp://` when
they should be using `smtps://`.  Previously, the scheme was implied by
the port number, however this is not the ideal behavior in the same way
that it is unsafe to assume that port 443 is always `https://`.
2017-05-02 10:42:42 +03:00
Ben Newman
9c7778da36 Let the install npm package implement Module.prototype.prefetch.
Now anyone can define meteorInstall.fetch however they see fit, and the
install.js implementation will handle everything else.

This separation of concerns leads to significantly less code, too.
2017-05-01 23:55:00 -04:00
Ben Newman
79ad707c6a Bump package versions for 1.5-beta.17 release. release/METEOR@1.5-beta.17 2017-04-27 17:43:45 -04:00