浏览代码

Various changes around making builds.

- Update build scripts to use transpiled versions of newly added modules
- Stop building locales.js and remove locales stuff from build scripts
- No need for Grunt anymore since we don't need to make locales.js
JC Brand 7 年之前
父节点
当前提交
4d06228d89

+ 0 - 18
Gruntfile.js

@@ -1,18 +0,0 @@
-module.exports = function(grunt) {
-    grunt.initConfig({
-        json: {
-            main: {
-                options: {
-                    namespace: 'locales',
-                    includePath: true,
-                    processName: function(filename) {
-                        return filename.toLowerCase().match(/^locale\/(.*)\/lc_messages/)[1];
-                    }
-                },
-                src: ['locale/**/LC_MESSAGES/*.json'],
-                dest: 'dist/locales.js'
-            }
-        }
-    });
-    grunt.loadNpmTasks('grunt-json');
-};

+ 11 - 17
Makefile

@@ -7,7 +7,6 @@ BUNDLE		  	?= ./.bundle/bin/bundle
 CHROMIUM		?= ./node_modules/.bin/run-headless-chromium
 CLEANCSS		?= ./node_modules/clean-css-cli/bin/cleancss --skip-rebase
 ESLINT		  	?= ./node_modules/.bin/eslint
-GRUNT		   	?= ./node_modules/.bin/grunt
 HTTPSERVE	   	?= ./node_modules/.bin/http-server
 PAPER		   	=
 PO2JSON		 	?= ./node_modules/.bin/po2json
@@ -167,37 +166,32 @@ BUILDS = dist/converse.js \
 		 dist/converse-no-dependencies.min.js \
 		 dist/converse-no-dependencies.js
 
-dist/converse.js: transpile src node_modules *.js
+dist/converse.js: transpile src node_modules
 	$(RJS) -o src/build.js include=converse out=dist/converse.js optimize=none 
-dist/converse.min.js: transpile src node_modules *.js
+dist/converse.min.js: transpile src node_modules
 	$(RJS) -o src/build.js include=converse out=dist/converse.min.js
-dist/converse-esnext.js: src node_modules *.js
+dist/converse-esnext.js: src node_modules
 	$(RJS) -o src/build-esnext.js include=converse out=dist/converse-esnext.js optimize=none 
-dist/converse-esnext.min.js: src node_modules *.js
+dist/converse-esnext.min.js: src node_modules
 	$(RJS) -o src/build-esnext.js include=converse out=dist/converse-esnext.min.js
-dist/converse-no-jquery.js: transpile src node_modules *.js
+dist/converse-no-jquery.js: transpile src node_modules
 	$(RJS) -o src/build.js include=converse wrap.endFile=end-no-jquery.frag exclude=jquery exclude=jquery.noconflict out=dist/converse-no-jquery.js optimize=none 
-dist/converse-no-jquery.min.js: transpile src node_modules *.js transpile
+dist/converse-no-jquery.min.js: transpile src node_modules transpile
 	$(RJS) -o src/build.js include=converse wrap.endFile=end-no-jquery.frag exclude=jquery exclude=jquery.noconflict out=dist/converse-no-jquery.min.js
-dist/converse-no-dependencies.js: transpile src node_modules *.js
+dist/converse-no-dependencies.js: transpile src node_modules
 	$(RJS) -o src/build-no-dependencies.js optimize=none out=dist/converse-no-dependencies.js
-dist/converse-no-dependencies.min.js: transpile src node_modules *.js
+dist/converse-no-dependencies.min.js: transpile src node_modules
 	$(RJS) -o src/build-no-dependencies.js out=dist/converse-no-dependencies.min.js
-dist/converse-muc-embedded.js: transpile src node_modules *.js
+dist/converse-muc-embedded.js: transpile src node_modules
 	$(RJS) -o src/build.js paths.converse=src/converse-embedded include=converse out=dist/converse-muc-embedded.js optimize=none 
-dist/converse-muc-embedded.min.js: transpile src node_modules *.js
+dist/converse-muc-embedded.min.js: transpile src node_modules
 	$(RJS) -o src/build.js paths.converse=src/converse-embedded include=converse out=dist/converse-muc-embedded.min.js
 
-.PHONY: jsmin
-jsmin: $(BUILDS)
-
 .PHONY: dist
 dist:: build
 
 .PHONY: build
-build:: dev css transpile
-	$(GRUNT) json
-	make jsmin
+build:: dev css transpile $(BUILDS)
 
 ########################################################################
 ## Tests

文件差异内容过多而无法显示
+ 216 - 305
dist/converse-no-dependencies.js


+ 97 - 122
dist/converse.js

@@ -27902,6 +27902,8 @@ return uk;
 
 })));
 
+
+
 // Converse.js (A browser based XMPP chat client)
 // http://conversejs.org
 //
@@ -27913,32 +27915,11 @@ return uk;
 /*global define */
 
 (function (root, factory) {
-    define('i18n',[
-        "es6-promise",
-        "jed",
-        "lodash.noconflict",
-        "moment",
-        'moment/locale/af',
-        'moment/locale/ca',
-        'moment/locale/de',
-        'moment/locale/es',
-        'moment/locale/fr',
-        'moment/locale/he',
-        'moment/locale/hu',
-        'moment/locale/id',
-        'moment/locale/it',
-        'moment/locale/ja',
-        'moment/locale/nb',
-        'moment/locale/nl',
-        'moment/locale/pl',
-        'moment/locale/pt-br',
-        'moment/locale/ru',
-        'moment/locale/uk',
-    ], factory);
-}(this, function (Promise, Jed, _, moment) {
+    define('i18n',["es6-promise", "jed", "lodash.noconflict", "moment", 'moment/locale/af', 'moment/locale/ca', 'moment/locale/de', 'moment/locale/es', 'moment/locale/fr', 'moment/locale/he', 'moment/locale/hu', 'moment/locale/id', 'moment/locale/it', 'moment/locale/ja', 'moment/locale/nb', 'moment/locale/nl', 'moment/locale/pl', 'moment/locale/pt-br', 'moment/locale/ru', 'moment/locale/uk'], factory);
+})(undefined, function (Promise, Jed, _, moment) {
     'use strict';
 
-    function detectLocale (library_check) {
+    function detectLocale(library_check) {
         /* Determine which locale is supported by the user's system as well
          * as by the relevant library (e.g. converse.js or moment.js).
          *
@@ -27951,7 +27932,7 @@ return uk;
             locale = isLocaleAvailable(window.navigator.userLanguage, library_check);
         }
         if (window.navigator.languages && !locale) {
-            for (i=0; i<window.navigator.languages.length && !locale; i++) {
+            for (i = 0; i < window.navigator.languages.length && !locale; i++) {
                 locale = isLocaleAvailable(window.navigator.languages[i], library_check);
             }
         }
@@ -27967,15 +27948,15 @@ return uk;
         return locale || 'en';
     }
 
-    function isMomentLocale (locale) {
+    function isMomentLocale(locale) {
         return _.isString(locale) && moment.locale() === moment.locale(locale);
     }
 
-    function isConverseLocale (locale, supported_locales) {
+    function isConverseLocale(locale, supported_locales) {
         return _.isString(locale) && _.includes(supported_locales, locale);
     }
 
-    function getLocale (preferred_locale, isSupportedByLibrary) {
+    function getLocale(preferred_locale, isSupportedByLibrary) {
         if (_.isString(preferred_locale)) {
             if (preferred_locale === 'en' || isSupportedByLibrary(preferred_locale)) {
                 return preferred_locale;
@@ -27984,7 +27965,7 @@ return uk;
         return detectLocale(isSupportedByLibrary) || 'en';
     }
 
-    function isLocaleAvailable (locale, available) {
+    function isLocaleAvailable(locale, available) {
         /* Check whether the locale or sub locale (e.g. en-US, en) is supported.
          *
          * Parameters:
@@ -28001,31 +27982,25 @@ return uk;
         }
     }
 
-    let jed_instance;
+    var jed_instance = void 0;
 
     return {
-
-        setLocales (preferred_locale, _converse) {
-            _converse.locale = getLocale(
-                preferred_locale,
-                _.partial(isConverseLocale, _, _converse.locales)
-            );
+        setLocales: function setLocales(preferred_locale, _converse) {
+            _converse.locale = getLocale(preferred_locale, _.partial(isConverseLocale, _, _converse.locales));
             moment.locale(getLocale(preferred_locale, isMomentLocale));
         },
-
-        translate (str) {
+        translate: function translate(str) {
             if (_.isNil(jed_instance)) {
                 return Jed.sprintf.apply(Jed, arguments);
             }
             var t = jed_instance.translate(str);
-            if (arguments.length>1) {
+            if (arguments.length > 1) {
                 return t.fetch.apply(t, [].slice.call(arguments, 1));
             } else {
                 return t.fetch();
             }
         },
-
-        fetchTranslations (locale, supported_locales, locale_url) {
+        fetchTranslations: function fetchTranslations(locale, supported_locales, locale_url) {
             /* Fetch the translations for the given local at the given URL.
              *
              * Parameters:
@@ -28034,16 +28009,13 @@ return uk;
              *  (String) locale_url:        The URL from which the translations
              *                              should be fetched.
              */
-            return new Promise((resolve, reject) => {
+            return new Promise(function (resolve, reject) {
                 if (!isConverseLocale(locale, supported_locales) || locale === 'en') {
                     return resolve();
                 }
-                const xhr = new XMLHttpRequest();
+                var xhr = new XMLHttpRequest();
                 xhr.open('GET', locale_url, true);
-                xhr.setRequestHeader(
-                    'Accept',
-                    "application/json, text/javascript"
-                );
+                xhr.setRequestHeader('Accept', "application/json, text/javascript");
                 xhr.onload = function () {
                     if (xhr.status >= 200 && xhr.status < 400) {
                         jed_instance = new Jed(window.JSON.parse(xhr.responseText));
@@ -28059,8 +28031,8 @@ return uk;
             });
         }
     };
-}));
-
+});
+//# sourceMappingURL=i18n.js.map;
 /*!
  * jQuery JavaScript Library v2.2.3
  * http://jquery.com/
@@ -59398,7 +59370,7 @@ return __p
 // Copyright (c) 2012-2017, Jan-Carel Brand <jc@opkode.com>
 // Licensed under the Mozilla Public License (MPLv2)
 //
-/*global define, escape, locales, Jed */
+/*global define, escape, Jed */
 (function (root, factory) {
     define('form-utils',["sizzle", "lodash.noconflict", "utils", "tpl!field", "tpl!select_option", "tpl!form_select", "tpl!form_textarea", "tpl!form_checkbox", "tpl!form_username", "tpl!form_input", "tpl!form_captcha", "tpl!form_url"], factory);
 })(undefined, function (sizzle, _, u, tpl_field, tpl_select_option, tpl_form_select, tpl_form_textarea, tpl_form_checkbox, tpl_form_username, tpl_form_input, tpl_form_captcha, tpl_form_url) {
@@ -60934,10 +60906,10 @@ Strophe.addConnectionPlugin('disco',
 
             _converse.DiscoEntity = Backbone.Model.extend({
                 /* A Disco Entity is a JID addressable entity that can be queried
-                * for features.
-                *
-                * See XEP-0030: https://xmpp.org/extensions/xep-0030.html
-                */
+                 * for features.
+                 *
+                 * See XEP-0030: https://xmpp.org/extensions/xep-0030.html
+                 */
                 idAttribute: 'jid',
 
                 initialize: function initialize() {
@@ -61059,6 +61031,43 @@ Strophe.addConnectionPlugin('disco',
                     _converse.disco_entities.browserStorage._clear();
                 }
             });
+
+            /* We extend the default converse.js API to add methods specific to service discovery */
+            _.extend(_converse.api, {
+                'disco': {
+                    'supports': function supports(entity_jid, feature) {
+                        /* Returns a Promise which returns a boolean indicating
+                         * whether the feature is supported or by the given
+                         * entity or not.
+                         *
+                         * Parameters:
+                         *    (String) entity_jid - The JID of the entity which might support the feature.
+                         *    (String) feature - The feature that might be
+                         *          supported. In the XML stanza, this is the `var`
+                         *          attribute of the `<feature>` element. For
+                         *          example: 'http://jabber.org/protocol/muc'
+                         */
+                        return _converse.api.waitUntil('discoInitialized').then(function () {
+                            return new Promise(function (resolve, reject) {
+                                function fulfillPromise(entity) {
+                                    if (entity.features.findWhere({ 'var': feature })) {
+                                        resolve(true);
+                                    } else {
+                                        resolve(false);
+                                    }
+                                }
+                                var entity = _converse.disco_entities.get(entity_jid);
+                                if (_.isUndefined(entity)) {
+                                    entity = _converse.disco_entities.create({ 'jid': entity_jid });
+                                    entity.on('featuresDiscovered', _.partial(fulfillPromise, entity));
+                                } else {
+                                    fulfillPromise(entity);
+                                }
+                            });
+                        });
+                    }
+                }
+            });
         }
     });
 });
@@ -64666,31 +64675,6 @@ Strophe.RSM.prototype = {
     // XEP-0313 Message Archive Management
     var MAM_ATTRIBUTES = ['with', 'start', 'end'];
 
-    function checkMAMSupport(_converse) {
-        /* Returns a promise which resolves when MAM is supported
-         * for this user, or which rejects if not.
-         */
-        return _converse.api.waitUntil('discoInitialized').then(function () {
-            return new Promise(function (resolve, reject) {
-
-                function fulfillPromise(entity) {
-                    if (entity.features.findWhere({ 'var': Strophe.NS.MAM })) {
-                        resolve(true);
-                    } else {
-                        resolve(false);
-                    }
-                }
-                var entity = _converse.disco_entities.get(_converse.bare_jid);
-                if (_.isUndefined(entity)) {
-                    entity = _converse.disco_entities.create({ 'jid': _converse.bare_jid });
-                    entity.on('featuresDiscovered', _.partial(fulfillPromise, entity));
-                } else {
-                    fulfillPromise(entity);
-                }
-            });
-        });
-    }
-
     converse.plugins.add('converse-mam', {
 
         overrides: {
@@ -64726,7 +64710,7 @@ Strophe.RSM.prototype = {
 
                     this.addSpinner();
 
-                    checkMAMSupport(_converse).then(function (supported) {
+                    _converse.api.disco.supports(_converse.bare_jid, Strophe.NS.MAM).then(function (supported) {
                         // Success
                         if (supported) {
                             _this.fetchArchivedMessages();
@@ -64946,19 +64930,6 @@ Strophe.RSM.prototype = {
                 }, _converse.message_archiving_timeout);
             };
 
-            _.extend(_converse.api, {
-                /* Extend default converse.js API to add methods specific to MAM
-                 */
-                'archive': {
-                    'query': function query() {
-                        if (!_converse.api.connection.connected()) {
-                            throw new Error('Can\'t call `api.archive.query` before having established an XMPP session');
-                        }
-                        return _converse.queryForArchivedMessages.apply(this, arguments);
-                    }
-                }
-            });
-
             _converse.onMAMError = function (iq) {
                 if ($(iq).find('feature-not-implemented').length) {
                     _converse.log("Message Archive Management (XEP-0313) not supported by this server", Strophe.LogLevel.WARN);
@@ -65015,6 +64986,19 @@ Strophe.RSM.prototype = {
             _converse.on('afterMessagesFetched', function (chatboxview) {
                 chatboxview.fetchArchivedMessagesIfNecessary();
             });
+
+            _.extend(_converse.api, {
+                /* Extend default converse.js API to add methods specific to MAM
+                 */
+                'archive': {
+                    'query': function query() {
+                        if (!_converse.api.connection.connected()) {
+                            throw new Error('Can\'t call `api.archive.query` before having established an XMPP session');
+                        }
+                        return _converse.queryForArchivedMessages.apply(this, arguments);
+                    }
+                }
+            });
         }
     });
 });
@@ -75431,6 +75415,8 @@ return __p
     });
 });
 //# sourceMappingURL=converse-singleton.js.map;
+
+
 // Converse.js (A browser based XMPP chat client)
 // http://conversejs.org
 //
@@ -75440,23 +75426,21 @@ return __p
 /*global define */
 
 (function (root, factory) {
-    define('converse-fullscreen',["converse-core",
-            "tpl!inverse_brand_heading",
-            "converse-chatview",
-            "converse-controlbox",
-            "converse-muc",
-            "converse-singleton"
-    ], factory);
-}(this, function (converse, tpl_brand_heading) {
+    define('converse-fullscreen',["converse-core", "tpl!inverse_brand_heading", "converse-chatview", "converse-controlbox", "converse-muc", "converse-singleton"], factory);
+})(undefined, function (converse, tpl_brand_heading) {
     "use strict";
-    const { Strophe, _ } = converse.env;
 
-    converse.plugins.add('converse-fullscreen', {
+    var _converse$env = converse.env,
+        Strophe = _converse$env.Strophe,
+        _ = _converse$env._;
+
 
-        enabled (_converse) {
+    converse.plugins.add('converse-fullscreen', {
+        enabled: function enabled(_converse) {
             return _.includes(['mobile', 'fullscreen'], _converse.view_mode);
         },
 
+
         overrides: {
             // overrides mentioned here will be picked up by converse.js's
             // plugin architecture they will replace existing methods on the
@@ -75465,21 +75449,17 @@ return __p
             // new functions which don't exist yet can also be added.
 
             ControlBoxView: {
-                 createBrandHeadingHTML() {
+                createBrandHeadingHTML: function createBrandHeadingHTML() {
                     return tpl_brand_heading();
                 },
-
-                insertBrandHeading () {
-                    const el = document.getElementById('converse-login-panel');
-                    el.parentNode.insertAdjacentHTML(
-                        'afterbegin',
-                        this.createBrandHeadingHTML()
-                    );
+                insertBrandHeading: function insertBrandHeading() {
+                    var el = document.getElementById('converse-login-panel');
+                    el.parentNode.insertAdjacentHTML('afterbegin', this.createBrandHeadingHTML());
                 }
             },
 
             ChatRoomView: {
-                afterShown (focus) {
+                afterShown: function afterShown(focus) {
                     /* Make sure chat rooms are scrolled down when opened
                      */
                     this.scrollDown();
@@ -75491,28 +75471,23 @@ return __p
             }
         },
 
-        initialize () {
+        initialize: function initialize() {
             this._converse.api.settings.update({
                 chatview_avatar_height: 44,
                 chatview_avatar_width: 44,
                 hide_open_bookmarks: true,
                 show_controlbox_by_default: true,
-                sticky_controlbox: true,
-                view_mode: 'fullscreen'
+                sticky_controlbox: true
             });
         }
     });
-}));
-
+});
+//# sourceMappingURL=converse-fullscreen.js.map;
 /*global define */
 if (typeof define !== 'undefined') {
     // The section below determines which plugins will be included in a build
     define('converse',[
         "converse-core",
-        // PLEASE NOTE: By default all translations are included.
-        // You can modify the file src/locales.js to include only those
-        // translations that you care about.
-
         /* START: Removable components
          * --------------------
          * Any of the following components may be removed if they're not needed.

+ 1 - 351
package-lock.json

@@ -215,12 +215,6 @@
       "dev": true,
       "optional": true
     },
-    "array-find-index": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
-      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
-      "dev": true
-    },
     "array-union": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -1246,24 +1240,6 @@
       "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
       "dev": true
     },
-    "camelcase-keys": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
-      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
-      "dev": true,
-      "requires": {
-        "camelcase": "2.1.1",
-        "map-obj": "1.0.1"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
-          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
-          "dev": true
-        }
-      }
-    },
     "camelize": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
@@ -1620,12 +1596,6 @@
       "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
       "dev": true
     },
-    "coffee-script": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz",
-      "integrity": "sha1-EpOLz5vhlI+gBvkuDEyegXBRCMA=",
-      "dev": true
-    },
     "color-convert": {
       "version": "1.9.0",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz",
@@ -1778,15 +1748,6 @@
       "integrity": "sha1-j1zrOqvXaNtTnaRYKyFS1j73cV4=",
       "dev": true
     },
-    "currently-unhandled": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
-      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
-      "dev": true,
-      "requires": {
-        "array-find-index": "1.0.2"
-      }
-    },
     "d": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
@@ -1819,16 +1780,6 @@
       "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
       "dev": true
     },
-    "dateformat": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
-      "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
-      "dev": true,
-      "requires": {
-        "get-stdin": "4.0.1",
-        "meow": "3.7.0"
-      }
-    },
     "debug": {
       "version": "2.6.8",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
@@ -2308,12 +2259,6 @@
         "es5-ext": "0.10.30"
       }
     },
-    "eventemitter2": {
-      "version": "0.4.14",
-      "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
-      "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
-      "dev": true
-    },
     "eventemitter3": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
@@ -2463,30 +2408,6 @@
         "pinkie-promise": "2.0.1"
       }
     },
-    "findup-sync": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
-      "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
-      "dev": true,
-      "requires": {
-        "glob": "5.0.15"
-      },
-      "dependencies": {
-        "glob": {
-          "version": "5.0.15",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
-          "dev": true,
-          "requires": {
-            "inflight": "1.0.6",
-            "inherits": "2.0.3",
-            "minimatch": "3.0.4",
-            "once": "1.4.0",
-            "path-is-absolute": "1.0.1"
-          }
-        }
-      }
-    },
     "flat-cache": {
       "version": "1.2.2",
       "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz",
@@ -3501,24 +3422,12 @@
       "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
       "dev": true
     },
-    "get-stdin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
-      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
-      "dev": true
-    },
     "get-stream": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
       "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
       "dev": true
     },
-    "getobject": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
-      "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
-      "dev": true
-    },
     "getpass": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@@ -3793,177 +3702,6 @@
         }
       }
     },
-    "grunt": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz",
-      "integrity": "sha1-6HeHZOlEsY8yuw8QuQeEdcnftWs=",
-      "dev": true,
-      "requires": {
-        "coffee-script": "1.10.0",
-        "dateformat": "1.0.12",
-        "eventemitter2": "0.4.14",
-        "exit": "0.1.2",
-        "findup-sync": "0.3.0",
-        "glob": "7.0.6",
-        "grunt-cli": "1.2.0",
-        "grunt-known-options": "1.1.0",
-        "grunt-legacy-log": "1.0.0",
-        "grunt-legacy-util": "1.0.0",
-        "iconv-lite": "0.4.18",
-        "js-yaml": "3.5.5",
-        "minimatch": "3.0.4",
-        "nopt": "3.0.6",
-        "path-is-absolute": "1.0.1",
-        "rimraf": "2.2.8"
-      },
-      "dependencies": {
-        "esprima": {
-          "version": "2.7.3",
-          "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
-          "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
-          "dev": true
-        },
-        "glob": {
-          "version": "7.0.6",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
-          "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "1.0.0",
-            "inflight": "1.0.6",
-            "inherits": "2.0.3",
-            "minimatch": "3.0.4",
-            "once": "1.4.0",
-            "path-is-absolute": "1.0.1"
-          }
-        },
-        "js-yaml": {
-          "version": "3.5.5",
-          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
-          "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
-          "dev": true,
-          "requires": {
-            "argparse": "1.0.9",
-            "esprima": "2.7.3"
-          }
-        },
-        "rimraf": {
-          "version": "2.2.8",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
-          "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
-          "dev": true
-        }
-      }
-    },
-    "grunt-cli": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
-      "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
-      "dev": true,
-      "requires": {
-        "findup-sync": "0.3.0",
-        "grunt-known-options": "1.1.0",
-        "nopt": "3.0.6",
-        "resolve": "1.1.7"
-      },
-      "dependencies": {
-        "resolve": {
-          "version": "1.1.7",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
-          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
-          "dev": true
-        }
-      }
-    },
-    "grunt-json": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/grunt-json/-/grunt-json-0.2.0.tgz",
-      "integrity": "sha1-+dgHhWMZiqXDPJkE/yXQiO5TLUE=",
-      "dev": true
-    },
-    "grunt-known-options": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
-      "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=",
-      "dev": true
-    },
-    "grunt-legacy-log": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz",
-      "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU=",
-      "dev": true,
-      "requires": {
-        "colors": "1.1.2",
-        "grunt-legacy-log-utils": "1.0.0",
-        "hooker": "0.2.3",
-        "lodash": "3.10.1",
-        "underscore.string": "3.2.3"
-      },
-      "dependencies": {
-        "colors": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
-          "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
-          "dev": true
-        },
-        "lodash": {
-          "version": "3.10.1",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
-          "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
-          "dev": true
-        }
-      }
-    },
-    "grunt-legacy-log-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz",
-      "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=",
-      "dev": true,
-      "requires": {
-        "chalk": "1.1.3",
-        "lodash": "4.3.0"
-      },
-      "dependencies": {
-        "lodash": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
-          "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
-          "dev": true
-        }
-      }
-    },
-    "grunt-legacy-util": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz",
-      "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=",
-      "dev": true,
-      "requires": {
-        "async": "1.5.2",
-        "exit": "0.1.2",
-        "getobject": "0.1.0",
-        "hooker": "0.2.3",
-        "lodash": "4.3.0",
-        "underscore.string": "3.2.3",
-        "which": "1.2.14"
-      },
-      "dependencies": {
-        "lodash": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
-          "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
-          "dev": true
-        },
-        "which": {
-          "version": "1.2.14",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
-          "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
-          "dev": true,
-          "requires": {
-            "isexe": "2.0.0"
-          }
-        }
-      }
-    },
     "har-schema": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
@@ -4059,12 +3797,6 @@
         "os-tmpdir": "1.0.2"
       }
     },
-    "hooker": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
-      "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
-      "dev": true
-    },
     "hosted-git-info": {
       "version": "2.5.0",
       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
@@ -4165,15 +3897,6 @@
       "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
       "dev": true
     },
-    "indent-string": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
-      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
-      "dev": true,
-      "requires": {
-        "repeating": "2.0.1"
-      }
-    },
     "individual": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz",
@@ -4815,16 +4538,6 @@
         "js-tokens": "3.0.2"
       }
     },
-    "loud-rejection": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
-      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
-      "dev": true,
-      "requires": {
-        "currently-unhandled": "0.4.1",
-        "signal-exit": "3.0.2"
-      }
-    },
     "lowercase-keys": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
@@ -4841,12 +4554,6 @@
         "yallist": "2.1.2"
       }
     },
-    "map-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
-      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
-      "dev": true
-    },
     "marked": {
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz",
@@ -4866,32 +4573,6 @@
         "node-emoji": "1.8.1"
       }
     },
-    "meow": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
-      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
-      "dev": true,
-      "requires": {
-        "camelcase-keys": "2.1.0",
-        "decamelize": "1.2.0",
-        "loud-rejection": "1.6.0",
-        "map-obj": "1.0.1",
-        "minimist": "1.2.0",
-        "normalize-package-data": "2.4.0",
-        "object-assign": "4.1.1",
-        "read-pkg-up": "1.0.1",
-        "redent": "1.0.0",
-        "trim-newlines": "1.0.0"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
-          "dev": true
-        }
-      }
-    },
     "micromatch": {
       "version": "2.3.11",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
@@ -7927,7 +7608,7 @@
       }
     },
     "pluggable.js": {
-      "version": "git+https://github.com/jcbrand/pluggable.js.git#8f8c8235816f44cda0f855d6ca879445aaa486a1",
+      "version": "git+https://github.com/jcbrand/pluggable.js.git#4677f759c270edda4ce987a8565b817a1d15973b",
       "dev": true,
       "requires": {
         "lodash": "4.17.4"
@@ -8186,16 +7867,6 @@
         "resolve": "1.4.0"
       }
     },
-    "redent": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
-      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
-      "dev": true,
-      "requires": {
-        "indent-string": "2.1.0",
-        "strip-indent": "1.0.1"
-      }
-    },
     "redeyed": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz",
@@ -9151,15 +8822,6 @@
       "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
       "dev": true
     },
-    "strip-indent": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
-      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
-      "dev": true,
-      "requires": {
-        "get-stdin": "4.0.1"
-      }
-    },
     "strip-json-comments": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
@@ -9379,12 +9041,6 @@
       "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
       "dev": true
     },
-    "trim-newlines": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
-      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
-      "dev": true
-    },
     "trim-right": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
@@ -9456,12 +9112,6 @@
       "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
       "dev": true
     },
-    "underscore.string": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
-      "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=",
-      "dev": true
-    },
     "union": {
       "version": "0.4.6",
       "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz",

+ 0 - 3
package.json

@@ -49,9 +49,6 @@
     "eslint-plugin-lodash": "^2.3.3",
     "font-awesome": "^4.7.0",
     "greenkeeper": "^4.2.1",
-    "grunt": "^1.0.1",
-    "grunt-cli": "^1.1.0",
-    "grunt-json": "^0.2.0",
     "http-server": "^0.10.0",
     "install": "^0.8.5",
     "jasmine-core": "2.6.4",

+ 0 - 9
src/build-inverse-esnext.js

@@ -1,9 +0,0 @@
-({
-    baseUrl: "../",
-    name: "almond",
-    mainConfigFile: 'config.js',
-    wrap: {
-        startFile: "start.frag",
-        endFile: "inverse-end.frag"
-    }
-})

+ 0 - 33
src/build-inverse.js

@@ -1,33 +0,0 @@
-({
-    baseUrl: "../",
-    name: "almond",
-    mainConfigFile: 'config.js',
-    paths: {
-        "converse-bookmarks":       "builds/converse-bookmarks",
-        "converse-chatboxes":       "builds/converse-chatboxes",
-        "converse-chatview":        "builds/converse-chatview",
-        "converse-controlbox":      "builds/converse-controlbox",
-        "converse-core":            "builds/converse-core",
-        "converse-disco":           "builds/converse-disco",
-        "converse-dragresize":      "builds/converse-dragresize",
-        "converse-headline":        "builds/converse-headline",
-        "converse-inverse":         "builds/converse-inverse",
-        "converse-mam":             "builds/converse-mam",
-        "converse-minimize":        "builds/converse-minimize",
-        "converse-muc":             "builds/converse-muc",
-        "converse-muc-embedded":    "builds/converse-muc-embedded",
-        "converse-notification":    "builds/converse-notification",
-        "converse-otr":             "builds/converse-otr",
-        "converse-ping":            "builds/converse-ping",
-        "converse-register":        "builds/converse-register",
-        "converse-roomslist":       "builds/converse-roomslist",
-        "converse-rosterview":      "builds/converse-rosterview",
-        "converse-singleton":       "builds/converse-singleton",
-        "converse-vcard":           "builds/converse-vcard",
-        "utils":                    "builds/utils"
-    },
-    wrap: {
-        startFile: "start.frag",
-        endFile: "inverse-end.frag"
-    }
-})

+ 6 - 22
src/build-no-dependencies.js

@@ -3,26 +3,6 @@
     name: "almond",
     out: "../dist/converse-no-dependencies.min.js",
     include: ["converse"],
-    excludeShallow: [
-        "locales",
-        "text!af",
-        "text!de",
-        "text!en",
-        "text!es",
-        "text!fr",
-        "text!he",
-        "text!hu",
-        "text!id",
-        "text!it",
-        "text!ja",
-        "text!nb",
-        "text!nl",
-        "text!pl",
-        "text!pt_BR",
-        "text!ru",
-        "text!uk",
-        "text!zh"
-    ],
     exclude: [
         "awesomplete",
         "jquery",
@@ -42,12 +22,14 @@
     ],
     paths: {
         "converse-bookmarks":       "builds/converse-bookmarks",
+        "converse-chatboxes":       "builds/converse-chatboxes",
         "converse-chatview":        "builds/converse-chatview",
         "converse-controlbox":      "builds/converse-controlbox",
         "converse-core":            "builds/converse-core",
+        "converse-disco":           "builds/converse-disco",
         "converse-dragresize":      "builds/converse-dragresize",
         "converse-headline":        "builds/converse-headline",
-        "converse-inverse":         "builds/converse-inverse",
+        "converse-fullscreen":      "builds/converse-fullscreen",
         "converse-mam":             "builds/converse-mam",
         "converse-minimize":        "builds/converse-minimize",
         "converse-muc":             "builds/converse-muc",
@@ -60,7 +42,9 @@
         "converse-rosterview":      "builds/converse-rosterview",
         "converse-singleton":       "builds/converse-singleton",
         "converse-vcard":           "builds/converse-vcard",
-        "utils":                    "builds/utils"
+        "i18n":                     "builds/i18n",
+        "utils":                    "builds/utils",
+        "form-utils":               "builds/form-utils"
     },
     wrap: {
         startFile: "start.frag",

+ 2 - 1
src/build.js

@@ -11,7 +11,7 @@
         "converse-disco":           "builds/converse-disco",
         "converse-dragresize":      "builds/converse-dragresize",
         "converse-headline":        "builds/converse-headline",
-        "converse-inverse":         "builds/converse-inverse",
+        "converse-fullscreen":      "builds/converse-fullscreen",
         "converse-mam":             "builds/converse-mam",
         "converse-minimize":        "builds/converse-minimize",
         "converse-muc":             "builds/converse-muc",
@@ -24,6 +24,7 @@
         "converse-rosterview":      "builds/converse-rosterview",
         "converse-singleton":       "builds/converse-singleton",
         "converse-vcard":           "builds/converse-vcard",
+        "i18n":                     "builds/i18n",
         "utils":                    "builds/utils",
         "form-utils":               "builds/form-utils"
     },

+ 0 - 4
src/converse-embedded.js

@@ -3,10 +3,6 @@ if (typeof define !== 'undefined') {
     // The section below determines which plugins will be included in a build
     define([
         "converse-core",
-        // PLEASE NOTE: By default all translations are included.
-        // You can modify the file src/locales.js to include only those
-        // translations that you care about.
-
         /* START: Removable components
          * --------------------
          * Any of the following components may be removed if they're not needed.

+ 0 - 30
src/converse-mobile.js

@@ -1,30 +0,0 @@
-/*global define */
-if (typeof define !== 'undefined') {
-    // The section below determines which plugins will be included in a build
-    define([
-        "converse-core",
-        // PLEASE NOTE: By default all translations are included.
-        // You can modify the file src/locales.js to include only those
-        // translations that you care about.
-
-        /* START: Removable components
-         * --------------------
-         * Any of the following components may be removed if they're not needed.
-         */
-        "converse-bookmarks",   // XEP-0048 Bookmarks
-        "converse-chatview",    // Renders standalone chat boxes for single user chat
-        "converse-controlbox",  // The control box
-        "converse-headline",    // Support for headline messages
-        "converse-mam",         // XEP-0313 Message Archive Management
-        "converse-muc",         // XEP-0045 Multi-user chat
-        "converse-notification",// HTML5 Notifications
-        "converse-otr",         // Off-the-record encryption for one-on-one messages
-        "converse-ping",        // XEP-0199 XMPP Ping
-        "converse-register",    // XEP-0077 In-band registration
-        "converse-singleton",   // Allow at most a single chat to be visible at any one time
-        "converse-vcard",       // XEP-0054 VCard-temp
-        /* END: Removable components */
-    ], function (converse) {
-        return converse;
-    });
-}

+ 0 - 4
src/converse.js

@@ -3,10 +3,6 @@ if (typeof define !== 'undefined') {
     // The section below determines which plugins will be included in a build
     define([
         "converse-core",
-        // PLEASE NOTE: By default all translations are included.
-        // You can modify the file src/locales.js to include only those
-        // translations that you care about.
-
         /* START: Removable components
          * --------------------
          * Any of the following components may be removed if they're not needed.

+ 0 - 1
src/end-no-dependencies.frag

@@ -32,6 +32,5 @@
     define('backbone.browserStorage', ['backbone'], emptyFunction);
     define('backbone.overview', ['backbone'], emptyFunction);
     define('otr', [], function () { return { 'DSA': DSA, 'OTR': OTR };});
-    define("locales", [], emptyFunction);
     return require('converse');
 }));

+ 1 - 1
src/form-utils.js

@@ -6,7 +6,7 @@
 // Copyright (c) 2012-2017, Jan-Carel Brand <jc@opkode.com>
 // Licensed under the Mozilla Public License (MPLv2)
 //
-/*global define, escape, locales, Jed */
+/*global define, escape, Jed */
 (function (root, factory) {
     define([
         "sizzle",

部分文件因为文件数量过多而无法显示