@jolibox/bootstrap 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +3 -0
- package/.rush/temp/package-deps_build.json +12 -0
- package/.rush/temp/shrinkwrap-deps.json +76 -0
- package/README.md +6 -0
- package/bootstrap.build.log +5 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/runtime.d.ts +34 -0
- package/package.json +25 -0
- package/src/index.ts +1 -0
- package/src/runtime.ts +62 -0
- package/tsconfig.json +16 -0
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": {
|
|
3
|
+
"packages/bootstrap/.rush/temp/shrinkwrap-deps.json": "85f115f9fbe6f1e962199c288bb411864903ba42",
|
|
4
|
+
"packages/bootstrap/.eslintrc.js": "edf42cea6fba51042e3fc82241d56a202f11a83a",
|
|
5
|
+
"packages/bootstrap/README.md": "9b60fc4ee630488fd6ce5cc43a6bbd5c06e175fb",
|
|
6
|
+
"packages/bootstrap/package.json": "8d5ebfa203459c5ebc46a486794d317133d140ed",
|
|
7
|
+
"packages/bootstrap/src/index.ts": "1db013adc75ad61e7425a64874d5141e45e222a8",
|
|
8
|
+
"packages/bootstrap/src/runtime.ts": "1fa27c53bc53a4051cc54906f5a4c8256ccb8a34",
|
|
9
|
+
"packages/bootstrap/tsconfig.json": "ef597317f67bfb548a17f81a3b7a3ca64f08bb93"
|
|
10
|
+
},
|
|
11
|
+
"arguments": "npm run clean && esbuild ./src/index.ts --log-level=error --format=iife --outfile=./dist/index.js --bundle --minify && tsc "
|
|
12
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"../../packages/bootstrap": "../../packages/bootstrap:kpM9INFRW/QZby9UIPWfonNa3tApgleoo6cCoB08TGQ=:",
|
|
3
|
+
"/@esbuild/aix-ppc64/0.24.2": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
|
|
4
|
+
"/@esbuild/android-arm/0.24.2": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
|
|
5
|
+
"/@esbuild/android-arm64/0.24.2": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
|
|
6
|
+
"/@esbuild/android-x64/0.24.2": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
|
|
7
|
+
"/@esbuild/darwin-arm64/0.24.2": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
|
|
8
|
+
"/@esbuild/darwin-x64/0.24.2": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
|
|
9
|
+
"/@esbuild/freebsd-arm64/0.24.2": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
|
|
10
|
+
"/@esbuild/freebsd-x64/0.24.2": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
|
|
11
|
+
"/@esbuild/linux-arm/0.24.2": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
|
|
12
|
+
"/@esbuild/linux-arm64/0.24.2": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
|
|
13
|
+
"/@esbuild/linux-ia32/0.24.2": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
|
|
14
|
+
"/@esbuild/linux-loong64/0.24.2": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
|
|
15
|
+
"/@esbuild/linux-mips64el/0.24.2": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
|
|
16
|
+
"/@esbuild/linux-ppc64/0.24.2": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
|
|
17
|
+
"/@esbuild/linux-riscv64/0.24.2": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
|
|
18
|
+
"/@esbuild/linux-s390x/0.24.2": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
|
|
19
|
+
"/@esbuild/linux-x64/0.24.2": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
|
|
20
|
+
"/@esbuild/netbsd-arm64/0.24.2": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
|
|
21
|
+
"/@esbuild/netbsd-x64/0.24.2": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
|
|
22
|
+
"/@esbuild/openbsd-arm64/0.24.2": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
|
|
23
|
+
"/@esbuild/openbsd-x64/0.24.2": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
|
|
24
|
+
"/@esbuild/sunos-x64/0.24.2": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
|
|
25
|
+
"/@esbuild/win32-arm64/0.24.2": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
|
|
26
|
+
"/@esbuild/win32-ia32/0.24.2": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
|
|
27
|
+
"/@esbuild/win32-x64/0.24.2": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
|
|
28
|
+
"/@isaacs/cliui/8.0.2": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
|
29
|
+
"/@types/jest/28.1.1": "sha512-C2p7yqleUKtCkVjlOur9BWVA4HgUQmEj/HWCt5WzZ5mLXrWnyIfl0wGuArc+kBXsy0ZZfLp+7dywB4HtSVYGVA==",
|
|
30
|
+
"/ansi-regex/5.0.1": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
31
|
+
"/ansi-regex/6.1.0": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
|
|
32
|
+
"/ansi-styles/4.3.0": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
33
|
+
"/ansi-styles/5.2.0": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
|
34
|
+
"/ansi-styles/6.2.1": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
|
35
|
+
"/balanced-match/1.0.2": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
|
36
|
+
"/brace-expansion/2.0.1": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
|
37
|
+
"/chalk/4.1.2": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
|
38
|
+
"/color-convert/2.0.1": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
39
|
+
"/color-name/1.1.4": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
40
|
+
"/cross-spawn/7.0.6": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
|
41
|
+
"/diff-sequences/27.5.1": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
|
|
42
|
+
"/eastasianwidth/0.2.0": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
|
43
|
+
"/emoji-regex/8.0.0": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
44
|
+
"/emoji-regex/9.2.2": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
|
45
|
+
"/esbuild/0.24.2": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
|
|
46
|
+
"/foreground-child/3.3.0": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
|
|
47
|
+
"/glob/11.0.1": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==",
|
|
48
|
+
"/has-flag/4.0.0": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
49
|
+
"/is-fullwidth-code-point/3.0.0": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
|
50
|
+
"/isexe/2.0.0": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
|
51
|
+
"/jackspeak/4.0.2": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==",
|
|
52
|
+
"/jest-diff/27.5.1": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
|
|
53
|
+
"/jest-get-type/27.5.1": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
|
|
54
|
+
"/jest-matcher-utils/27.5.1": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
|
|
55
|
+
"/lru-cache/11.0.2": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
|
|
56
|
+
"/minimatch/10.0.1": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
|
|
57
|
+
"/minipass/7.1.2": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
|
|
58
|
+
"/package-json-from-dist/1.0.1": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
|
59
|
+
"/path-key/3.1.1": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
|
60
|
+
"/path-scurry/2.0.0": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
|
|
61
|
+
"/pretty-format/27.5.1": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
|
|
62
|
+
"/react-is/17.0.2": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
|
|
63
|
+
"/rimraf/6.0.1": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
|
|
64
|
+
"/shebang-command/2.0.0": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
|
65
|
+
"/shebang-regex/3.0.0": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
|
66
|
+
"/signal-exit/4.1.0": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
|
67
|
+
"/string-width/4.2.3": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
|
68
|
+
"/string-width/5.1.2": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
|
69
|
+
"/strip-ansi/6.0.1": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
|
70
|
+
"/strip-ansi/7.1.0": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
|
|
71
|
+
"/supports-color/7.2.0": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
72
|
+
"/typescript/5.7.3": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
|
|
73
|
+
"/which/2.0.2": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
|
74
|
+
"/wrap-ansi/7.0.0": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
|
75
|
+
"/wrap-ansi/8.1.0": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="
|
|
76
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Jolibox JSSDK Bootstrap
|
|
2
|
+
|
|
3
|
+
- This package will be executed during the SDK initialization phase within a synchronous block.
|
|
4
|
+
- The contents of this package will significantly impact the SDK's initialization performance,
|
|
5
|
+
- so only methods with the highest priority are allowed to be included in this package.
|
|
6
|
+
- Currently, the known methods that must be created during initialization are Runtime.notifyProgress and Runtime.loadFinished
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './runtime';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(()=>{var p=Object.defineProperty,y=Object.getOwnPropertyDescriptor,I=(t,e)=>{for(var s in e)p(t,s,{get:e[s],enumerable:!0})},g=(t,e,s,r)=>{for(var n=r>1?void 0:r?y(e,s):e,o=t.length-1,d;o>=0;o--)(d=t[o])&&(n=(r?d(e,s,n):d(n))||n);return r&&n&&p(e,s,n),n};function T(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}function N(t){return typeof t=="string"}function x(t){return typeof t>"u"}function L(t){return x(t)||t===null}function U(t){return typeof t=="function"}function v(t){let e=t,s=null,r=function(...n){return s||(s=new e(...n)),s};return r.prototype=e.prototype,r}var S=(t=>(t[t.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",t[t.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",t[t.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",t[t.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",t[t.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",t[t.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",t[t.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",t[t.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",t))(S||{});function a(t){return(...e)=>{(globalThis.VConsole?.[t]??globalThis.console[t])(...e)}}var C={log:a("log"),warn:a("warn"),info:a("info"),error:a("error"),debug:a("debug")};Object.assign(globalThis,{logger:C});var D=Symbol.for("Jolibox.canIUseMap"),w={};globalThis[D]=w;var i=class u{static{this.Undefined=new u(void 0)}constructor(e){this.element=e,this.next=u.Undefined,this.prev=u.Undefined}},P=class{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let t=this._first;for(;t!==i.Undefined;){let e=t.next;t.prev=i.Undefined,t.next=i.Undefined,t=e}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let s=new i(t);if(this._first===i.Undefined)this._first=s,this._last=s;else if(e){let n=this._last;this._last=s,s.prev=n,n.next=s}else{let n=this._first;this._first=s,s.next=n,n.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==i.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==i.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==i.Undefined&&t.next!==i.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===i.Undefined&&t.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):t.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):t.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==i.Undefined;)yield t.element,t=t.next}},b=0,c=class{constructor(t){this.value=t,this.id=b++}},l=class{constructor(t){this.options=t,this._size=0}dispose(t){this._disposed||(this._disposed=!0,this._listeners&&(t?(this._listeners instanceof c&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(e=>e?.value===t)):(this._listeners=void 0,this._size=0)),this.options?.onDidRemoveLastListener?.())}get event(){return this._event??=(t,e)=>{if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};e&&(t=t.bind(e));let s=new c(t);this._listeners?this._listeners instanceof c?this._listeners=[this._listeners,s]:this._listeners.push(s):(this.options?.onWillAddFirstListener?.(this),this._listeners=s,this.options?.onDidFirstListener?.(this)),this.options?.onDidAddListener?.(this),this._size++},this._event}_deliver(t,e){if(!t)return;let s=this.options?.onListenerError||Error.constructor;if(!s){t.value(e);return}try{t.value(e)}catch(r){s(r)}}fire(t){this._listeners&&(this._listeners instanceof c?this._deliver(this._listeners,t):this._listeners.forEach(e=>this._deliver(e,t)))}hasListeners(){return this._size>0}},F=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(t,e){let s=this.listeners.get(t)??new l,r=o=>e(...o.args);this.listerHandlerMap.set(e,r),s.event(r),this.listeners.set(t,s);let n=this.cachedEventQueue.get(t);if(n)for(;n.size>0;)s.fire({event:t,...n.shift()})}off(t,e){let s=this.listeners.get(t);if(s){let r=this.listerHandlerMap.get(e);s.dispose(r)}}emit(t,...e){let s=this.listeners.get(t);if(s)s.fire({event:t,args:e});else{let r=this.cachedEventQueue.get(t);r||(r=new P,this.cachedEventQueue.set(t,r)),r.push({args:e})}}},f={};I(f,{None:()=>M,filter:()=>J,once:()=>O,toPromise:()=>k});var M=()=>{console.log("[Jolibox SDK] None Event")};function k(t){return new Promise(e=>O(t)(e))}function O(t){return(e,s=null)=>{let r=!1;return t(n=>{if(!r)return r=!0,e.call(s,n)},null)}}function J(t,e){return(s=>{let r,n={onWillAddFirstListener(){r=s(o.fire,o)}},o=new l(n);return o.event})((s,r=null)=>t(n=>e(n)&&s.call(r,n),null))}var m=Symbol.for("Jolibox.hostEmitter"),K=()=>{let t=new F;return globalThis[m]||(globalThis[m]={on:t.on.bind(t),off:t.off.bind(t),emit:t.emit.bind(t)}),globalThis[m]},z=K();function G(t,e){let s=Math.min(t.length,e.length);for(let r=0;r<s;r++)j(t[r],e[r])}function j(t,e){if(N(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(U(e)){try{if(t instanceof e)return}catch{}if(!L(t)&&t.constructor===e||e.length===1&&e.call(void 0,t)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}var h=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new l,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(t){if(!t)throw new Error("invalid command");if(t.metadata&&Array.isArray(t.metadata.args)){let s=[];for(let n of t.metadata.args)s.push(n.constraint);let r=t.handler;t.handler=function(...n){return G(n,s),r(...n)}}let{id:e}=t;this._commands.get(e)&&console.info(`[Jolibox SDK] duplicated command is registered ${e}`),this._commands.set(e,t),this._onDidRegisterCommand.fire(e)}getCommand(t){return this._commands.get(t)}getCommands(){let t=new Map;for(let e of this._commands.keys()){let s=this.getCommand(e);s&&t.set(e,s)}return t}};h=g([v],h);var E=class{constructor(){this._onWillExecuteCommand=new l,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new l,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new h,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=T(3e4)),this._starActivation}async executeCommand(t,...e){return this.registry.getCommand(t)?this._tryExecuteCommand(t,e):(await Promise.all([Promise.race([this._activateStar(),f.toPromise(f.filter(this.registry.onDidRegisterCommand,s=>s===t))])]),this._tryExecuteCommand(t,e))}executeCommandThowErr(t,...e){if(!this.registry.getCommand(t))throw new Error(`command '${t}' not found`);let s=this.registry.getCommand(t);this._onWillExecuteCommand.fire({commandId:t,args:e});let r=this.invokeFunction(s.handler,...e);return this._onDidExecuteCommand.fire({commandId:t,args:e}),r}_tryExecuteCommand(t,e){let s=this.registry.getCommand(t);if(!s)return Promise.reject(new Error(`command '${t}' not found`));try{this._onWillExecuteCommand.fire({commandId:t,args:e});let r=this.invokeFunction(s.handler,...e);return this._onDidExecuteCommand.fire({commandId:t,args:e}),Promise.resolve(r)}catch(r){return Promise.reject(r)}}invokeFunction(t,...e){let s=!1;try{return t(...e)}finally{s=!0}}};E=g([v],E);var _=Symbol.for("Jolibox.commands");function A(){if(globalThis[_])return globalThis[_];let t=new h,e=new E,s={registerCommand(r,n,o){t.registerCommand({id:r,handler:n,metadata:o})},executeCommand(r,...n){return e.executeCommand(r,...n)},excuteCommandSync(r,...n){return e.executeCommandThowErr(r,...n)}};return globalThis[_]=s,s}var V=A();window.dispatchEvent(new Event("JOLIBOX_RUNTIME_LOAD_START"));var R=class{constructor(){this.loadFinished=()=>{let e=new Event("JOLIBOX_RUNTIME_LOAD_FINISHED");window.dispatchEvent(e),V.executeCommand("ReportSDK.traceSystem",{event:"CallRuntimeLoadFinished",info:{t:Date.now()}})};this.notifyLoadProgress=e=>{let s=Math.ceil(e),r=new CustomEvent("JOLIBOX_RUNTIME_LOAD_PROGRESS",{detail:s});window.dispatchEvent(r)}}};window.JoliboxRuntime=R;})();
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare enum JoliboxRuntimeEvents {
|
|
2
|
+
/**
|
|
3
|
+
* Event dispatched when the loading starts
|
|
4
|
+
*/
|
|
5
|
+
LOAD_START = "JOLIBOX_RUNTIME_LOAD_START",
|
|
6
|
+
/**
|
|
7
|
+
* Event dispatched when the loading is finished
|
|
8
|
+
*/
|
|
9
|
+
LOAD_FINISHED = "JOLIBOX_RUNTIME_LOAD_FINISHED",
|
|
10
|
+
/**
|
|
11
|
+
* Event dispatched when the loading progress is updated
|
|
12
|
+
*/
|
|
13
|
+
LOAD_PROGRESS = "JOLIBOX_RUNTIME_LOAD_PROGRESS"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Jolibox Runtime, a set of utilities to interact with the Jolibox runtime
|
|
17
|
+
* @class
|
|
18
|
+
*/
|
|
19
|
+
export declare class JoliboxRuntime {
|
|
20
|
+
/**
|
|
21
|
+
* Notify the end of the loading, will close the loading splash screen
|
|
22
|
+
*/
|
|
23
|
+
loadFinished: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* Notify the progress of the loading, will update the loading splash screen
|
|
26
|
+
* @param progress - The progress of the loading, should be an integer between 0 and 100
|
|
27
|
+
*/
|
|
28
|
+
notifyLoadProgress: (progress: number) => void;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface Window {
|
|
32
|
+
JoliboxRuntime: typeof JoliboxRuntime;
|
|
33
|
+
}
|
|
34
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jolibox/bootstrap",
|
|
3
|
+
"description": "This project is Jolibox JS-SDk bootstrap",
|
|
4
|
+
"version": "1.0.0-beta.0",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"typings": "dist/index.d.ts",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@jolibox/common": "1.0.0-beta.0"
|
|
10
|
+
},
|
|
11
|
+
"devDependencies": {
|
|
12
|
+
"typescript": "5.7.3",
|
|
13
|
+
"@types/jest": "28.1.1",
|
|
14
|
+
"rimraf": "6.0.1",
|
|
15
|
+
"esbuild": "0.24.2",
|
|
16
|
+
"@jolibox/eslint-config": "1.0.0"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"clean": "rimraf ./dist",
|
|
20
|
+
"build": "npm run clean && esbuild ./src/index.ts --log-level=error --format=iife --outfile=./dist/index.js --bundle --minify && tsc",
|
|
21
|
+
"dev": "tsc --watch",
|
|
22
|
+
"test": "jest"
|
|
23
|
+
},
|
|
24
|
+
"readme": "# Jolibox JSSDK Bootstrap\n\n- This package will be executed during the SDK initialization phase within a synchronous block.\n- The contents of this package will significantly impact the SDK's initialization performance,\n- so only methods with the highest priority are allowed to be included in this package.\n- Currently, the known methods that must be created during initialization are Runtime.notifyProgress and Runtime.loadFinished\n"
|
|
25
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './runtime';
|
package/src/runtime.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createCommands } from '@jolibox/common';
|
|
2
|
+
|
|
3
|
+
export enum JoliboxRuntimeEvents {
|
|
4
|
+
/**
|
|
5
|
+
* Event dispatched when the loading starts
|
|
6
|
+
*/
|
|
7
|
+
LOAD_START = 'JOLIBOX_RUNTIME_LOAD_START',
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Event dispatched when the loading is finished
|
|
11
|
+
*/
|
|
12
|
+
LOAD_FINISHED = 'JOLIBOX_RUNTIME_LOAD_FINISHED',
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Event dispatched when the loading progress is updated
|
|
16
|
+
*/
|
|
17
|
+
LOAD_PROGRESS = 'JOLIBOX_RUNTIME_LOAD_PROGRESS'
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const commands = createCommands();
|
|
21
|
+
|
|
22
|
+
window.dispatchEvent(new Event(JoliboxRuntimeEvents.LOAD_START));
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Jolibox Runtime, a set of utilities to interact with the Jolibox runtime
|
|
26
|
+
* @class
|
|
27
|
+
*/
|
|
28
|
+
export class JoliboxRuntime {
|
|
29
|
+
/**
|
|
30
|
+
* Notify the end of the loading, will close the loading splash screen
|
|
31
|
+
*/
|
|
32
|
+
loadFinished = (): void => {
|
|
33
|
+
const loadFinishedEvent = new Event(JoliboxRuntimeEvents.LOAD_FINISHED);
|
|
34
|
+
window.dispatchEvent(loadFinishedEvent);
|
|
35
|
+
commands.executeCommand('ReportSDK.traceSystem', {
|
|
36
|
+
event: 'CallRuntimeLoadFinished',
|
|
37
|
+
info: {
|
|
38
|
+
t: Date.now()
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Notify the progress of the loading, will update the loading splash screen
|
|
45
|
+
* @param progress - The progress of the loading, should be an integer between 0 and 100
|
|
46
|
+
*/
|
|
47
|
+
notifyLoadProgress = (progress: number): void => {
|
|
48
|
+
const detail = Math.ceil(progress);
|
|
49
|
+
const event = new CustomEvent(JoliboxRuntimeEvents.LOAD_PROGRESS, {
|
|
50
|
+
detail
|
|
51
|
+
});
|
|
52
|
+
window.dispatchEvent(event);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
declare global {
|
|
57
|
+
interface Window {
|
|
58
|
+
JoliboxRuntime: typeof JoliboxRuntime;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
window.JoliboxRuntime = JoliboxRuntime;
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": "./src",
|
|
5
|
+
"outDir": "./dist",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"emitDeclarationOnly": true,
|
|
8
|
+
"noEmit": false,
|
|
9
|
+
"experimentalDecorators": true,
|
|
10
|
+
"paths": {
|
|
11
|
+
"@/*": ["./src/*"]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"include": ["src/**/*"],
|
|
15
|
+
"exclude": ["dist/", "node_modules"]
|
|
16
|
+
}
|