@teleporthq/teleport-plugin-next-workflows 0.43.47 → 0.43.49

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.
Files changed (34) hide show
  1. package/__tests__/data-node-not-awaited.test.ts +12 -1
  2. package/__tests__/ecommerce-get-settings-client.test.ts +383 -0
  3. package/__tests__/runtime-stringified-boolean-truthiness.test.ts +76 -0
  4. package/dist/cjs/executor-generator.d.ts.map +1 -1
  5. package/dist/cjs/executor-generator.js +24 -3
  6. package/dist/cjs/executor-generator.js.map +1 -1
  7. package/dist/cjs/nodes/account/account-get-current.d.ts.map +1 -1
  8. package/dist/cjs/nodes/account/account-get-current.js +27 -7
  9. package/dist/cjs/nodes/account/account-get-current.js.map +1 -1
  10. package/dist/cjs/nodes/ecommerce/ecommerce-get-settings.d.ts.map +1 -1
  11. package/dist/cjs/nodes/ecommerce/ecommerce-get-settings.js +59 -1
  12. package/dist/cjs/nodes/ecommerce/ecommerce-get-settings.js.map +1 -1
  13. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  14. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  15. package/dist/cjs/workflow-project-plugin.js +11 -1
  16. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  17. package/dist/esm/executor-generator.d.ts.map +1 -1
  18. package/dist/esm/executor-generator.js +24 -3
  19. package/dist/esm/executor-generator.js.map +1 -1
  20. package/dist/esm/nodes/account/account-get-current.d.ts.map +1 -1
  21. package/dist/esm/nodes/account/account-get-current.js +27 -7
  22. package/dist/esm/nodes/account/account-get-current.js.map +1 -1
  23. package/dist/esm/nodes/ecommerce/ecommerce-get-settings.d.ts.map +1 -1
  24. package/dist/esm/nodes/ecommerce/ecommerce-get-settings.js +59 -1
  25. package/dist/esm/nodes/ecommerce/ecommerce-get-settings.js.map +1 -1
  26. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  27. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  28. package/dist/esm/workflow-project-plugin.js +11 -1
  29. package/dist/esm/workflow-project-plugin.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/executor-generator.ts +24 -3
  32. package/src/nodes/account/account-get-current.ts +27 -8
  33. package/src/nodes/ecommerce/ecommerce-get-settings.ts +62 -3
  34. package/src/workflow-project-plugin.ts +11 -1
@@ -2,7 +2,59 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ecommerceGetSettings = void 0;
4
4
  const types_1 = require("../types");
5
+ // CLIENT handler. The /api/ecommerce/settings route returns a literal baked at
6
+ // generation time (see teleport-project-generator-next's
7
+ // generateEcommerceSettingsApiRoute) — within a deployment it can never return
8
+ // anything else. Paying a server round trip for it on every add-to-cart /
9
+ // cart-increment click was pure latency, and because this node was classified
10
+ // `server` it also SPLIT the surrounding workflow into extra server segments
11
+ // (one HTTP round trip each). The generated ecommerce-context module publishes
12
+ // the SAME payload on `window.__teleportEcommerceSettings` at module-eval time
13
+ // (before any click can run a workflow), so the common path is a synchronous
14
+ // read. The fetch fallback covers projects whose context file predates the
15
+ // baked global; a successful response is memoized for the page's lifetime —
16
+ // the endpoint is immutable within a deployment, so this can never go stale.
5
17
  async function ecommerce_get_settings(_config, context) {
18
+ const baseUrl = (context && context.__baseUrl) || '';
19
+ if (typeof window !== 'undefined') {
20
+ try {
21
+ const baked = window.__teleportEcommerceSettings;
22
+ if (baked && typeof baked === 'object') {
23
+ return baked;
24
+ }
25
+ const memoized = window.__teleportEcommerceSettingsFetched;
26
+ if (memoized && typeof memoized === 'object') {
27
+ return memoized;
28
+ }
29
+ }
30
+ catch (_e) { }
31
+ }
32
+ try {
33
+ const response = await fetch(baseUrl + '/api/ecommerce/settings', {
34
+ method: 'GET',
35
+ headers: { 'Content-Type': 'application/json' },
36
+ });
37
+ if (!response.ok) {
38
+ return { error: 'Failed to load e-commerce settings' };
39
+ }
40
+ const settings = await response.json();
41
+ if (typeof window !== 'undefined' && settings && typeof settings === 'object') {
42
+ try {
43
+ ;
44
+ window.__teleportEcommerceSettingsFetched = settings;
45
+ }
46
+ catch (_e) { }
47
+ }
48
+ return settings;
49
+ }
50
+ catch (err) {
51
+ return { error: err.message };
52
+ }
53
+ }
54
+ // SERVER handler — used by contexts that execute every node server-side
55
+ // (cron and webhook API routes, where no window exists). Same fetch the old
56
+ // server-classified handler performed.
57
+ async function ecommerce_settings_server_fetch(_config, context) {
6
58
  const baseUrl = (context && context.__baseUrl) || '';
7
59
  try {
8
60
  const response = await fetch(baseUrl + '/api/ecommerce/settings', {
@@ -20,9 +72,15 @@ async function ecommerce_get_settings(_config, context) {
20
72
  }
21
73
  exports.ecommerceGetSettings = {
22
74
  nodeType: 'ecommerce-get-settings',
23
- executionEnv: 'server',
75
+ // Client: the settings payload is public, baked into the deployment, and
76
+ // already shipped to the browser — keeping this node server-side only
77
+ // fragmented workflows into extra blocking round trips.
78
+ executionEnv: 'client',
24
79
  generateHandler() {
25
80
  return (0, types_1.handlerToString)(ecommerce_get_settings);
26
81
  },
82
+ generateServerHandler() {
83
+ return (0, types_1.handlerToString)(ecommerce_settings_server_fetch);
84
+ },
27
85
  };
28
86
  //# sourceMappingURL=ecommerce-get-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecommerce-get-settings.js","sourceRoot":"","sources":["../../../../src/nodes/ecommerce/ecommerce-get-settings.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,sBAAsB,CAAC,OAAY,EAAE,OAAY;IAC9D,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACpD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,yBAAyB,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAA;SACvD;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;KAC7B;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACzC;AACH,CAAC;AAEY,QAAA,oBAAoB,GAAyB;IACxD,QAAQ,EAAE,wBAAwB;IAClC,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,sBAAsB,CAAC,CAAA;IAChD,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"ecommerce-get-settings.js","sourceRoot":"","sources":["../../../../src/nodes/ecommerce/ecommerce-get-settings.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,6EAA6E;AAC7E,KAAK,UAAU,sBAAsB,CAAC,OAAgB,EAAE,OAAgC;IACtF,MAAM,OAAO,GAAG,CAAC,OAAO,IAAK,OAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAE7D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI;YACF,MAAM,KAAK,GAAI,MAAc,CAAC,2BAA2B,CAAA;YACzD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACtC,OAAO,KAAK,CAAA;aACb;YACD,MAAM,QAAQ,GAAI,MAAc,CAAC,kCAAkC,CAAA;YACnE,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAC5C,OAAO,QAAQ,CAAA;aAChB;SACF;QAAC,OAAO,EAAE,EAAE,GAAE;KAChB;IAED,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,yBAAyB,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAA;SACvD;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC7E,IAAI;gBACF,CAAC;gBAAC,MAAc,CAAC,kCAAkC,GAAG,QAAQ,CAAA;aAC/D;YAAC,OAAO,EAAE,EAAE,GAAE;SAChB;QACD,OAAO,QAAQ,CAAA;KAChB;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACzC;AACH,CAAC;AAED,wEAAwE;AACxE,4EAA4E;AAC5E,uCAAuC;AACvC,KAAK,UAAU,+BAA+B,CAAC,OAAgB,EAAE,OAAgC;IAC/F,MAAM,OAAO,GAAG,CAAC,OAAO,IAAK,OAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAC7D,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,yBAAyB,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAA;SACvD;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;KAC7B;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACzC;AACH,CAAC;AAEY,QAAA,oBAAoB,GAAyB;IACxD,QAAQ,EAAE,wBAAwB;IAClC,yEAAyE;IACzE,sEAAsE;IACtE,wDAAwD;IACxD,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,sBAAsB,CAAC,CAAA;IAChD,CAAC;IACD,qBAAqB;QACnB,OAAO,IAAA,uBAAe,EAAC,+BAA+B,CAAC,CAAA;IACzD,CAAC;CACF,CAAA"}