Skip to content

Commit 2e3787c

Browse files
authored
Merge pull request #4558 from sstrigler/mod_invites-make-bootstrap-optional
add --enable-bootstrap=no to configure options to bypass download
2 parents f6a56fa + 6f7b038 commit 2e3787c

8 files changed

Lines changed: 35 additions & 29 deletions

File tree

Makefile.in

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,11 @@ endif
212212

213213
all: scripts deps src
214214

215+
ifeq (@bootstrap@,true)
215216
deps: $(DEPSDIR)/.got invites-deps
217+
else
218+
deps: $(DEPSDIR)/.got
219+
endif
216220

217221
$(DEPSDIR)/.got:
218222
rm -rf $(DEPSDIR)/.got
@@ -230,12 +234,14 @@ else
230234
INSTALL_INVITES_DEPS=npm install
231235
endif
232236

233-
invites-deps: priv/mod_invites/static/bootstrap/ priv/mod_invites/static/jquery/
237+
ifeq (@bootstrap@,true)
238+
invites-deps: priv/mod_invites/static/bootstrap/
234239

235240
priv/mod_invites/static/bootstrap/:
236241
$(INSTALL_INVITES_DEPS)
237242
priv/mod_invites/static/jquery/:
238243
$(INSTALL_INVITES_DEPS)
244+
endif
239245

240246
src: $(DEPSDIR)/.built
241247
$(REBAR) $(SKIPDEPS) compile
@@ -324,7 +330,7 @@ BINARIES=$(DEPSDIR)/epam/priv/bin/epam $(DEPSDIR)/eimp/priv/bin/eimp $(DEPSDIR)/
324330
DEPS_FILES_FILTERED=$(filter-out $(BINARIES) $(DEPSDIR)/elixir/ebin/elixir.app,$(DEPS_FILES))
325331
DEPS_DIRS=$(sort $(DEPSDIR)/ $(foreach DEP,$(DEPS),$(DEPSDIR)/$(DEP)/) $(dir $(DEPS_FILES)))
326332

327-
MAIN_FILES=$(filter-out %/configure.beam,$(call FILES_WILDCARD,$(EBINDIR)/*.beam $(EBINDIR)/*.app priv/msgs/*.msg priv/css/*.css priv/img/*.png priv/js/*.js priv/lib/* priv/mod_invites/* priv/mod_invites/static/* priv/mod_invites/static/bootstrap/css/bootstrap.min.css priv/mod_invites/static/bootstrap/js/bootstrap.min.js priv/mod_invites/static/jquery/jquery.min.js \
333+
MAIN_FILES=$(filter-out %/configure.beam,$(call FILES_WILDCARD,$(EBINDIR)/*.beam $(EBINDIR)/*.app priv/msgs/*.msg priv/css/*.css priv/img/*.png priv/js/*.js priv/lib/* priv/mod_invites/* priv/mod_invites/static/* priv/mod_invites/static/bootstrap/css/bootstrap.min.css priv/mod_invites/static/bootstrap/js/bootstrap.min.js \
328334
priv/mod_invites/static/logos/* include/*.hrl COPYING))
329335
MAIN_DIRS=$(sort $(dir $(MAIN_FILES)) priv/bin priv/sql priv/lua priv/mod_invites)
330336

@@ -567,7 +573,7 @@ clean:
567573
rm -rf test/*.beam
568574
rm -f rebar.lock
569575
rm -f ejabberdctl.example ejabberd.init ejabberd.service
570-
rm -rf priv/mod_invites/static/{jquery,bootstrap4}
576+
rm -rf priv/mod_invites/static/bootstrap
571577
$(REBAR) clean $(CLEANARG)
572578

573579
clean-rel:

configure.ac

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,14 @@ AC_ARG_ENABLE(all,
110110
*) AC_MSG_ERROR(bad value ${enableval} for --enable-all) ;;
111111
esac],[])
112112

113+
AC_ARG_ENABLE(bootstrap,
114+
[AS_HELP_STRING([--enable-bootstrap],[include bootstrap dependencies for mod_invites (default: yes)])],
115+
[case "${enableval}" in
116+
yes) bootstrap=true ;;
117+
no) bootstrap=false ;;
118+
*) AC_MSG_ERROR(bad value ${enableval} for --enable-bootstrap) ;;
119+
esac],[if test "x$bootstrap" = "x"; then bootstrap=true; fi])
120+
113121
AC_ARG_ENABLE(debug,
114122
[AS_HELP_STRING([--enable-debug],[enable debug information (default: yes)])],
115123
[case "${enableval}" in
@@ -348,6 +356,7 @@ AC_SUBST(system_deps)
348356
AC_SUBST(CFLAGS)
349357
AC_SUBST(CPPFLAGS)
350358
AC_SUBST(LDFLAGS)
359+
AC_SUBST(bootstrap)
351360

352361
AC_OUTPUT
353362

package-lock.json

Lines changed: 1 addition & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@
22
"name": "ejabberd",
33
"version": "1.0.0",
44
"dependencies": {
5-
"bootstrap": "^5.3.8",
6-
"jquery": "^4.0.0"
5+
"bootstrap": "^5.3.8"
76
},
87
"scripts": {
9-
"postinstall": "npm run -s clean && npm run -s mkdir-jquery && npm run -s cp-jquery && npm run -s cp-bootstrap",
10-
"clean": "rm -rf priv/mod_invites/static/{jquery,bootstrap}",
11-
"mkdir-jquery": "mkdir -p priv/mod_invites/static/jquery",
12-
"cp-jquery": "cp node_modules/jquery/dist/jquery.min.js priv/mod_invites/static/jquery/jquery.min.js",
8+
"postinstall": "npm run -s clean && npm run -s cp-bootstrap",
9+
"clean": "rm -rf priv/mod_invites/static/bootstrap",
1310
"cp-bootstrap": "cp -r node_modules/bootstrap/dist priv/mod_invites/static/bootstrap"
1411
}
1512
}

priv/mod_invites/HOWTO.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# HOWTO - collection of tips'n'tricks around chaning mod\_invite's templates
2+
3+
## How to create checksums (SRI) for included CSS and JS files used in templates
4+
5+
```console
6+
openssl dgst -sha384 -binary priv/mod_invites/static/invite.js | openssl base64 -A
7+
```

priv/mod_invites/base_min.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ <h1 class="card-header">{%block h1 %}{% blocktrans %}Invite to {{ site_name }}{%
2323
</div>
2424
{% block qr_code %}{% endblock %}
2525
{% block extra_scripts %}{% endblock %}
26-
<script src="{{ static }}/jquery/jquery.min.js" integrity="sha384-fgGyf7Mo7DURSOMnOy7ed+dkq5Job205Gnzu6QIg0BOHKaqt4D76Dt8VlDCzcMHV"></script>
2726
<script src="{{ static }}/bootstrap/js/bootstrap.min.js" integrity="sha384-G/EV+4j2dNv+tEPo3++6LCgdCROaejBqfUeNjuKAiuXbjrxilcCdDz6ZAVfHWe1Y"></script>
28-
<script src="{{ static }}/invite.js" integrity="sha384-ov8LmXw6nEmT+QvXBRPMol0e90WFX9ZysvQudQ7H+nYDyolH4K/+GKJhq7qmTk4T"></script>
27+
<script src="{{ static }}/invite.js" integrity="sha384-9dl7uTP5+QJJfidqZFZB530NVQnp58oBvUdbj6mjFPKPNUWhl85g4kP9BStp0bpv"></script>
2928
</body>
3029
</html>

priv/mod_invites/static/invite.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,11 @@
8989
badge.classList.remove("text-bg-info");
9090
}
9191
}
92-
if (!has_platform)
93-
$(card).find("a.btn").removeClass("btn-primary").addClass("btn-secondary");
92+
if (!has_platform) {
93+
const button = card.querySelector('a.btn');
94+
button.classList.remove('btn-primary');
95+
button.classList.add('btn-secondary');
96+
}
9497
}
9598
const show_all_clients_button_container = document.getElementById('show-all-clients-button-container');
9699
if (show_all_clients_button_container) {

tools/dl_invites_page_deps.sh

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/bin/bash
2-
32
set -e
43

5-
jquery_checksum='39a546ea9ad97f8bfaf5d3e0e8f8556adb415e470e59007ada9759dce472adaa';
64
bootstrap_checksum='3258c873cbcb1e2d81f4374afea2ea6437d9eee9077041073fd81dd579c5ba6b';
75

86
check() {
@@ -15,12 +13,6 @@ if [ "$#" -ne 1 ]; then
1513
fi
1614
install_dir="$1"
1715

18-
mkdir -p "$install_dir/jquery"
19-
jquery="$(mktemp /tmp/jquery.XXXXXXXXX)"
20-
curl -s -o $jquery https://code.jquery.com/jquery-4.0.0.min.js
21-
check $jquery_checksum $jquery
22-
mv $jquery "$install_dir/jquery/jquery.min.js"
23-
2416
bootstrap="$(mktemp /tmp/bootstrap.XXXXXXXXX)"
2517
curl -L -s -o $bootstrap https://github.com/twbs/bootstrap/releases/download/v5.3.8/bootstrap-5.3.8-dist.zip
2618
check $bootstrap_checksum $bootstrap

0 commit comments

Comments
 (0)