Commit Graph

21994 Commits

Author SHA1 Message Date
Ben Newman
e680804ffc Wrap fs.copyFile[Sync] rather than reimplementing it. (#10542)
Should help prevent noYieldsAllowed errors due to the Promise#await call
in the removed copyFileHelper function, which is what caused 1.8.2-beta.0
to fail to publish on Linux (reported in #10540).
2019-05-02 13:48:02 -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
f4b92a004e Bump package versions for 1.8.2-beta.0 release. release/METEOR@1.8.2-beta.0 2019-04-26 19:49:03 -04:00
Ben Newman
0482e66117 Bump $BUNDLE_VERSION to 8.16.0.1 before rebuilding dev bundle. 2019-04-26 18:55:08 -04:00
Ben Newman
114a348bb3 Convert programs/server/debug.js to TypeScript.
Another tiny module (like tools/isobuild/css-modules.ts) that proves we
can use TypeScript in programs/server/* code.
2019-04-26 18:55:08 -04:00
Ben Newman
c9ba0f3a22 Install latest Reify runtime in programs/server/main.js.
Also updated meteor-babel in the dev bundle to depend on reify@0.18.1, to
be consistent with the version used by server code.
2019-04-26 18:55:08 -04:00
Ben Newman
4ff27f8a52 Use Builder#copyTranspiledModules to compile .js and .ts files with Babel. 2019-04-26 18:55:07 -04:00
Ben Newman
e3aecf2bc1 Bump $BUNDLE_VERSION to 8.16.0.0 before rebuilding dev bundle. 2019-04-23 19:21:57 -04:00
Ben Newman
15ba990d72 Update Node.js to version 8.16.0.
https://nodejs.org/en/blog/release/v8.16.0/
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.16.0
2019-04-23 19:21:57 -04:00
Ben Newman
59c66baa9b Convert tools/static-assets/server/mini-files.js to module. 2019-04-23 19:21:57 -04:00
Ben Newman
f0192a82d9 Stop using mini-files.js in non-Babel-compiled code. 2019-04-23 19:21:57 -04:00
Ben Newman
154ca31faa Enable compilation of tools/static-assets/server. 2019-04-22 13:50:07 -04:00
Ben Newman
20273d72e9 Bump package versions for 1.8.2-alpha.1 release. release/METEOR@1.8.2-alpha.1 2019-04-14 14:27:07 -04:00
Ben Newman
5d52ff2685 Merge pull request #10528 from meteor/enable-TypeScript-compilation-of-meteor/tools
Enable TypeScript compilation of .ts modules in meteor/tools.
2019-04-14 14:25:28 -04:00
Ben Newman
543bed4e0b Convert tools/isobuild/css-modules.js to TypeScript.
Choosing this module first because it's tiny and only imported twice.
2019-04-14 14:00:48 -04:00
Ben Newman
257b2d62d3 Bump $BUNDLE_VERSION to 8.15.1.7 before rebuilding dev bundle. 2019-04-14 13:15:03 -04:00
Ben Newman
798a155c64 Enable Babel-powered TypeScript compilation of meteor/tools.
These changes pave the way for incrementally converting the implementation
of Meteor's command-line tool to TypeScript, which should have profound
benefits for self-documentation via types, as well as substantially
improving navigability and approachability for community contributors.

Just imagine being able to auto-complete the fields of the various
File-like classes currently floating around the codebase, instead of
having to track down their implementations every time. TypeScript was
designed with large projects like Meteor in mind, and it seems
increasingly irresponsible to forgo the benefits of a type system by
relying on the expertise of a few core contributors who know the codebase
inside and out. I am one of those few people, and I am very excited to
have the assistance of a type system, so I can only imagine how
transformative and empowering it will be for everyone else.

If you've ever wanted to get involved in core Meteor development, picking
a few meteor/tools modules to convert to TypeScript is a great way to get
to know that part of the codebase, while also making things easier for
everyone else who interacts with that code in the future.

Because we already compile meteor/tools using Babel, it makes the most
sense to use Babel's @babel/preset-typescript to compile .ts files:
https://babeljs.io/docs/en/next/babel-preset-typescript.html

Using Babel also means we get to keep all of our current advanced
compilation strategies, such as using Reify to compile module syntax:
https://www.npmjs.com/package/reify

Since we're using Babel, the meteor/tools/tsconfig.json file exists mostly
for the benefit of external tools like VSCode, rather than as a source of
truth for compilation behavior.

Despite our existing convention of including explicit .js file extensions
when importing modules, TypeScript and VSCode strongly encourage omitting
the file extension, so the import can be resolved to a .ts file in
development or a .js file when compiled. Although I find this ambiguity
somewhat unfortunate, it makes sense to follow community norms, at least
until Node.js begins supporting .ts modules by default.
2019-04-14 13:06:49 -04:00
Ben Newman
588d037ca6 Bump package versions for 1.8.2-alpha.0 release. release/METEOR@1.8.2-alpha.0 2019-04-12 19:34:13 -04:00
Ben Newman
96778efcc8 Shorten meteor/context summary. 2019-04-12 19:24:38 -04:00
Ben Newman
b510327f9c Add a basic summary and README.md to meteor/context. 2019-04-12 19:18:01 -04:00
Ben Newman
312dc29da7 Bump $BUNDLE_VERSION to 8.15.1.6 before rebuilding dev bundle. 2019-04-12 17:02:53 -04:00
Ben Newman
664560d8bb Implement basic meteor/context package with @wry/context.
The promise package needs a weak dependency on this package (on the
server) because meteor-promise saves a reference to Fiber.yield, so we
need to have wrapped Fiber.yield with noContext before that happens.
2019-04-12 16:12:51 -04:00
Ben Newman
f096796a8f Update optimism and @wry/context to latest versions. 2019-04-12 14:37:19 -04:00
Ben Newman
466cda693e Use wrapYieldingFiberMethods from @wry/context. 2019-04-10 18:48:10 -04:00
Ben Newman
d1f8bca88b Bump $BUNDLE_VERSION to 8.15.1.5 before rebuilding dev bundle. 2019-04-10 18:35:14 -04:00
Ben Newman
ca3caa9c8f Update optimism and explicitly depend on @wry/context and tslib. 2019-04-10 18:34:30 -04:00
Ben Newman
5adb7c64ab Wrap Fiber.prototype.{run,throwInto} as well as Fiber.yield.
ddebed9b8a/fibers.js (L97-L100)
2019-04-10 17:14:26 -04:00
Ben Newman
bb83acb286 Bump $BUNDLE_VERSION to 8.15.1.4 before rebuilding dev bundle. 2019-04-10 14:46:34 -04:00
Ben Newman
0383f01c63 Update optimism and use noContext to isolate Fiber contexts.
The optimism package no longer knows anything about Fibers, but it does
export various helpers for managing execution contexts, one of which
(noContext) allows us to censor the current context for the duration of a
function call. By wrapping Fiber.yield with noContext, we keep distinct
Fibers from accidentally registering cache dependencies on one another.
2019-04-10 14:42:34 -04:00
Ben Newman
b60101de86 Merge pull request #10517 from meteor/update-meteor-babel-to-7.4.3
Use meteor-babel@7.4.3 to compile meteor/tools (but not application or package code, yet).
2019-04-10 12:24:09 -04:00
Ben Newman
e6c3fb66c8 Bump $BUNDLE_VERSION to 8.15.1.3 before rebuilding dev bundle. 2019-04-10 11:05:57 -04:00
Ben Newman
3c225033ae Undo babel-compiler upgrade but keep meteor/tools using 7.4.3.
Until this issue is addressed: https://github.com/babel/babel/issues/9720
2019-04-10 11:03:53 -04:00
Ben Newman
a059f0b868 Bump $BUNDLE_VERSION to 8.15.1.2 before rebuilding dev bundle. 2019-04-08 15:54:24 -04:00
Ben Newman
7567fbca06 Update meteor-babel and babel-compiler to version 7.4.3. 2019-04-08 15:45:13 -04:00
Ben Newman
456314f002 Bump ecmascript version to 0.12.7.
This version was published specifically using Meteor 1.8.1, so that it
includes babel-compiler@7.3.4 instead of 7.2.4.
2019-04-02 20:32:17 -04:00
Ben Newman
5dcd0b2eb9 Merge branch 'master' into devel 2019-04-02 20:21:59 -04:00
Ben Newman
aa686bfafb Merge pull request #10248 from meteor/release-1.8.1
Release 1.8.1
2019-04-02 20:20:50 -04:00
Ben Newman
d376276158 Bump package versions for the official 1.8.1 release. release/METEOR@1.8.1 2019-04-02 18:51:59 -04:00
Ben Newman
8b0256e4e7 Update History.md before final Meteor 1.8.1 release. 2019-04-02 18:51:59 -04:00
Ben Newman
8e16365ea6 Bump package versions for 1.8.1-rc.1 release. release/METEOR@1.8.1-rc.1 2019-03-20 11:06:12 -04:00
Ben Newman
0cfd170d40 Ensure op.ts is defined before calling handleDoc.
Fixes #10420.
2019-03-20 10:35:35 -04:00
Christian Klaussner
238f995cca Mention isMaster command (#10500) in History.md (#10502) 2019-03-20 09:54:06 -04:00
Christian Klaussner
2b21a901a5 Wait until Mongo primary node is writable (#10500)
Using the `isMaster` command instead of checking the replica set member state is more reliable because a node can be a primary without being writable.

Fixes #10381 and #9026.
2019-03-19 19:12:12 -04:00
Ben Newman
7f7545c850 Bump package versions for 1.8.1-rc.0 release.
Now that we've moved into the release candidate phase, there will be no
more new features added to Meteor 1.8.1, and all remaining effort will be
focused on fixing bugs.

Please test the release candidate if you have time, by running the
following command in any application directory:

  meteor update --release 1.8.1-rc.0
release/METEOR@1.8.1-rc.0
2019-03-19 14:24:56 -04:00
Ben Newman
038e35357e Apply reasoning from PR #10402 to package code as well.
Follow-up to fb2146cb3b.

Should fix #10481.
2019-03-19 14:02:03 -04:00
Ben Newman
cc4645ba5a Bump $BUNDLE_VERSION to 8.15.1.1 before rebuilding dev bundle. 2019-03-19 13:24:26 -04:00
Ben Newman
128b7ffa4f Update optimism dependency to latest version (0.8.3). 2019-03-19 13:17:34 -04:00
Ben Newman
5125da518d Update npm to 6.9.0 and pacote to 9.5.0. 2019-03-19 13:16:34 -04:00
Ben Newman
44e293b741 Merge branch 'devel' into release-1.8.1 2019-03-19 13:10:35 -04:00
Ben Newman
30a1913943 Bump versions of recently PR'd core packages.
The PRs in question: #10313, #10429, #10474
2019-03-19 12:58:13 -04:00