Skip to content

Commit 736f6d8

Browse files
authored
Build Alpine.js bundle (hestiacp#3521)
* Build Alpine.js bundle * Bump npm packages
1 parent 5ddd644 commit 736f6d8

File tree

6 files changed

+108
-69
lines changed

6 files changed

+108
-69
lines changed

build.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import postcss from 'postcss';
99
import postcssConfig from './postcss.config.js';
1010

1111
// Packages to build but exclude from bundle
12-
const externalPackages = ['chart.js/auto'];
12+
const externalPackages = ['chart.js/auto', 'alpinejs/dist/cdn.min.js'];
1313

1414
// Build main bundle
1515
async function buildJS() {
@@ -34,7 +34,7 @@ async function buildJS() {
3434
async function buildExternalJS() {
3535
try {
3636
const buildPromises = externalPackages.map(async (pkg) => {
37-
const outputPath = `./web/js/dist/${pkg.replace('/', '-')}.min.js`;
37+
const outputPath = getOutputPath(pkg);
3838
await esbuild.build({
3939
entryPoints: [pkg],
4040
outfile: outputPath,
@@ -52,6 +52,18 @@ async function buildExternalJS() {
5252
}
5353
}
5454

55+
function getOutputPath(pkg) {
56+
let pkgName;
57+
58+
if (pkg.startsWith('alpinejs')) {
59+
pkgName = 'alpinejs';
60+
} else {
61+
pkgName = pkg.replace(/\//g, '-');
62+
}
63+
64+
return `./web/js/dist/${pkgName}.min.js`;
65+
}
66+
5567
// Process a CSS file
5668
async function processCSS(inputFile, outputFile) {
5769
try {

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,16 @@
2020
"packageManager": "yarn@3.5.0",
2121
"dependencies": {
2222
"@fortawesome/fontawesome-free": "^6.4.0",
23+
"alpinejs": "^3.12.0",
2324
"chart.js": "^4.3.0",
2425
"check-password-strength": "^2.0.7",
2526
"nanoid": "^4.0.2",
2627
"normalize.css": "^8.0.1"
2728
},
2829
"devDependencies": {
2930
"@prettier/plugin-php": "^0.19.4",
30-
"@typescript-eslint/eslint-plugin": "^5.59.1",
31-
"@typescript-eslint/parser": "^5.59.1",
31+
"@typescript-eslint/eslint-plugin": "^5.59.2",
32+
"@typescript-eslint/parser": "^5.59.2",
3233
"cssnano": "^6.0.1",
3334
"esbuild": "^0.17.18",
3435
"eslint": "^8.39.0",

web/js/dist/alpinejs.min.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web/js/vendor/alpine-3.12.0.min.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

web/templates/includes/js.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script defer src="/js/dist/main.min.js?<?= JS_LATEST_UPDATE ?>"></script>
2-
<script defer src="/js/vendor/alpine-3.12.0.min.js?<?= JS_LATEST_UPDATE ?>"></script>
2+
<script defer src="/js/dist/alpinejs.min.js?<?= JS_LATEST_UPDATE ?>"></script>
33
<script>
44
document.documentElement.classList.replace('no-js', 'js');
55
document.addEventListener('alpine:init', () => {

yarn.lock

Lines changed: 85 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -971,14 +971,14 @@ __metadata:
971971
languageName: node
972972
linkType: hard
973973

974-
"@typescript-eslint/eslint-plugin@npm:^5.59.1":
975-
version: 5.59.1
976-
resolution: "@typescript-eslint/eslint-plugin@npm:5.59.1"
974+
"@typescript-eslint/eslint-plugin@npm:^5.59.2":
975+
version: 5.59.2
976+
resolution: "@typescript-eslint/eslint-plugin@npm:5.59.2"
977977
dependencies:
978978
"@eslint-community/regexpp": ^4.4.0
979-
"@typescript-eslint/scope-manager": 5.59.1
980-
"@typescript-eslint/type-utils": 5.59.1
981-
"@typescript-eslint/utils": 5.59.1
979+
"@typescript-eslint/scope-manager": 5.59.2
980+
"@typescript-eslint/type-utils": 5.59.2
981+
"@typescript-eslint/utils": 5.59.2
982982
debug: ^4.3.4
983983
grapheme-splitter: ^1.0.4
984984
ignore: ^5.2.0
@@ -991,67 +991,67 @@ __metadata:
991991
peerDependenciesMeta:
992992
typescript:
993993
optional: true
994-
checksum: 9ada3ae721594ddd8101a6093e6383bc95e4dcb19b3929210dee5480637786473a9eba2e69e61e560fa592965f4fd02aeb98ddfda91b00b448ae01c5d77431d6
994+
checksum: 1045883173a36a069b56e906ed7e5b4106e1efc2ed0969a1718683aef58fd39e5dfa17774b8782c3ced0529a4edd6dedfcb54348a14525f191a6816e6f3b90dc
995995
languageName: node
996996
linkType: hard
997997

998-
"@typescript-eslint/parser@npm:^5.59.1":
999-
version: 5.59.1
1000-
resolution: "@typescript-eslint/parser@npm:5.59.1"
998+
"@typescript-eslint/parser@npm:^5.59.2":
999+
version: 5.59.2
1000+
resolution: "@typescript-eslint/parser@npm:5.59.2"
10011001
dependencies:
1002-
"@typescript-eslint/scope-manager": 5.59.1
1003-
"@typescript-eslint/types": 5.59.1
1004-
"@typescript-eslint/typescript-estree": 5.59.1
1002+
"@typescript-eslint/scope-manager": 5.59.2
1003+
"@typescript-eslint/types": 5.59.2
1004+
"@typescript-eslint/typescript-estree": 5.59.2
10051005
debug: ^4.3.4
10061006
peerDependencies:
10071007
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
10081008
peerDependenciesMeta:
10091009
typescript:
10101010
optional: true
1011-
checksum: d324d32a69e06ab12aacb72cd3e2a8eb8ade6c2a4d4e6bb013941588a675e818a8ebd973bef1cd818da6a76eb00908bf66d84ef214c3f015dfcb40f8067a335e
1011+
checksum: 0d3f992c49e062ff509606fb72846abaa66602d93ca15bc6498c345c55effa28c8d523b829cd180d901eaf04bca3d93a165d56a387ce109333d60d67b09b5638
10121012
languageName: node
10131013
linkType: hard
10141014

1015-
"@typescript-eslint/scope-manager@npm:5.59.1":
1016-
version: 5.59.1
1017-
resolution: "@typescript-eslint/scope-manager@npm:5.59.1"
1015+
"@typescript-eslint/scope-manager@npm:5.59.2":
1016+
version: 5.59.2
1017+
resolution: "@typescript-eslint/scope-manager@npm:5.59.2"
10181018
dependencies:
1019-
"@typescript-eslint/types": 5.59.1
1020-
"@typescript-eslint/visitor-keys": 5.59.1
1021-
checksum: ae7758181d0f18d1ad20abf95164553fa98c20410968d538ac7abd430ec59f69e30d4da16ad968d029feced1ed49abc65daf6685c996eb4529d798e8320204ff
1019+
"@typescript-eslint/types": 5.59.2
1020+
"@typescript-eslint/visitor-keys": 5.59.2
1021+
checksum: e7adce27890ebaadd0fb36a35639c9a97d2965973643aef4b4b0dcfabb03181c82235d7171e718b002dd398e52fefd67816eb34912ddbc2bb738b47755bd502a
10221022
languageName: node
10231023
linkType: hard
10241024

1025-
"@typescript-eslint/type-utils@npm:5.59.1":
1026-
version: 5.59.1
1027-
resolution: "@typescript-eslint/type-utils@npm:5.59.1"
1025+
"@typescript-eslint/type-utils@npm:5.59.2":
1026+
version: 5.59.2
1027+
resolution: "@typescript-eslint/type-utils@npm:5.59.2"
10281028
dependencies:
1029-
"@typescript-eslint/typescript-estree": 5.59.1
1030-
"@typescript-eslint/utils": 5.59.1
1029+
"@typescript-eslint/typescript-estree": 5.59.2
1030+
"@typescript-eslint/utils": 5.59.2
10311031
debug: ^4.3.4
10321032
tsutils: ^3.21.0
10331033
peerDependencies:
10341034
eslint: "*"
10351035
peerDependenciesMeta:
10361036
typescript:
10371037
optional: true
1038-
checksum: ff46cc049995bb6505a6170550a9e658c42cd5699a95e1976822318fef2963381223505f797051fc727938ace66d4a7dc072a4b4cadbbdf91d2fda1a16c05c98
1038+
checksum: d9dc037509a97b11a3c7f758f0f6e985cf5b4909fab860018a75b1550711ce9ff07bf5b67d4197ba7a0a831fec7255851b1e6a773a69030fc8ea7ec649859f52
10391039
languageName: node
10401040
linkType: hard
10411041

1042-
"@typescript-eslint/types@npm:5.59.1":
1043-
version: 5.59.1
1044-
resolution: "@typescript-eslint/types@npm:5.59.1"
1045-
checksum: 40ea7ccf59c4951797d3761e53c866a5979e07fbdabef9dc07d3a3f625a99d4318d5329ae8e628cdfdc0bb9bb6e6d8dfb740f33c7bf318e63fa0a863b9ae85c7
1042+
"@typescript-eslint/types@npm:5.59.2":
1043+
version: 5.59.2
1044+
resolution: "@typescript-eslint/types@npm:5.59.2"
1045+
checksum: 5a91cfbcaa8c7e92ad91f67abd0ce43ae562fdbdd8c32aa968731bf7c200d13a0415e87fc032bd48f7e5b7d3ed1447cb14449ef2592c269ca311974b15ce0af2
10461046
languageName: node
10471047
linkType: hard
10481048

1049-
"@typescript-eslint/typescript-estree@npm:5.59.1":
1050-
version: 5.59.1
1051-
resolution: "@typescript-eslint/typescript-estree@npm:5.59.1"
1049+
"@typescript-eslint/typescript-estree@npm:5.59.2":
1050+
version: 5.59.2
1051+
resolution: "@typescript-eslint/typescript-estree@npm:5.59.2"
10521052
dependencies:
1053-
"@typescript-eslint/types": 5.59.1
1054-
"@typescript-eslint/visitor-keys": 5.59.1
1053+
"@typescript-eslint/types": 5.59.2
1054+
"@typescript-eslint/visitor-keys": 5.59.2
10551055
debug: ^4.3.4
10561056
globby: ^11.1.0
10571057
is-glob: ^4.0.3
@@ -1060,35 +1060,35 @@ __metadata:
10601060
peerDependenciesMeta:
10611061
typescript:
10621062
optional: true
1063-
checksum: e33081937225f38e717ac2f9e90c4a8c6b71b701923eea3e03be76d8c466f0d3c6a4ec1d65c9fc1da4f1989416d386305353c5b53aa736d3af9503061001e3eb
1063+
checksum: e8bb8817fe53f826f54e4ca584e48a6700dae25e0cc20ab7db38e7e5308987c5759408b39a4e494d4d6dcd7b4bca9f9c507fae987213380dc1c98607cb0a60b1
10641064
languageName: node
10651065
linkType: hard
10661066

1067-
"@typescript-eslint/utils@npm:5.59.1":
1068-
version: 5.59.1
1069-
resolution: "@typescript-eslint/utils@npm:5.59.1"
1067+
"@typescript-eslint/utils@npm:5.59.2":
1068+
version: 5.59.2
1069+
resolution: "@typescript-eslint/utils@npm:5.59.2"
10701070
dependencies:
10711071
"@eslint-community/eslint-utils": ^4.2.0
10721072
"@types/json-schema": ^7.0.9
10731073
"@types/semver": ^7.3.12
1074-
"@typescript-eslint/scope-manager": 5.59.1
1075-
"@typescript-eslint/types": 5.59.1
1076-
"@typescript-eslint/typescript-estree": 5.59.1
1074+
"@typescript-eslint/scope-manager": 5.59.2
1075+
"@typescript-eslint/types": 5.59.2
1076+
"@typescript-eslint/typescript-estree": 5.59.2
10771077
eslint-scope: ^5.1.1
10781078
semver: ^7.3.7
10791079
peerDependencies:
10801080
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
1081-
checksum: ca32c90efa57e937ebf812221e070c0604ca99f900fbca60578b42d40c923d5a94fd9503cf5918ecd75b687b68a1be562f7c6593a329bc40b880c95036a021c0
1081+
checksum: 483c35a592a36a5973204ce4cd11d52935c097b414d7edac2ecd15dba460b8c540b793ffc232c0f8580fef0624eb7704156ce33c66bd09a76769ed019bddd1d1
10821082
languageName: node
10831083
linkType: hard
10841084

1085-
"@typescript-eslint/visitor-keys@npm:5.59.1":
1086-
version: 5.59.1
1087-
resolution: "@typescript-eslint/visitor-keys@npm:5.59.1"
1085+
"@typescript-eslint/visitor-keys@npm:5.59.2":
1086+
version: 5.59.2
1087+
resolution: "@typescript-eslint/visitor-keys@npm:5.59.2"
10881088
dependencies:
1089-
"@typescript-eslint/types": 5.59.1
1089+
"@typescript-eslint/types": 5.59.2
10901090
eslint-visitor-keys: ^3.3.0
1091-
checksum: f98e399147310cad67de718a8a6336f053d46753bade380c89ddac3dd49512555c3f613636b255ce0b5e2b004654d1c167eb5e53fc8085148b637a5afc20cdd8
1091+
checksum: 3057a017bca03b4ec3bee442044f2bc2f77a4af0d83ea9bf7c6cb2a12811126d93d9d300d89ef8078d981e478c6cc38693c51a2ae4b10a717796bba880eff924
10921092
languageName: node
10931093
linkType: hard
10941094

@@ -1181,6 +1181,15 @@ __metadata:
11811181
languageName: node
11821182
linkType: hard
11831183

1184+
"@vue/reactivity@npm:~3.1.1":
1185+
version: 3.1.5
1186+
resolution: "@vue/reactivity@npm:3.1.5"
1187+
dependencies:
1188+
"@vue/shared": 3.1.5
1189+
checksum: b7dfcaa30aacd658502ce9373d4343d3607486796fbaae28d4ac4ab955cec766c8c6a34cb422965b21154b6319e467c54259cd6da2d9b2687501cd9e36f4197c
1190+
languageName: node
1191+
linkType: hard
1192+
11841193
"@vue/runtime-core@npm:3.2.47":
11851194
version: 3.2.47
11861195
resolution: "@vue/runtime-core@npm:3.2.47"
@@ -1214,6 +1223,13 @@ __metadata:
12141223
languageName: node
12151224
linkType: hard
12161225

1226+
"@vue/shared@npm:3.1.5":
1227+
version: 3.1.5
1228+
resolution: "@vue/shared@npm:3.1.5"
1229+
checksum: a34b942e1aeed5d2b0fe887d0804061d2e799ef9a0d641aaae368c6fa9e2bf311e415f02883f26963bd35d90cac165433cfe74360f7ee88304fccaa144422d83
1230+
languageName: node
1231+
linkType: hard
1232+
12171233
"@vue/shared@npm:3.2.47":
12181234
version: 3.2.47
12191235
resolution: "@vue/shared@npm:3.2.47"
@@ -1350,6 +1366,15 @@ __metadata:
13501366
languageName: node
13511367
linkType: hard
13521368

1369+
"alpinejs@npm:^3.12.0":
1370+
version: 3.12.0
1371+
resolution: "alpinejs@npm:3.12.0"
1372+
dependencies:
1373+
"@vue/reactivity": ~3.1.1
1374+
checksum: e061efe93e815123c15cb244482298b36dd0ae2f246895253c73b5b7d11aec49dd0ee2bd099f2bdc81dd04a6e577ca70d239831b3cefbfa2871d4f90f1862b2b
1375+
languageName: node
1376+
linkType: hard
1377+
13531378
"ansi-escapes@npm:^4.3.0":
13541379
version: 4.3.2
13551380
resolution: "ansi-escapes@npm:4.3.2"
@@ -1673,9 +1698,9 @@ __metadata:
16731698
linkType: hard
16741699

16751700
"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001449, caniuse-lite@npm:^1.0.30001464":
1676-
version: 1.0.30001481
1677-
resolution: "caniuse-lite@npm:1.0.30001481"
1678-
checksum: 8200a043c191b4fd4fe0beda37a58fd61869c895ab93f87bdd0420e5927453f48434d716ce9da8552ff6c3ecc4dcd1366354cda3a134f3cc844af741574a7cab
1701+
version: 1.0.30001482
1702+
resolution: "caniuse-lite@npm:1.0.30001482"
1703+
checksum: a5f7681c860a29736f29350ebd81041c40b6aa7b2f94c50ed27284a0507e46dc79536dcfc05432504cfc80a0bf2070e4ad6fa704a9c0f3f32d47bed9059e98c2
16791704
languageName: node
16801705
linkType: hard
16811706

@@ -2230,9 +2255,9 @@ __metadata:
22302255
linkType: hard
22312256

22322257
"electron-to-chromium@npm:^1.4.284":
2233-
version: 1.4.377
2234-
resolution: "electron-to-chromium@npm:1.4.377"
2235-
checksum: a38a09385701f1dd74b849f6265ed0dd9ab973b1a6acea78825c2dc162948cc795797e0aacea0176dd0c4d891decc4b81838a0996351dd294ffa5f08163d78d6
2258+
version: 1.4.378
2259+
resolution: "electron-to-chromium@npm:1.4.378"
2260+
checksum: 2beee1275852845f13d598cab2b9bd531e868dd81774713073e39e01c30cca745b12da9c3f3ebfa9f828e397029c4d4e19046dac3c78c481ccfda7f453f33002
22362261
languageName: node
22372262
linkType: hard
22382263

@@ -3150,8 +3175,9 @@ __metadata:
31503175
dependencies:
31513176
"@fortawesome/fontawesome-free": ^6.4.0
31523177
"@prettier/plugin-php": ^0.19.4
3153-
"@typescript-eslint/eslint-plugin": ^5.59.1
3154-
"@typescript-eslint/parser": ^5.59.1
3178+
"@typescript-eslint/eslint-plugin": ^5.59.2
3179+
"@typescript-eslint/parser": ^5.59.2
3180+
alpinejs: ^3.12.0
31553181
chart.js: ^4.3.0
31563182
check-password-strength: ^2.0.7
31573183
cssnano: ^6.0.1
@@ -6004,9 +6030,9 @@ __metadata:
60046030
linkType: hard
60056031

60066032
"string-argv@npm:^0.3.1":
6007-
version: 0.3.1
6008-
resolution: "string-argv@npm:0.3.1"
6009-
checksum: efbd0289b599bee808ce80820dfe49c9635610715429c6b7cc50750f0437e3c2f697c81e5c390208c13b5d5d12d904a1546172a88579f6ee5cbaaaa4dc9ec5cf
6033+
version: 0.3.2
6034+
resolution: "string-argv@npm:0.3.2"
6035+
checksum: 8703ad3f3db0b2641ed2adbb15cf24d3945070d9a751f9e74a924966db9f325ac755169007233e8985a39a6a292f14d4fee20482989b89b96e473c4221508a0f
60106036
languageName: node
60116037
linkType: hard
60126038

0 commit comments

Comments
 (0)