@timber-js/app 0.2.0-alpha.180 → 0.2.0-alpha.182

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/dist/index.js CHANGED
@@ -106,7 +106,7 @@ function timberContent(ctx) {
106
106
  };
107
107
  }
108
108
  //#endregion
109
- //#region ../../node_modules/.pnpm/srvx@0.11.22/node_modules/srvx/dist/adapters/node.mjs
109
+ //#region ../../node_modules/.pnpm/srvx@0.12.0/node_modules/srvx/dist/adapters/node.mjs
110
110
  function sendNodeResponse(nodeRes, webRes) {
111
111
  try {
112
112
  return _sendNodeResponse(nodeRes, webRes, false) || Promise.resolve();
@@ -183,9 +183,13 @@ function pipeBody(stream, nodeRes, status, statusText, headers) {
183
183
  }
184
184
  function streamBody(stream, nodeRes) {
185
185
  if (nodeRes.destroyed) {
186
- stream.cancel();
186
+ stream.cancel().catch(() => {});
187
187
  return;
188
188
  }
189
+ if (nodeRes.req?.method === "HEAD") {
190
+ stream.cancel().catch(() => {});
191
+ return endNodeResponse(nodeRes);
192
+ }
189
193
  const reader = stream.getReader();
190
194
  function streamCancel(error) {
191
195
  reader.cancel(error).catch(() => {});
@@ -7777,6 +7781,9 @@ var ACCESSOR_NAMES = /* @__PURE__ */ new Set([
7777
7781
  ]);
7778
7782
  var DEFINITION_FACTORY_SOURCES = /* @__PURE__ */ new Set(["@timber-js/app/search-params", "@timber-js/app/cookies"]);
7779
7783
  var DEFINITION_FACTORY_NAMES = /* @__PURE__ */ new Set(["defineSearchParams", "defineCookie"]);
7784
+ function isFrameworkModule(id) {
7785
+ return /[\\/]node_modules[\\/]@timber-js[\\/]app[\\/]/.test(id) || /[\\/]packages[\\/]timber-app[\\/]src[\\/]/.test(id);
7786
+ }
7780
7787
  var ACCESSOR_TOKENS = [
7781
7788
  "getHeaders",
7782
7789
  "getHeader",
@@ -7864,13 +7871,29 @@ function walkForCall(node, named, namespaces, importedName) {
7864
7871
  }
7865
7872
  return false;
7866
7873
  }
7867
- /** Check if `localName.get(...)` appears anywhere in the module. */
7874
+ /**
7875
+ * Check if the object chain of a `.get()` call contains `localName`.
7876
+ * Walks through MemberExpression objects and CallExpression callees
7877
+ * to handle chained patterns like `getFilterCookie(key).get()` or
7878
+ * `cookies.theme.get()`.
7879
+ */
7880
+ function objectChainContains(node, name) {
7881
+ if (node.type === "Identifier" && node.name === name) return true;
7882
+ if (node.type === "MemberExpression") return objectChainContains(node.object, name);
7883
+ if (node.type === "CallExpression") return objectChainContains(node.callee, name);
7884
+ return false;
7885
+ }
7886
+ /**
7887
+ * Check if `.get(...)` is called on `localName` anywhere in the module.
7888
+ * Handles direct (`localName.get()`), chained call (`localName(args).get()`),
7889
+ * and nested member (`localName.prop.get()`) patterns.
7890
+ */
7868
7891
  function hasGetterCall(node, localName) {
7869
7892
  if (node.type === "CallExpression") {
7870
7893
  const call = node;
7871
7894
  if (call.callee.type === "MemberExpression") {
7872
7895
  const member = call.callee;
7873
- if (!member.computed && member.object.type === "Identifier" && member.object.name === localName && member.property.type === "Identifier" && member.property.name === "get") return true;
7896
+ if (!member.computed && member.property.type === "Identifier" && member.property.name === "get" && objectChainContains(member.object, localName)) return true;
7874
7897
  }
7875
7898
  }
7876
7899
  for (const key of Object.keys(node)) {
@@ -7926,6 +7949,7 @@ function timberRequestDep(ctx) {
7926
7949
  async transform(code, id) {
7927
7950
  if (!/\.[mc]?[jt]sx?$/.test(id) && !/\.mdx?$/.test(id)) return;
7928
7951
  if (id.startsWith("\0") || id.startsWith("virtual:")) return;
7952
+ if (isFrameworkModule(id)) return;
7929
7953
  if (!hasRelevantToken(code)) return;
7930
7954
  const facts = analyzeModule(code, this.parse(code));
7931
7955
  if (facts.callsAccessor || facts.importsDefinitionFactory || facts.getterCallSources.length > 0) {