config.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. var config;
  2. if (typeof(require) === 'undefined') {
  3. /* XXX: Hack to work around r.js's stupid parsing.
  4. * We want to save the configuration in a variable so that we can reuse it in
  5. * tests/main.js.
  6. */
  7. require = { // jshint ignore:line
  8. config: function (c) {
  9. config = c;
  10. }
  11. };
  12. }
  13. require.config({
  14. baseUrl: '.',
  15. paths: {
  16. "almond": "node_modules/almond/almond",
  17. "backbone": "node_modules/backbone/backbone",
  18. "backbone.browserStorage": "node_modules/backbone.browserStorage/backbone.browserStorage",
  19. "backbone.overview": "node_modules/backbone.overview/backbone.overview",
  20. "eventemitter": "node_modules/otr/build/dep/eventemitter",
  21. "jquery": "node_modules/jquery/dist/jquery",
  22. "jquery-private": "src/jquery-private",
  23. "jquery.browser": "node_modules/jquery.browser/dist/jquery.browser",
  24. "jquery.easing": "node_modules/jquery-easing/jquery.easing.1.3.umd", // XXX: Only required for https://conversejs.org website
  25. "moment": "node_modules/moment/moment",
  26. "pluggable": "node_modules/pluggable.js/pluggable",
  27. "strophe": "node_modules/strophe.js/src/wrapper",
  28. "strophe-base64": "node_modules/strophe.js/src/base64",
  29. "strophe-bosh": "node_modules/strophe.js/src/bosh",
  30. "strophe-core": "node_modules/strophe.js/src/core",
  31. "strophe-md5": "node_modules/strophe.js/src/md5",
  32. "strophe-polyfill": "node_modules/strophe.js/src/polyfills",
  33. "strophe-sha1": "node_modules/strophe.js/src/sha1",
  34. "strophe-utils": "node_modules/strophe.js/src/utils",
  35. "strophe-websocket": "node_modules/strophe.js/src/websocket",
  36. "strophe.disco": "components/strophejs-plugins/disco/strophe.disco",
  37. "strophe.ping": "src/strophe.ping",
  38. "strophe.rsm": "components/strophejs-plugins/rsm/strophe.rsm",
  39. "strophe.vcard": "src/strophe.vcard",
  40. "text": "node_modules/text/text",
  41. "tpl": "node_modules/requirejs-undertemplate/tpl",
  42. "typeahead": "components/typeahead.js/index",
  43. "underscore": "node_modules/underscore/underscore",
  44. "utils": "src/utils",
  45. "polyfill": "src/polyfill",
  46. // Converse
  47. "converse-api": "src/converse-api",
  48. "converse-bookmarks": "src/converse-bookmarks",
  49. "converse-chatview": "src/converse-chatview",
  50. "converse-controlbox": "src/converse-controlbox",
  51. "converse-core": "src/converse-core",
  52. "converse-dragresize": "src/converse-dragresize",
  53. "converse-headline": "src/converse-headline",
  54. "converse-mam": "src/converse-mam",
  55. "converse-minimize": "src/converse-minimize",
  56. "converse-muc": "src/converse-muc",
  57. "converse-notification": "src/converse-notification",
  58. "converse-otr": "src/converse-otr",
  59. "converse-ping": "src/converse-ping",
  60. "converse-register": "src/converse-register",
  61. "converse-rosterview": "src/converse-rosterview",
  62. "converse-vcard": "src/converse-vcard",
  63. // Off-the-record-encryption
  64. "bigint": "src/bigint",
  65. "crypto": "src/crypto",
  66. "crypto.aes": "node_modules/otr/vendor/cryptojs/aes",
  67. "crypto.cipher-core": "node_modules/otr/vendor/cryptojs/cipher-core",
  68. "crypto.core": "node_modules/otr/vendor/cryptojs/core",
  69. "crypto.enc-base64": "node_modules/otr/vendor/cryptojs/enc-base64",
  70. "crypto.evpkdf": "components/crypto-js-evanvosberg/src/evpkdf",
  71. "crypto.hmac": "node_modules/otr/vendor/cryptojs/hmac",
  72. "crypto.md5": "components/crypto-js-evanvosberg/src/md5",
  73. "crypto.mode-ctr": "node_modules/otr/vendor/cryptojs/mode-ctr",
  74. "crypto.pad-nopadding": "node_modules/otr/vendor/cryptojs/pad-nopadding",
  75. "crypto.sha1": "node_modules/otr/vendor/cryptojs/sha1",
  76. "crypto.sha256": "node_modules/otr/vendor/cryptojs/sha256",
  77. "salsa20": "node_modules/otr/build/dep/salsa20",
  78. "otr": "src/otr",
  79. // Locales paths
  80. "locales": "src/locales",
  81. "jed": "node_modules/jed/jed",
  82. "af": "locale/af/LC_MESSAGES/converse.json",
  83. "ca": "locale/ca/LC_MESSAGES/converse.json",
  84. "de": "locale/de/LC_MESSAGES/converse.json",
  85. "en": "locale/en/LC_MESSAGES/converse.json",
  86. "es": "locale/es/LC_MESSAGES/converse.json",
  87. "fr": "locale/fr/LC_MESSAGES/converse.json",
  88. "he": "locale/he/LC_MESSAGES/converse.json",
  89. "hu": "locale/hu/LC_MESSAGES/converse.json",
  90. "id": "locale/id/LC_MESSAGES/converse.json",
  91. "it": "locale/it/LC_MESSAGES/converse.json",
  92. "ja": "locale/ja/LC_MESSAGES/converse.json",
  93. "nb": "locale/nb/LC_MESSAGES/converse.json",
  94. "nl": "locale/nl/LC_MESSAGES/converse.json",
  95. "pl": "locale/pl/LC_MESSAGES/converse.json",
  96. "pt_BR": "locale/pt_BR/LC_MESSAGES/converse.json",
  97. "ru": "locale/ru/LC_MESSAGES/converse.json",
  98. "uk": "locale/uk/LC_MESSAGES/converse.json",
  99. "zh": "locale/zh/LC_MESSAGES/converse.json",
  100. "moment_with_locales": "src/moment_locales",
  101. 'moment_af': "node_modules/moment/locale/af",
  102. 'moment_de': "node_modules/moment/locale/de",
  103. 'moment_es': "node_modules/moment/locale/es",
  104. 'moment_fr': "node_modules/moment/locale/fr",
  105. 'moment_he': "node_modules/moment/locale/he",
  106. 'moment_hu': "node_modules/moment/locale/hu",
  107. 'moment_id': "node_modules/moment/locale/id",
  108. 'moment_it': "node_modules/moment/locale/it",
  109. 'moment_ja': "node_modules/moment/locale/ja",
  110. 'moment_nb': "node_modules/moment/locale/nb",
  111. 'moment_nl': "node_modules/moment/locale/nl",
  112. 'moment_pl': "node_modules/moment/locale/pl",
  113. 'moment_pt-br': "node_modules/moment/locale/pt-br",
  114. 'moment_ru': "node_modules/moment/locale/ru",
  115. 'moment_uk': "node_modules/moment/locale/uk",
  116. 'moment_zh': "node_modules/moment/locale/zh-cn",
  117. // Templates
  118. "action": "src/templates/action",
  119. "add_contact_dropdown": "src/templates/add_contact_dropdown",
  120. "add_contact_form": "src/templates/add_contact_form",
  121. "change_status_message": "src/templates/change_status_message",
  122. "chat_status": "src/templates/chat_status",
  123. "chatarea": "src/templates/chatarea",
  124. "chatbox": "src/templates/chatbox",
  125. "chatroom": "src/templates/chatroom",
  126. "chatroom_form": "src/templates/chatroom_form",
  127. "chatroom_bookmark_form": "src/templates/chatroom_bookmark_form",
  128. "chatroom_password_form": "src/templates/chatroom_password_form",
  129. "chatroom_nickname_form": "src/templates/chatroom_nickname_form",
  130. "chatroom_sidebar": "src/templates/chatroom_sidebar",
  131. "chatrooms_tab": "src/templates/chatrooms_tab",
  132. "chats_panel": "src/templates/chats_panel",
  133. "choose_status": "src/templates/choose_status",
  134. "contacts_panel": "src/templates/contacts_panel",
  135. "contacts_tab": "src/templates/contacts_tab",
  136. "controlbox": "src/templates/controlbox",
  137. "controlbox_toggle": "src/templates/controlbox_toggle",
  138. "field": "src/templates/field",
  139. "form_captcha": "src/templates/form_captcha",
  140. "form_checkbox": "src/templates/form_checkbox",
  141. "form_input": "src/templates/form_input",
  142. "form_select": "src/templates/form_select",
  143. "form_textarea": "src/templates/form_textarea",
  144. "form_username": "src/templates/form_username",
  145. "group_header": "src/templates/group_header",
  146. "info": "src/templates/info",
  147. "login_panel": "src/templates/login_panel",
  148. "login_tab": "src/templates/login_tab",
  149. "message": "src/templates/message",
  150. "new_day": "src/templates/new_day",
  151. "occupant": "src/templates/occupant",
  152. "pending_contact": "src/templates/pending_contact",
  153. "register_panel": "src/templates/register_panel",
  154. "register_tab": "src/templates/register_tab",
  155. "registration_form": "src/templates/registration_form",
  156. "registration_request": "src/templates/registration_request",
  157. "requesting_contact": "src/templates/requesting_contact",
  158. "room_description": "src/templates/room_description",
  159. "room_item": "src/templates/room_item",
  160. "room_panel": "src/templates/room_panel",
  161. "roster": "src/templates/roster",
  162. "roster_item": "src/templates/roster_item",
  163. "search_contact": "src/templates/search_contact",
  164. "select_option": "src/templates/select_option",
  165. "status_option": "src/templates/status_option",
  166. "toggle_chats": "src/templates/toggle_chats",
  167. "toolbar": "src/templates/toolbar",
  168. "toolbar_otr": "src/templates/toolbar_otr",
  169. "trimmed_chat": "src/templates/trimmed_chat",
  170. "chatbox_minimize": "src/templates/chatbox_minimize"
  171. },
  172. map: {
  173. // '*' means all modules will get 'jquery-private'
  174. // for their 'jquery' dependency.
  175. '*': { 'jquery': 'jquery-private' },
  176. // 'jquery-private' wants the real jQuery module
  177. // though. If this line was not here, there would
  178. // be an unresolvable cyclic dependency.
  179. 'jquery-private': { 'jquery': 'jquery' }
  180. },
  181. tpl: {
  182. // Configuration for requirejs-tpl
  183. // Use Mustache style syntax for variable interpolation
  184. templateSettings: {
  185. evaluate : /\{\[([\s\S]+?)\]\}/g,
  186. interpolate : /\{\{([\s\S]+?)\}\}/g
  187. }
  188. },
  189. // define module dependencies for modules not using define
  190. shim: {
  191. 'crypto.aes': { deps: ['crypto.cipher-core'] },
  192. 'crypto.cipher-core': { deps: ['crypto.enc-base64', 'crypto.evpkdf'] },
  193. 'crypto.enc-base64': { deps: ['crypto.core'] },
  194. 'crypto.evpkdf': { deps: ['crypto.md5'] },
  195. 'crypto.hmac': { deps: ['crypto.core'] },
  196. 'crypto.md5': { deps: ['crypto.core'] },
  197. 'crypto.mode-ctr': { deps: ['crypto.cipher-core'] },
  198. 'crypto.pad-nopadding': { deps: ['crypto.cipher-core'] },
  199. 'crypto.sha1': { deps: ['crypto.core'] },
  200. 'crypto.sha256': { deps: ['crypto.core'] },
  201. 'bigint': { deps: ['crypto'] },
  202. 'strophe.ping': { deps: ['strophe'] },
  203. 'strophe.register': { deps: ['strophe'] },
  204. 'strophe.vcard': { deps: ['strophe'] }
  205. }
  206. });