Commit Graph

1413 Commits

Author SHA1 Message Date
Michael Newman
e0eb210194 Convert tools/utils/processes.js to tools/utils/processes.ts (#10627) 2019-07-25 17:34:13 -04:00
Paulo Mogollón
2ae2690f3a Convert tools/utils/archinfo.js to TypeScript. (#10624)
* Updated code to use modern JS
* Added types
* Stopped using 2 underscore functions (1 remaining)
2019-07-21 12:01:24 -04:00
Ben Newman
23b67d9a47 Revert "Temporarily disable SIGKILL self-test on devel branch."
This reverts commit 5c32331591.

This test is passing reliably on the release-1.8.2 branch, so we should
keep running it there.
2019-07-15 12:42:03 -04:00
Ben Newman
7e82cf57a8 Merge branch 'devel' into release-1.8.2 2019-07-15 12:41:44 -04:00
Ben Newman
5c32331591 Temporarily disable SIGKILL self-test on devel branch. 2019-07-15 12:41:18 -04:00
Ben Newman
4e894663f5 Add basic test of TypeScript support to modules test app. 2019-07-07 19:29:34 -04:00
Ben Newman
df4e54a80d Test that the ganalytics npm package is importable.
As reported by @arggh in this comment:
https://github.com/meteor/meteor/pull/10522#issuecomment-508908306
2019-07-06 12:38:04 -04:00
Ben Newman
d8436bb635 Convert tools/fs/safe-watcher.js to TypeScript.
This completes the TypeScript conversion of the tools/fs directory. 🎉
2019-07-05 18:58:18 -04:00
Ben Newman
8958cbc5e9 Convert tools/fs/watch.js to TypeScript. 2019-07-05 17:50:20 -04:00
Ben Newman
101eea015f Update meteor-node-stubs npm dependency to v1.0.0. 2019-07-04 16:36:27 -04:00
Ben Newman
6979b55dfc Update @babel/runtime to latest version in remaining test apps. 2019-07-04 16:23:12 -04:00
Ben Newman
755d0d1722 Fix outdated import of optimism package in dynamic-import test. 2019-07-04 16:18:59 -04:00
Ben Newman
6d24ab5293 Update all dependencies of dynamic-import test app. 2019-07-04 16:18:45 -04:00
Ben Newman
146e6ba1d4 Update @babel/{runtime,...} dependencies of modules test app. 2019-07-04 16:04:33 -04:00
Ben Newman
8a409d196c Convert mini-files.js to TypeScript. 2019-07-04 14:43:51 -04:00
Ben Newman
5ed64fb1db Remove explicit .js extension from tools/fs/files imports. 2019-07-04 10:32:09 -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
2fa761bbfc Test that ESM modules can be imported from npm packages.
With appropriate meteor.nodeModules.recompile configuration, that is.
2019-07-02 11:50:51 -04:00
Ben Newman
108144c3d5 Update @babel/* dependencies of modules test app. 2019-07-02 11:41:39 -04:00
Ben Newman
2dae9be561 Regression test that the graphql package can be imported. 2019-06-25 14:25:23 -04:00
Ben Newman
88004d4649 Add a basic regression test of issue #10563. 2019-06-20 12:11:29 -04:00
Ben Newman
bd89ac8d1b Merge branch 'devel' into release-1.8.2 2019-06-19 13:19:11 -04:00
Filipe Névola
ce14282304 Enable running multiple Cordova apps from same application source (#10577)
Fixes #10576.
2019-06-19 13:07:25 -04:00
Ben Newman
5d0a1200c7 Allow .npm/package/node_modules to be compiled in Meteor packages.
When I implemented support for the "module" entry point in package.json
files for client code in #10541, I modified PackageSource#_findSources to
include files found in node_modules that need to be compiled, but my
implementation considered only "local" node_modules directories, like the
one in the application root directory, while neglecting the private
.npm/package/node_modules directories that many Meteor packages have.

This commit includes .npm/**/node_modules when _findSources is scanning a
Meteor package, which should solve issues like #10544, where a Meteor
package imports an npm package that was installed with Npm.depends, and
that npm package has a "module" field in its package.json file, pointing
to an ESM entry point module, but the ESM syntax was not appropriately
compiled, leading to parse errors like "Unexpected token export".

Before lazy compilation was introduced in Meteor 1.7 (#9983), including
the node_modules directories of Meteor packages would likely have been a
big problem for build performance, since there would be that many more
modules to compile. It's still worth making sure this change doesn't
regress build performance for other reasons, but I'm reasonably confident
lazy compilation will save us here, unless there are just too many npm
packages installed via Npm.depends that export ESM modules.
2019-05-04 18:08:49 -04:00
Ben Newman
9a4fa16db9 Merge branch 'devel' into release-1.8.2 2019-05-03 14:29:48 -04:00
Ben Newman
f166f226d8 Support the "module" field of package.json for client code. (#10541)
Supporting "module" in package.json for server code is not advisable
because Node.js will be adopting the "type":"module" convention instead,
and in the meantime we need to maintain consistency with Node's module
resolution rules, which only currently pay attention to "main":
https://medium.com/@nodejs/announcing-a-new-experimental-modules-1be8d2d6c2ff
2019-05-02 18:30:13 -04:00
Ben Newman
35ca6980dc Use is-reachable to detect child process health in self-test.
On Linux, child processes that have exited may remain as <defunct>
"zombie" processes, which prevents process.kill(childPid, 0) from
throwing, so we need a different trick for detecting whether the child
process is still alive.
2019-05-02 17:10:41 -04:00
Ben Newman
4b0e4f8b0d Add package.json to tools/tests/apps/app-prints-pid.
The SIGKILL self-test in tools/tests/run.js has been failing recently
because @babel/runtime can't be found when the app-prints-pid app starts
up, which prevents the app from polling the parent process correctly.
2019-05-02 15:24:57 -04:00
Ben Newman
b0a8e1bfaf Increase arbitrary SIGKILL timeout to make self-test more robust. 2019-05-02 13:44:49 -04:00
Ben Newman
5e24494e01 Update dynamic import test app to Meteor 1.8.1 and meteor-node-stubs@1.0.0. 2019-04-10 19:18:36 -04:00
Ben Newman
07815583f1 Update modules test app to Meteor 1.8.1 and meteor-node-stubs@1.0.0. 2019-04-10 19:18:36 -04:00
Ben Newman
44e293b741 Merge branch 'devel' into release-1.8.1 2019-03-19 13:10:35 -04:00
Ben Newman
642be6dc38 Attempt to fix tests by reverting puppeteer from 1.12.1 to 1.6.2.
Tests have started failing for reasons that may be related to puppeteer's
Meteor process management: https://circleci.com/gh/meteor/meteor/31035

Since I can't identify any other possible causes, using the same version
of puppeteer that other tests use (e.g. modules, dynamic-import) seems
like a reasonable first step.

Also updated puppeteer in tests/apps/app-config/package-lock.json to
version 1.6.2 (was 1.3.0), in an attempt to fix some unhandled promise
rejection warnings: https://circleci.com/gh/meteor/meteor/31063
2019-03-04 14:28:12 -05:00
Ben Newman
0f4802883a Attempt to fix tests by reverting puppeteer from 1.12.1 to 1.6.2.
Tests have started failing for reasons that may be related to puppeteer's
Meteor process management: https://circleci.com/gh/meteor/meteor/31035

Since I can't identify any other possible causes, using the same version
of puppeteer that other tests use (e.g. modules, dynamic-import) seems
like a reasonable first step.

Also updated puppeteer in tests/apps/app-config/package-lock.json to
version 1.6.2 (was 1.3.0), in an attempt to fix some unhandled promise
rejection warnings: https://circleci.com/gh/meteor/meteor/31063
2019-02-04 15:46:19 -05:00
Ben Newman
a96241911a Address review feedback from @glasser. 2019-02-04 14:22:29 -05:00
Ben Newman
2486743aab Expose Meteor.gitRevision for even easier access. 2019-02-04 13:21:06 -05:00
Ben Newman
ccab56380a Add a self-test of gitRevision extraction. 2019-02-04 12:06:45 -05:00
Ben Newman
5e26ebb6a9 Update cordova-{android,ios} to latest versions.
This version of cordova-android includes the PR that previously required
us to fork the package: https://github.com/apache/cordova-android/pull/417

The cordova-ios update is just 4.5.4 => 4.5.5, so hopefully entirely
backwards compatible. :crossed-fingers:
2019-01-14 15:58:10 -05:00
Ben Newman
cdb5854662 Merge branch 'devel' into release-1.8.1 2019-01-14 10:42:51 -05:00
Ben Newman
20da99c219 Do not treat client and server directories specially in packages. (#10414)
Fixes #10393.

Bumping compiler.BUILT_BY and LINKER_CACHE_SALT because
PR #10414 changes the behavior of the build system in a subtle way that
does not automatically trigger recompilation.
2019-01-11 16:52:23 -05:00
Ben Newman
991ff6d620 Merge branch 'devel' into release-1.8.1 2019-01-10 11:32:02 -05:00
Ben Newman
dea96ecac6 Fix #10409 by ignoring self-referential browser aliases in package.json. 2019-01-10 11:31:49 -05:00
Ben Newman
e25415927f Merge branch 'devel' into release-1.8.1 2019-01-06 19:10:45 -05:00
Ben Newman
fb2146cb3b Stop excluding test modules when meteor.testModule found in package.json. (#10402)
New Meteor apps have the following meteor.testModule in their package.json
files by default

  "meteor": {
    "testModule": "tests/main.js"
  }

When meteor.testModule is defined, it determines the test entry point when
running the `meteor test` command, ignoring legacy file naming conventions
like *.tests.js or *.app-tests.js.

The package-source.js code changed by this commit was incorrect because it
ignored those specially-named test files even when running tests, which
was a problem if the meteor.testModule tried to import them explicitly,
because they would not be properly compiled.

If you're using meteor.testModule, the distinction between `meteor test`
and `meteor test --full-app` matters a bit less, since the test entry
point will be the same for both modes, though you can still check
Meteor.isTest and Meteor.isAppTest at runtime to control test behavior.
2019-01-06 15:02:48 -05:00
Ben Newman
aaeb2a7c2c Pass --enableFreeMonitoring off to Mongo 4 shell, except on Linux. 2019-01-05 16:27:20 -05:00
Ben Newman
bcf6bf2cfc Wait until test app is running before starting Mongo shell. 2019-01-05 15:04:30 -05:00
Ben Newman
6c87f68116 Fix mongo tests by adding a package.json to standard-app. 2019-01-05 12:45:22 -05:00
Ben Newman
4859f426dd Adjust timeouts to help Mongo self-tests pass reliably. 2019-01-04 14:13:25 -05:00
Christian Klaussner
0e9660097d Update self-tests for mongo-free autoupdate 2018-11-03 13:32:01 -04:00
Ben Newman
c96278700d Fix compiler plugins self-tests by waiting for lazy compilation to finish. 2018-10-31 10:41:31 -04:00