Mailspring/packages/client-sync/README.md
Evan Morikawa 27c08d86e7 [*] update and add READMEs to each package
Summary:
Adding READMEs for easy and helpful browsing on GitHub.
Also add missing script and `--interpreter` flag

Test Plan: Run new launch commands

Reviewers: mark, spang, juan, halla

Reviewed By: spang, juan, halla

Differential Revision: https://phab.nylas.com/D3971
2017-02-17 17:28:09 -08:00

1.3 KiB

Client Sync

This is the mail sync engine that runs within the Nylas Mail client

It is symlinked in as an internal_package of Nylas Mail via the postinstall script of the root repo.

Important Usage Notes:

Since this is symlinked in as an internal_package of Nylas Mail, there are a handulf of considerations when developing in client-sync. Some common gotchas:

  • You MAY use NylasEnv, NylasExports and other injected libraries in the Nylas Mail client environment.
  • You MAY use any 3rd party library declared in client-app/package.json. Since this gets added as a plugin of the Nylas Mail client, you'll have access to all libraries. This works because the client-app/node_modules was added to the global require paths. That lets us access client-app plugins without being a file directory decendent of client-app (client-sync is now a sibling of client-app)
  • You may NOT add "dependencies" to the client-sync/package.json. If you need a 3rd party library, add it to the main client-app/package.json. All Nylas Mail plugins (those inside of internal_packages), may no longer declare their own dependencies.
  • You should be aggressive at moving generic mail methods to isomorphic-core. We may eventually want to make large chunks of client-sync work in a cloud environment as well.