Commit Graph

22622 Commits

Author SHA1 Message Date
Ben Newman
67671dc9b3 Bump package versions for 1.10-beta.7 release. release/METEOR@1.10-beta.7 2020-02-20 11:45:58 -05:00
Ben Newman
de5db52f87 Merge branch 'devel' into release-1.10 2020-02-20 11:42:09 -05:00
Ben Newman
f685b8c10d Bump $BUNDLE_VERSION to 12.16.1.2 before rebuilding dev bundle.
Since Meteor 1.9.2 included a rebuilt dev bundle, it's important to
rebuild the dev bundle again after merging master (which now corresponds
to 1.9.2) into devel (which has seen a number of dev bundle-relevant
changes that are not yet on master, e.g. MongoDB 4.0.6 => 4.2.1).
2020-02-20 11:37:36 -05:00
Ben Newman
150d387b44 Merge branch 'master' into devel 2020-02-20 11:24:20 -05:00
Ben Newman
34f8807709 Merge pull request #10927 from meteor/release-1.9.2
Release 1.9.2
2020-02-20 11:13:08 -05:00
filipenevola
b96fe01ffa Updates 1.9.2 release date 2020-02-20 2020-02-20 10:43:27 -04:00
filipenevola
05e7b81c2a Bump package versions for 1.9.2 release release/METEOR@1.9.2 2020-02-20 10:36:07 -04:00
Ben Newman
60355ae0e3 Bump package versions for 1.9.2-rc.1 release. release/METEOR@1.9.2-rc.1 2020-02-19 18:21:35 -05:00
Ben Newman
ec60e66ef9 Bump $BUNDLE_VERSION to 12.16.1.1 before rebuilding dev bundle. 2020-02-19 15:32:59 -05:00
Ben Newman
c81738fbb3 Update meteor-babel to version 7.8.2 and typescript to 3.7.5. 2020-02-19 15:20:20 -05:00
filipenevola
dad91bd581 Bump package versions for 1.9.2-rc.0 release 2020-02-19 16:15:37 -04:00
Ben Newman
924c748ecc Avoid bailing out with module.useNode() for ESM modules.
On the server, Meteor attempts to avoid bundling node_modules code by
replacing entry point modules with a stub that calls module.useNode() (see
packages/modules-runtime/server.js). This trick allows evaluating server
node_modules natively in Node.js, faithfully preserving all Node-specific
behaviors, such as module.id being an absolute file system path, the
__dirname and __filename variables, the ability to import binary .node
modules, and so on.

However, starting in Node.js 12.16.0 (Meteor 1.9.1+), modules evaluated
natively by Node are considered ECMAScript modules (ESM) if the closest
package.json file has "type": "module" (or has an .mjs file extension).
This poses a problem for the module.useNode() trick, because ESM modules
cannot be imported synchronously using require (which is currently how
module.useNode() works).

To work around this new error, this commit checks package.json for "type":
"module" in ImportScanner#shouldUseNode to determine whether it's safe to
use the module.useNode() trick.

The good news is that ESM modules don't have access to nearly as many
Node.js-specific quirks: no module, require, or exports variables; no
__dirname, no __filename; no ability to import JSON or other non-ESM file
types (at least right now). So it seems somewhat less important for ESM
code (compared to CommonJS code) to bail out into native Node.js execution
using module.useNode(). In other words, bundling server code should not
affect its execution in nearly as many cases, if that code is ESM rather
than legacy CommonJS.

If this good news turns out to be overly optimistic, we can consider using
a different kind of bailout stub that's capable of importing ESM using
dynamic import(). For now, making sure we avoid bailing out for ESM code
like @babel/runtime/helpers/esm/* is the priority.
2020-02-19 15:24:42 -04:00
Ben Newman
9c852da695 Make optimisticLookupPackageJson return array of package.json objects.
Commit 646fa4e3ee fixed #10547 by
restricting optimisticLookupPackageJson to package.json files with a
"name" property, which effectively skipped over intermediate package.json
files with additional properties.

However, in Node.js 12.16.0 (Meteor 1.9.1+), modules evaluated natively by
Node are considered ECMAScript modules if the closest package.json file
has "type": "module" (or has an .mjs file extension). This poses a problem
for the module.useNode() trick (see packages/modules-runtime/server.js),
because ESM modules cannot be imported using require.

For example, recent versions of the @babel/runtime package have a
@babel/runtime/helpers/esm/package.json file for the ESM versions of its
helpers (which specifies "type": "module"), but that package.json file
does not have a "name" property, because it is not the root package.json
file representing the entire @babel/runtime package.

I considered making the "name" restriction configurable, but that would
have fragmented the caching of optimisticLookupPackageJson. Instead, I
made it return an array of all potentially relevant package.json objects,
which can be safely cached.

This means that the caller has to iterate over the array, but there is
only one call site for this function (in tools/isobuild/package-source.js)
right now, so that wasn't too much work.
2020-02-19 15:24:42 -04:00
Ben Newman
0743289ff3 Add History.md section for Meteor 1.9.2. 2020-02-19 14:16:05 -05:00
Ben Newman
947361bbc8 Merge pull request #10926 from meteor/avoid-module.useNode-for-ESM-imports
Avoid bailing out with module.useNode() for ESM modules.
2020-02-19 14:11:40 -05:00
filipenevola
0c7c2a6731 Bump $BUNDLE_VERSION to 12.16.1.0 before rebuilding dev bundle. 2020-02-19 14:39:41 -04:00
filipenevola
0132191dcd Bump Node version to 12.16.1 2020-02-19 14:39:26 -04:00
Ben Newman
87bc54fb9f Avoid bailing out with module.useNode() for ESM modules.
On the server, Meteor attempts to avoid bundling node_modules code by
replacing entry point modules with a stub that calls module.useNode() (see
packages/modules-runtime/server.js). This trick allows evaluating server
node_modules natively in Node.js, faithfully preserving all Node-specific
behaviors, such as module.id being an absolute file system path, the
__dirname and __filename variables, the ability to import binary .node
modules, and so on.

However, starting in Node.js 12.16.0 (Meteor 1.9.1+), modules evaluated
natively by Node are considered ECMAScript modules (ESM) if the closest
package.json file has "type": "module" (or has an .mjs file extension).
This poses a problem for the module.useNode() trick, because ESM modules
cannot be imported synchronously using require (which is currently how
module.useNode() works).

To work around this new error, this commit checks package.json for "type":
"module" in ImportScanner#shouldUseNode to determine whether it's safe to
use the module.useNode() trick.

The good news is that ESM modules don't have access to nearly as many
Node.js-specific quirks: no module, require, or exports variables; no
__dirname, no __filename; no ability to import JSON or other non-ESM file
types (at least right now). So it seems somewhat less important for ESM
code (compared to CommonJS code) to bail out into native Node.js execution
using module.useNode(). In other words, bundling server code should not
affect its execution in nearly as many cases, if that code is ESM rather
than legacy CommonJS.

If this good news turns out to be overly optimistic, we can consider using
a different kind of bailout stub that's capable of importing ESM using
dynamic import(). For now, making sure we avoid bailing out for ESM code
like @babel/runtime/helpers/esm/* is the priority.
2020-02-19 13:25:22 -05:00
Ben Newman
290e084cab Make optimisticLookupPackageJson return array of package.json objects.
Commit 646fa4e3ee fixed #10547 by
restricting optimisticLookupPackageJson to package.json files with a
"name" property, which effectively skipped over intermediate package.json
files with additional properties.

However, in Node.js 12.16.0 (Meteor 1.9.1+), modules evaluated natively by
Node are considered ECMAScript modules if the closest package.json file
has "type": "module" (or has an .mjs file extension). This poses a problem
for the module.useNode() trick (see packages/modules-runtime/server.js),
because ESM modules cannot be imported using require.

For example, recent versions of the @babel/runtime package have a
@babel/runtime/helpers/esm/package.json file for the ESM versions of its
helpers (which specifies "type": "module"), but that package.json file
does not have a "name" property, because it is not the root package.json
file representing the entire @babel/runtime package.

I considered making the "name" restriction configurable, but that would
have fragmented the caching of optimisticLookupPackageJson. Instead, I
made it return an array of all potentially relevant package.json objects,
which can be safely cached.

This means that the caller has to iterate over the array, but there is
only one call site for this function (in tools/isobuild/package-source.js)
right now, so that wasn't too much work.
2020-02-19 13:14:47 -05:00
Ben Newman
fc2bdd6ddf Attempt to fix @babel/runtime/helpers/esm/* import test.
CircleCI tests will fail for this commit, since these changes do not
address the problem that the module.useNode() stub imports the ESM code
using require. I will fix the tests properly in a later commit.
2020-02-19 13:13:32 -05:00
Ben Newman
b6320119d4 Update @babel/* dependencies of modules test app. 2020-02-19 11:07:29 -05:00
filipenevola
c9ea1f427c Bump package versions for 1.10-beta.6 release 2020-02-19 11:07:29 -05:00
Ben Newman
8ff7eed55c Merge branch 'devel' into release-1.10 2020-02-19 09:41:44 -05:00
filipenevola
fca6c62d43 Bump $BUNDLE_VERSION to 12.16.0.1 before rebuilding dev bundle. 2020-02-19 09:26:25 -05:00
Tsegaselassie Tadesse
d3dd0a1756 Update Roadmap to nominate lead for Vue.js 2020-02-19 09:26:22 -05:00
filipenevola
d7bb478a41 Merge branch 'master' into devel 2020-02-19 09:26:16 -05:00
Filipe Névola
17eb5ba846 Merge pull request #10922 from meteor/release-1.9.1
Release 1.9.1
2020-02-19 07:13:13 -04:00
filipenevola
2a8f8d3c80 Bump package versions for 1.9.1 release release/METEOR@1.9.1 2020-02-18 21:06:07 -04:00
filipenevola
1b1e9cd4af Bump package versions for 1.9.1-rc.1 release release/METEOR@1.9.1-rc.1 2020-02-18 14:40:27 -04:00
filipenevola
eb527fded2 Bump $BUNDLE_VERSION to 12.16.0.0 before rebuilding dev bundle. 2020-02-18 14:37:43 -04:00
filipenevola
29c243fb6d V8 updated to v7.8 in History 2020-02-18 14:10:10 -04:00
filipenevola
268d8ff7f6 Adjusts 1.9 release date in History 2020-02-18 14:10:10 -04:00
filipenevola
68a85d78e7 Bump package versions for 1.9.1-rc.0 release 2020-02-18 14:10:10 -04:00
Manuel Saelices
3192364217 Fix race condition in the facts-base package tests as the Facts list may not be resetted between tests
Fixes #10749
2020-02-12 11:42:50 -04:00
filipenevola
4629295643 bump appcache version to 1.2.5 (1.2.4 was published without publishing the version here) 2020-02-12 11:33:21 -04:00
Filipe Névola
aa13a4b838 Merge pull request #10901 from povesteam/devel
Add enableCallback option for appcache
2020-02-12 11:30:28 -04:00
Filipe Névola
055214c793 Merge pull request #10696 from mitar/update-optimization
A small optimization when updating documents
2020-02-12 11:22:16 -04:00
Filipe Névola
323a4eba58 Merge pull request #10726 from osminushkin/sparse_index_1_to_true
change sparse and unique index options values from 1 to true
2020-02-12 11:20:49 -04:00
Filipe Névola
f03834d1e9 Merge pull request #10856 from meteor/fix/10733
Add hash to runtime config file url
2020-02-12 10:40:35 -04:00
Filipe Névola
925d6e15ad Merge pull request #10738 from StorytellerCZ/facebook-api-update
Update Facebook API calls to v5
2020-02-12 10:27:57 -04:00
claudiosdc
924b5e8c3c Improve Node.js built-in modules detection to fix #10892 (#10896) 2020-02-07 17:45:20 -05:00
Jesse Rosenberger
fd0bd1ec59 Bump package version of accounts-github in preparation for publishing.
Bumping this to make sure it brings in the correct dependency of
`github-oauth` and the fix included in the references below.

Ref: 4228dcbd03
Ref: https://github.com/meteor/meteor/pull/10899
2020-02-05 18:53:18 +02:00
Jan Dvorak
4228dcbd03 Switch google-oauth to pass token in headers. (#10899)
Update API calls for authentication due to depracation: https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api/
https://developer.github.com/v3/auth/#basic-authentication
2020-02-05 18:21:14 +02:00
Ruben Sainiuc
61deae5068 Add enableCallback option for appcache 2020-02-05 15:21:27 +02:00
Ben Newman
6b4d429e5d Bump package versions for 1.10-beta.5 release. release/METEOR@1.10-beta.5 2020-02-01 15:14:50 -05:00
Ben Newman
6f083942b8 Merge branch 'devel' into release-1.10 2020-02-01 14:16:56 -05:00
Ben Newman
c20c0dc017 Bump socket-stream-client patch version after PR #10741. 2020-02-01 14:11:41 -05:00
Frederick Stark
ad1b160fbc Remove redundant dynamic-import from socket-stream-client (#10741) 2020-02-01 14:10:32 -05:00
Ben Newman
ec8190a4fe Bump mongo package patch version after PR #10889. 2020-02-01 13:51:56 -05:00
Ben Newman
b3b5fee25f Add missing lazyFinalizer parameter to InputFile#addHtml.
Fixes #10883.
2020-02-01 13:47:47 -05:00