@teleporthq/teleport-plugin-next-data-source 0.42.9 → 0.42.10

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 (160) hide show
  1. package/__tests__/csv-header-detection.test.ts +212 -0
  2. package/__tests__/validation.test.ts +33 -2
  3. package/dist/cjs/data-source-fetchers.d.ts +2 -2
  4. package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
  5. package/dist/cjs/data-source-fetchers.js +30 -7
  6. package/dist/cjs/data-source-fetchers.js.map +1 -1
  7. package/dist/cjs/fetchers/airtable.d.ts.map +1 -1
  8. package/dist/cjs/fetchers/airtable.js +1 -1
  9. package/dist/cjs/fetchers/airtable.js.map +1 -1
  10. package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -1
  11. package/dist/cjs/fetchers/clickhouse.js +1 -1
  12. package/dist/cjs/fetchers/clickhouse.js.map +1 -1
  13. package/dist/cjs/fetchers/csv-file.d.ts.map +1 -1
  14. package/dist/cjs/fetchers/csv-file.js +22 -3
  15. package/dist/cjs/fetchers/csv-file.js.map +1 -1
  16. package/dist/cjs/fetchers/firestore.d.ts.map +1 -1
  17. package/dist/cjs/fetchers/firestore.js +1 -1
  18. package/dist/cjs/fetchers/firestore.js.map +1 -1
  19. package/dist/cjs/fetchers/google-sheets.d.ts.map +1 -1
  20. package/dist/cjs/fetchers/google-sheets.js +6 -1
  21. package/dist/cjs/fetchers/google-sheets.js.map +1 -1
  22. package/dist/cjs/fetchers/javascript.d.ts.map +1 -1
  23. package/dist/cjs/fetchers/javascript.js +1 -1
  24. package/dist/cjs/fetchers/javascript.js.map +1 -1
  25. package/dist/cjs/fetchers/mariadb.d.ts.map +1 -1
  26. package/dist/cjs/fetchers/mariadb.js +3 -3
  27. package/dist/cjs/fetchers/mariadb.js.map +1 -1
  28. package/dist/cjs/fetchers/mongodb.d.ts +1 -1
  29. package/dist/cjs/fetchers/mongodb.d.ts.map +1 -1
  30. package/dist/cjs/fetchers/mongodb.js +11 -3
  31. package/dist/cjs/fetchers/mongodb.js.map +1 -1
  32. package/dist/cjs/fetchers/mysql.d.ts.map +1 -1
  33. package/dist/cjs/fetchers/mysql.js +2 -2
  34. package/dist/cjs/fetchers/mysql.js.map +1 -1
  35. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  36. package/dist/cjs/fetchers/postgresql.js +3 -3
  37. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  38. package/dist/cjs/fetchers/redis.d.ts.map +1 -1
  39. package/dist/cjs/fetchers/redis.js +1 -1
  40. package/dist/cjs/fetchers/redis.js.map +1 -1
  41. package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
  42. package/dist/cjs/fetchers/redshift.js +2 -2
  43. package/dist/cjs/fetchers/redshift.js.map +1 -1
  44. package/dist/cjs/fetchers/rest-api.d.ts.map +1 -1
  45. package/dist/cjs/fetchers/rest-api.js +2 -2
  46. package/dist/cjs/fetchers/rest-api.js.map +1 -1
  47. package/dist/cjs/fetchers/static-collection.d.ts.map +1 -1
  48. package/dist/cjs/fetchers/static-collection.js +1 -1
  49. package/dist/cjs/fetchers/static-collection.js.map +1 -1
  50. package/dist/cjs/fetchers/supabase.d.ts.map +1 -1
  51. package/dist/cjs/fetchers/supabase.js +2 -2
  52. package/dist/cjs/fetchers/supabase.js.map +1 -1
  53. package/dist/cjs/fetchers/turso.d.ts.map +1 -1
  54. package/dist/cjs/fetchers/turso.js +1 -1
  55. package/dist/cjs/fetchers/turso.js.map +1 -1
  56. package/dist/cjs/fetchers/utils/header-detection.d.ts +2 -0
  57. package/dist/cjs/fetchers/utils/header-detection.d.ts.map +1 -0
  58. package/dist/cjs/fetchers/utils/header-detection.js +8 -0
  59. package/dist/cjs/fetchers/utils/header-detection.js.map +1 -0
  60. package/dist/cjs/index.d.ts.map +1 -1
  61. package/dist/cjs/index.js +168 -4
  62. package/dist/cjs/index.js.map +1 -1
  63. package/dist/cjs/pagination-plugin.d.ts.map +1 -1
  64. package/dist/cjs/pagination-plugin.js +320 -65
  65. package/dist/cjs/pagination-plugin.js.map +1 -1
  66. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  67. package/dist/cjs/utils.d.ts +2 -0
  68. package/dist/cjs/utils.d.ts.map +1 -1
  69. package/dist/cjs/utils.js +214 -46
  70. package/dist/cjs/utils.js.map +1 -1
  71. package/dist/esm/data-source-fetchers.d.ts +2 -2
  72. package/dist/esm/data-source-fetchers.d.ts.map +1 -1
  73. package/dist/esm/data-source-fetchers.js +29 -6
  74. package/dist/esm/data-source-fetchers.js.map +1 -1
  75. package/dist/esm/fetchers/airtable.d.ts.map +1 -1
  76. package/dist/esm/fetchers/airtable.js +2 -2
  77. package/dist/esm/fetchers/airtable.js.map +1 -1
  78. package/dist/esm/fetchers/clickhouse.d.ts.map +1 -1
  79. package/dist/esm/fetchers/clickhouse.js +2 -2
  80. package/dist/esm/fetchers/clickhouse.js.map +1 -1
  81. package/dist/esm/fetchers/csv-file.d.ts.map +1 -1
  82. package/dist/esm/fetchers/csv-file.js +23 -4
  83. package/dist/esm/fetchers/csv-file.js.map +1 -1
  84. package/dist/esm/fetchers/firestore.d.ts.map +1 -1
  85. package/dist/esm/fetchers/firestore.js +2 -2
  86. package/dist/esm/fetchers/firestore.js.map +1 -1
  87. package/dist/esm/fetchers/google-sheets.d.ts.map +1 -1
  88. package/dist/esm/fetchers/google-sheets.js +6 -1
  89. package/dist/esm/fetchers/google-sheets.js.map +1 -1
  90. package/dist/esm/fetchers/javascript.d.ts.map +1 -1
  91. package/dist/esm/fetchers/javascript.js +2 -2
  92. package/dist/esm/fetchers/javascript.js.map +1 -1
  93. package/dist/esm/fetchers/mariadb.d.ts.map +1 -1
  94. package/dist/esm/fetchers/mariadb.js +4 -4
  95. package/dist/esm/fetchers/mariadb.js.map +1 -1
  96. package/dist/esm/fetchers/mongodb.d.ts +1 -1
  97. package/dist/esm/fetchers/mongodb.d.ts.map +1 -1
  98. package/dist/esm/fetchers/mongodb.js +12 -4
  99. package/dist/esm/fetchers/mongodb.js.map +1 -1
  100. package/dist/esm/fetchers/mysql.d.ts.map +1 -1
  101. package/dist/esm/fetchers/mysql.js +3 -3
  102. package/dist/esm/fetchers/mysql.js.map +1 -1
  103. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  104. package/dist/esm/fetchers/postgresql.js +4 -4
  105. package/dist/esm/fetchers/postgresql.js.map +1 -1
  106. package/dist/esm/fetchers/redis.d.ts.map +1 -1
  107. package/dist/esm/fetchers/redis.js +2 -2
  108. package/dist/esm/fetchers/redis.js.map +1 -1
  109. package/dist/esm/fetchers/redshift.d.ts.map +1 -1
  110. package/dist/esm/fetchers/redshift.js +3 -3
  111. package/dist/esm/fetchers/redshift.js.map +1 -1
  112. package/dist/esm/fetchers/rest-api.d.ts.map +1 -1
  113. package/dist/esm/fetchers/rest-api.js +3 -3
  114. package/dist/esm/fetchers/rest-api.js.map +1 -1
  115. package/dist/esm/fetchers/static-collection.d.ts.map +1 -1
  116. package/dist/esm/fetchers/static-collection.js +2 -2
  117. package/dist/esm/fetchers/static-collection.js.map +1 -1
  118. package/dist/esm/fetchers/supabase.d.ts.map +1 -1
  119. package/dist/esm/fetchers/supabase.js +3 -3
  120. package/dist/esm/fetchers/supabase.js.map +1 -1
  121. package/dist/esm/fetchers/turso.d.ts.map +1 -1
  122. package/dist/esm/fetchers/turso.js +2 -2
  123. package/dist/esm/fetchers/turso.js.map +1 -1
  124. package/dist/esm/fetchers/utils/header-detection.d.ts +2 -0
  125. package/dist/esm/fetchers/utils/header-detection.d.ts.map +1 -0
  126. package/dist/esm/fetchers/utils/header-detection.js +4 -0
  127. package/dist/esm/fetchers/utils/header-detection.js.map +1 -0
  128. package/dist/esm/index.d.ts.map +1 -1
  129. package/dist/esm/index.js +169 -5
  130. package/dist/esm/index.js.map +1 -1
  131. package/dist/esm/pagination-plugin.d.ts.map +1 -1
  132. package/dist/esm/pagination-plugin.js +320 -65
  133. package/dist/esm/pagination-plugin.js.map +1 -1
  134. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  135. package/dist/esm/utils.d.ts +2 -0
  136. package/dist/esm/utils.d.ts.map +1 -1
  137. package/dist/esm/utils.js +211 -45
  138. package/dist/esm/utils.js.map +1 -1
  139. package/package.json +2 -2
  140. package/src/data-source-fetchers.ts +29 -13
  141. package/src/fetchers/airtable.ts +78 -30
  142. package/src/fetchers/clickhouse.ts +85 -18
  143. package/src/fetchers/csv-file.ts +254 -29
  144. package/src/fetchers/firestore.ts +62 -12
  145. package/src/fetchers/google-sheets.ts +147 -30
  146. package/src/fetchers/javascript.ts +102 -23
  147. package/src/fetchers/mariadb.ts +82 -25
  148. package/src/fetchers/mongodb.ts +153 -36
  149. package/src/fetchers/mysql.ts +83 -25
  150. package/src/fetchers/postgresql.ts +86 -26
  151. package/src/fetchers/redis.ts +40 -4
  152. package/src/fetchers/redshift.ts +84 -17
  153. package/src/fetchers/rest-api.ts +101 -24
  154. package/src/fetchers/static-collection.ts +96 -18
  155. package/src/fetchers/supabase.ts +175 -53
  156. package/src/fetchers/turso.ts +84 -17
  157. package/src/fetchers/utils/header-detection.ts +200 -0
  158. package/src/index.ts +248 -2
  159. package/src/pagination-plugin.ts +708 -191
  160. package/src/utils.ts +344 -38
package/dist/esm/utils.js CHANGED
@@ -315,10 +315,10 @@ export var extractDataSourceIntoNextAPIFolder = function (node, dataSources, com
315
315
  };
316
316
  return;
317
317
  }
318
- // Generate fetcher code with BOTH fetchData and handler
318
+ // Generate fetcher code for API route (exports just the handler)
319
319
  var fetcherCode = void 0;
320
320
  try {
321
- fetcherCode = generateDataSourceFetcherWithCore(dataSource, tableName || '');
321
+ fetcherCode = generateDataSourceFetcherWithCore(dataSource, tableName || '', true);
322
322
  }
323
323
  catch (error) {
324
324
  return;
@@ -379,9 +379,15 @@ export var replaceSecretReference = function (value, options) {
379
379
  return '""';
380
380
  }
381
381
  };
382
+ export var generateSafeJSONParseCode = function () {
383
+ return "const safeJSONParse = (value) => {\n if (!value) return value\n if (typeof value === 'object') return value\n try {\n return JSON.parse(value)\n } catch (e) {\n console.warn('Failed to parse JSON:', e)\n return value\n }\n}";
384
+ };
382
385
  export var generateDateFormatterCode = function () {
383
386
  return "const formatDateValue = (date) => {\n const options = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }\n \n const timeOptions = {\n hour: '2-digit',\n minute: '2-digit',\n }\n \n const hasTime = date.getHours() !== 0 || date.getMinutes() !== 0 || date.getSeconds() !== 0\n \n if (hasTime) {\n return date.toLocaleString('en-US', { ...options, ...timeOptions })\n }\n \n return date.toLocaleDateString('en-US', options)\n}\n\nconst dateReplacer = (key, value) => {\n if (value instanceof Date) {\n return formatDateValue(value)\n }\n return value\n}";
384
387
  };
388
+ export var generateSortFilterHelperCode = function () {
389
+ return "function getNestedValue(obj, path) {\n if (!obj || typeof obj !== 'object') return undefined\n const keys = path.split('.')\n let value = obj\n for (const key of keys) {\n if (value && typeof value === 'object' && key in value) {\n value = value[key]\n } else {\n return undefined\n }\n }\n return value\n}\n\nfunction compareValues(value, target, operand) {\n if (value === null || value === undefined || target === null || target === undefined) {\n switch (operand) {\n case '=': return value == target\n case '!=': return value != target\n default: return false\n }\n }\n\n if (typeof value === 'number' && typeof target === 'number') {\n switch (operand) {\n case '=': return value === target\n case '!=': return value !== target\n case '>': return value > target\n case '>=': return value >= target\n case '<': return value < target\n case '<=': return value <= target\n default: return true\n }\n }\n\n if (typeof value === 'string' && typeof target === 'string') {\n switch (operand) {\n case '=': return value === target\n case '!=': return value !== target\n case '>': return value > target\n case '>=': return value >= target\n case '<': return value < target\n case '<=': return value <= target\n default: return true\n }\n }\n\n const valueDate = value instanceof Date ? value : (typeof value === 'string' ? new Date(value) : null)\n const targetDate = target instanceof Date ? target : (typeof target === 'string' ? new Date(target) : null)\n if (valueDate && targetDate && !isNaN(valueDate.getTime()) && !isNaN(targetDate.getTime())) {\n const valueTime = valueDate.getTime()\n const targetTime = targetDate.getTime()\n switch (operand) {\n case '=': return valueTime === targetTime\n case '!=': return valueTime !== targetTime\n case '>': return valueTime > targetTime\n case '>=': return valueTime >= targetTime\n case '<': return valueTime < targetTime\n case '<=': return valueTime <= targetTime\n default: return true\n }\n }\n\n if (Array.isArray(value) && Array.isArray(target)) {\n switch (operand) {\n case '=': return JSON.stringify(value) === JSON.stringify(target)\n case '!=': return JSON.stringify(value) !== JSON.stringify(target)\n case '>': return value.length > target.length\n case '>=': return value.length >= target.length\n case '<': return value.length < target.length\n case '<=': return value.length <= target.length\n default: return true\n }\n }\n\n if (Array.isArray(value) && !Array.isArray(target)) {\n switch (operand) {\n case '=': return value.includes(target)\n case '!=': return !value.includes(target)\n default: return false\n }\n }\n\n if (typeof value === 'object' && typeof target === 'object') {\n switch (operand) {\n case '=': return JSON.stringify(value) === JSON.stringify(target)\n case '!=': return JSON.stringify(value) !== JSON.stringify(target)\n default: return false\n }\n }\n\n switch (operand) {\n case '=': return value == target\n case '!=': return value != target\n case '>': return Number(value) > Number(target)\n case '>=': return Number(value) >= Number(target)\n case '<': return Number(value) < Number(target)\n case '<=': return Number(value) <= Number(target)\n default: return true\n }\n}";
390
+ };
385
391
  export var sanitizeNumericParam = function (value, defaultValue) {
386
392
  if (defaultValue === void 0) { defaultValue = 0; }
387
393
  if (typeof value === 'number' && !isNaN(value) && isFinite(value)) {
@@ -425,7 +431,7 @@ export var sanitizeIdentifier = function (identifier) {
425
431
  };
426
432
  // tslint:disable-next-line:no-any
427
433
  export var extractDataSourceIntoGetStaticProps = function (node, dataSources, componentChunk, getStaticPropsChunk, chunks, extractedResources, dependencies) {
428
- var _a, _b;
434
+ var _a, _b, _c, _d, _e;
429
435
  try {
430
436
  // Validate node content
431
437
  var contentValidation = validateNodeContent(node.content);
@@ -452,15 +458,35 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
452
458
  if (!componentChunk.meta || !componentChunk.meta.nodesLookup) {
453
459
  return { success: false };
454
460
  }
455
- // Generate prop key first
461
+ // Generate prop key using renderPropIdentifier and resource ID for uniqueness
462
+ // This ensures each DataProvider instance gets its own fetch and initialData even when
463
+ // multiple instances share the same renderPropIdentifier but have different params (sorts, filters)
464
+ var renderPropIdentifier_1 = (_a = node.content) === null || _a === void 0 ? void 0 : _a.renderPropIdentifier;
465
+ // tslint:disable-next-line:no-any
466
+ var resourceId = (_c = (_b = node.content) === null || _b === void 0 ? void 0 : _b.resource) === null || _c === void 0 ? void 0 : _c.id;
467
+ // Always generate a unique base key from dataSourceId and tableName
456
468
  var sanitizedDsName = StringUtils.dashCaseToCamelCase(sanitizeFileName(dataSource.name || dataSourceId_1));
457
469
  var sanitizedTableName = StringUtils.dashCaseToCamelCase(sanitizeFileName(tableName_1 || 'data'));
458
- var propKey_1 = "".concat(sanitizedDsName, "_").concat(sanitizedTableName, "_data");
459
- // Find ALL JSX nodes matching this dataSourceId AND tableName and add initialData to ALL of them
460
- var matchingJsxNodes_2 = [];
461
- // Helper function to recursively traverse the AST and find all matching JSXElements
470
+ var baseKey = "".concat(sanitizedDsName, "_").concat(sanitizedTableName, "_data");
471
+ var propKey_1;
472
+ if (renderPropIdentifier_1 && resourceId) {
473
+ // Include resource ID to differentiate between same renderProp but different params
474
+ var sanitizedResourceId = StringUtils.dashCaseToCamelCase(sanitizeFileName(resourceId).replace(/^TQ_/, ''));
475
+ propKey_1 = "".concat(renderPropIdentifier_1, "_").concat(sanitizedResourceId);
476
+ }
477
+ else {
478
+ // Use base key for uniqueness (even if renderPropIdentifier exists, base key ensures uniqueness across different data sources)
479
+ propKey_1 = baseKey;
480
+ }
481
+ // Find matching JSX nodes for this data source
482
+ // Strategy depends on whether we have a unique resource ID:
483
+ // - With resource ID: each UIDL node updates ONE JSX element (unique data per element)
484
+ // - Without resource ID: one UIDL node can update ALL matching JSX elements (shared data)
485
+ var hasUniqueResourceId_1 = !!resourceId;
486
+ var matchingJsxNodes_1 = [];
487
+ // Helper function to recursively traverse the AST and find matching JSX elements
462
488
  var traverseAST_1 = function (astNode) {
463
- var _a, _b;
489
+ var _a, _b, _c, _d;
464
490
  if (!astNode || typeof astNode !== 'object') {
465
491
  return;
466
492
  }
@@ -471,7 +497,18 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
471
497
  return attr.type === 'JSXAttribute' &&
472
498
  attr.name.name === 'resourceDefinition';
473
499
  });
474
- if (resourceDefAttr &&
500
+ var nameAttr = attrs.find(function (attr) {
501
+ return attr.type === 'JSXAttribute' &&
502
+ attr.name.name === 'name';
503
+ });
504
+ var paramsAttr = attrs.find(function (attr) {
505
+ return attr.type === 'JSXAttribute' &&
506
+ attr.name.name === 'params';
507
+ });
508
+ // Check if this node already has initialData - if so, skip it
509
+ var hasInitialData = attrs.some(function (attr) { var _a; return ((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name) === 'initialData'; });
510
+ if (!hasInitialData &&
511
+ resourceDefAttr &&
475
512
  resourceDefAttr.value &&
476
513
  resourceDefAttr.value.type === 'JSXExpressionContainer') {
477
514
  var expr = resourceDefAttr.value.expression;
@@ -481,38 +518,132 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
481
518
  var idProp = props.find(function (p) { var _a; return ((_a = p.key) === null || _a === void 0 ? void 0 : _a.value) === 'dataSourceId'; });
482
519
  // tslint:disable-next-line:no-any
483
520
  var idValue = (_a = idProp === null || idProp === void 0 ? void 0 : idProp.value) === null || _a === void 0 ? void 0 : _a.value;
484
- // Also check tableName to ensure we're matching the right data source
485
521
  // tslint:disable-next-line:no-any
486
522
  var tableNameProp = props.find(function (p) { var _a; return ((_a = p.key) === null || _a === void 0 ? void 0 : _a.value) === 'tableName'; });
487
523
  // tslint:disable-next-line:no-any
488
524
  var tableNameValue = (_b = tableNameProp === null || tableNameProp === void 0 ? void 0 : tableNameProp.value) === null || _b === void 0 ? void 0 : _b.value;
489
- if (idValue === dataSourceId_1 && tableNameValue === tableName_1) {
490
- matchingJsxNodes_2.push(jsxElement);
525
+ // Match by name attribute to ensure we get the right renderPropIdentifier
526
+ var nameMatches = true;
527
+ if (renderPropIdentifier_1 && nameAttr && nameAttr.value) {
528
+ nameMatches = false;
529
+ if (nameAttr.value.type === 'StringLiteral') {
530
+ nameMatches = nameAttr.value.value === renderPropIdentifier_1;
531
+ }
532
+ else if (nameAttr.value.type === 'JSXExpressionContainer') {
533
+ var nameExpr = nameAttr.value.expression;
534
+ if (nameExpr.type === 'StringLiteral') {
535
+ nameMatches = nameExpr.value === renderPropIdentifier_1;
536
+ }
537
+ }
538
+ }
539
+ // Check if params match (for nodes with the same renderPropIdentifier but different params)
540
+ // We only compare simple numeric params that affect data fetching (limit, page, perPage)
541
+ // Other params like queryColumns are handled by pagination plugin and don't affect matching
542
+ // tslint:disable-next-line:no-any
543
+ var nodeResourceParams = ((_c = node.content.resource) === null || _c === void 0 ? void 0 : _c.params) || {};
544
+ var paramsMatch = true;
545
+ // Extract numeric params from JSX that affect data fetching
546
+ var jsxLimitParams_1 = {};
547
+ var jsxHasParams = false;
548
+ if (paramsAttr &&
549
+ paramsAttr.value &&
550
+ paramsAttr.value.type === 'JSXExpressionContainer') {
551
+ jsxHasParams = true;
552
+ var paramsExpr = paramsAttr.value.expression;
553
+ var objExpr = null;
554
+ // Handle useMemo wrapper
555
+ if (paramsExpr.type === 'CallExpression' &&
556
+ paramsExpr.callee.name === 'useMemo') {
557
+ var memoArgs = paramsExpr.arguments;
558
+ if (memoArgs.length > 0 && memoArgs[0].type === 'ArrowFunctionExpression') {
559
+ var arrowFunc = memoArgs[0];
560
+ if (arrowFunc.body.type === 'ObjectExpression') {
561
+ objExpr = arrowFunc.body;
562
+ }
563
+ }
564
+ }
565
+ else if (paramsExpr.type === 'ObjectExpression') {
566
+ // Direct object expression (before useMemo wrapping)
567
+ objExpr = paramsExpr;
568
+ }
569
+ if (objExpr) {
570
+ objExpr.properties.forEach(function (prop) {
571
+ if (prop.type === 'ObjectProperty') {
572
+ var key = void 0;
573
+ if (prop.key.type === 'Identifier') {
574
+ key = prop.key.name;
575
+ }
576
+ else if (prop.key.type === 'StringLiteral') {
577
+ key = prop.key.value;
578
+ }
579
+ // Only extract limit param - this is what differentiates data fetches
580
+ if (key === 'limit' && prop.value.type === 'NumericLiteral') {
581
+ jsxLimitParams_1[key] = prop.value.value;
582
+ }
583
+ }
584
+ });
585
+ }
586
+ }
587
+ // Extract limit from resource params
588
+ var resourceLimit = ((_d = nodeResourceParams.limit) === null || _d === void 0 ? void 0 : _d.type) === 'static'
589
+ ? nodeResourceParams.limit.content
590
+ : undefined;
591
+ // Compare limit params - this determines if data fetches are equivalent
592
+ var jsxLimit = jsxLimitParams_1.limit;
593
+ if (jsxLimit !== undefined || resourceLimit !== undefined) {
594
+ // If either has limit, both must have the same limit value
595
+ paramsMatch = jsxLimit === resourceLimit;
596
+ }
597
+ else if (!jsxHasParams && Object.keys(nodeResourceParams).length > 0) {
598
+ // JSX has no params but resource has params - check if resource only has non-limit params
599
+ // If resource has limit, no match; otherwise match
600
+ paramsMatch = resourceLimit === undefined;
601
+ }
602
+ else if (jsxHasParams && Object.keys(nodeResourceParams).length === 0) {
603
+ // JSX has params but resource doesn't - check if JSX only has non-limit params
604
+ // If JSX has limit, no match; otherwise match
605
+ paramsMatch = jsxLimit === undefined;
606
+ }
607
+ // else: both don't have params or both have equivalent limit - match
608
+ // Collect matching nodes that don't have initialData yet and have matching params
609
+ if (idValue === dataSourceId_1 &&
610
+ tableNameValue === tableName_1 &&
611
+ nameMatches &&
612
+ paramsMatch) {
613
+ matchingJsxNodes_1.push(jsxElement);
614
+ // If we have a unique resource ID, stop after finding the first match
615
+ // Otherwise, collect all matching nodes
616
+ if (hasUniqueResourceId_1) {
617
+ return;
618
+ }
491
619
  }
492
620
  }
493
621
  }
494
622
  }
495
- // Recursively traverse all properties
496
- for (var key in astNode) {
497
- if (astNode.hasOwnProperty(key)) {
498
- var value = astNode[key];
499
- if (Array.isArray(value)) {
500
- value.forEach(function (item) { return traverseAST_1(item); });
501
- }
502
- else if (typeof value === 'object') {
503
- traverseAST_1(value);
623
+ // Recursively traverse all properties (unless we already found a match with unique resource ID)
624
+ if (!hasUniqueResourceId_1 || matchingJsxNodes_1.length === 0) {
625
+ for (var key in astNode) {
626
+ if (astNode.hasOwnProperty(key)) {
627
+ var value = astNode[key];
628
+ if (Array.isArray(value)) {
629
+ value.forEach(function (item) { return traverseAST_1(item); });
630
+ }
631
+ else if (typeof value === 'object') {
632
+ traverseAST_1(value);
633
+ }
504
634
  }
505
635
  }
506
636
  }
507
637
  };
508
638
  // Traverse the entire component AST content
509
639
  traverseAST_1(componentChunk.content);
510
- if (matchingJsxNodes_2.length === 0) {
511
- return { success: false };
512
- }
513
- // Update ALL matching JSX nodes with initialData
514
- for (var _i = 0, matchingJsxNodes_1 = matchingJsxNodes_2; _i < matchingJsxNodes_1.length; _i++) {
515
- var jsxNode = matchingJsxNodes_1[_i];
640
+ // Even if all JSX nodes already have initialData, we should still add the fetch to getStaticProps
641
+ // This handles cases where multiple data-source-list nodes share the same renderPropIdentifier
642
+ // but have different params (e.g., one with limit, one without)
643
+ var nodesToUpdate = matchingJsxNodes_1;
644
+ // Update all target JSX nodes with initialData (only those that don't already have it)
645
+ for (var _i = 0, nodesToUpdate_1 = nodesToUpdate; _i < nodesToUpdate_1.length; _i++) {
646
+ var jsxNode = nodesToUpdate_1[_i];
516
647
  // For SSR/SSG with initialData, rename 'children' to 'renderSuccess'
517
648
  var childrenAttrIndex = jsxNode.openingElement.attributes.findIndex(function (attr) { var _a; return ((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name) === 'children'; });
518
649
  if (childrenAttrIndex !== -1) {
@@ -533,6 +664,7 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
533
664
  var persistDataAttr = types.jsxAttribute(types.jsxIdentifier('persistDataDuringLoading'), types.jsxExpressionContainer(types.booleanLiteral(true)));
534
665
  jsxNode.openingElement.attributes.push(persistDataAttr);
535
666
  }
667
+ // End of target node processing
536
668
  // Generate safe file name for the fetcher
537
669
  var fileName = generateSafeFileName(dataSourceType, tableName_1 || 'data', dataSourceId_1);
538
670
  if (!fileName || fileName === 'unknown') {
@@ -568,7 +700,7 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
568
700
  };
569
701
  // Build params object from resource params
570
702
  // tslint:disable-next-line:no-any
571
- var resourceParams = ((_a = node.content.resource) === null || _a === void 0 ? void 0 : _a.params) || {};
703
+ var resourceParams = ((_d = node.content.resource) === null || _d === void 0 ? void 0 : _d.params) || {};
572
704
  var paramsProperties_1 = [];
573
705
  // tslint:disable-next-line:no-any
574
706
  Object.entries(resourceParams).forEach(function (_a) {
@@ -576,22 +708,55 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
576
708
  if (value.type === 'static') {
577
709
  var astValue = void 0;
578
710
  if (value.content === null || value.content === undefined) {
579
- astValue = types.nullLiteral();
711
+ // Skip null/undefined values entirely
712
+ return;
580
713
  }
581
714
  else if (Array.isArray(value.content)) {
582
- // Handle array values (like queryColumns)
583
- astValue = types.arrayExpression(value.content.map(function (item) {
584
- if (typeof item === 'string') {
585
- return types.stringLiteral(item);
586
- }
587
- if (typeof item === 'number') {
588
- return types.numericLiteral(item);
589
- }
590
- if (typeof item === 'boolean') {
591
- return types.booleanLiteral(item);
592
- }
593
- return types.nullLiteral();
594
- }));
715
+ // Filter out null/undefined values from the array
716
+ var validItems = value.content.filter(function (item) { return item !== null && item !== undefined; });
717
+ // Skip the array entirely if it's empty or only had null values
718
+ if (validItems.length === 0) {
719
+ return;
720
+ }
721
+ // For sorts, filters, and queryColumns, stringify the array for consistency with API handler
722
+ if (key === 'sorts' || key === 'filters' || key === 'queryColumns') {
723
+ var arrayExpr = types.arrayExpression(validItems.map(function (item) {
724
+ if (typeof item === 'string') {
725
+ return types.stringLiteral(item);
726
+ }
727
+ if (typeof item === 'number') {
728
+ return types.numericLiteral(item);
729
+ }
730
+ if (typeof item === 'boolean') {
731
+ return types.booleanLiteral(item);
732
+ }
733
+ if (typeof item === 'object' && item !== null) {
734
+ return ASTUtils.objectToObjectExpression(item);
735
+ }
736
+ return types.nullLiteral();
737
+ }));
738
+ // Wrap in JSON.stringify()
739
+ astValue = types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [arrayExpr]);
740
+ }
741
+ else {
742
+ // Handle other array values normally
743
+ astValue = types.arrayExpression(validItems.map(function (item) {
744
+ if (typeof item === 'string') {
745
+ return types.stringLiteral(item);
746
+ }
747
+ if (typeof item === 'number') {
748
+ return types.numericLiteral(item);
749
+ }
750
+ if (typeof item === 'boolean') {
751
+ return types.booleanLiteral(item);
752
+ }
753
+ if (typeof item === 'object' && item !== null) {
754
+ // Handle object items (like sort/filter objects)
755
+ return ASTUtils.objectToObjectExpression(item);
756
+ }
757
+ return types.nullLiteral();
758
+ }));
759
+ }
595
760
  }
596
761
  else if (typeof value.content === 'string') {
597
762
  astValue = types.stringLiteral(value.content);
@@ -603,7 +768,8 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
603
768
  astValue = types.booleanLiteral(value.content);
604
769
  }
605
770
  else {
606
- astValue = types.nullLiteral();
771
+ // Skip other null-like values
772
+ return;
607
773
  }
608
774
  paramsProperties_1.push(types.objectProperty(types.stringLiteral(key), astValue));
609
775
  }
@@ -664,7 +830,7 @@ export var extractDataSourceIntoGetStaticProps = function (node, dataSources, co
664
830
  var propsObject = returnStatement.argument.properties.find(function (property) { return property.key.name === 'props'; });
665
831
  var propsValue = propsObject.value;
666
832
  // Check if propKey already exists in the parallel fetch metadata
667
- var parallelFetchMeta = (_b = getStaticPropsChunk.meta) === null || _b === void 0 ? void 0 : _b.parallelFetch;
833
+ var parallelFetchMeta = (_e = getStaticPropsChunk.meta) === null || _e === void 0 ? void 0 : _e.parallelFetchData;
668
834
  var existingInFetchMeta = parallelFetchMeta === null || parallelFetchMeta === void 0 ? void 0 : parallelFetchMeta.names.includes(propKey_1);
669
835
  // Always ensure both the fetch and the prop are in sync
670
836
  if (!existingInFetchMeta) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teleporthq/teleport-plugin-next-data-source",
3
- "version": "0.42.9",
3
+ "version": "0.42.10",
4
4
  "description": "A plugin for managing data sources for Next.js projects.",
5
5
  "author": "teleportHQ",
6
6
  "license": "MIT",
@@ -29,5 +29,5 @@
29
29
  "@teleporthq/teleport-shared": "^0.42.0",
30
30
  "@teleporthq/teleport-types": "^0.42.0"
31
31
  },
32
- "gitHead": "558e8d7947578ea6b4c9671ee1cc9012c0c5ca9b"
32
+ "gitHead": "f5300682d2480a48043e0301458355743aa3e629"
33
33
  }
@@ -62,10 +62,7 @@ export const getDataSourceDependencies = (type: DataSourceType): DataSourceFetch
62
62
  return dependencyMap[type]
63
63
  }
64
64
 
65
- export const generateDataSourceFetcher = (
66
- dataSource: UIDLDataSource,
67
- tableName: string
68
- ): string => {
65
+ export function generateDataSourceFetcher(dataSource: UIDLDataSource, tableName: string): string {
69
66
  if (!dataSource || typeof dataSource !== 'object') {
70
67
  throw new Error('Invalid data source: data source must be a valid object')
71
68
  }
@@ -226,10 +223,11 @@ export const generateDataSourceFetcher = (
226
223
  * Generates a fetcher with both a core fetchData function (for server-side use in getStaticProps)
227
224
  * and an API handler (for client-side use)
228
225
  */
229
- export const generateDataSourceFetcherWithCore = (
226
+ export function generateDataSourceFetcherWithCore(
230
227
  dataSource: UIDLDataSource,
231
- tableName: string
232
- ): string => {
228
+ tableName: string,
229
+ isApiRoute: boolean = false
230
+ ): string {
233
231
  const apiHandler = generateDataSourceFetcher(dataSource, tableName)
234
232
 
235
233
  // Extract the handler function body from the API route
@@ -242,10 +240,29 @@ export const generateDataSourceFetcherWithCore = (
242
240
  'async function handler'
243
241
  )
244
242
 
245
- // Generate count fetcher code
243
+ // Extract imports from handlerCode (they should be at the top)
244
+ const importRegex = /^import\s+.*?$/gm
245
+ const imports = handlerCode.match(importRegex) || []
246
+ const handlerWithoutImports = handlerCode.replace(importRegex, '').trim()
247
+
248
+ // Generate count fetcher code and extract its imports
246
249
  const countFetcherCode = generateCountFetcher(dataSource, tableName)
250
+ const countImports = countFetcherCode.match(importRegex) || []
251
+ const countFetcherWithoutImports = countFetcherCode.replace(importRegex, '').trim()
252
+
253
+ // Combine and deduplicate imports
254
+ const allImports = Array.from(new Set([...imports, ...countImports]))
255
+
256
+ // For API routes, export just the handler function
257
+ // For utils files, export the full object with all functions
258
+ const exports = isApiRoute
259
+ ? 'export default handler'
260
+ : `export { fetchData, fetchCount, handler, getCount }
261
+ export default { fetchData, fetchCount, handler, getCount }`
262
+
263
+ return `${allImports.join('\n')}
247
264
 
248
- return `async function fetchData(params = {}) {
265
+ async function fetchData(params = {}) {
249
266
  const req = {
250
267
  query: params,
251
268
  method: 'GET',
@@ -303,11 +320,10 @@ async function fetchCount(params = {}) {
303
320
  return result.count
304
321
  }
305
322
 
306
- ${countFetcherCode}
323
+ ${countFetcherWithoutImports}
307
324
 
308
- ${handlerCode}
325
+ ${handlerWithoutImports}
309
326
 
310
- export { fetchData, fetchCount, handler, getCount }
311
- export default { fetchData, fetchCount, handler, getCount }
327
+ ${exports}
312
328
  `
313
329
  }