@base44-preview/vite-plugin 1.0.37-pr.121.9ef7c71 → 1.0.37-pr.121.de0cee3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"build-status-plugin.d.ts","sourceRoot":"","sources":["../src/build-status-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,MAAM,EAAiB,MAAM,MAAM,CAAC;AAsFnE;;;GAGG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA2ClE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAmG1C"}
1
+ {"version":3,"file":"build-status-plugin.d.ts","sourceRoot":"","sources":["../src/build-status-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAC;AA0E3D;;;GAGG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA2ClE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CA6F1C"}
@@ -29,13 +29,6 @@ const ENDPOINT = "/__build_status";
29
29
  const MAX_FIELD = 4000;
30
30
  /** Max characters kept for the code frame. */
31
31
  const MAX_FRAME = 2000;
32
- const PATCHED = Symbol.for("base44.buildStatus.loggerPatched");
33
- // Plugin hooks run once per environment in bundled dev; only the client's
34
- // build is the preview. Older Vite has no `this.environment`.
35
- function isClientEnvironment(ctx) {
36
- const name = ctx?.environment?.name;
37
- return name === undefined || name === "client";
38
- }
39
32
  const LOOPBACK_ADDRESSES = new Set([
40
33
  "127.0.0.1",
41
34
  "::1",
@@ -118,15 +111,14 @@ export function buildStatusPlugin() {
118
111
  configResolved(config) {
119
112
  bundled = isBundledDev(config);
120
113
  },
121
- // Bundled dev runs the rolldown build hooks on every rebuild of the client
122
- // environment; a build that reaches generateBundle superseded whatever error
123
- // was recorded before. Other environments' builds say nothing about the preview.
114
+ // Bundled dev runs the rolldown build hooks on every rebuild; a build that
115
+ // reaches generateBundle superseded whatever error was recorded before.
124
116
  buildEnd(error) {
125
- if (bundled && error && isClientEnvironment(this))
117
+ if (bundled && error)
126
118
  lastError = error;
127
119
  },
128
120
  generateBundle() {
129
- if (bundled && isClientEnvironment(this))
121
+ if (bundled)
130
122
  lastError = null;
131
123
  },
132
124
  configureServer(server) {
@@ -134,19 +126,14 @@ export function buildStatusPlugin() {
134
126
  if (bundled) {
135
127
  // Bundled dev reports build failures through the environment logger
136
128
  // (`{ error }` option) and per-client sends, never the broadcast
137
- // channel patched below. Any logged `{ error }` counts until the next
138
- // successful build: the fail-safe direction for a health endpoint.
129
+ // channel patched below.
139
130
  const logger = server.environments.client.logger;
140
- if (!logger.error[PATCHED]) {
141
- const origError = logger.error.bind(logger);
142
- const patched = (msg, options) => {
143
- if (options?.error)
144
- lastError = options.error;
145
- return origError(msg, options);
146
- };
147
- patched[PATCHED] = true;
148
- logger.error = patched;
149
- }
131
+ const origError = logger.error.bind(logger);
132
+ logger.error = (msg, options) => {
133
+ if (options?.error)
134
+ lastError = options.error;
135
+ return origError(msg, options);
136
+ };
150
137
  }
151
138
  // Observe the HMR channel: an `error` payload records the last
152
139
  // error; a successful `update` / `full-reload` clears it.
@@ -1 +1 @@
1
- {"version":3,"file":"build-status-plugin.js","sourceRoot":"","sources":["../src/build-status-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-status-plugin.js","sourceRoot":"","sources":["../src/build-status-plugin.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,6 @@
9
9
  export function isBundledDev(config) {
10
10
  const experimental = config
11
11
  ?.experimental;
12
- return Boolean(experimental?.bundledDev);
12
+ return experimental?.bundledDev === true;
13
13
  }
14
14
  //# sourceMappingURL=bundled-dev.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundled-dev.js","sourceRoot":"","sources":["../src/bundled-dev.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,MAAM,YAAY,GAAI,MAAkE;QACtF,EAAE,YAAY,CAAC;IACjB,OAAO,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"bundled-dev.js","sourceRoot":"","sources":["../src/bundled-dev.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,MAAM,YAAY,GAAI,MAAkE;QACtF,EAAE,YAAY,CAAC;IACjB,OAAO,YAAY,EAAE,UAAU,KAAK,IAAI,CAAC;AAC3C,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { ServerResponse } from "node:http";
2
- import type { Connect, Plugin } from "vite";
1
+ import type { Plugin } from "vite";
3
2
  /** This file lives in dist/ once built, so its directory is the served root. */
4
3
  export declare const PLUGIN_DIST_DIR: string;
5
4
  /**
@@ -7,7 +6,13 @@ export declare const PLUGIN_DIST_DIR: string;
7
6
  * dynamic `import()` of dist/statics/index.mjs would fall through to the SPA
8
7
  * fallback and receive index.html. Serve the plugin's own dist tree instead.
9
8
  */
10
- export declare function serveDistMiddleware(distDir: string): (req: Connect.IncomingMessage, res: ServerResponse, next: Connect.NextFunction) => void;
9
+ export declare function serveDistMiddleware(distDir: string): (req: {
10
+ url?: string | undefined;
11
+ }, res: {
12
+ statusCode: number;
13
+ setHeader: (k: string, v: string) => void;
14
+ end: (b?: string) => void;
15
+ }, next: (err?: unknown) => void) => void;
11
16
  export declare function htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEditAgent, analyticsTracker, }: {
12
17
  hmrNotifier: boolean;
13
18
  navigationNotifier: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAoC,MAAM,MAAM,CAAC;AAgG9E,gFAAgF;AAChF,eAAO,MAAM,eAAe,QAA+C,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,IACzC,KAAK,OAAO,CAAC,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC,YAAY,UA0BtF;AAED,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAAG,MAAM,EAAE,CAiHX"}
1
+ {"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAoC,MAAM,MAAM,CAAC;AAgGrE,gFAAgF;AAChF,eAAO,MAAM,eAAe,QAA+C,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,IAE/C,KAAK;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACjC,KAAK;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,EACjG,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,UAoBhC;AAED,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAAG,MAAM,EAAE,CAiHX"}
@@ -92,15 +92,7 @@ export function serveDistMiddleware(distDir) {
92
92
  const url = (req.url ?? "").split("?")[0] ?? "";
93
93
  if (!url.startsWith(`${DIST_URL_PREFIX}/`))
94
94
  return next();
95
- if (req.method !== "GET" && req.method !== "HEAD")
96
- return next();
97
- let relative;
98
- try {
99
- relative = decodeURIComponent(url.slice(DIST_URL_PREFIX.length + 1));
100
- }
101
- catch {
102
- return next();
103
- }
95
+ const relative = decodeURIComponent(url.slice(DIST_URL_PREFIX.length + 1));
104
96
  const filePath = path.resolve(distDir, relative);
105
97
  const type = CONTENT_TYPES[path.extname(filePath)];
106
98
  if (!type ||
@@ -112,8 +104,7 @@ export function serveDistMiddleware(distDir) {
112
104
  res.statusCode = 200;
113
105
  res.setHeader("Content-Type", type);
114
106
  res.setHeader("Cache-Control", "no-store");
115
- // Headers are already out, so a read failure can only end the response.
116
- createReadStream(filePath).on("error", () => res.end()).pipe(res);
107
+ createReadStream(filePath).pipe(res);
117
108
  };
118
109
  }
119
110
  export function htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEditAgent, analyticsTracker, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAahD,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC;AAEF,MAAM,eAAe,GAAG,wCAAwC,CAAC;AAEjE,MAAM,UAAU,GAA8B;IAC5C,eAAe,EAAE;QACf,GAAG,EAAE,GAAG,eAAe,0CAA0C;QACjE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,GAAG,eAAe,uCAAuC;QAC9D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,WAAW,EAAE;QACX,GAAG,EAAE,GAAG,eAAe,qCAAqC;QAC5D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,GAAG,eAAe,oCAAoC;QAC3D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,GAAG,eAAe,6CAA6C;QACpE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,IAAI;KAClB;IACD,cAAc,EAAE;QACd,GAAG,EAAE,GAAG,eAAe,yCAAyC;QAChE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,IAAI;KAClB;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,wBAAwB;KACxC;CACF,CAAC;AAEF,MAAM,aAAa,GAA2B;IAC5C,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,kBAAkB;CAC3B,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,CAAC,GAA4B,EAAE,GAAmB,EAAE,IAA0B,EAAE,EAAE;QACvF,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,eAAe,GAAG,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAC1D,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,EAAE,CAAC;QACjE,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,IACE,CAAC,IAAI;YACL,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;YACxC,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAC5B,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,wEAAwE;QACxE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GAMjB;IACC,MAAM,iBAAiB,GAA4B;QACjD,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,WAAW;QACX,kBAAkB;QAClB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,gBAAgB;KACjB,CAAC;IAEF,IAAI,WAAW,GAA2B,EAAE,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,OAAO,GAAG,CAAC,IAA0B,EAAuB,EAAE,CAClE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACvB,MAAM,CACL,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CACnB,iBAAiB,CAAC,GAAG,CAAC;QACtB,SAAS,CAAC,IAAI,KAAK,IAAI;QACvB,CAAC,CAAC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,CACtC;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAqB,EAAE;QACxC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,uEAAuE;YACvE,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAC7C,2BAA2B,EAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CACzD,CAAC;YACF,OAAO;gBACL,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,GAAsB,EAAE,CAAC,CAAC;QACnD,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,QAAQ,EAAE;YACR,mCAAmC;YACnC,4EAA4E;YAC5E,gCAAgC;YAChC,0CAA0C;YAC1C,UAAU,eAAe,sBAAsB;YAC/C,eAAe;YACf,oBAAoB;YACpB,uFAAuF;YACvF,QAAQ;YACR,2EAA2E;YAC3E,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,eAAe;YAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,GAAG,GAAW;QAClB,IAAI,EAAE,iBAAiB;QACvB,cAAc,CAAC,MAAM;YACnB,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,yEAAyE;YACzE,uEAAuE;YACvE,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC;YACrC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,eAAe,CAAC,MAAqB;YACnC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,kBAAkB,EAAE;YAClB,OAAO;gBACL,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,CAAC;SACF;KACF,CAAC;IAEF,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,UAAU,GAAW;QACzB,IAAI,EAAE,yBAAyB;QAC/B,kBAAkB,EAAE;YAClB,KAAK,EAAE,KAAK;YACZ,OAAO;gBACL,OAAO,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,CAAC;SACF;KACF,CAAC;IAEF,MAAM,UAAU,GAAW;QACzB,IAAI,EAAE,4BAA4B;QAClC,kBAAkB,EAAE;YAClB,OAAO;gBACL,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;SACF;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAahD,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC;AAEF,MAAM,eAAe,GAAG,wCAAwC,CAAC;AAEjE,MAAM,UAAU,GAA8B;IAC5C,eAAe,EAAE;QACf,GAAG,EAAE,GAAG,eAAe,0CAA0C;QACjE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,GAAG,eAAe,uCAAuC;QAC9D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,WAAW,EAAE;QACX,GAAG,EAAE,GAAG,eAAe,qCAAqC;QAC5D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,GAAG,eAAe,oCAAoC;QAC3D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,GAAG,eAAe,6CAA6C;QACpE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,IAAI;KAClB;IACD,cAAc,EAAE;QACd,GAAG,EAAE,GAAG,eAAe,yCAAyC;QAChE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,IAAI;KAClB;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,wBAAwB;KACxC;CACF,CAAC;AAEF,MAAM,aAAa,GAA2B;IAC5C,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,kBAAkB;CAC3B,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,CACL,GAAiC,EACjC,GAAiG,EACjG,IAA6B,EAC7B,EAAE;QACF,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,eAAe,GAAG,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,IACE,CAAC,IAAI;YACL,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;YACxC,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAC5B,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAuC,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GAMjB;IACC,MAAM,iBAAiB,GAA4B;QACjD,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,WAAW;QACX,kBAAkB;QAClB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,gBAAgB;KACjB,CAAC;IAEF,IAAI,WAAW,GAA2B,EAAE,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,OAAO,GAAG,CAAC,IAA0B,EAAuB,EAAE,CAClE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACvB,MAAM,CACL,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CACnB,iBAAiB,CAAC,GAAG,CAAC;QACtB,SAAS,CAAC,IAAI,KAAK,IAAI;QACvB,CAAC,CAAC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,CACtC;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAqB,EAAE;QACxC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,uEAAuE;YACvE,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAC7C,2BAA2B,EAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CACzD,CAAC;YACF,OAAO;gBACL,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,GAAsB,EAAE,CAAC,CAAC;QACnD,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,QAAQ,EAAE;YACR,mCAAmC;YACnC,4EAA4E;YAC5E,gCAAgC;YAChC,0CAA0C;YAC1C,UAAU,eAAe,sBAAsB;YAC/C,eAAe;YACf,oBAAoB;YACpB,uFAAuF;YACvF,QAAQ;YACR,2EAA2E;YAC3E,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,eAAe;YAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,GAAG,GAAW;QAClB,IAAI,EAAE,iBAAiB;QACvB,cAAc,CAAC,MAAM;YACnB,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,yEAAyE;YACzE,uEAAuE;YACvE,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC;YACrC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,eAAe,CAAC,MAAqB;YACnC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,kBAAkB,EAAE;YAClB,OAAO;gBACL,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,CAAC;SACF;KACF,CAAC;IAEF,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,UAAU,GAAW;QACzB,IAAI,EAAE,yBAAyB;QAC/B,kBAAkB,EAAE;YAClB,KAAK,EAAE,KAAK;YACZ,OAAO;gBACL,OAAO,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,CAAC;SACF;KACF,CAAC;IAEF,MAAM,UAAU,GAAW;QACzB,IAAI,EAAE,4BAA4B;QAClC,kBAAkB,EAAE;YAClB,OAAO;gBACL,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;SACF;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC"}
@@ -1,6 +1,2 @@
1
- type BuildErrorPayload = {
2
- err?: Record<string, unknown>;
3
- } | undefined;
4
- export declare function reportBuildError(payload: BuildErrorPayload, win?: Window): void;
5
1
  export {};
6
2
  //# sourceMappingURL=sandbox-build-error-notifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-build-error-notifier.d.ts","sourceRoot":"","sources":["../../src/injections/sandbox-build-error-notifier.ts"],"names":[],"mappings":"AAMA,KAAK,iBAAiB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,CAAC;AAEvE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,GAAE,MAAe,QAuBhF"}
1
+ {"version":3,"file":"sandbox-build-error-notifier.d.ts","sourceRoot":"","sources":["../../src/injections/sandbox-build-error-notifier.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,CAAC"}
@@ -1,26 +1,29 @@
1
1
  /// <reference types="vite/client" />
2
- export function reportBuildError(payload, win = window) {
3
- const err = payload?.err ?? {};
4
- const message = typeof err.message === "string" ? err.message : "Build error";
5
- const stack = typeof err.stack === "string" ? err.stack : undefined;
6
- const loc = err.loc;
7
- const file = loc?.file ?? (typeof err.id === "string" ? err.id : undefined);
8
- const where = file && loc?.line != null ? `${file}:${loc.line}:${loc.column ?? 0}` : file;
9
- const details = [where, typeof err.frame === "string" ? err.frame : undefined, stack]
10
- .filter(Boolean)
11
- .join("\n");
12
- win.parent?.postMessage({
13
- type: "app_error",
14
- error: {
15
- title: message,
16
- details: details || undefined,
17
- componentName: undefined,
18
- originalError: { message, stack, plugin: err.plugin, id: err.id, loc },
19
- stack,
20
- },
21
- }, "*");
22
- }
2
+ // Bundled dev mode keeps Vite's own client, so the ErrorOverlay swap in
3
+ // error-overlay-plugin never runs. The overlay is disabled server-side instead
4
+ // and build errors are forwarded here in the same `app_error` shape.
23
5
  if (import.meta.hot) {
24
- import.meta.hot.on("vite:error", (payload) => reportBuildError(payload));
6
+ import.meta.hot.on("vite:error", (payload) => {
7
+ const err = payload?.err ?? {};
8
+ const message = typeof err.message === "string" ? err.message : "Build error";
9
+ const stack = typeof err.stack === "string" ? err.stack : undefined;
10
+ const loc = err.loc;
11
+ const file = loc?.file ?? (typeof err.id === "string" ? err.id : undefined);
12
+ const where = file && loc?.line != null ? `${file}:${loc.line}:${loc.column ?? 0}` : file;
13
+ const details = [where, typeof err.frame === "string" ? err.frame : undefined, stack]
14
+ .filter(Boolean)
15
+ .join("\n");
16
+ window.parent?.postMessage({
17
+ type: "app_error",
18
+ error: {
19
+ title: message,
20
+ details: details || undefined,
21
+ componentName: undefined,
22
+ originalError: { message, stack, plugin: err.plugin, id: err.id, loc },
23
+ stack,
24
+ },
25
+ }, "*");
26
+ });
25
27
  }
28
+ export {};
26
29
  //# sourceMappingURL=sandbox-build-error-notifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-build-error-notifier.js","sourceRoot":"","sources":["../../src/injections/sandbox-build-error-notifier.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAQrC,MAAM,UAAU,gBAAgB,CAAC,OAA0B,EAAE,MAAc,MAAM;IAC/E,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IAC9E,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAoE,CAAC;IACrF,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;SAClF,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,GAAG,CAAC,MAAM,EAAE,WAAW,CACrB;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,aAAa,EAAE,SAAS;YACxB,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE;YACtE,KAAK;SACN;KACF,EACD,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAA4B,CAAC,CAAC,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"sandbox-build-error-notifier.js","sourceRoot":"","sources":["../../src/injections/sandbox-build-error-notifier.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,wEAAwE;AACxE,+EAA+E;AAC/E,qEAAqE;AACrE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAA0C,EAAE,EAAE;QAC9E,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9E,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAoE,CAAC;QACrF,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;aAClF,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,MAAM,EAAE,WAAW,CACxB;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,OAAO,IAAI,SAAS;gBAC7B,aAAa,EAAE,SAAS;gBACxB,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE;gBACtE,KAAK;aACN;SACF,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,CAAC"}
@@ -1,7 +1,2 @@
1
- type HotEvents = {
2
- on: (event: string, cb: (payload?: unknown) => unknown) => void;
3
- };
4
- export declare const PREVIEW_FE_VERSION_PARAM = "previewFE_version";
5
- export declare function attachHmrSocketRelay(hot: HotEvents, win?: Window): void;
6
1
  export {};
7
2
  //# sourceMappingURL=sandbox-hmr-socket-relay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-hmr-socket-relay.d.ts","sourceRoot":"","sources":["../../src/injections/sandbox-hmr-socket-relay.ts"],"names":[],"mappings":"AAMA,KAAK,SAAS,GAAG;IACf,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,KAAK,IAAI,CAAC;CACjE,CAAC;AAIF,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAE,MAAe,QAkBxE"}
1
+ {"version":3,"file":"sandbox-hmr-socket-relay.d.ts","sourceRoot":"","sources":["../../src/injections/sandbox-hmr-socket-relay.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,CAAC"}
@@ -1,28 +1,24 @@
1
1
  /// <reference types="vite/client" />
2
- // Query param the editor adds to the preview URL when it can swap in a fresh
3
- // iframe on a full reload (mirrors builder_bridge_inject.py in base44-dev/apper).
4
- export const PREVIEW_FE_VERSION_PARAM = "previewFE_version";
5
- export function attachHmrSocketRelay(hot, win = window) {
6
- win.__base44_bundled_dev__ = true;
7
- if (win.self === win.top)
8
- return;
9
- const previewFEVersion = Number(new URLSearchParams(win.location.search).get(PREVIEW_FE_VERSION_PARAM)) || 0;
10
- hot.on("vite:ws:connect", () => {
11
- win.parent?.postMessage({ type: "SANDBOX_WS_CONNECT" }, "*");
2
+ // The preview proxy's bridge watches the HMR socket by importing /@vite/client,
3
+ // which bundled dev mode does not serve. This module ships inside the bundle and
4
+ // reports the same events; the bridge skips its own attach when it sees the flag.
5
+ window.__base44_bundled_dev__ = true;
6
+ if (import.meta.hot && window.self !== window.top) {
7
+ const previewFEVersion = Number(new URLSearchParams(window.location.search).get("previewFE_version")) || 0;
8
+ import.meta.hot.on("vite:ws:connect", () => {
9
+ window.parent?.postMessage({ type: "SANDBOX_WS_CONNECT" }, "*");
12
10
  });
13
- hot.on("vite:ws:disconnect", () => {
14
- win.parent?.postMessage({ type: "SANDBOX_WS_DISCONNECT" }, "*");
11
+ import.meta.hot.on("vite:ws:disconnect", () => {
12
+ window.parent?.postMessage({ type: "SANDBOX_WS_DISCONNECT" }, "*");
15
13
  });
16
- // Vite's bundled client awaits `vite:beforeFullReload` listeners before it
17
- // reloads (verified against vite 8.2 bundledDevClient), so a never-settling
18
- // promise holds the reload and lets the editor swap in a fresh iframe instead.
19
- hot.on("vite:beforeFullReload", () => {
20
- win.parent?.postMessage({ type: "sandbox:beforeFullReload" }, "*");
21
- return previewFEVersion > 0 ? new Promise(() => { }) : undefined;
14
+ // Vite awaits these listeners before reloading; a pending promise lets the
15
+ // editor swap in a fresh iframe instead of reloading in place.
16
+ import.meta.hot.on("vite:beforeFullReload", () => {
17
+ window.parent?.postMessage({ type: "sandbox:beforeFullReload" }, "*");
18
+ if (previewFEVersion > 0)
19
+ return new Promise(() => { });
20
+ return undefined;
22
21
  });
23
22
  }
24
- // The socket opens asynchronously, after the whole bundle has evaluated, so the
25
- // listeners above are always registered before the first connect event.
26
- if (import.meta.hot)
27
- attachHmrSocketRelay(import.meta.hot);
23
+ export {};
28
24
  //# sourceMappingURL=sandbox-hmr-socket-relay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-hmr-socket-relay.js","sourceRoot":"","sources":["../../src/injections/sandbox-hmr-socket-relay.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAUrC,6EAA6E;AAC7E,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,GAAc,EAAE,MAAc,MAAM;IACtE,GAA0C,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG;QAAE,OAAO;IACjC,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC;IACtF,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACnC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,wEAAwE;AACxE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG;IAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"sandbox-hmr-socket-relay.js","sourceRoot":"","sources":["../../src/injections/sandbox-hmr-socket-relay.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,gFAAgF;AAChF,iFAAiF;AACjF,kFAAkF;AACjF,MAA6C,CAAC,sBAAsB,GAAG,IAAI,CAAC;AAE7E,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,CAAC;QACtE,IAAI,gBAAgB,GAAG,CAAC;YAAE,OAAO,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base44-preview/vite-plugin",
3
- "version": "1.0.37-pr.121.9ef7c71",
3
+ "version": "1.0.37-pr.121.de0cee3",
4
4
  "description": "The Vite plugin for base44 based applications",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,4 +1,4 @@
1
- import type { Connect, Logger, Plugin, ViteDevServer } from "vite";
1
+ import type { Connect, Plugin, ViteDevServer } from "vite";
2
2
  import type { ServerResponse } from "http";
3
3
  import { isBundledDev } from "./bundled-dev.js";
4
4
 
@@ -37,18 +37,6 @@ const MAX_FRAME = 2000;
37
37
 
38
38
  type SendChannel = { send: (...args: unknown[]) => void };
39
39
 
40
- const PATCHED = Symbol.for("base44.buildStatus.loggerPatched");
41
- type PatchableLogger = Omit<Logger, "error"> & {
42
- error: Logger["error"] & { [PATCHED]?: boolean };
43
- };
44
-
45
- // Plugin hooks run once per environment in bundled dev; only the client's
46
- // build is the preview. Older Vite has no `this.environment`.
47
- function isClientEnvironment(ctx: unknown): boolean {
48
- const name = (ctx as { environment?: { name?: string } } | undefined)?.environment?.name;
49
- return name === undefined || name === "client";
50
- }
51
-
52
40
  const LOOPBACK_ADDRESSES = new Set([
53
41
  "127.0.0.1",
54
42
  "::1",
@@ -143,32 +131,26 @@ export function buildStatusPlugin(): Plugin {
143
131
  configResolved(config) {
144
132
  bundled = isBundledDev(config);
145
133
  },
146
- // Bundled dev runs the rolldown build hooks on every rebuild of the client
147
- // environment; a build that reaches generateBundle superseded whatever error
148
- // was recorded before. Other environments' builds say nothing about the preview.
134
+ // Bundled dev runs the rolldown build hooks on every rebuild; a build that
135
+ // reaches generateBundle superseded whatever error was recorded before.
149
136
  buildEnd(error) {
150
- if (bundled && error && isClientEnvironment(this)) lastError = error;
137
+ if (bundled && error) lastError = error;
151
138
  },
152
139
  generateBundle() {
153
- if (bundled && isClientEnvironment(this)) lastError = null;
140
+ if (bundled) lastError = null;
154
141
  },
155
142
  configureServer(server: ViteDevServer) {
156
143
  try {
157
144
  if (bundled) {
158
145
  // Bundled dev reports build failures through the environment logger
159
146
  // (`{ error }` option) and per-client sends, never the broadcast
160
- // channel patched below. Any logged `{ error }` counts until the next
161
- // successful build: the fail-safe direction for a health endpoint.
162
- const logger = server.environments.client.logger as PatchableLogger;
163
- if (!logger.error[PATCHED]) {
164
- const origError = logger.error.bind(logger);
165
- const patched: PatchableLogger["error"] = (msg, options) => {
166
- if (options?.error) lastError = options.error;
167
- return origError(msg, options);
168
- };
169
- patched[PATCHED] = true;
170
- logger.error = patched;
171
- }
147
+ // channel patched below.
148
+ const logger = server.environments.client.logger;
149
+ const origError = logger.error.bind(logger);
150
+ logger.error = (msg, options) => {
151
+ if (options?.error) lastError = options.error;
152
+ return origError(msg, options);
153
+ };
172
154
  }
173
155
  // Observe the HMR channel: an `error` payload records the last
174
156
  // error; a successful `update` / `full-reload` clears it.
@@ -9,5 +9,5 @@
9
9
  export function isBundledDev(config: unknown): boolean {
10
10
  const experimental = (config as { experimental?: { bundledDev?: unknown } } | undefined)
11
11
  ?.experimental;
12
- return Boolean(experimental?.bundledDev);
12
+ return experimental?.bundledDev === true;
13
13
  }
@@ -1,8 +1,7 @@
1
1
  import { createReadStream, existsSync, statSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import type { ServerResponse } from "node:http";
5
- import type { Connect, Plugin, HtmlTagDescriptor, ViteDevServer } from "vite";
4
+ import type { Plugin, HtmlTagDescriptor, ViteDevServer } from "vite";
6
5
  import { loadEnv } from "vite";
7
6
  import { isBundledDev } from "./bundled-dev.js";
8
7
 
@@ -107,16 +106,14 @@ export const PLUGIN_DIST_DIR = path.dirname(fileURLToPath(import.meta.url));
107
106
  * fallback and receive index.html. Serve the plugin's own dist tree instead.
108
107
  */
109
108
  export function serveDistMiddleware(distDir: string) {
110
- return (req: Connect.IncomingMessage, res: ServerResponse, next: Connect.NextFunction) => {
109
+ return (
110
+ req: { url?: string | undefined },
111
+ res: { statusCode: number; setHeader: (k: string, v: string) => void; end: (b?: string) => void },
112
+ next: (err?: unknown) => void
113
+ ) => {
111
114
  const url = (req.url ?? "").split("?")[0] ?? "";
112
115
  if (!url.startsWith(`${DIST_URL_PREFIX}/`)) return next();
113
- if (req.method !== "GET" && req.method !== "HEAD") return next();
114
- let relative: string;
115
- try {
116
- relative = decodeURIComponent(url.slice(DIST_URL_PREFIX.length + 1));
117
- } catch {
118
- return next();
119
- }
116
+ const relative = decodeURIComponent(url.slice(DIST_URL_PREFIX.length + 1));
120
117
  const filePath = path.resolve(distDir, relative);
121
118
  const type = CONTENT_TYPES[path.extname(filePath)];
122
119
  if (
@@ -130,8 +127,7 @@ export function serveDistMiddleware(distDir: string) {
130
127
  res.statusCode = 200;
131
128
  res.setHeader("Content-Type", type);
132
129
  res.setHeader("Cache-Control", "no-store");
133
- // Headers are already out, so a read failure can only end the response.
134
- createReadStream(filePath).on("error", () => res.end()).pipe(res);
130
+ createReadStream(filePath).pipe(res as unknown as NodeJS.WritableStream);
135
131
  };
136
132
  }
137
133
 
@@ -3,34 +3,31 @@
3
3
  // Bundled dev mode keeps Vite's own client, so the ErrorOverlay swap in
4
4
  // error-overlay-plugin never runs. The overlay is disabled server-side instead
5
5
  // and build errors are forwarded here in the same `app_error` shape.
6
-
7
- type BuildErrorPayload = { err?: Record<string, unknown> } | undefined;
8
-
9
- export function reportBuildError(payload: BuildErrorPayload, win: Window = window) {
10
- const err = payload?.err ?? {};
11
- const message = typeof err.message === "string" ? err.message : "Build error";
12
- const stack = typeof err.stack === "string" ? err.stack : undefined;
13
- const loc = err.loc as { file?: string; line?: number; column?: number } | undefined;
14
- const file = loc?.file ?? (typeof err.id === "string" ? err.id : undefined);
15
- const where = file && loc?.line != null ? `${file}:${loc.line}:${loc.column ?? 0}` : file;
16
- const details = [where, typeof err.frame === "string" ? err.frame : undefined, stack]
17
- .filter(Boolean)
18
- .join("\n");
19
- win.parent?.postMessage(
20
- {
21
- type: "app_error",
22
- error: {
23
- title: message,
24
- details: details || undefined,
25
- componentName: undefined,
26
- originalError: { message, stack, plugin: err.plugin, id: err.id, loc },
27
- stack,
6
+ if (import.meta.hot) {
7
+ import.meta.hot.on("vite:error", (payload: { err?: Record<string, unknown> }) => {
8
+ const err = payload?.err ?? {};
9
+ const message = typeof err.message === "string" ? err.message : "Build error";
10
+ const stack = typeof err.stack === "string" ? err.stack : undefined;
11
+ const loc = err.loc as { file?: string; line?: number; column?: number } | undefined;
12
+ const file = loc?.file ?? (typeof err.id === "string" ? err.id : undefined);
13
+ const where = file && loc?.line != null ? `${file}:${loc.line}:${loc.column ?? 0}` : file;
14
+ const details = [where, typeof err.frame === "string" ? err.frame : undefined, stack]
15
+ .filter(Boolean)
16
+ .join("\n");
17
+ window.parent?.postMessage(
18
+ {
19
+ type: "app_error",
20
+ error: {
21
+ title: message,
22
+ details: details || undefined,
23
+ componentName: undefined,
24
+ originalError: { message, stack, plugin: err.plugin, id: err.id, loc },
25
+ stack,
26
+ },
28
27
  },
29
- },
30
- "*"
31
- );
28
+ "*"
29
+ );
30
+ });
32
31
  }
33
32
 
34
- if (import.meta.hot) {
35
- import.meta.hot.on("vite:error", (payload) => reportBuildError(payload as BuildErrorPayload));
36
- }
33
+ export {};
@@ -3,35 +3,24 @@
3
3
  // The preview proxy's bridge watches the HMR socket by importing /@vite/client,
4
4
  // which bundled dev mode does not serve. This module ships inside the bundle and
5
5
  // reports the same events; the bridge skips its own attach when it sees the flag.
6
+ (window as unknown as Record<string, unknown>).__base44_bundled_dev__ = true;
6
7
 
7
- type HotEvents = {
8
- on: (event: string, cb: (payload?: unknown) => unknown) => void;
9
- };
10
-
11
- // Query param the editor adds to the preview URL when it can swap in a fresh
12
- // iframe on a full reload (mirrors builder_bridge_inject.py in base44-dev/apper).
13
- export const PREVIEW_FE_VERSION_PARAM = "previewFE_version";
14
-
15
- export function attachHmrSocketRelay(hot: HotEvents, win: Window = window) {
16
- (win as unknown as Record<string, unknown>).__base44_bundled_dev__ = true;
17
- if (win.self === win.top) return;
8
+ if (import.meta.hot && window.self !== window.top) {
18
9
  const previewFEVersion =
19
- Number(new URLSearchParams(win.location.search).get(PREVIEW_FE_VERSION_PARAM)) || 0;
20
- hot.on("vite:ws:connect", () => {
21
- win.parent?.postMessage({ type: "SANDBOX_WS_CONNECT" }, "*");
10
+ Number(new URLSearchParams(window.location.search).get("previewFE_version")) || 0;
11
+ import.meta.hot.on("vite:ws:connect", () => {
12
+ window.parent?.postMessage({ type: "SANDBOX_WS_CONNECT" }, "*");
22
13
  });
23
- hot.on("vite:ws:disconnect", () => {
24
- win.parent?.postMessage({ type: "SANDBOX_WS_DISCONNECT" }, "*");
14
+ import.meta.hot.on("vite:ws:disconnect", () => {
15
+ window.parent?.postMessage({ type: "SANDBOX_WS_DISCONNECT" }, "*");
25
16
  });
26
- // Vite's bundled client awaits `vite:beforeFullReload` listeners before it
27
- // reloads (verified against vite 8.2 bundledDevClient), so a never-settling
28
- // promise holds the reload and lets the editor swap in a fresh iframe instead.
29
- hot.on("vite:beforeFullReload", () => {
30
- win.parent?.postMessage({ type: "sandbox:beforeFullReload" }, "*");
31
- return previewFEVersion > 0 ? new Promise<void>(() => {}) : undefined;
17
+ // Vite awaits these listeners before reloading; a pending promise lets the
18
+ // editor swap in a fresh iframe instead of reloading in place.
19
+ import.meta.hot.on("vite:beforeFullReload", () => {
20
+ window.parent?.postMessage({ type: "sandbox:beforeFullReload" }, "*");
21
+ if (previewFEVersion > 0) return new Promise<void>(() => {});
22
+ return undefined;
32
23
  });
33
24
  }
34
25
 
35
- // The socket opens asynchronously, after the whole bundle has evaluated, so the
36
- // listeners above are always registered before the first connect event.
37
- if (import.meta.hot) attachHmrSocketRelay(import.meta.hot);
26
+ export {};