Commit Graph

314 Commits

Author SHA1 Message Date
Jesse Rosenberger
efcc6945ba Update the modules test app to Meteor 1.5.2.2. 2017-10-02 17:47:12 +03:00
Ben Newman
cf45eb0f8c Update the modules test app to Meteor 1.5.2.1. 2017-09-26 12:29:04 -04:00
Ben Newman
cc47ba4a6f Update dynamic-import test app to Meteor 1.5.2.1. 2017-09-25 20:24:49 -04:00
Ben Newman
7fd4fd559b Support .meteorignore files.
Closes https://github.com/meteor/meteor-feature-requests/issues/5.
2017-09-22 08:47:37 -04:00
Ben Newman
7cbb2bb579 Tolerate : or _ in dynamic version identifiers, and add tests.
Follow-up to #9103.
2017-09-18 12:34:47 -04:00
Ben Newman
e94349937e Update dynamic-import test app to Meteor 1.5.2. 2017-09-11 15:32:39 -04:00
Ben Newman
d6666c96f5 Update modules test app to Meteor 1.5.2. 2017-09-11 15:27:25 -04:00
Ben Newman
31fa502148 Enable transform-do-expressions in production for modules test app. 2017-09-11 15:24:47 -04:00
Ben Newman
004c8d0fe1 Move .babelrc "env" test to imports directory of modules test app. 2017-08-10 13:44:39 -04:00
Ben Newman
789c0e433e Reinstate .babelrc "env" test, with more reliable NODE_ENV. 2017-08-08 19:33:51 -04:00
Ben Newman
b70449ae4d Remove .babelrc "env" test for now.
This has been failing consistently on Circle CI, so I'm disabling it until
I know how to fix it better: https://circleci.com/gh/meteor/meteor/5068
2017-08-08 19:19:19 -04:00
Ben Newman
cfdc69bf71 Support @~ version constraints and use them for core packages. (#8991) 2017-08-08 18:01:30 -04:00
Ben Newman
6de5c25fed Enable transform-do-expressions in production for modules test app.
The modules test app appears to be running with process.env.NODE_ENV equal
to "production" on Circle CI: https://circleci.com/gh/meteor/meteor/5030.

Enabling this transform in production as well as development is fine
because we primarily want to test that plugins from the "env" section of
.babelrc are respected, regardless of the value of process.env.NODE_ENV.
Using different plugins in production might be worth testing, too, but
that's less critical.

Follow-up to #8963.
2017-08-07 16:19:09 -04:00
Jordan Brant Baker
77ecbabf60 Support "env" in .babelrc files. (#8963) 2017-08-07 13:23:56 -04:00
Ben Newman
765330d883 Update the dynamic-import test app to Meteor 1.5.1. 2017-07-20 10:21:55 -04:00
Ben Newman
3090ac7282 Update the modules test app to Meteor 1.5.1. 2017-07-20 10:21:54 -04:00
Michał Powaga
7239bf5ec2 Add --extra-packages option to test and test-packages commands 2017-06-08 23:26:47 +01:00
Michał Powaga
4c236dd69e --extra-packages now overrides .meteor/packages constraints 2017-06-08 16:21:09 +01:00
Michał Powaga
4c45c28a92 Remove unnecessary file 2017-06-08 11:08:48 +01:00
Michał Powaga
a276af1706 Add selftest 2017-06-08 10:56:56 +01:00
Ben Newman
40f1d99e2c Stop polyfilling global.Buffer in modules test app. 2017-06-02 16:37:19 -04:00
Ben Newman
929fa0e90e Test that require("module") returns Module constructor on the client.
On the server, require("module") returns Node's native Module constructor,
which is not the same as module.constructor in our server JS bundle.
2017-06-02 16:26:54 -04:00
Ben Newman
a7feffd5a6 Upgrade the modules test app to Meteor 1.5. 2017-06-02 14:31:37 -04:00
Ben Newman
9c5293b6e2 Upgrade the dynamic-import test app to Meteor 1.5. 2017-06-02 14:25:46 -04:00
Ben Newman
a2aec7becf Add a failing test of dynamic imports from user:name packages.
Confirms #8751.
2017-06-02 10:45:24 -04:00
Ben Newman
1df6668cc9 Test that importing the winston npm package works now.
This is a test that should have accompanied my previous commit
81a07ed84f.
2017-05-29 19:37:33 -04:00
Ben Newman
cd4fc028f8 Upgrade reify to version 0.11.20 to fix getNamespace bug.
Reported here:
https://github.com/meteor/meteor/pull/8327#issuecomment-304582864

Fixed by:
aeb46dcd61
2017-05-29 12:02:56 -04:00
Ben Newman
e2210ef01d Update Reify API usage for version 0.11.13. 2017-05-26 18:22:02 -04:00
Ben Newman
e3bd1cfb9c Make dynamic import(...) caching more robust to IndexedDB failures.
Fixes #8697.
2017-05-15 12:11:30 -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
d7cae3c939 Support pkg.module in client bundles, even for node_modules.
As proposed here: https://github.com/rollup/rollup/wiki/pkg.module

By supporting ECMAScript module entry points for npm packages in Meteor
1.5, we will be well-positioned to do more effective import/export-based
tree shaking in future versions of Meteor.

We can't do the same thing on the server because we can't change how
native Node resolves package entry points based on the "main" field of the
package.json module.

On the other hand, all npm packages have to work in Node using the "main"
field, and client bundles stand to benefit the most from tree shaking, so
this client/server difference should not be problematic.

Note that the "jsnext:main" property is also supported as a legacy synonym
for "module".
2017-04-27 17:34:34 -04:00
Ben Newman
d9264e3b4b Better API for module.prefetch(id). 2017-04-25 10:26:24 -04:00
Ben Newman
5477aeac3f Support module.prefetch(id) to fetch but not evaluate dynamic modules.
Generally, module.prefetch(id) will not throw even if the fetched module
is missing. If you need to know whether module.prefetch(id) succeeded,
simply await the result of the promise, which will be null on success, or
an Error object if the module could not be imported.
2017-04-24 16:40:58 -04:00
Ben Newman
6f75eae135 Remove automatic Buffer polyfill.
This polyfill is unnecessary in Node, and added a whopping 22KB to the
minified client bundle. If you really need the Buffer API on the client,
you can get it from require("buffer").Buffer.
2017-04-19 17:41:11 -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
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
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
621d148909 Decompose maybeClearDynamicImportCache to declutter tests. 2017-03-08 14:58:35 -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
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
Seth Murphy
be88d7772a Rebased off meteor/devel 2017-02-28 16:12:21 -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
15135a65df Test importing lazy packages and dynamic package modules. 2017-02-16 18:20:42 -05:00
Ben Newman
6b89bed42d Merge branch 'devel' into release-1.5 2017-02-14 12:28:59 -05:00
Ben Newman
e43a5d07f0 Update the modules test app to Meteor 1.4.3.1. 2017-02-14 09:55:38 -05:00
Ben Newman
cda9ba1d41 Merge branch 'release-1.4.3' into release-1.5 2017-02-10 14:37:43 -05:00
Ben Newman
d0aa53cef9 Basic test harness for dynamic imports. 2017-02-09 13:25:59 -05:00