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

28 lines
1.3 KiB
Markdown

# 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.