Commit Graph

22206 Commits

Author SHA1 Message Date
Ben Newman
e94739f7e8 Bump package versions for 1.8.2-rc.0 release. 🎉 release/METEOR@1.8.2-rc.0 2019-09-19 11:54:49 -04:00
Ben Newman
810c8ea89b Update core-js to version 3.2.1. 2019-09-19 11:01:17 -04:00
Ben Newman
6c3ce7baa6 Update terser minifier to version 4.3.1. 2019-09-19 10:51:51 -04:00
Ben Newman
de01ab1a09 Pass tsconfig.json path to meteor-babel via features.typescript.
This information is not used by meteor-babel, yet, but it will become
important as Meteor's TypeScript support begins to honor tsconfig.json.
2019-09-19 10:51:51 -04:00
Ben Newman
c61c75b0e8 Include checksum of meteor script in .babel-cache CircleCI cache key. 2019-09-19 10:51:51 -04:00
Ben Newman
403d5cabd7 Merge pull request #10695 from meteor/meteor-create-typescript-skeleton
Allow creating Meteor apps with --typescript skeleton.
2019-09-19 10:34:34 -04:00
Ben Newman
63bb2cbac6 Invalidate AppVeyor .babel-cache cache when BUNDLE_VERSION changes. 2019-09-19 10:12:48 -04:00
Ben Newman
ee62fd419e Mention TypeScript support and skeleton app in History.md. 2019-09-19 09:41:23 -04:00
Ben Newman
2468d17fec Allow creating Meteor apps with --typescript skeleton.
Just as developers can run

  meteor create --react my-react-app
  meteor create --minimal my-minimal-app
  meteor create --bare my-bare-app
  meteor create --full my-full-app

they can now run

  meteor create --typescript my-typescript-app

to produce a new TypeScript application, based on the --react application,
configured using a recommended tsconfig.json file.

This app represents the current best/simplest-known way to set up a
Meteor-compatible TypeScript application, but it is still very much a work
in progress. Please feel free to submit pull requests to improve it, or
create issues to discuss how it should work.

For example, the community-maintained @types/meteor package covers all the
core packages used by this starter application, but it has not been
updated in a while, so there will no doubt be meteor/* packages with
missing types. In future versions, Meteor should ideally generate the
appropriate .d.ts files from TypeScript package source code, so that no
separate @types/meteor/* declarations need to be maintained.
2019-09-19 09:27:23 -04:00
Ben Newman
f9c498adb8 Improve the shouldWatch function in tools/fs/optimistic.ts. (#10693)
This function determines whether the optimistic caching system should
subscribe to file change notifications for a given path.

Note that Meteor has other ways of watching for file changes (e.g. the
WatchSet abstraction), as well as other mechanisms for invalidating cached
results, so time and resources can often be saved by returning false here,
if we know that the path will be watched in other ways.

Improvements:

- Add METEOR_PROFILE instrumentation to the shouldWatch implementation.

- Stop exporting shouldWatch, since it is no longer used anywhere else in
  the codebase.

- Return false early to avoid watching files inside the .meteor directory,
  a significant shortcut.

- Allow watching files in application node_modules directories that are
  not located directly in the root application directory (closes #10664).
2019-09-18 16:19:02 -04:00
Ben Newman
7bc5b5b061 Use dep API from optimism instead of wrap in a few places.
Background: https://github.com/benjamn/optimism/pull/50
2019-09-18 12:08:30 -04:00
Ben Newman
f22bfec527 Bump $BUNDLE_VERSION to 8.16.1.2 before rebuilding dev bundle. 2019-09-18 11:42:02 -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
6b1e1f7a4f Bump $BUNDLE_VERSION to 8.16.1.1 before rebuilding dev bundle. 2019-09-06 19:12:35 -04:00
Ben Newman
9fb6b9cd89 Bump package versions for 1.8.2-beta.18 release. release/METEOR@1.8.2-beta.18 2019-09-06 18:53:04 -04:00
Ben Newman
7bf1b3cbc5 Update 'meteor create --react' react[-dom] versions to 16.9.0. 2019-09-06 18:45:04 -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
e4101e1f0a Go back to using LRU cache for findImportedModuleIdentifiers.
Should fix #10674.
May help with #10608.

cc @houshuang @klaussner
2019-09-06 18:29:14 -04:00
Ben Newman
5a765e9b47 Update npm dependencies of minifier-css package. 2019-09-06 18:29:14 -04:00
Ben Newman
3c049a80db Merge pull request #10686 from meteor/conservative-server-restart
Avoid restarting server in development when changed file(s) not used by server bundle.
2019-09-06 18:00:17 -04:00
Ben Newman
72724fe745 Mention PR #10686 in History.md. 2019-09-06 17:41:23 -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
b3d88944ae Explicitly track potentially unused WatchSet files.
The previous implementation simply avoided calling watchSet.addFile for
potentially unused files, trusting that addFile would be called later if
the file was eventually used. However, this strategy left the contents of
watchSet.files incomplete for tasks such as IsopackCache._checkUpToDate,
which require full information about all files, even the ones that might
not be used by the bundle. The new strategy maintains metadata about
potentially unused files in a separate data structure, which will be
merged/cloned/serialized/deserialized along with other WatchSet data.
2019-09-06 16:24:41 -04:00
Ben Newman
4084848d2f Add files to unibuild.watchSet only if needed by unibuild.arch.
Most importantly, this change means that changes to files not used by the
server bundle will not trigger a server restart.

Fixes #10449 by implementing the strategy I described in this comment:
https://github.com/meteor/meteor/pull/10414#issuecomment-481293530
2019-09-05 18:44:19 -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
d58fffdd0a Bump $BUNDLE_VERSION to 8.16.1.0 before rebuilding dev bundle. 2019-09-05 13:23:47 -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
177c68f68c Update Node.js to version 8.16.1.
https://nodejs.org/en/blog/release/v8.16.1/
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.16.1
2019-09-05 13:18:07 -04:00
Ben Newman
d276ef7c30 Bump package versions for 1.8.2-beta.16 release. release/METEOR@1.8.2-beta.17 2019-07-30 14:04:32 -04:00
Ben Newman
b68f057dc9 Bump $BUNDLE_VERSION to 8.16.0.24 before rebuilding dev bundle. 2019-07-30 14:04:32 -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
Michael Newman
26c0d5cf16 Convert tools/console/progress.js to TypeScript (#10650) 2019-07-26 09:22:19 -04:00
Chiciuc Nicușor
a6d454b760 Convert func-utils.js to TypeScript (#10631) 2019-07-26 09:21:23 -04:00
Michael Newman
e0eb210194 Convert tools/utils/processes.js to tools/utils/processes.ts (#10627) 2019-07-25 17:34:13 -04:00
Michael Newman
f8ba7a96fe Convert tools/utils/mongo-exit-codes to TypeScript (#10625) 2019-07-21 12:02:29 -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
18ee25256a Bump $BUNDLE_VERSION to 8.16.0.23 before rebuilding dev bundle. 2019-07-21 10:39:37 -04:00
Ben Newman
a811d1255b Convert tools/isobuild/import-scanner.js to TypeScript. (#10635) 2019-07-19 18:34:03 -04:00
afrokick
2db8d07791 Convert tools/shell-client.js to TypeScript (#10619) 2019-07-16 11:10:17 -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
a3b13705c5 Bump package versions for 1.8.2-beta.16 release. release/METEOR@1.8.2-beta.16 2019-07-15 12:52:52 -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
James Burgess
480c5d5a56 Avoid use of forEach in Base64 encode method (#10629)
For strings we convert to Uint8Array, which does not support forEach on
any version of IE, and is not polyfilled by default.
2019-07-15 12:38:10 -04:00
Ben Newman
e299c86ecf Assume npx (as in meteor npx ...) is a valid command.
Sometimes, before dev_bundle/bin/.meteor-commands.json has been written, a
command like `./meteor npx tsc` can fail because `npx` is not blessed in
the same way `node` and `npm` are. Since `npx` is a core tool that we want
folks to be able to use without confusion, I think it makes sense to
include it in the list of known subcommands.
2019-07-15 12:32:49 -04:00