Commit Graph

22258 Commits

Author SHA1 Message Date
Ben Newman
a367c9aef5 Bump package versions for 1.8.2-rc.8 release. release/METEOR@1.8.2-rc.8 2019-11-11 19:12:13 -05:00
Ben Newman
b71ab5bec5 Bump compiler.BUILT_BY and LINKER_CACHE_SALT to force rebuild. 2019-11-11 19:12:11 -05:00
arggh
16e31728e4 Update license range for year 2019 (#10699)
Better late than never, right?
2019-11-11 19:04:44 -05:00
Ben Newman
77a9784929 Merge pull request #10771 from meteor/copy-directories-asynchronously
Write files in Builder#_copyDirectory asynchronously.
2019-11-11 19:03:44 -05:00
Ben Newman
61b2d1710b Attempt to make static-html self-tests less flaky. 2019-11-11 18:41:43 -05:00
Ben Newman
c7cc817d69 Use wrapDestructiveFsFunc for files.promises.writeFile. 2019-11-11 17:39:35 -05:00
Ben Newman
cf04e051e3 Write files in Builder#_copyDirectory asynchronously.
Using fs.writeFileSync in a serial style becomes especially costly when
we're writing a lot of files. In a recent profiling exercise I did on
Windows, nearly 80% of the time taken by Builder#_copyDirectory was spent
just closing the written files. By using the asynchronous fs.writeFile
function, we should be able to parallelize at least some of this work, and
await all the promises at the very end of copying the directory.
2019-11-11 17:26:03 -05:00
Ben Newman
e0ddae2cc7 Bump $BUNDLE_VERSION to 8.16.2.2 before rebuilding dev bundle. 2019-11-08 20:04:38 -05:00
Ben Newman
bbd5a12787 Update npm to v6.13.0 and pacote to v9.5.9. 2019-11-08 18:56:28 -05:00
Ben Newman
aec3bc76e3 Bump package versions for 1.8.2-rc.7 release. release/METEOR@1.8.2-rc.7 2019-11-08 16:33:29 -05:00
Ben Newman
e4597b1e08 Merge pull request #10765 from meteor/prefer-main-over-module-in-legacy-bundle
Prefer "main" field of package.json over "module" in legacy bundle.
2019-11-08 11:51:23 -05:00
Ben Newman
ecb241cab2 Update History.md to reflect PR #10765. 2019-11-08 11:36:19 -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
37b1683fbc Centralize legacy arch logic in tools/utils/archinfo.ts. 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
8da7f3bfe9 Merge pull request #10543 from brucejo75/accounts_call_onLogin_callbacks_startup
[fix #10157] Make sure onLogin callbacks are called during startup.
2019-11-06 10:57:10 -05:00
Ben Newman
ec0ed4dec9 Simplify _startupCallback by passing callback rather than ID. 2019-11-06 10:23:16 -05:00
brucejo
e17b52afac Call onLogin callbacks during registration if already logged in.
Fixes #10157.
2019-11-06 10:16:26 -05:00
Ben Newman
00564ac2ad Bump package versions for 1.8.2-rc.6 release.
I made a small mistake publishing rc.5 (forgot to bump
meteor-release-experimental.json), so it seemed simpler to skip straight
to rc.6.
release/METEOR@1.8.2-rc.6
2019-11-05 17:27:36 -05:00
Ben Newman
766fa0296b Bump $BUNDLE_VERSION to 8.16.2.1 before rebuilding dev bundle. 2019-11-05 16:52:43 -05:00
Ben Newman
9aebc580b7 Stop creating @babel/runtime/helpers/builtin junction on Windows.
Although I managed to make this work somewhat better in my previous
commit, we still have to create a .tar.gz archive of the dev bundle, and
7z appears not to handle junction points very well. I think it will be
much simpler to avoid the helpers/builtin symlinking hack on Windows.
2019-11-05 16:39:59 -05:00
Ben Newman
8fb3396e2e Invert double and single quotes in Windows symlink operation. 2019-11-05 16:39:59 -05:00
Ben Newman
8129af6015 Avoid using console.error on success in Windows dev bundle scripts.
The scripts/generate-dev-bundle.ps1 script fails if any external command
logs to STDERR instead of STDOUT, apparently.
2019-11-05 16:39:59 -05:00
Ben Newman
241ba1de0f Update meteor-babel to version 7.7.0.
Note that typescript has been updated to version 3.7.2 as part of this
update: https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-rc/
2019-11-05 11:39:18 -05:00
Ben Newman
dea305ca4a Set a higher LRU cache size for makeCheapPathFunction entries.
In PR #10720, we introduced the makeCheapPathFunction in an effort to
reduce the caching overhead for very frequently called (and already pretty
quick) operations like files.stat.

However, the default maximum LRU cache size of Math.pow(2, 16) can cause
quite a bit of cache eviction churn for large applications, which @veered
has identified as a potential source of build performance problems.

By setting the maximum cache size to Math.pow(2, 20) instead, I am no
longer seeing any files.stat calls in the profiling output for rebuilding
a large internal app, saving several seconds of rebuild time. The obvious
downside is that this cache might accumulate more memory over time, which
is why I didn't just set the max to Infinity, though that might be a
viable option if the total set of paths ever stat'd is small enough to fit
into the available memory.

In the future, I hope to find ways of managing LRU cache size that respond
to actual memory pressure (relative to available memory), rather than
pruning the cache after an arbitrary numeric threshold is reached.
2019-11-05 11:19:43 -05:00
David Glasser
3e9e11d76c tools/deploy: provide more context for version-status errors (#10670)
Also only print the error once on failure.
2019-11-05 10:01:53 -05:00
filipenevola
ebeb7f6879 - adds break change on 1.8.2 history about variables named exports 2019-11-04 07:41:27 -03:00
filipenevola
1761ea02c5 - adds break change on 1.8.2 history about variables named exports 2019-11-04 07:36:55 -03:00
Ben Newman
19f00eef81 Bump package versions for 1.8.2-rc.4 release. release/METEOR@1.8.2-rc.4 2019-10-24 19:36:39 -04:00
Ben Newman
9b4e742516 Bump $BUNDLE_VERSION to 8.16.2.0 before rebuilding dev bundle. 2019-10-24 19:36:34 -04:00
Ben Newman
1cf59867b2 Remove no-longer-necessary noYieldsAllowed wrapper from loadIsopackage. 2019-10-24 19:36:32 -04:00
Ben Newman
7fb7fcdd6d Work around incorrect fs.statSync type inference. 2019-10-24 19:36:32 -04:00
Ben Newman
f42d6db609 Update Node.js to version 8.16.2.
https://nodejs.org/en/blog/release/v8.16.2/
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.16.2
2019-10-24 18:57:13 -04:00
Ben Newman
354c65e7aa Bump webapp package patch version to 1.7.5 after PR #10711. 2019-10-24 18:55:44 -04:00
Ben Newman
56c21a9796 Attempt to make optimisticStatOrNull less expensive. (#10720) 2019-10-24 18:55:12 -04:00
Ben Newman
4a159066d6 Merge pull request #10730 from filipenevola/cannot-find-module-dynamic-imports
Fixes `cannot find module` error when using dynamic imports in massive projects
2019-10-24 18:45:13 -04:00
Florian Kaiser
11ef927252 Remove qs-middleware from webapp package to avoid license issues (#10711)
Closes #10707.
2019-10-24 18:33:34 -04:00
Ben Newman
11e60dc22e Finish converting changes from PR #10730 to TypeScript. 2019-10-24 18:17:41 -04:00
filipenevola
bbd256ffd1 Fix "Cannot find module" error when using dynamic and nested imports.
Fixes #10643.
2019-10-24 18:09:29 -04:00
Ben Newman
8c187586ae Update typescript plugin patch version to match npm version. 2019-09-23 12:50:46 -04:00
Ben Newman
8dd87a6636 Bump package versions for 1.8.2-rc.3 release. release/METEOR@1.8.2-rc.3 2019-09-23 12:26:57 -04:00
Ben Newman
ef289cf044 Bump $BUNDLE_VERSION to 8.16.1.3 before rebuilding dev bundle. 2019-09-23 12:20:00 -04:00
Ben Newman
f5c85a0243 Update typescript and optimism packages to latest versions. 2019-09-23 12:18:26 -04:00
Ben Newman
a102e5fe37 Use optimisticStatOrNull in readAndStatDirectory.
This drastically (by more than half) cuts down the number of calls to
files.stat that occur during PackageSource#_findSources scanning.
2019-09-23 12:02:32 -04:00
Ben Newman
62faa518a0 Bump package versions for 1.8.2-rc.2 release. release/METEOR@1.8.2-rc.2 2019-09-23 10:06:43 -04:00
Ben Newman
48d27202e7 Skip watching output files without absPath or sourcePath properties.
https://github.com/meteor/meteor/pull/10522#issuecomment-533393100
2019-09-22 11:50:52 -04:00
Ben Newman
c0f3222ea5 Bump package versions for 1.8.2-rc.1 release. release/METEOR@1.8.2-rc.1 2019-09-19 19:09:38 -04:00
Ben Newman
9cba123401 Restore CLI progress messages by revisiting progress.ts conversion.
I noticed recently that progress messages were no longer displayed (though
the ASCII spinner was still animating). I bisected the problem to the
progress.ts conversion in #10650, and I attempted to reproduce the
conversion, step by step. The problem ended up being the renaming of
._title to .title, which was a mistake because external code accesses
progress._title. Once I updated those invasive access points, progress
messages began displaying once again.
2019-09-19 19:01:33 -04:00
Ben Newman
df3fac2e1f Sanitize risky whitespace characters to recover from failed JSON.parse.
Partial alternative to using json5, which we tried in commit
5124cb495c, which was recently reverted due
to performance concerns: 0e19c365a8.

Should solve the specific problem reported in #10688.
2019-09-19 16:14:56 -04:00
Ben Newman
0e19c365a8 Revert "Use json5 for optimisticReadJsonOrNull."
This reverts commit 5124cb495c.

Perhaps unsurprisingly, JSON5 is much slower than JSON, so much so that
"other optimisticReadJsonOrNull" has become the single most expensive leaf
when building one of our internal applications. We will have to find
another solution.
2019-09-19 15:15:47 -04:00