mirror of
https://github.com/beestat/app.git
synced 2026-02-26 13:10:23 -05:00
32 lines
1.3 KiB
JavaScript
32 lines
1.3 KiB
JavaScript
// Load the straight-skeleton library from a local file with commit-aware
|
|
// cache busting so production always gets assets matching the JS bundle.
|
|
const commit = (window.commit !== undefined && window.commit !== null) ? String(window.commit) : '';
|
|
const cache_suffix = (commit.length > 0) ? ('?' + encodeURIComponent(commit)) : '';
|
|
const index_url = '/js/lib/straight-skeleton/index.js' + cache_suffix;
|
|
|
|
window.SkeletonBuilderReady = import(index_url)
|
|
.then(function(module) {
|
|
const SkeletonBuilder = (module !== undefined && module.SkeletonBuilder !== undefined)
|
|
? module.SkeletonBuilder
|
|
: window.SkeletonBuilder;
|
|
|
|
if (SkeletonBuilder === undefined) {
|
|
throw new Error('Failed to load local straight-skeleton runtime');
|
|
}
|
|
|
|
// Expose immediately so callers can check for availability.
|
|
window.SkeletonBuilder = SkeletonBuilder;
|
|
|
|
return SkeletonBuilder.init().then(function() {
|
|
window.SkeletonBuilderInitialized = true;
|
|
window.dispatchEvent(new Event('skeleton_builder_ready'));
|
|
return SkeletonBuilder;
|
|
});
|
|
})
|
|
.catch(function(error) {
|
|
window.SkeletonBuilderInitError = error;
|
|
window.dispatchEvent(new Event('skeleton_builder_error'));
|
|
console.error('Straight-skeleton runtime failed to initialize:', error);
|
|
return undefined;
|
|
});
|