Commit Graph

22356 Commits

Author SHA1 Message Date
Jesse Rosenberger
c9bee611ca Update semver to the latest version, backporting 9fdde2b7.
This wasn't available to cherry-pick for some reason.

Backports: 9fdde2b765

Ref: https://github.com/meteor/meteor/pull/8859
2018-03-30 22:20:51 +03:00
Florian Schaeffler
6fdd03bcae updated dependency of semver to the first patched one 2018-03-30 22:19:46 +03:00
Ben Newman
78c6fce3b4 Modernize package-version-parser by using modules. (#8914)
Also removed the underscore dependency while I was at it.

Prerequisite for #8859.

Backports: d3aff777a2
2018-03-30 22:18:11 +03:00
Ben Newman
20c33243ec Don't add tilde-constraints package explicitly to .meteor/packages.
Adding the tilde-dependent package should be enough, since its package.js
file calls api.use("tilde-constraints");

Backports: 1b65ef1726
2018-03-30 22:18:11 +03:00
Ben Newman
9b0cf92786 Support @~ version constraints and use them for core packages.
As discovered in #8947, creating an app with

  meteor create --release 1.4.4.1 new-app

does not actually constrain core packages to have the same minor versions
they had when Meteor 1.4.4.1 was published. Rather (as of Meteor 1.4.3),
the Meteor release only constrains core packages to have versions at least
as recent as the versions they had when the release was published, and to
have the same major version. Any later minor version is fair game.

What we need is a new kind of package version constraint, more like
semver's ~ range operator:
https://www.npmjs.com/package/semver#tilde-ranges-123-12-1

This commit implements that functionality, though it stops short of
supporting all possible semver range syntax.

Backports: b7645a4d1f
2018-03-30 22:18:10 +03:00
Ben Newman
dde012c57f Bump $BUNDLE_VERSION to 4.7.30 before rebuilding dev bundle. 2018-03-30 22:18:10 +03:00
Jesse Rosenberger
78f9e11927 Update npm package to v4.6.1.
Notable changes:
  https://github.com/npm/npm/releases/tag/v4.6.1
2018-03-30 22:18:10 +03:00
Jesse Rosenberger
c2b8ac1bf0 Add note about Node.js v4 leaving LTS status on April 30, 2018. 2018-03-30 22:16:07 +03:00
Jesse Rosenberger
6e7187a2bb Upgrade Node to version 4.9.0.
https://nodejs.org/en/blog/release/v4.9.0
https://nodejs.org/en/blog/vulnerability/march-2018-security-releases/
2018-03-30 21:53:56 +03:00
Ben Newman
ae56aba2ab Bump package versions for the official 1.5.4.2 release. release/METEOR@1.5.4.2 2018-03-30 11:51:04 -04:00
Ben Newman
3879f70dd0 Bump package versions for 1.5.4.2-rc.0 release. release/METEOR@1.5.4.2-rc.0 2018-03-29 19:05:36 -04:00
Ben Newman
0e0e5e4b4a Bump $BUNDLE_VERSION to 4.9.0 before rebuilding dev bundle. 2018-03-29 18:39:49 -04:00
Ben Newman
333932d954 Update Node to version 4.9.0. 2018-03-29 18:39:19 -04:00
Ben Newman
9221228919 Bump package versions for 1.6.2-beta.15 release. release/METEOR@1.6.2-beta.15 2018-03-29 17:41:22 -04:00
Ben Newman
5c1ba3a85e Increase --max-old-space-size to 4096 (MB) to reduce GC churn.
Thanks to a tip from @veered.
2018-03-29 17:41:20 -04:00
Ben Newman
62f1a69553 Merge branch 'devel' into release-1.6.2 2018-03-29 17:31:32 -04:00
Ben Newman
6e6f1a5a38 Merge pull request #9778 from meteor/update-npm-to-5.8.0
Update npm to version 5.8.0.
2018-03-29 12:27:54 -04:00
Ben Newman
c5305c7e97 Bump $BUNDLE_VERSION to 8.9.27 before rebuilding dev bundle. 2018-03-29 11:13:37 -04:00
Ben Newman
d19122521b Upgrade npm to version 5.8.0.
http://blog.npmjs.org/post/171139955345/v570
http://blog.npmjs.org/post/171169301000/v571
http://blog.npmjs.org/post/171813275740/v580-next0

The node-gyp package is apparently no longer bundled as
npm/node_modules/node-gyp, so we don't have to delete it any more.
2018-03-29 10:57:29 -04:00
Ben Newman
2179096387 Merge branch 'devel' into release-1.6.2 2018-03-29 10:25:28 -04:00
Michał Powaga
7b2aba09a0 Print nicer error message for missing Meteor package (#9719) 2018-03-29 09:51:18 -04:00
Ben Newman
7b06c6043a Downgrade uglify-es to version 3.3.9 (latest published version). (#9774)
* Downgrade uglify-es from 3.3.10 to 3.3.9 (latest published).

PR #9652 by @klaussner upgraded `uglify-es` from 3.2.2 to 3.3.10 to fix
issue #9647, but 3.3.9 is the latest version published to npm, and 3.3.10
seems to suffer from this bug: https://github.com/mishoo/UglifyJS2/issues/2896

For that reason, I think it might be best to downgrade `uglify-es` to
3.3.9, at least until 3.3.11 is published.

Since this bug causes `uglify-es` to throw during minification, the
`meteorJsMinify` function falls back to Babel's minifier, which is known
to use massive amounts of memory, and may be contributing to OOM problems
such as #9568. In other words, there's a chance that this downgrade will
help with #9568.

* Also bump standard-minifier-js package version.
2018-03-28 09:37:54 -04:00
Ben Newman
b4af69796c Make bundle-visualizer depend on webapp, since it imports meteor/webapp. 2018-03-27 18:35:35 -04:00
Ben Newman
05d62dbf9e Bump package versions for 1.6.2-beta.14 release. release/METEOR@1.6.2-beta.14 2018-03-27 12:41:58 -04:00
Ben Newman
efdc66d614 Merge branch 'devel' into release-1.6.2 2018-03-27 12:15:11 -04:00
Ben Newman
ddaa6d1284 Clean up History.md entries re: Mongo, cordova-plugin-meteor-webapp. 2018-03-27 12:12:10 -04:00
Cyrille Colin
cb525f37ae update cordova-plugin-meteor-webapp dependency to 1.6.0 (#9761) 2018-03-27 12:06:09 -04:00
Ben Newman
c30bdbca1f Merge pull request #9771 from meteor/compile-symlinked-node_modules
Allow selective compilation of packages and modules within node_modules.
2018-03-27 12:05:24 -04:00
Ben Newman
61226bc299 Reword to avoid implying that meteor npm install ... is special. 2018-03-27 10:16:24 -04:00
Ben Newman
e24dadca54 Expand History.md entry about selective node_modules compilation. 2018-03-27 10:10:23 -04:00
Ben Newman
602dffb8b1 Mention selective compilation of npm packages in History.md. 2018-03-26 18:03:31 -04:00
Ben Newman
9401f0d572 Add tests of selective node_modules compilation using symlinks. 2018-03-26 14:51:51 -04:00
Ben Newman
d35987d929 Enable selective compilation of node_modules via symlinking.
If a package in node_modules needs to be compiled for older browsers,
simply symlink the package directory into your application somewhere, and
then import the package as you normally would.

Because of the symlink, code within the package will be compiled as if it
was part of your application, and any imports that refer to modules in the
package will automatically use the compiled code rather than the raw code
from node_modules.

Note that you can also symlink individual files to make them be compiled
like application modules, rather than linking an entire package directory.

Creating symlinks could be considered a form of configuration, but
otherwise this is a zero-configuration solution to selectively compiling
packages within node_modules, which has been something of a holy grail in
the JavaScript community lately.

https://github.com/meteor/meteor-feature-requests/issues/6
2018-03-26 14:47:38 -04:00
Ben Newman
970d58409f Move realpathOrNull into tools/fs/files.js. 2018-03-26 12:04:13 -04:00
Ben Newman
9c95b78d9e Upgrade install.js package to avoid calling Module.prototype.useNode.
f69158f0a1
2018-03-26 12:04:13 -04:00
Ben Newman
ebd84317d8 Decompose _readDepFile helper from ImportScanner#_scanFile. 2018-03-26 12:04:13 -04:00
Ben Newman
0fca4c56aa Fix handling of old files in ImportScanner#_addFile. 2018-03-26 12:04:13 -04:00
Ben Newman
1757a69d8b Generate stubs that call module.useNode() for server node_modules.
Once this logic is established, the install.js library will no longer need
to know anything about module.useNode():
6412f4aabb/install.js (L322-L325)
2018-03-26 12:04:12 -04:00
Ben Newman
c6c92255e5 Relax options.from precondition in Builder#copyNodeModulesDirectory. 2018-03-26 12:04:12 -04:00
Ben Newman
e7ad5d2a42 Call files.cp_r with { preserveSymlinks: true } in more places.
Now that symlinks can be used to enable selective compilation of
node_modules, it's important to preserve them.
2018-03-26 12:04:12 -04:00
Ben Newman
e50da2f367 Merge branch 'devel' into release-1.6.2 2018-03-23 21:17:53 -04:00
Ben Newman
db1c03e3eb Merge pull request #9768 from meteor/issue-9738-multiple-package-node_modules
Fix copying/symlinking of node_modules directories during build.
2018-03-23 19:23:31 -04:00
Ben Newman
22e3f99565 Fix copying/symlinking of node_modules directories during build.
The bulk of this commit implements `builder.copyNodeModulesDirectory` to
allow more than one `node_modules` directory to be copied to the same
destination with as much safe symlinking as possible.

However, the crux of the fix for #9738 is the removal of the call to
`builder.generateFilename`, which deserves additional explanation.

If multiple directories are copied to the same output path by the builder,
in some cases it makes sense to ensure distinct directory names by adding
numeric suffixes to some of the directories.

In general, `builder.generateFilename` can get away with this renaming
only if the exact names of the directories are an implementation detail.

However, the code changed by this commit was altering the names of
`node_modules` directories whenever a package had both an `Npm.depends`
and a local `node_modules` directory.

Not only is it totally invalid to change the name of a `node_modules`
directory, but there is also no harm in copying the contents of multiple
`node_modules` directories into one final directory called `node_modules`.

Should fix #9738.
2018-03-23 18:59:32 -04:00
Ben Newman
ee32e1328e Merge pull request #9762 from MKRazz/remove-oauth-fiber
Remove oauth fiber import
2018-03-23 09:25:11 -04:00
Matt
e0c800587c Bump oauth Meteor package version to 1.2.3. 2018-03-22 17:19:24 -04:00
Matt
42983d7063 Removed Fiber import from oauth package.
With commit 857edc2, Fiber is no longer used in oauth server so it is no longer necessary to import.
2018-03-22 17:18:34 -04:00
Ben Newman
eead9c100d Bump package versions for 1.6.2-beta.13 release. release/METEOR@1.6.2-beta.13 2018-03-21 15:29:53 -04:00
Ben Newman
339f128bd4 Merge branch 'devel' into release-1.6.2 2018-03-21 15:23:01 -04:00
Jesse Rosenberger
b7ea617838 Bump minimongo package version to 1.4.4. 2018-03-21 21:11:44 +02:00
Jesse Rosenberger
69e488b139 Bump $BUNDLE_VERSION to 8.9.26 before rebuilding dev bundle. 2018-03-21 20:31:49 +02:00