@powerhousedao/builder-tools 4.1.0-dev.81 → 4.1.0-dev.82

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":"ph-external-packages.d.ts","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"AAuCA,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,8BAoB5D"}
1
+ {"version":3,"file":"ph-external-packages.d.ts","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"AA8CA,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,8BA0E5D"}
@@ -23,7 +23,13 @@ function makeImportScriptFromPackages(packages) {
23
23
  `
24
24
  : "";
25
25
  const exportStatement = `export default [${exportsString}];`;
26
- const fileContent = `${imports.join("\n")}\n\n${exportStatement}`;
26
+ // Add HMR boundary to prevent page reload
27
+ const hmrCode = `
28
+ // HMR boundary - accept updates to prevent full page reload
29
+ if (import.meta.hot) {
30
+ import.meta.hot.accept();
31
+ }`;
32
+ const fileContent = `${imports.join("\n")}\n\n${exportStatement}\n${hmrCode}`;
27
33
  return fileContent;
28
34
  }
29
35
  export function phExternalPackagesPlugin(phPackages) {
@@ -42,6 +48,49 @@ export function phExternalPackagesPlugin(phPackages) {
42
48
  return makeImportScriptFromPackages(phPackages);
43
49
  }
44
50
  },
51
+ handleHotUpdate({ file, server, modules }) {
52
+ // Check if the changed file is part of any local package
53
+ const isLocalPackageFile = phPackages.some((pkg) => {
54
+ if (pkg.startsWith("/") || pkg.startsWith(".")) {
55
+ return file.startsWith(pkg);
56
+ }
57
+ return false;
58
+ });
59
+ if (isLocalPackageFile) {
60
+ const virtualModule = server.moduleGraph.getModuleById(resolvedVirtualModuleId);
61
+ if (virtualModule) {
62
+ // Invalidate the virtual module so it re-executes with new imports
63
+ server.moduleGraph.invalidateModule(virtualModule);
64
+ // Notify clients about package updates via WebSocket
65
+ const clientUrl = `/@id/${resolvedVirtualModuleId}`;
66
+ server.ws.send("studio:external-packages-updated", {
67
+ url: clientUrl,
68
+ timestamp: Date.now().toString(),
69
+ });
70
+ // Deduplicate modules by file path, preferring modules with defined IDs
71
+ const modulesByFile = new Map();
72
+ for (const module of modules) {
73
+ if (module.file) {
74
+ const existing = modulesByFile.get(module.file);
75
+ // Prefer modules with defined IDs over ones without IDs
76
+ if (!existing || (module.id && !existing.id)) {
77
+ modulesByFile.set(module.file, module);
78
+ }
79
+ }
80
+ }
81
+ const deduplicatedModules = Array.from(modulesByFile.values()).filter((m) => m.id && m.id !== resolvedVirtualModuleId);
82
+ // For React components (.tsx, .jsx), let Fast Refresh handle them
83
+ const isReactComponent = file.endsWith(".tsx") || file.endsWith(".jsx");
84
+ if (isReactComponent) {
85
+ return [...deduplicatedModules, virtualModule];
86
+ }
87
+ else {
88
+ return [virtualModule];
89
+ }
90
+ }
91
+ }
92
+ return undefined;
93
+ },
45
94
  };
46
95
  return plugin;
47
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ph-external-packages.js","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,SAAS,4BAA4B,CAAC,QAAkB;IACtD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,SAAS,OAAO,EAAE,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,eAAe,UAAU,UAAU,WAAW,IAAI,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,WAAW,WAAW,cAAc,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAC7B,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;aACR,QAAQ,CAAC,KAAK,CAAC;WACjB,IAAI;MACT,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM;QAClC,CAAC,CAAC;UACI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACxB;QACD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,eAAe,GAAG,mBAAmB,aAAa,IAAI,CAAC;IAE7D,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,eAAe,EAAE,CAAC;IAElE,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAoB;IAC3D,MAAM,eAAe,GAAG,8BAA8B,CAAC;IACvD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,KAAK;QACd,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"ph-external-packages.js","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"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"}