Commit Graph

363 Commits

Author SHA1 Message Date
Ben Newman
54ededfa3c Update typescript in dev bundle to version 3.7.3. 2019-12-18 12:45:07 -05:00
Ben Newman
124f2b9ac1 Update npm to 6.13.4 and pacote to 9.5.11.
https://nodejs.org/en/blog/vulnerability/december-2019-security-releases/
2019-12-18 12:40:20 -05:00
Ben Newman
ebdaa230d5 Update meteor-babel to version 7.7.5. 2019-12-18 12:39:57 -05:00
Ben Newman
c071e11032 Update meteor-babel to version 7.7.4.
Should help with #10795.

Also updating the meteor-babel and @babel/runtime versions in the dev
bundle, though there is no need to rebuild the dev bundle immediately.
2019-11-26 13:34:33 -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
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
f5c85a0243 Update typescript and optimism packages to latest versions. 2019-09-23 12:18:26 -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
Ben Newman
ec403b3fe5 Update optimism npm package to latest version (0.11.2). 2019-09-18 11:42:02 -04:00
Ben Newman
c4ad648c5e Update meteor-babel to version 7.6.1. 2019-09-17 21:11:56 -04:00
Ben Newman
5124cb495c Use json5 for optimisticReadJsonOrNull.
Because json5 is more tolerant of non-standards-compliant input, it has no
trouble with \t tab characters outside of string literals, so this change
should fix issue #10688.

Note that json5 is already installed in dev_bundle/lib/node_modules/json5,
because it is a dependency of @babel/core, so we don't need to rebuild the
dev bundle immediately, though it would be a good idea to do so before the
next beta/RC release.
2019-09-07 21:04:29 -04:00
Ben Newman
c8e322e197 Update typescript version to 3.6.2.
Most of these changes came for free with the update of meteor-babel to
version 7.6.0, but a few remaining spots needed to be updated.
2019-09-06 18:43:40 -04:00
Ben Newman
cf5db3626e Update meteor-babel to version 7.6.0. 2019-09-06 18:40:50 -04:00
Ben Newman
5957e046fb Prevent cordova-lib from using its own copy of graceful-fs. 2019-09-05 15:22:52 -04:00
Ben Newman
152afe6bdf Update npm to v6.11.3 and pacote to v9.5.8. 2019-09-05 13:22:31 -04:00
Ben Newman
e497085474 Update meteor-babel and @babel/{runtime,parser} to latest versions.
Among other benefits, this should address #10622.
2019-07-30 14:03:58 -04:00
Ben Newman
40f0161574 Update npm to version 6.10.2, and pacote to 9.5.4. 2019-07-30 13:58:39 -04:00
Chiciuc Nicușor
a1184bdea3 Add @types/semver@5.4.0 to dev-bundle. (#10633) 2019-07-16 11:07:40 -04:00
Ben Newman
4457cd3cd1 Explicitly install version 3.5.3 of typescript in dev bundle.
The typescript package was previously installed as a dependency of
meteor-babel, but it clearly deserves to be a direct dependency.
2019-07-15 11:43:16 -04:00
Ben Newman
122f7e4d2d Update underscore to v1.9.1 and install @types/underscore. 2019-07-15 11:39:35 -04:00
Ben Newman
bd1834c3e3 Update meteor-babel to version 7.5.5. 2019-07-06 13:10:35 -04:00
Ben Newman
71a6e2c2f5 Update meteor-babel to version 7.5.3.
TypeScript is now supported by the actual TypeScript compiler, rather than
by @babel/preset-typescript: https://github.com/meteor/babel/pull/25
2019-07-06 11:27:54 -04:00
Ben Newman
e80189e76b Update meteor-babel to version 7.5.1. 2019-07-05 17:47:18 -04:00
Ben Newman
c632542a04 Update meteor-babel to version 7.5.0. 2019-07-04 15:57:25 -04:00
Ben Newman
cdd8f32196 Update npm to 6.10.0 and pacote to 9.5.1. 2019-07-04 15:02:26 -04:00
Ben Newman
2add249b7c Update reify to version 0.20.11. 2019-07-03 10:59:14 -04:00
Ben Newman
86f0208f41 Update reify to version 0.20.10.
We don't need to build a whole new dev bundle just for this upgrade, since
we've already worked around the bug that it fixes, but it will get picked
up the next time we build the dev bundle for Meteor 1.8.2.
2019-07-02 16:06:34 -04:00
Ben Newman
b3c1e83ef3 Update meteor-babel to version 7.4.18.
This allows us to take advantage of the features.compileForShell option
when compiling code in the `meteor shell` REPL.
2019-07-02 14:30:57 -04:00
Ben Newman
4384fdb917 Update meteor-babel and reify to latest versions.
This ensures we wrap modules with a function to rename the `module`
identifier to something more reliable when the ImportScanner compiles
unanticipated modules imported from node_modules.
2019-07-01 12:43:00 -04:00
Ben Newman
a245003f15 Update optimism to version 0.10.2. 2019-06-28 22:55:10 -04:00
Ben Newman
00387ccce3 Update npm to version 6.9.2. 2019-06-28 15:18:25 -04:00
Ben Newman
0aa35032e8 Update pathwatcher to version 8.1.0. 2019-06-28 15:16:02 -04:00
Ben Newman
b5c49408e4 Update optimism to version 0.10.0. 2019-06-28 15:14:55 -04:00
Ben Newman
df6e2ac43b Update node-pre-gyp to version 0.13.0.
Since PR #10592 updated node-gyp to the latest version, we should update
node-pre-gyp as well.
2019-06-24 11:13:20 -04:00
Ben Newman
7a10dddb2e Update meteor-babel and reify to latest versions. 2019-06-24 11:11:16 -04:00
Ben Newman
f259d553be Update @wry/context to version 0.4.4. 2019-06-23 15:03:39 -04:00
Ben Newman
168468dce3 Update meteor-babel to latest version (7.4.14). 2019-06-23 14:56:18 -04:00
Konstantin
a872401b09 Update dev-bundle-tool-package.js (#10592)
Need to update version "node-gyp" to "5.0.1", due to deprecated packages into 3.7.0
2019-06-23 12:35:54 -04:00
Ben Newman
13048740c8 Update meteor-babel and reify to latest versions, again. 2019-06-23 11:12:39 -04:00
Ben Newman
5c701daba7 Update meteor-babel to latest version (7.4.12), again. 2019-06-20 17:06:43 -04:00
Ben Newman
67c6d2cdd3 Update meteor-babel and reify to latest versions, again. 2019-06-20 13:28:21 -04:00
Ben Newman
4c097321ca Update meteor-babel and reify to latest versions, again. 2019-06-20 12:11:29 -04:00
Ben Newman
de14b380c5 Update meteor-babel and reify to latest versions. 2019-06-20 12:11:29 -04:00
Ben Newman
c73ac1c844 Update reify and @babel/runtime to latest versions in dev bundle.
We ended up with two different versions of the reify package (0.19.0 and
0.19.1) in the last build of the dev bundle, which seems to have caused
the test failures.
2019-05-16 13:10:28 -04:00
Ben Newman
4155a01e57 Update meteor-babel and reify versions in dev bundle. 2019-05-15 19:06:23 -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
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
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
f096796a8f Update optimism and @wry/context to latest versions. 2019-04-12 14:37:19 -04:00
Ben Newman
ca3caa9c8f Update optimism and explicitly depend on @wry/context and tslib. 2019-04-10 18:34:30 -04:00