Commit Graph

1319 Commits

Author SHA1 Message Date
Ben Newman
0fcf29eaee Update modules test app to Meteor 1.7. 2018-05-27 20:38:01 -04:00
Ben Newman
dbdadc1b11 Avoid using "browser" field of package.json for inputFile.resolve.
Fixes #9870.
2018-05-12 12:43:54 -04:00
Ben Newman
b7579ad100 Update modules test app to Meteor 1.7-rc.5. 2018-05-09 19:12:13 -04:00
Ben Newman
81248867aa Update meteor-node-stubs to version 0.4.1.
This only affects newly created applications for now, but developers can
update to the latest meteor-node-stubs by running

  meteor npm install meteor-node-stubs@latest

https://github.com/meteor/node-stubs/issues/15
2018-05-08 12:56:03 -04:00
Ben Newman
7baaf19020 Report an error when meteor.mainModule cannot be resolved.
https://github.com/meteor/meteor/pull/9826#issuecomment-387172568
2018-05-07 18:48:38 -04:00
Ben Newman
74a55ff107 Fix addAsset tests now that /__browser.legacy/ prefix no longer used. 2018-04-27 12:47:35 -04:00
Ben Newman
dcd01aceba Merge branch 'devel' into release-1.7 2018-04-25 18:22:00 -04:00
Ben Newman
986b47d1c4 Update meteor-babel to version 7.0.0-beta.46. (#9840) 2018-04-25 18:15:29 -04:00
Ben Newman
8b8f93fe03 Make {debug,prod}Only packages self-test more verbose. 2018-04-24 11:11:36 -04:00
Ben Newman
c8fc62f37e Add a package.json file to tools/tests/apps/package-tests. 2018-04-18 18:36:42 -04:00
Ben Newman
0d5de21001 Increase timeouts to fix {debug,prod}Only package self-tests. 2018-04-18 16:59:05 -04:00
Ben Newman
52a2354955 Merge branch 'devel' into release-1.6.2 2018-04-02 14:02:07 -04:00
Ben Newman
e6a0e9089d Merge branch 'master' into devel 2018-04-02 13:08:43 -04:00
Ben Newman
4c0e583249 Update meteor-babel to version 7.0.0-beta.42.
https://github.com/babel/babel/releases/tag/v7.0.0-beta.41
https://github.com/babel/babel/releases/tag/v7.0.0-beta.42

Also updated various @babel/... plugin versions in package.json files.
2018-03-31 13:10:12 -04:00
Ben Newman
efdc66d614 Merge branch 'devel' into release-1.6.2 2018-03-27 12:15:11 -04:00
Ben Newman
9401f0d572 Add tests of selective node_modules compilation using symlinks. 2018-03-26 14:51:51 -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
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
339f128bd4 Merge branch 'devel' into release-1.6.2 2018-03-21 15:23:01 -04:00
Ben Newman
41b0b309c6 Bump @babel/runtime to latest version in various package[-lock].json files. 2018-03-20 21:13:52 -04:00
Ben Newman
cc77e963c5 Merge branch 'devel' into release-1.6.2 2018-03-07 12:31:43 -05:00
James Burgess
4ebf089d88 Remove underscore from meteor-base (#9596)
This should shave down bundle sizes by 14.4 kb for many non-blaze projects.

The other core meteor packages have not depended on `underscore` since #9362. However, we are only able to remove this last dependency now due to the previous commit, which eliminated usages of `underscore` from apps that did not have the package listed in their `packages` files. This was causing CI test failures that now should be corrected.

Any meteor apps currently using `_` without `underscore` listed in their `packages` file will need to add the package explicitly.

Version number of `meteor-base` bumped from 1.3.0 to 1.4.0.

There are only a few uses of `underscore` in these apps, and two of them actually used `underscore` without having it explicitly listed in their `packages` file.

This is a problem, because the apps were relying on the dependency from `meteor-base`, which we want to remove to cut down bundle sizes.

For the `modules` test app, I've added `underscore` to the `packages` file, because it is using `_` in an assertion about the module system. For the other app and all other uses of `_`, rather than add `underscore` to the `packages` files, I took the modernization route and replaced the functions with their ES6 equivalents, and then removed `underscore` from all `packages` files.
2018-03-07 11:23:52 -05:00
Ben Newman
f14d50538e Merge branch 'devel' into release-1.6.2 2018-03-01 18:02:08 -05:00
Ben Newman
e7b0a70a98 Use meteor.testModule in package.json of modules test app. 2018-03-01 14:27:31 -05:00
Ben Newman
36c7ee8efa Remove unnecessary 'meteor.' prefix from {main,test}Module self-tests. 2018-03-01 14:27:31 -05:00
Ben Newman
60731a88bc Test meteor.testModule with just meteor test (not --full-app). 2018-03-01 14:27:31 -05:00
Ben Newman
a212d9f515 Also support meteor.testModule to configure test entry points.
Setting meteor.testModule is a great way to specify test entry points
explicitly, rather than relying on Meteor's isTestFilePath heuristics:
https://github.com/meteor/meteor/blob/devel/tools/isobuild/test-files.js

The syntax is identical to meteor.mainModule, so you can set an explicit
meteor.testModule.{client,server,...} for each platform. If a testModule
is not specified for a platform, then Meteor's existing rules about test
file paths apply for that platform, as before.

If a testModule is specified, that module will always be loaded eagerly
when running `meteor test`, in addition to any other modules that load
eagerly because of meteor.mainModule or other rules regarding module
loading. If you run `meteor test` without the `--full-app` option, then no
application JS modules other than the testModule (and any modules imported
by it) will be loaded eagerly.
2018-03-01 14:27:30 -05:00
Ben Newman
b0e5400ff5 Improve meteor.mainModule arch discovery in tests.
If config.mainModule.client === false, then mainId should === false.
2018-03-01 14:27:30 -05:00
Ben Newman
8dd2402f76 Allow meteor.mainModule.{client,server} === false for no entry point.
If meteor.mainModule.{client,server,...} === false, no modules will be
loaded eagerly for that architecture. This is useful if you have an app
with no special app/{client,server} directory structure and you want to
specify an entry point for just the client (or just the server), without
accidentally loading everything on the other architecture.
2018-03-01 14:27:30 -05:00
Ben Newman
66508c483a Remove test driver packages from tests/apps/app-config/.meteor/versions. 2018-03-01 14:27:30 -05:00
Ben Newman
95efca2223 Stop using _inferFileOptions for package files.
Determining if Meteor package files should be loaded lazily or eagerly is
a lot easier than doing so for application files, so we should just do
that separately, to avoid any risk of application directory layout logic
interfering with package behavior.
2018-03-01 14:27:30 -05:00
Ben Newman
c28d813745 Merge branch 'devel' into release-1.6.2 2018-02-23 18:39:06 -05:00
Ben Newman
c47a2bedfb Tests for require("/package.json").meteor.mainModule. 2018-02-23 17:06:56 -05:00
Ben Newman
590ca4d48b Support meteor create --minimal for creating very small apps.
Like `meteor create --bare`, except with even fewer Meteor core packages,
so that the client-side footprint of the app is as tiny as possible.
2018-02-21 19:39:24 -05:00
Ben Newman
eeb7baca8f Merge branch 'devel' into release-1.6.2 2018-02-13 15:08:58 -05:00
Ben Newman
7c96a70692 Update meteor-babel to latest version, 7.0.0-beta.40-1. 2018-02-13 14:08:05 -05:00
Ben Newman
926743536e Merge branch 'devel' into release-1.6.2 2018-02-10 11:01:41 -05:00
Adam Zionts
d19f583e4f Make meteor deploy synchronous
- This changes meteor deploy to poll the /version-status/ REST endpoint
in Galaxy for the build and deploy status of the returned version
- Also fixes up a typo in a test
- Currently only configured to use a default polling configuration
- This change also adds a flag called --no-wait which allows users to
  specify that they want the deploy command to behave just as before
2018-02-07 13:30:21 -08:00
James Burgess
c9ff7a55aa Fix flakey test 'javascript hot code push' 2018-02-03 11:57:18 +01:00
Ben Newman
29e48758df Merge branch 'devel' into release-1.6.2 2018-01-31 18:26:12 -05:00
Hugh Willson
540dc00230 Add a self-test skip option (#9579)
* Add a self-test skip option

Meteor's CI infrastructure is configured to exclude certain
`self-test`'s on each run. These excludes are specified in
each CI environment's config file, and included when running
`meteor self-test`. Developers running `meteor self-test`
locally however are not using these excludes by default,
so developer's have to manually look up the current exclude
list from one of the CI configs, then add these excludes to
their own `meteor self-test` call manually.

This commit adds a new `skip` option to Meteor's `self-test`
system, that can be used to skip adding/running a defined
`self-test` (similar in concept to Mocha's `skip` feature).
This provides a way to skip the running of older
`self-test`'s that are no longer needed, but allows them to
be preserved in the `self-test` suite, for future reference.
With this functionality in place, and the older test suites
updated to use it, Meteor's base CI excludes no longer need
to be maintained in their respective config files. The
excludes are all managed at the source (the test definition),
and can be leveraged by anyone/anything calling
`meteor self-test`.

* Log message describing skipped test

* Add manually-ignored count to self-test summary

* Small comment correction

* History.md entry with PR link
2018-01-29 14:25:09 +02:00
Ben Newman
8ccbe3baa0 Avoid breaking backwards compatibility for asset URLs. 2018-01-22 18:07:55 -05:00
Ben Newman
bfbb8baf5f Add "/__arch" prefixes to URLs in tools/isobuild/bundler.js.
This avoids the need to add architecture-specific prefixes in
webapp_server.js, and also fixes dynamic module source map URLs.
2018-01-22 18:07:53 -05:00
Ben Newman
c300f65859 Fix "compiler plugins caching" self-tests for web.browser.legacy. 2018-01-22 18:07:38 -05:00
Ben Newman
e89c946a7e Fix modules self-tests for web.browser.legacy. 2018-01-22 17:56:55 -05:00
Ben Newman
89eaedc749 Fix meteor show <package> self-tests for web.browser.legacy. 2018-01-22 17:56:54 -05:00
Ben Newman
05ef0a6602 Fix compiler plugins self-tests for web.browser.legacy. 2018-01-22 17:56:54 -05:00
Ben Newman
37bda86cce Update dynamic-import test app to Meteor 1.6.1. 2018-01-20 17:19:04 -05:00
Ben Newman
4e21be3945 Update modules test app to Meteor 1.6.1. 2018-01-20 17:16:35 -05:00