Commit Graph

22214 Commits

Author SHA1 Message Date
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
Ben Newman
37f363177e Update coffeescript to use version 2.4.1. 2019-09-19 14:51:41 -04:00
Ben Newman
d0781233e8 Install typescript in devDependencies of skel-typescript.
This is important so that tools like VSCode will pick up the correct
version of the TypeScript SDK, rather than whatever default version was
installed with VSCode.
2019-09-19 13:22:22 -04:00
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