Commit Graph

294 Commits

Author SHA1 Message Date
Frederico Maia Arantes
dee85e3486 Bump packages for release 2022-03-24 18:23:53 -03:00
Frederico Maia Arantes
560707824a Bump packages for release 2022-03-17 18:52:26 -03:00
Frederico Maia Arantes
7fc0c0055b Bump packages for release 2022-03-14 12:12:19 -03:00
zodern
28c22fafb3 - Bump modules-runtime version
- Add changes to history.md
2022-03-01 14:35:34 -04:00
zodern
648b08d5ea Remove duplicate check from useNode
The import scanner already checks the path before creating the call to module.useNode.
2022-02-28 14:55:36 -06:00
zodern
09b7dbb792 Throw errors instead of returning false in useNode 2022-02-28 14:48:57 -06:00
zodern
67bc26be5d Allow useNode to throw if module not found 2022-02-28 14:33:44 -06: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
filipenevola
39cc07472f Bump package versions for the official 1.9 release. 🎉 2020-01-08 18:18:03 -05:00
Ben Newman
80b4e4d1c2 Bump package versions for 1.9-rc.3 release. 2020-01-07 21:06:10 -05:00
Ben Newman
4ce94e8b1f Bump package versions for 1.9-rc.2 release. 2020-01-02 11:01:25 -05:00
Ben Newman
ed214002e0 Bump package versions for 1.9-rc.1 release.
This release contains a potential mitigation for the excessive garbage
collection discussed here: https://github.com/meteor/meteor/pull/10527#issuecomment-567982128
2019-12-30 12:11:46 -05:00
Ben Newman
e48dbc6d1c Bump package versions for 1.9-rc.0 release. 🎉
With Node.js 8.x nearing end-of-life status at the end of this year, and
Node.js 12 now in LTS, we think it makes sense to finalize Meteor 1.9
sooner rather than later, and continue working to take advantage of all
the great features of Node 12 in future 1.9.x releases.

As usual, the meaning of "release candidate" is that we can still fix bugs
before the final release, but there will be no new features added.
2019-12-19 09:11:29 -05:00
Ben Newman
c9e6225085 Bump package versions for 1.9-beta.4 release. 2019-11-26 17:52:03 -05:00
Ben Newman
d5a45c1f90 Bump package versions for 1.9-beta.3 release. 2019-11-14 16:43:57 -05:00
Ben Newman
0e1b0cb250 Bump package versions for 1.9-beta.2 release. 2019-11-10 00:50:56 -05:00
Ben Newman
f8de4127da Merge branch 'release-1.8.2' into release-1.9 2019-11-08 20:07:59 -05:00
Ben Newman
aec3bc76e3 Bump package versions for 1.8.2-rc.7 release. 2019-11-08 16:33:29 -05:00
Ben Newman
bd9043db20 Prefer "main" field of package.json over "module" in legacy bundle.
https://github.com/meteor/meteor/issues/10658#issuecomment-550456095
https://github.com/meteor/meteor/issues/10658#issuecomment-551870115

As usual, changes to module resolution logic need to happen in parallel in
tools/isobuild/resolver.ts and in packages/modules-runtime. However,
thanks to the modern/legacy system, it's easy to make the modules-runtime
package behave exactly the way(s) we want in the server, modern client,
and legacy client bundles.
2019-11-08 11:15:23 -05:00
Ben Newman
00564ac2ad Bump package versions for 1.8.2-rc.6 release.
I made a small mistake publishing rc.5 (forgot to bump
meteor-release-experimental.json), so it seemed simpler to skip straight
to rc.6.
2019-11-05 17:27:36 -05:00
Ben Newman
19f00eef81 Bump package versions for 1.8.2-rc.4 release. 2019-10-24 19:36:39 -04:00
Ben Newman
8dd87a6636 Bump package versions for 1.8.2-rc.3 release. 2019-09-23 12:26:57 -04:00
Ben Newman
62faa518a0 Bump package versions for 1.8.2-rc.2 release. 2019-09-23 10:06:43 -04:00
Ben Newman
588116d8c3 Bump package versions for 1.9-beta.1 release. 2019-09-19 19:45:09 -04:00
Ben Newman
c0f3222ea5 Bump package versions for 1.8.2-rc.1 release. 2019-09-19 19:09:38 -04:00
Ben Newman
bb5ff4c784 Bump package versions for 1.9-beta.0 release. 🎉
Now that Meteor 1.8.2 has moved to the RC phase of testing, I think it
makes sense to promote Meteor 1.9 from alpha to beta, especially if we are
hoping to release Meteor 1.9 around/after October 1st, when Node.js 12
offically enters Long-Term Support (LTS).
2019-09-19 12:58:29 -04:00
Ben Newman
e94739f7e8 Bump package versions for 1.8.2-rc.0 release. 🎉 2019-09-19 11:54:49 -04:00
Ben Newman
c499de30e8 Bump package versions for 1.9-alpha.10 release. 2019-09-06 22:01:08 -04:00
Ben Newman
9fb6b9cd89 Bump package versions for 1.8.2-beta.18 release. 2019-09-06 18:53:04 -04:00
Ben Newman
2d9e5b911e Bump package versions for 1.9-alpha.9 release. 2019-07-30 15:31:11 -04:00
Ben Newman
7026ccaedd Bump package versions for 1.9-alpha.8 release. 2019-07-30 15:09:26 -04:00
Ben Newman
d276ef7c30 Bump package versions for 1.8.2-beta.16 release. 2019-07-30 14:04:32 -04:00
Ben Newman
a3b13705c5 Bump package versions for 1.8.2-beta.16 release. 2019-07-15 12:52:52 -04:00
Ben Newman
596c1998be Bump package versions for 1.8.2-beta.15 release. 2019-07-06 17:16:47 -04:00
Ben Newman
4431f34cbe Bump package versions for 1.8.2-beta.14 release. 2019-07-05 19:15:04 -04:00
Ben Newman
d26a41df9d Bump package versions for 1.8.2-beta.13 release. 2019-07-04 16:39:01 -04:00
Ben Newman
ff1ce6c115 Bump package versions for 1.9-alpha.7 release. 2019-07-03 14:21:24 -04:00
Ben Newman
a68dc6d977 Merge branch 'release-1.8.2' into release-1.9 2019-07-03 13:30:44 -04:00
Ben Newman
1955ec08fa Bump package versions for 1.8.2-beta.12 release. 2019-07-03 12:40:48 -04:00
Ben Newman
e195440442 Fall back to package.json "main" field if "module" cannot be resolved.
The meteor/tools/isobuild/resolver.js changes are the static half of the
puzzle. The runtime half was implemented in install@0.13.0 with this
commit: 233aa75ce3
2019-07-03 12:25:05 -04:00
Ben Newman
e9060d01df Bump package versions for 1.8.2-beta.11 release. 2019-07-02 15:09:51 -04:00
Ben Newman
48276c3d36 Bump package versions for 1.8.2-beta.10 release. 2019-06-25 14:28:38 -04:00
Ben Newman
0a353c03ca Bump package versions for 1.8.2-beta.9 release. 2019-06-25 13:15:41 -04:00
Ben Newman
11b22e2a92 Bump package versions for 1.9-alpha.6 release. 2019-06-24 16:27:26 -04:00
Ben Newman
2b53de2d21 Bump package versions for 1.8.2-beta.8 release. 2019-06-24 15:32:29 -04:00
Ben Newman
758d2ce7c8 Bump package versions for 1.8.2-beta.7 release. 2019-06-23 19:42:27 -04:00
Ben Newman
e70e1cda79 Bump package versions for 1.8.2-beta.6 release. 2019-06-23 15:03:39 -04:00
Ben Newman
830c13b287 Bump package versions for 1.8.2-beta.5 release. 2019-06-19 13:20:02 -04:00
Ben Newman
7f13a050f7 Bump package versions for 1.9-alpha.5 release. 2019-06-08 12:11:01 -04:00
Ben Newman
6d3386d77d Bump package versions for 1.8.2-beta.4 release. 2019-05-16 13:27:56 -04:00