Commit Graph

6276 Commits

Author SHA1 Message Date
Ben Newman
43d339d087 Merge branch 'devel' into release-1.5 2017-04-07 12:45:29 -04:00
Jesse Rosenberger
948ec2b05f Merge branch 'master' into devel 2017-04-07 18:50:17 +03:00
Ben Newman
337a61c426 Disable dynamic module fetching in Cordova apps.
Instead of fetching a bundle of JavaScript from the server, Cordova apps
include the complete bundle in the installed app, so there's no compelling
reason to allow dynamic module fetching.

The dynamic import(...) function will still work on Cordova, of course.
It will just never have to fetch anything from the server.
2017-04-04 19:09:26 -04:00
Ben Newman
5cf603ce82 Merge branch 'release-1.4.3.x' into release-1.5 2017-03-27 15:37:11 -04:00
Ben Newman
10127cea1f Fix modules test app now that exports.__esModule is non-enumerable.
3973bbad7f
2017-03-25 12:00:18 -04:00
Ben Newman
0eb52a1fd8 Upgrade meteor-babel to v0.19.1 and reify to v0.6.6. 2017-03-25 11:12:52 -04:00
Jesse Rosenberger
6bbd432081 Be more understanding of Windows' filesystem limitations.
Presently, the renaming of directories that are in-use will fail on
Windows.  This is already compensated for when `process.platform` is
set to `win32`.  However, within BashOnWindows/WSL (Windows Subsystem
for Linux), `process.platform` is equal to `linux`, though the
underlying filesystem is still the same.

Microsoft has stated that it is unlikely that they will remove
`Microsoft` from the `os.release()` value so we check for that.
2017-03-22 20:35:43 +02:00
Jesse Rosenberger
d9c3f80dbf Be more understanding of Windows' filesystem limitations.
Presently, the renaming of directories that are in-use will fail on
Windows.  This is already compensated for when `process.platform` is
set to `win32`.  However, within BashOnWindows/WSL (Windows Subsystem
for Linux), `process.platform` is equal to `linux`, though the
underlying filesystem is still the same.

Microsoft has stated that it is unlikely that they will remove
`Microsoft` from the `os.release()` value so we check for that.
2017-03-22 19:13:01 +02:00
Jeremy Shimko
20baddf7b7 Use fs.move() from fs-extra to fix EXDEV cross device error in docker builds. (#8491)
Use fs.move to fix EXDEV cross device error in docker builds.

Fixes #7852.
2017-03-22 12:54:07 -04:00
Jesse Rosenberger
41cef97664 Automatically trim DEPLOY_HOSTNAME of leading/trailing spaces. (#8508)
This simple fix prevents the disappointment of trying to deploy your app
but failing because there's a space on the end of the `DEPLOY_HOSTNAME`
environment variable.

`process.env` always contains string values and assigning a property on
`process.env` implicitly converts the value to a string so it should not
be necessary to check if `typeof` is a `string`.

Fixes Dev Experience.
2017-03-22 12:50:28 -04:00
Ben Newman
d0f179b2f5 Merge pull request #8502 from hwillson/issue-6945
Updated the builder whitelist to allow "@" in filenames.
2017-03-22 12:50:28 -04:00
Jesse Rosenberger
6621a63025 Automatically trim DEPLOY_HOSTNAME of leading/trailing spaces. (#8508)
This simple fix prevents the disappointment of trying to deploy your app
but failing because there's a space on the end of the `DEPLOY_HOSTNAME`
environment variable.

`process.env` always contains string values and assigning a property on
`process.env` implicitly converts the value to a string so it should not
be necessary to check if `typeof` is a `string`.

Fixes Dev Experience.
2017-03-22 12:01:53 -04:00
Jesse Rosenberger
17a786eb36 Ensure that .bin files maintain executable bits in Windows bundles.
Windows has no concept of the executable bit so it is not applied by the
`fstream` `Reader` when building the tarball which is used in both
`meteor build` and `meteor deploy`.  For Windows users, this causes
important scripts (such as `node-pre-gyp`) to not be executable when
the bundles are deployed to Unix platforms (such as Galaxy).

To avoid giving every file executable bits, this applies an executable
bit to the file only if it has read permission (something Windows _is_
aware of) and if it is in a location that Node bin links are typically
placed, the `/node_modules/.bin/` directories.
2017-03-21 12:19:08 -04:00
Hugh Willson
0a1b6f8fbb Adding sanitized filename test app used for testing builder @ whitelist changes. 2017-03-20 13:37:24 -04:00
Hugh Willson
39748d82f1 Updated the builder whitelist to allow "@" in filenames. 2017-03-20 13:33:57 -04:00
Ben Newman
953e9a4e2d Merge branch 'release-1.4.3.x' into release-1.5 2017-03-17 19:13:27 -04:00
Ben Newman
da57ab69a8 Remove version constraints from modules test app.
This would have prevented this Circle CI self-test failure:
https://circleci.com/gh/meteor/meteor/3595#tests/containers/3
2017-03-16 13:08:06 -04:00
Ben Newman
89e1814f2e Merge branch 'devel' into use-babili-instead-of-uglify 2017-03-15 11:52:50 -04:00
Ben Newman
e79a4e9272 Merge branch 'devel' into release-1.5 2017-03-14 15:36:06 -04:00
Jesse Rosenberger
2f4e0124b0 Merge branch '20170303-dev-bundle-upgrades' into release-1.4.3.x 2017-03-09 17:33:28 +02:00
Jesse Rosenberger
511d43fe52 Upgrade versions of node-pre-gyp and node-gyp in the built bundle.
As a finishing move for ba06bf6eed, this
updates the versions of `node-pre-gyp` and `node-gyp` included in the
`meteor-dev-bundle`.
2017-03-09 17:19:04 +02:00
Ben Newman
db968ad975 Merge branch 'devel' into release-1.5 2017-03-08 17:33:45 -05:00
Jesse Rosenberger
c2c92b9b01 Allow malformed package.json when determining binary dependencies. (#8468)
We now check `package.json` in order to help make an educated decision
as to whether or not a package has binary dependencies which need to be
rebuilt.  In some cases, such as the `npmconf` npm which is included
as a dependency of `flow-router, the `package.json` is invalid (i.e.
empty), and we should silently permit this.

Fixes meteor/meteor#8427
2017-03-08 15:12:58 -05:00
Ben Newman
621d148909 Decompose maybeClearDynamicImportCache to declutter tests. 2017-03-08 14:58:35 -05:00
Ben Newman
b6b4cd6a21 Set PhantomJS offline storage path/quota for dynamic import tests.
Telling PhantomJS where it can put offline data is critical for enabling
IndexedDB, which is critical for caching dynamically imported modules.
2017-03-08 14:46:17 -05:00
Ben Newman
ac451ac73f Respect METEOR_PHANTOMJS_* env vars in dispatch:phantomjs-tests.
Same changes as 185d8e9bc5
2017-03-08 14:46:17 -05:00
Ben Newman
f955d7610c Clone dispatch:phantomjs-tests package locally in dynamic-import app.
Revision: 831dfd19bd
2017-03-08 14:46:17 -05:00
Ben Newman
30f901bf02 Increase timeout for dynamic import(...) self-tests from 60s to 90s. 2017-03-08 14:46:17 -05:00
Jesse Rosenberger
2d0fa6483e [dx] Provide warning when METEOR_SETTINGS are used in development. (#8458)
This is a developer experience (DX) change.

In production, the `METEOR_SETTINGS` environment variable is used to
pass parameters which will be available in the `Meteor.settings` within
the app.  However, `METEOR_SETTINGS` is ignored when using the
`meteor-tool` itself as in development, environment variables are
often less desirable.  Additionally, there would be no reactivity when
changing settings was necessary, instead requiring that the `meteor`
tool be restarted entirely.

On more than one occasion, developers have been confused as to why the
`METEOR_SETTINGS` are not respected in development.  To make it more
clear when this is attempted (and clarify that they will _not_ be used),
provide the a clear warning before ignoring the `METEOR_SETTINGS`
variable.

Aims to avoid meteor/meteor#8455.
2017-03-08 11:57:01 -05:00
Ben Newman
05f6705d15 Merge pull request #8431 from hwillson/issue-8154
Added CLI help text for meteor update --all-packages.
2017-03-08 11:40:17 -05:00
Ben Newman
35f488e140 Force garbage collection more aggressively during package DB sync.
This is an effort to keep the `meteor --get-ready` command from running
out of memory during Circle CI tests, as mentioned in this comment:
https://github.com/meteor/meteor/pull/8327#issuecomment-284431618
2017-03-06 20:48:54 -05:00
Ben Newman
f6df21ff1e Force garbage collection more aggressively during meteor --get-ready.
This is an effort to keep the `meteor --get-ready` command from running
out of memory during Circle CI tests, as mentioned in this comment:
https://github.com/meteor/meteor/pull/8327#issuecomment-284431618
2017-03-06 20:48:53 -05:00
Ben Newman
b18b1e2755 Force garbage collection more aggressively during package DB sync.
This is an effort to keep the `meteor --get-ready` command from running
out of memory during Circle CI tests, as mentioned in this comment:
https://github.com/meteor/meteor/pull/8327#issuecomment-284431618
2017-03-06 20:34:56 -05:00
Ben Newman
ab0f9ba290 Force garbage collection more aggressively during meteor --get-ready.
This is an effort to keep the `meteor --get-ready` command from running
out of memory during Circle CI tests, as mentioned in this comment:
https://github.com/meteor/meteor/pull/8327#issuecomment-284431618
2017-03-06 20:34:56 -05:00
Ben Newman
ae59532f12 Delete MeteorDynamicImportCache database before running tests.
Also run the tests a third time without deleting the database, to exercise
the caching logic.
2017-03-04 19:56:10 -05:00
Ben Newman
f9de0a7b65 Use NODE_ENV (with --production) to run production import(...) tests. 2017-03-04 19:56:10 -05:00
Ben Newman
7c48703a13 Split dynamic import(...) tests into development/production runs.
Though running the tests twice in the same app mostly worked, the error
reporting was confusing because it did not indicate which run was which.
2017-03-04 19:51:15 -05:00
Jesse Rosenberger
513c270013 Add quotes around "meteor update" command. 2017-03-03 16:46:13 +02:00
Jesse Rosenberger
ad11a741bd Add brackets around package name.
To indicate that it's a variable, in the same way that `<target-version>` is notated (as well as other places in the `help.txt`).
2017-03-01 19:40:00 +02:00
Hugh Willson
8b431c6f80 Removed additional "newer versions" message reference; not needed. 2017-03-01 12:03:59 -05:00
Hugh Willson
148aeef2c9 Added paragraph explaining how to get extra information about packages that can't be updated. 2017-03-01 10:59:46 -05:00
Seth Murphy
be88d7772a Rebased off meteor/devel 2017-02-28 16:12:21 -05:00
David Glasser
adc468f670 Remove meteor npm install instruction (#8433)
As of #8108, `meteor create` runs `meteor npm install`, so it doesn't need to tell you do to do so.
2017-02-28 09:14:53 +02:00
Hugh Willson
3802addaae Added CLI help text for meteor update --all-packages. 2017-02-27 10:30:28 -05:00
Maciej Trębacz
e9c65b5608 Remove jQuery from default dependencies.
This commit removes jQuery package from default project skeletons.
2017-02-23 12:55:07 +02:00
dr.dimitru
dd548d998d Use process.version for generated README (#8379)
* Update generated README

 - Update node version in generated README file by bundler, according
to version from `.node_version.txt` file

* Use `process.version`

 - Minor file linting, one missed semicolon, one unnecessary semicolon
2017-02-23 12:08:09 +02:00
Ben Newman
7031ea1dd5 Bump LINKER_CACHE_SALT for good measure.
Recent changes to the way the linker works might not be reflected unless
we invalidate .meteor/local/bundler-cache.
2017-02-21 13:25:58 -05:00
Ben Newman
41e9ee857e Evaluate dynamic module code in package scope.
This should elegantly address the issues described in this comment:
https://github.com/meteor/meteor/pull/8327#issuecomment-280881830

I toyed with the possibility of turning package variables (both imports
from other packages and intercepted "global" variable assignments) into
properties on a shared namespace object, but that would have been a major
breaking change for existing package code, because it would have required
automatically rewriting variable references in package modules.
2017-02-21 11:47:31 -05:00
Ben Newman
2c172db31a Merge branch 'devel' into release-1.5 2017-02-21 11:33:00 -05:00
Ben Newman
15135a65df Test importing lazy packages and dynamic package modules. 2017-02-16 18:20:42 -05:00