From e109c54cf419c8b761204fa36aaeff7637744943 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Tue, 26 Jul 2016 07:52:55 +0000 Subject: [PATCH] Avoid having a separate configuration in demo folder --- README.md | 1 + converse.js | 1 + demo/anonymous.html | 3 +- demo/config.js | 222 +---------------------------------- src/build-mobile.js | 2 +- src/build-no-dependencies.js | 2 +- src/build-no-jquery.js | 2 +- src/build.js | 4 +- 8 files changed, 11 insertions(+), 226 deletions(-) diff --git a/README.md b/README.md index 8cc44879e..5258f7e3f 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ to, either your own, or a public one. ## Demo A live demo is available at [https://conversejs.org](https://conversejs.org) +A demo showing anonymous login is available at [https://conversejs.org/demo/anonymous.html](https://conversejs.org/demo/anonymous.html) ## Documentation diff --git a/converse.js b/converse.js index 0ae6bca2c..589866ea8 100755 --- a/converse.js +++ b/converse.js @@ -3,6 +3,7 @@ * This file is used to tell require.js which components (or plugins) to load * when it generates a build. */ + if (typeof define !== 'undefined') { /* When running tests, define is not defined. */ define("converse", [ diff --git a/demo/anonymous.html b/demo/anonymous.html index fece8bb64..54bd6d665 100644 --- a/demo/anonymous.html +++ b/demo/anonymous.html @@ -13,8 +13,9 @@ + - + diff --git a/demo/config.js b/demo/config.js index e070825e3..676ae64c3 100644 --- a/demo/config.js +++ b/demo/config.js @@ -1,220 +1,2 @@ -// TODO: for now a quick copy/paste from ../config.js, but ideally we want to -// avoid this duplication. Perhaps a require call to ../config.js? Not yet sure -// what to do here. - -var config; -if (typeof(require) === 'undefined') { - /* XXX: Hack to work around r.js's stupid parsing. - * We want to save the configuration in a variable so that we can reuse it in - * tests/main.js. - */ - require = { // jshint ignore:line - config: function (c) { - config = c; - } - }; -} - -require.config({ - baseUrl: '..', - paths: { - "backbone": "components/backbone/backbone", - "backbone.browserStorage": "components/backbone.browserStorage/backbone.browserStorage", - "backbone.overview": "components/backbone.overview/backbone.overview", - "eventemitter": "components/otr/build/dep/eventemitter", - "jquery": "components/jquery/dist/jquery", - "jquery-private": "src/jquery-private", - "jquery.browser": "components/jquery.browser/dist/jquery.browser", - "jquery.easing": "components/jquery-easing-original/index", // XXX: Only required for https://conversejs.org website - "moment": "components/momentjs/moment", - "strophe": "components/strophejs/src/wrapper", - "strophe-base64": "components/strophejs/src/base64", - "strophe-bosh": "components/strophejs/src/bosh", - "strophe-core": "components/strophejs/src/core", - "strophe-md5": "components/strophejs/src/md5", - "strophe-polyfill": "components/strophejs/src/polyfills", - "strophe-sha1": "components/strophejs/src/sha1", - "strophe-utils": "components/strophejs/src/utils", - "strophe-websocket": "components/strophejs/src/websocket", - "strophe.disco": "components/strophejs-plugins/disco/strophe.disco", - "strophe.ping": "src/strophe.ping", - "strophe.rsm": "components/strophejs-plugins/rsm/strophe.rsm", - "strophe.vcard": "src/strophe.vcard", - "text": 'components/requirejs-text/text', - "tpl": 'components/requirejs-tpl-jcbrand/tpl', - "typeahead": "components/typeahead.js/index", - "underscore": "components/underscore/underscore", - "utils": "src/utils", - "polyfill": "src/polyfill", - - // Converse - "converse-api": "src/converse-api", - "converse-chatview": "src/converse-chatview", - "converse-controlbox": "src/converse-controlbox", - "converse-core": "src/converse-core", - "converse-dragresize": "src/converse-dragresize", - "converse-headline": "src/converse-headline", - "converse-mam": "src/converse-mam", - "converse-minimize": "src/converse-minimize", - "converse-muc": "src/converse-muc", - "converse-notification": "src/converse-notification", - "converse-otr": "src/converse-otr", - "converse-ping": "src/converse-ping", - "converse-pluggable": "src/converse-pluggable", - "converse-register": "src/converse-register", - "converse-rosterview": "src/converse-rosterview", - "converse-templates": "src/converse-templates", - "converse-vcard": "src/converse-vcard", - - // Off-the-record-encryption - "bigint": "src/bigint", - "crypto": "src/crypto", - "crypto.aes": "components/otr/vendor/cryptojs/aes", - "crypto.cipher-core": "components/otr/vendor/cryptojs/cipher-core", - "crypto.core": "components/otr/vendor/cryptojs/core", - "crypto.enc-base64": "components/otr/vendor/cryptojs/enc-base64", - "crypto.evpkdf": "components/crypto-js-evanvosberg/src/evpkdf", - "crypto.hmac": "components/otr/vendor/cryptojs/hmac", - "crypto.md5": "components/crypto-js-evanvosberg/src/md5", - "crypto.mode-ctr": "components/otr/vendor/cryptojs/mode-ctr", - "crypto.pad-nopadding": "components/otr/vendor/cryptojs/pad-nopadding", - "crypto.sha1": "components/otr/vendor/cryptojs/sha1", - "crypto.sha256": "components/otr/vendor/cryptojs/sha256", - "salsa20": "components/otr/build/dep/salsa20", - "otr": "src/otr", - - // Locales paths - "locales": "src/locales", - "jed": "components/jed/jed", - "af": "locale/af/LC_MESSAGES/converse.json", - "ca": "locale/ca/LC_MESSAGES/converse.json", - "de": "locale/de/LC_MESSAGES/converse.json", - "en": "locale/en/LC_MESSAGES/converse.json", - "es": "locale/es/LC_MESSAGES/converse.json", - "fr": "locale/fr/LC_MESSAGES/converse.json", - "he": "locale/he/LC_MESSAGES/converse.json", - "hu": "locale/hu/LC_MESSAGES/converse.json", - "id": "locale/id/LC_MESSAGES/converse.json", - "it": "locale/it/LC_MESSAGES/converse.json", - "ja": "locale/ja/LC_MESSAGES/converse.json", - "nb": "locale/nb/LC_MESSAGES/converse.json", - "nl": "locale/nl/LC_MESSAGES/converse.json", - "pl": "locale/pl/LC_MESSAGES/converse.json", - "pt_BR": "locale/pt_BR/LC_MESSAGES/converse.json", - "ru": "locale/ru/LC_MESSAGES/converse.json", - "uk": "locale/uk/LC_MESSAGES/converse.json", - "zh": "locale/zh/LC_MESSAGES/converse.json", - - "moment_with_locales": "src/moment_locales", - 'moment_af': "components/momentjs/locale/af", - 'moment_de': "components/momentjs/locale/de", - 'moment_es': "components/momentjs/locale/es", - 'moment_fr': "components/momentjs/locale/fr", - 'moment_he': "components/momentjs/locale/he", - 'moment_hu': "components/momentjs/locale/hu", - 'moment_id': "components/momentjs/locale/id", - 'moment_it': "components/momentjs/locale/it", - 'moment_ja': "components/momentjs/locale/ja", - 'moment_nb': "components/momentjs/locale/nb", - 'moment_nl': "components/momentjs/locale/nl", - 'moment_pl': "components/momentjs/locale/pl", - 'moment_pt-br': "components/momentjs/locale/pt-br", - 'moment_ru': "components/momentjs/locale/ru", - 'moment_uk': "components/momentjs/locale/uk", - 'moment_zh': "components/momentjs/locale/zh-cn", - - // Templates - "action": "src/templates/action", - "add_contact_dropdown": "src/templates/add_contact_dropdown", - "add_contact_form": "src/templates/add_contact_form", - "change_status_message": "src/templates/change_status_message", - "chat_status": "src/templates/chat_status", - "chatarea": "src/templates/chatarea", - "chatbox": "src/templates/chatbox", - "chatroom": "src/templates/chatroom", - "chatroom_form": "src/templates/chatroom_form", - "chatroom_password_form": "src/templates/chatroom_password_form", - "chatroom_nickname_form": "src/templates/chatroom_nickname_form", - "chatroom_sidebar": "src/templates/chatroom_sidebar", - "chatrooms_tab": "src/templates/chatrooms_tab", - "chats_panel": "src/templates/chats_panel", - "choose_status": "src/templates/choose_status", - "contacts_panel": "src/templates/contacts_panel", - "contacts_tab": "src/templates/contacts_tab", - "controlbox": "src/templates/controlbox", - "controlbox_toggle": "src/templates/controlbox_toggle", - "field": "src/templates/field", - "form_captcha": "src/templates/form_captcha", - "form_checkbox": "src/templates/form_checkbox", - "form_input": "src/templates/form_input", - "form_select": "src/templates/form_select", - "form_textarea": "src/templates/form_textarea", - "form_username": "src/templates/form_username", - "group_header": "src/templates/group_header", - "info": "src/templates/info", - "login_panel": "src/templates/login_panel", - "login_tab": "src/templates/login_tab", - "message": "src/templates/message", - "new_day": "src/templates/new_day", - "occupant": "src/templates/occupant", - "pending_contact": "src/templates/pending_contact", - "pending_contacts": "src/templates/pending_contacts", - "register_panel": "src/templates/register_panel", - "register_tab": "src/templates/register_tab", - "registration_form": "src/templates/registration_form", - "registration_request": "src/templates/registration_request", - "requesting_contact": "src/templates/requesting_contact", - "requesting_contacts": "src/templates/requesting_contacts", - "room_description": "src/templates/room_description", - "room_item": "src/templates/room_item", - "room_panel": "src/templates/room_panel", - "roster": "src/templates/roster", - "roster_item": "src/templates/roster_item", - "search_contact": "src/templates/search_contact", - "select_option": "src/templates/select_option", - "status_option": "src/templates/status_option", - "toggle_chats": "src/templates/toggle_chats", - "toolbar": "src/templates/toolbar", - "toolbar_otr": "src/templates/toolbar_otr", - "trimmed_chat": "src/templates/trimmed_chat", - "vcard": "src/templates/vcard", - "chatbox_minimize": "src/templates/chatbox_minimize" - }, - - map: { - // '*' means all modules will get 'jquery-private' - // for their 'jquery' dependency. - '*': { 'jquery': 'jquery-private' }, - // 'jquery-private' wants the real jQuery module - // though. If this line was not here, there would - // be an unresolvable cyclic dependency. - 'jquery-private': { 'jquery': 'jquery' } - }, - - tpl: { - // Configuration for requirejs-tpl - // Use Mustache style syntax for variable interpolation - templateSettings: { - evaluate : /\{\[([\s\S]+?)\]\}/g, - interpolate : /\{\{([\s\S]+?)\}\}/g - } - }, - - // define module dependencies for modules not using define - shim: { - 'crypto.aes': { deps: ['crypto.cipher-core'] }, - 'crypto.cipher-core': { deps: ['crypto.enc-base64', 'crypto.evpkdf'] }, - 'crypto.enc-base64': { deps: ['crypto.core'] }, - 'crypto.evpkdf': { deps: ['crypto.md5'] }, - 'crypto.hmac': { deps: ['crypto.core'] }, - 'crypto.md5': { deps: ['crypto.core'] }, - 'crypto.mode-ctr': { deps: ['crypto.cipher-core'] }, - 'crypto.pad-nopadding': { deps: ['crypto.cipher-core'] }, - 'crypto.sha1': { deps: ['crypto.core'] }, - 'crypto.sha256': { deps: ['crypto.core'] }, - 'bigint': { deps: ['crypto'] }, - 'strophe.ping': { deps: ['strophe'] }, - 'strophe.register': { deps: ['strophe'] }, - 'strophe.vcard': { deps: ['strophe'] } - } -}); +config.baseUrl = '..'; +require.config(config); diff --git a/src/build-mobile.js b/src/build-mobile.js index 34faab094..a3c797ff9 100644 --- a/src/build-mobile.js +++ b/src/build-mobile.js @@ -2,7 +2,7 @@ baseUrl: "../", name: "components/almond/almond.js", out: "../dist/converse-mobile.min.js", - mainConfigFile: '../converse.js', + mainConfigFile: '../config.js', excludeShallow: [ "converse-minimize", "converse-dragresize" diff --git a/src/build-no-dependencies.js b/src/build-no-dependencies.js index fe2a98916..0c76eaa8f 100644 --- a/src/build-no-dependencies.js +++ b/src/build-no-dependencies.js @@ -42,5 +42,5 @@ endFile: ["wrapper-no-jquery.js", "wrapper-no-deps.js"] }, insertRequire: ['converse'], - mainConfigFile: '../converse.js' + mainConfigFile: '../config.js' }) diff --git a/src/build-no-jquery.js b/src/build-no-jquery.js index 139eb20a2..5a77b64e3 100644 --- a/src/build-no-jquery.js +++ b/src/build-no-jquery.js @@ -5,7 +5,7 @@ include: ['converse'], exclude: ['jquery', 'jquery-private'], insertRequire: ['converse'], - mainConfigFile: '../converse.js', + mainConfigFile: '../config.js', wrap: { endFile: "wrapper-no-jquery.js" } diff --git a/src/build.js b/src/build.js index 057857a35..b9b2f7fb9 100644 --- a/src/build.js +++ b/src/build.js @@ -2,7 +2,7 @@ baseUrl: "../", name: "components/almond/almond.js", out: "../dist/converse.min.js", - mainConfigFile: '../converse.js', + mainConfigFile: '../config.js', include: ['converse'], - insertRequire: ['converse'] + insertRequire: ['converse'], })