October 27, 2026
add90339c0355d874d4725f056eea9bf5d4e70c0d535303b7bac33d42984cd03 Previous:
962faac5 Bundle: 98.1 KB No functional App Bridge changes; only duplicated comments in helper files and a trimmed generated module index.
Highlights
- No modules were added or removed in this build.
- The _remote-ui helper only gained duplicated annotation comments on its retain, release and function-marker constants, with no runtime change.
- The _web-vitals helper only gained duplicated comments; FCP, CLS, FID, INP, LCP and TTFB thresholds are unchanged.
- The generated modules/index.js lost its list of module comments, which does not affect the shipped API.
Infrastructure Changes
REPORT.md +5 -5
@@ -1,15 +1,15 @@
# Shopify App Bridge — Unminification Report
Generated: 2026-10-14T08:03:37.784Z
Generated: 2026-10-27T08:04:17.387Z
## Files
| File | Size | Lines | Type |
|------|------|-------|------|
| _bootstrap.js | 30.7KB | 1071 | Infrastructure |
| _remote-ui.js | 6.4KB | 267 | Infrastructure |
| _remote-ui.js | 6.6KB | 274 | Infrastructure |
| _utilities.js | 78.2KB | 2932 | Infrastructure |
| _web-vitals.js | 11.6KB | 527 | Infrastructure |
| _web-vitals.js | 12.3KB | 562 | Infrastructure |
| analytics.js | 211B | 11 | Module |
| app-modal.js | 1.2KB | 60 | Module |
| app.js | 346B | 15 | Module |
@@ -17,7 +17,7 @@ Generated: 2026-10-14T08:03:37.784Z
| environment.js | 241B | 14 | Module |
| fetch.js | 3.0KB | 94 | Module |
| id-token.js | 941B | 34 | Module |
| index.js | 2.2KB | 49 | Index |
| index.js | 339B | 13 | Index |
| intents.js | 3.1KB | 106 | Module |
| internal-only.js | 540B | 26 | Module |
| loading.js | 605B | 31 | Module |
@@ -47,7 +47,7 @@ Generated: 2026-10-14T08:03:37.784Z
| user.js | 1.1KB | 46 | Module |
| visibility.js | 973B | 34 | Module |
| web-vitals.js | 1.9KB | 66 | Module |
| **Total** | **185.1KB** | **7044** | |
| **Total** | **184.1KB** | **7050** | |
## Pipeline Stages
modules/_remote-ui.js +11 -4
@@ -17,11 +17,17 @@ function n(n) {
const e = 'admin_theme';
const i = 'app-bridge-admin-theme';
const retainSymbol =
Symbol.for('RemoteUi::Retain'); /* Symbol for retaining a remote object in memory */
Symbol.for(
'RemoteUi::Retain',
); /* Symbol for retaining a remote object in memory */ /* Symbol for retaining a remote object in memory */
const releaseSymbol =
Symbol.for('RemoteUi::Release'); /* Symbol for releasing a remote object from memory */
Symbol.for(
'RemoteUi::Release',
); /* Symbol for releasing a remote object from memory */ /* Symbol for releasing a remote object from memory */
const retainedBySymbol =
Symbol.for('RemoteUi::RetainedBy'); /* Symbol for tracking which retainers hold this object */
Symbol.for(
'RemoteUi::RetainedBy',
); /* Symbol for tracking which retainers hold this object */ /* Symbol for tracking which retainers hold this object */
class s {
constructor() {
this.memoryManaged = new Set();
@@ -98,7 +104,8 @@ function p(t) {
const n = Object.getPrototypeOf(t);
return n == null || n === Object.prototype;
}
const remoteFunctionMarker = '_@f'; /* Function marker for RPC serialization */
const remoteFunctionMarker =
'_@f'; /* Function marker for RPC serialization */ /* Function marker for RPC serialization */
function m(t) {
const map = new Map();
const e = new Map();
modules/_web-vitals.js +48 -13
@@ -113,7 +113,10 @@ var ai = function (t) {
t();
}
};
var si = /* FCPThresholds: FCP thresholds */ [1800, 3e3];
var si =
/* FCPThresholds: FCP thresholds */
/* FCPThresholds: FCP thresholds */
[1800, 3e3];
var ci = function (t, n) {
n = n || {};
ai(function () {
@@ -122,7 +125,10 @@ var ci = function (t, n) {
var o = Xe('FCP');
var r = Qe('paint', function (t) {
t.forEach(function (t) {
if (t.name === 'first-contentful-paint' /* FCP PerformanceObserver entry type */) {
if (
t.name ===
'first-contentful-paint' /* FCP PerformanceObserver entry type */ /* FCP PerformanceObserver entry type */
) {
r.disconnect();
if (t.startTime < i.firstHiddenTime) {
o.value = Math.max(t.startTime - Je(), 0);
@@ -145,7 +151,10 @@ var ci = function (t, n) {
}
});
};
var ui = /* CLSThresholds: CLS thresholds */ [0.1, 0.25];
var ui =
/* CLSThresholds: CLS thresholds */
/* CLSThresholds: CLS thresholds */
[0.1, 0.25];
var li = function (t, n) {
n = n || {};
ci(
@@ -174,7 +183,11 @@ var li = function (t, n) {
e();
}
};
var s = Qe('layout-shift' /* CLS PerformanceObserver entry type */, a);
var s = Qe(
'layout-shift' /* CLS PerformanceObserver entry type */,
/* CLS PerformanceObserver entry type */
a,
);
if (s) {
e = Ye(t, i, ui, n.reportAllChanges);
Ke(function () {
@@ -211,7 +224,8 @@ var pi = function (t, n) {
var hi = function () {
if (De >= 0 && De < Ne - di) {
var t = {
entryType: 'first-input' /* FID PerformanceObserver entry type */,
entryType:
'first-input' /* FID PerformanceObserver entry type */ /* FID PerformanceObserver entry type */,
name: Be.type,
target: Be.target,
cancelable: Be.cancelable,
@@ -258,7 +272,10 @@ var wi = function (t) {
return t(n, mi, fi);
});
};
var yi = /* FIDThresholds: FID thresholds */ [100, 300];
var yi =
/* FIDThresholds: FID thresholds */
/* FIDThresholds: FID thresholds */
[100, 300];
var bi = function (t, n) {
n = n || {};
ai(function () {
@@ -275,7 +292,11 @@ var bi = function (t, n) {
var a = function (t) {
t.forEach(r);
};
var s = Qe('first-input' /* FID PerformanceObserver entry type */, a);
var s = Qe(
'first-input' /* FID PerformanceObserver entry type */,
/* FID PerformanceObserver entry type */
a,
);
e = Ye(t, o, yi, n.reportAllChanges);
if (s) {
Ke(
@@ -316,7 +337,10 @@ var Ei = function (t) {
var ki = function () {
return Ve ? vi : performance.interactionCount || 0;
};
var Pi = /* INPThresholds: INP thresholds */ [200, 500];
var Pi =
/* INPThresholds: INP thresholds */
/* INPThresholds: INP thresholds */
[200, 500];
var Si = 0;
var Ti = function () {
return ki() - Si;
@@ -366,7 +390,8 @@ var $i = function (t, n) {
Ii(t);
}
if (
t.entryType === 'first-input' /* FID PerformanceObserver entry type */ &&
t.entryType ===
'first-input' /* FID PerformanceObserver entry type */ /* FID PerformanceObserver entry type */ &&
!Ci.some(function (n) {
return n.entries.some(function (n) {
return t.duration === n.duration && t.startTime === n.startTime;
@@ -394,7 +419,7 @@ var $i = function (t, n) {
'interactionId' in PerformanceEventTiming.prototype
) {
a.observe({
type: 'first-input' /* FID PerformanceObserver entry type */,
type: 'first-input' /* FID PerformanceObserver entry type */ /* FID PerformanceObserver entry type */,
buffered: true,
});
}
@@ -415,7 +440,10 @@ var $i = function (t, n) {
}
});
};
var Mi = /* LCPThresholds: LCP thresholds */ [2500, 4e3];
var Mi =
/* LCPThresholds: LCP thresholds */
/* LCPThresholds: LCP thresholds */
[2500, 4e3];
var Ri = {};
var xi = function (t, n) {
n = n || {};
@@ -431,7 +459,11 @@ var xi = function (t, n) {
e();
}
};
var a = Qe('largest-contentful-paint' /* LCP PerformanceObserver entry type */, r);
var a = Qe(
'largest-contentful-paint' /* LCP PerformanceObserver entry type */,
/* LCP PerformanceObserver entry type */
r,
);
if (a) {
e = Ye(t, o, Mi, n.reportAllChanges);
var s = Ze(function () {
@@ -464,7 +496,10 @@ var xi = function (t, n) {
}
});
};
var Oi = /* TTFBThresholds: TTFB thresholds */ [800, 1800];
var Oi =
/* TTFBThresholds: TTFB thresholds */
/* TTFBThresholds: TTFB thresholds */
[800, 1800];
var _i = function t(n) {
if (document.prerendering) {
ai(function () {
modules/index.js +0 -36
@@ -10,39 +10,3 @@
// _web-vitals.js — web-vitals v3 library
// Modules
// analytics.js
// app.js — App lifecycle and state management
// app-modal.js
// client.js — Client initialization and RPC connection
// environment.js — Environment detection (embedded, mobile, POS)
// fetch.js — Intercepted fetch with auth headers and session token refresh
// id-token.js — Session token (ID token) request/response
// intents.js — Intent-based navigation and deep linking
// internal-only.js — Internal/private API methods
// loading.js — Loading indicator (start/stop)
// navigation.js — Navigation interception (pushState, replaceState, link clicks, popstate)
// picker.js — Generic picker interface
// polaris.js — Polaris design system integration
// pos.js — Point of Sale cart API (line items, discounts, customers)
// print.js — Print functionality
// resource-picker.js — Resource picker (products, collections, variants)
// reviews.js — App reviews prompt
// s-app-nav.js — Custom <s-app-nav> element for app navigation
// s-app-window.js — Custom <s-app-window> element for app window management
// save-bar.js — Save bar custom element with form tracking
// scanner.js — Barcode/QR scanner (camera-based)
// scopes.js — OAuth scope management
// share.js — Share sheet (native sharing)
// shopifyQL.js — ShopifyQL query interface
// shortcut.js — Keyboard shortcut handling
// sidekick.js — Sidekick AI assistant integration
// support.js — Support request interface
// telemetry.js — Telemetry and analytics reporting
// title-bar.js — Title bar custom element with breadcrumbs and buttons
// toast.js — Toast notification (show/clear/action)
// tools.js
// ui-modal.js — Custom <ui-modal> element
// ui-nav-menu.js — Custom <ui-nav-menu> element
// user.js — User information and preferences
// visibility.js — App visibility state tracking
// web-vitals.js — Web Vitals metrics collection and reporting (uses web-vitals lib)