Commit Graph

1436 Commits

Author SHA1 Message Date
Ben Newman
c90246d55b Merge branch 'devel' into release-1.9 2019-11-26 15:46:38 -05:00
seke
a87e9116e6 Fix old-style tests 2019-11-26 15:31:13 -05:00
Ben Newman
cf8dbf1c37 Add static-html compiler plugin to custom-minifier test app. 2019-11-26 12:58:49 -05:00
Ben Newman
f6fcd620a7 Add a package.json to custom-minifiers test app.
Self-tests involving this test app were failing because of an undefined
jQuery reference on the client.
2019-11-26 12:49:23 -05:00
Ben Newman
0af5c64bd1 Update modules test app to Meteor 1.8.2. 2019-11-14 17:21:02 -05:00
Ben Newman
edbaeae98b Merge branch 'release-1.8.2' into release-1.9 2019-11-12 19:47:30 -05:00
Ben Newman
1b9fec3f8d Tolerate variable startup message order in static-html self-test. 2019-11-12 12:52:39 -05:00
Ben Newman
41868fa165 Attempt to make static-html self-tests less flaky.
Salvaged from PR #10771, which I had to revert because it caused EMFILE
(too many open files) errors on Windows.
2019-11-11 19:35:48 -05:00
Ben Newman
926cba9a77 Revert "Merge pull request #10771 from meteor/copy-directories-asynchronously"
This reverts commit 77a9784929, reversing
changes made to e0ddae2cc7.
2019-11-11 19:35:16 -05:00
Ben Newman
61b2d1710b Attempt to make static-html self-tests less flaky. 2019-11-11 18:41:43 -05:00
Ben Newman
f8de4127da Merge branch 'release-1.8.2' into release-1.9 2019-11-08 20:07:59 -05:00
Ben Newman
bd9043db20 Prefer "main" field of package.json over "module" in legacy bundle.
https://github.com/meteor/meteor/issues/10658#issuecomment-550456095
https://github.com/meteor/meteor/issues/10658#issuecomment-551870115

As usual, changes to module resolution logic need to happen in parallel in
tools/isobuild/resolver.ts and in packages/modules-runtime. However,
thanks to the modern/legacy system, it's easy to make the modules-runtime
package behave exactly the way(s) we want in the server, modern client,
and legacy client bundles.
2019-11-08 11:15:23 -05:00
Ben Newman
f290eef631 Simplify delayed watching of lazy modules. (#10763)
* Avoid modifying unibuild.watchSet in PackageSourceBatch._watchOutputFiles.

Should fix #10736 by preventing old hashes from remaining in
unibuild.watchSet, which was sometimes causing isUpToDate to fail
immediately upon restart.

* Regression test for issue #10736.
2019-11-08 11:08:56 -05:00
Ben Newman
791992375d Merge branch 'release-1.8.2' into release-1.9 2019-09-06 20:41:05 -04:00
Ben Newman
7155feaaa1 Test dependency-tree-based client refresh detection.
Part of #10686.
2019-09-06 17:21:57 -04:00
Ben Newman
b32e44a5d5 Merge branch 'release-1.8.2' into release-1.9 2019-07-30 14:24:09 -04:00
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
53fd2a1f4a Merge branch 'release-1.8.2' into release-1.9 2019-07-04 17:27:51 -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
35efc0fed2 Increase execSync maxBuffer option to fix self-tests. 2019-07-03 14:06:43 -04:00
Ben Newman
a68dc6d977 Merge branch 'release-1.8.2' into release-1.9 2019-07-03 13:30:44 -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
2e309f5639 Merge branch 'release-1.8.2' into release-1.9 2019-06-24 15:48:15 -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
1d4a81c0ee Fix dynamic import(...) self-test.
The assert.deepEqual function is apparently much stricter in Node.js 12,
as it no longer ignores symbols or object prototypes.
2019-05-08 17:14:28 -04:00
Ben Newman
9b68eb7af2 Merge branch 'release-1.8.2' into release-1.9 2019-05-06 12:27:44 -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