dependencies.rst 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. .. raw:: html
  2. <div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/theming.rst">Edit me on GitHub</a></div>
  3. =============================
  4. Starting up a dev environment
  5. =============================
  6. Installing the 3rd party dependencies
  7. =====================================
  8. We use development tools which depend on Node.js and npm (the Node package manager).
  9. If you don't have Node.js installed, you can download and install the latest
  10. version `here <https://nodejs.org/download>`_.
  11. Alternatively you can `use your operating system's package manager to install
  12. Node.js <https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions>`_.
  13. Also make sure you have ``Git`` installed. `See here <http://git-scm.com/book/en/Getting-Started-Installing-Git>`_.
  14. Now use ``git`` to check out the Converse repository:
  15. ::
  16. git clone https://github.com/conversejs/converse.js.git
  17. Now go into the repository checkout and run ``make dev`` in order to set up the
  18. development environment.
  19. ::
  20. cd converse.js
  21. make dev
  22. If you're using Windows, or don't have GNU Make installed, you can run the
  23. following:
  24. ::
  25. cd converse.js
  26. npm install
  27. npm run lerna
  28. This will install the Node.js development tools and Converse's dependencies.
  29. The front-end dependencies are those JavaScript files on which
  30. Converse directly depends and which will be loaded in the browser as part of
  31. the bundle in ``dist/converse.js`` (or ``dist/converse.min.js``).
  32. To see the 3rd party dependencies (not just the front-end dependencies, but
  33. also ones necessary for development tasks like making builds), take a look at
  34. the list under the ``devDependencies`` in `package.json <https://github.com/jcbrand/converse.js/blob/master/package.json>`_.
  35. .. note::
  36. After running ```make dev```, you should now have a new *node_modules* directory
  37. which contains all the external dependencies of Converse.
  38. If this directory does NOT exist, something must have gone wrong.
  39. Double-check the output of ```make dev``` to see if there are any errors
  40. listed. For support, you can ask in our chatroom: `dicuss@conference.conversejs.org <xmpp:discuss@conference.conversejs.org>`_.
  41. If you don't have an XMPP client installed, follow this link to
  42. `conversejs.org <https://conversejs.org/fullscreen#converse/room?jid=discuss@conference.conversejs.org>`_
  43. where you can log in and be taken directly to the chatroom.
  44. .. _`dependency-libsignal`:
  45. Libsignal
  46. ---------
  47. If you want OMEMO encryption, you need to load `libsignal <https://github.com/signalapp/libsignal-protocol-javascript>`_ separately in your page.
  48. For example::
  49. <script src="3rdparty/libsignal-protocol-javascript/dist/libsignal-protocol.js"></script>
  50. The reason libsignal needs to be loaded separately is because it's released
  51. under the `GPLv3 <https://github.com/signalapp/libsignal-protocol-javascript/blob/master/LICENSE>`_
  52. which requires all other dependent JavaScript code to also be open sourced under the same
  53. license. You might not be willing to adhere to those terms, which is why you
  54. need to decide for yourself whether you're going to load libsignal or not.