Mailspring/packages/client-sync
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
..
images [client-*] Rename packages folders and update readme 2017-02-16 13:31:37 -08:00
spec [client-*] Rename packages folders and update readme 2017-02-16 13:31:37 -08:00
src [client-app, client-sync] Save imap folder names in the client-app 2017-02-17 14:47:10 -08:00
stylesheets [client-*] Rename packages folders and update readme 2017-02-16 13:31:37 -08:00
main.es6 [client-*] Rename packages folders and update readme 2017-02-16 13:31:37 -08:00
package.json [*] move to monorepo 2017-02-16 18:46:26 -08:00
README.md [*] update and add READMEs to each package 2017-02-17 17:28:09 -08:00

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.