From b7addffc9e13e71145394b72291db93a7f076d82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 28 Aug 2022 17:45:56 -0400 Subject: [PATCH] breaking: reduce nodebb.min.js size by around 800kb const zxcvbn = require('zxcvbn'); bundles a huge amount of code, now it won't be in nodebb.min.js --- public/src/client/account/edit/password.js | 2 +- public/src/client/register.js | 6 +++--- public/src/client/reset_code.js | 4 ++-- public/src/utils.js | 3 +-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/public/src/client/account/edit/password.js b/public/src/client/account/edit/password.js index 85a44e2a36..abbe443e85 100644 --- a/public/src/client/account/edit/password.js +++ b/public/src/client/account/edit/password.js @@ -24,7 +24,7 @@ define('forum/account/edit/password', [ passwordvalid = false; try { - utils.assertPasswordValidity(password.val()); + utils.assertPasswordValidity(password.val(), zxcvbn); if (password.val() === ajaxify.data.username) { throw new Error('[[user:password_same_as_username]]'); diff --git a/public/src/client/register.js b/public/src/client/register.js index 69bd6362f2..7bad263b0a 100644 --- a/public/src/client/register.js +++ b/public/src/client/register.js @@ -2,8 +2,8 @@ define('forum/register', [ - 'translator', 'slugify', 'api', 'bootbox', 'forum/login', 'jquery-form', -], function (translator, slugify, api, bootbox, Login) { + 'translator', 'slugify', 'api', 'bootbox', 'forum/login', 'jquery-form', 'zxcvbn', +], function (translator, slugify, api, bootbox, Login, zxcvbn) { const Register = {}; let validationError = false; const successIcon = ''; @@ -143,7 +143,7 @@ define('forum/register', [ const password_confirm_notify = $('#password-confirm-notify'); try { - utils.assertPasswordValidity(password); + utils.assertPasswordValidity(password, zxcvbn); if (password === $('#username').val()) { throw new Error('[[user:password_same_as_username]]'); diff --git a/public/src/client/reset_code.js b/public/src/client/reset_code.js index a6e5fd0a55..45147ae385 100644 --- a/public/src/client/reset_code.js +++ b/public/src/client/reset_code.js @@ -1,7 +1,7 @@ 'use strict'; -define('forum/reset_code', ['alerts'], function (alerts) { +define('forum/reset_code', ['alerts', 'zxcvbn'], function (alerts, zxcvbn) { const ResetCode = {}; ResetCode.init = function () { @@ -13,7 +13,7 @@ define('forum/reset_code', ['alerts'], function (alerts) { resetEl.on('click', function () { try { - utils.assertPasswordValidity(password.val()); + utils.assertPasswordValidity(password.val(), zxcvbn); if (password.val() !== repeat.val()) { throw new Error('[[reset_password:passwords_do_not_match]]'); diff --git a/public/src/utils.js b/public/src/utils.js index f6a6b31897..03eee8f493 100644 --- a/public/src/utils.js +++ b/public/src/utils.js @@ -3,7 +3,6 @@ 'use strict'; const $ = require('jquery'); -const zxcvbn = require('zxcvbn'); const utils = { ...require('./utils.common') }; @@ -57,7 +56,7 @@ utils.isMobile = function () { }); }; -utils.assertPasswordValidity = (password) => { +utils.assertPasswordValidity = (password, zxcvbn) => { // More checks on top of basic utils.isPasswordValid() if (!utils.isPasswordValid(password)) { throw new Error('[[user:change_password_error]]');