@teleporthq/teleport-plugin-next-data-source 0.42.8 → 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.
- package/__tests__/csv-header-detection.test.ts +212 -0
- package/__tests__/validation.test.ts +33 -2
- package/dist/cjs/data-source-fetchers.d.ts +2 -2
- package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
- package/dist/cjs/data-source-fetchers.js +30 -7
- package/dist/cjs/data-source-fetchers.js.map +1 -1
- package/dist/cjs/fetchers/airtable.d.ts.map +1 -1
- package/dist/cjs/fetchers/airtable.js +2 -2
- package/dist/cjs/fetchers/airtable.js.map +1 -1
- package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -1
- package/dist/cjs/fetchers/clickhouse.js +1 -1
- package/dist/cjs/fetchers/clickhouse.js.map +1 -1
- package/dist/cjs/fetchers/csv-file.d.ts.map +1 -1
- package/dist/cjs/fetchers/csv-file.js +23 -3
- package/dist/cjs/fetchers/csv-file.js.map +1 -1
- package/dist/cjs/fetchers/firestore.d.ts.map +1 -1
- package/dist/cjs/fetchers/firestore.js +1 -1
- package/dist/cjs/fetchers/firestore.js.map +1 -1
- package/dist/cjs/fetchers/google-sheets.d.ts.map +1 -1
- package/dist/cjs/fetchers/google-sheets.js +6 -1
- package/dist/cjs/fetchers/google-sheets.js.map +1 -1
- package/dist/cjs/fetchers/javascript.d.ts.map +1 -1
- package/dist/cjs/fetchers/javascript.js +2 -1
- package/dist/cjs/fetchers/javascript.js.map +1 -1
- package/dist/cjs/fetchers/mariadb.d.ts.map +1 -1
- package/dist/cjs/fetchers/mariadb.js +3 -3
- package/dist/cjs/fetchers/mariadb.js.map +1 -1
- package/dist/cjs/fetchers/mongodb.d.ts +1 -1
- package/dist/cjs/fetchers/mongodb.d.ts.map +1 -1
- package/dist/cjs/fetchers/mongodb.js +11 -3
- package/dist/cjs/fetchers/mongodb.js.map +1 -1
- package/dist/cjs/fetchers/mysql.d.ts.map +1 -1
- package/dist/cjs/fetchers/mysql.js +2 -2
- package/dist/cjs/fetchers/mysql.js.map +1 -1
- package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
- package/dist/cjs/fetchers/postgresql.js +3 -3
- package/dist/cjs/fetchers/postgresql.js.map +1 -1
- package/dist/cjs/fetchers/redis.d.ts.map +1 -1
- package/dist/cjs/fetchers/redis.js +1 -1
- package/dist/cjs/fetchers/redis.js.map +1 -1
- package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
- package/dist/cjs/fetchers/redshift.js +2 -2
- package/dist/cjs/fetchers/redshift.js.map +1 -1
- package/dist/cjs/fetchers/rest-api.d.ts.map +1 -1
- package/dist/cjs/fetchers/rest-api.js +3 -2
- package/dist/cjs/fetchers/rest-api.js.map +1 -1
- package/dist/cjs/fetchers/static-collection.d.ts.map +1 -1
- package/dist/cjs/fetchers/static-collection.js +2 -1
- package/dist/cjs/fetchers/static-collection.js.map +1 -1
- package/dist/cjs/fetchers/supabase.d.ts.map +1 -1
- package/dist/cjs/fetchers/supabase.js +2 -2
- package/dist/cjs/fetchers/supabase.js.map +1 -1
- package/dist/cjs/fetchers/turso.d.ts.map +1 -1
- package/dist/cjs/fetchers/turso.js +1 -1
- package/dist/cjs/fetchers/turso.js.map +1 -1
- package/dist/cjs/fetchers/utils/header-detection.d.ts +2 -0
- package/dist/cjs/fetchers/utils/header-detection.d.ts.map +1 -0
- package/dist/cjs/fetchers/utils/header-detection.js +8 -0
- package/dist/cjs/fetchers/utils/header-detection.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +168 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pagination-plugin.d.ts.map +1 -1
- package/dist/cjs/pagination-plugin.js +320 -65
- package/dist/cjs/pagination-plugin.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +3 -0
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +218 -46
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/data-source-fetchers.d.ts +2 -2
- package/dist/esm/data-source-fetchers.d.ts.map +1 -1
- package/dist/esm/data-source-fetchers.js +29 -6
- package/dist/esm/data-source-fetchers.js.map +1 -1
- package/dist/esm/fetchers/airtable.d.ts.map +1 -1
- package/dist/esm/fetchers/airtable.js +3 -3
- package/dist/esm/fetchers/airtable.js.map +1 -1
- package/dist/esm/fetchers/clickhouse.d.ts.map +1 -1
- package/dist/esm/fetchers/clickhouse.js +2 -2
- package/dist/esm/fetchers/clickhouse.js.map +1 -1
- package/dist/esm/fetchers/csv-file.d.ts.map +1 -1
- package/dist/esm/fetchers/csv-file.js +23 -3
- package/dist/esm/fetchers/csv-file.js.map +1 -1
- package/dist/esm/fetchers/firestore.d.ts.map +1 -1
- package/dist/esm/fetchers/firestore.js +2 -2
- package/dist/esm/fetchers/firestore.js.map +1 -1
- package/dist/esm/fetchers/google-sheets.d.ts.map +1 -1
- package/dist/esm/fetchers/google-sheets.js +6 -1
- package/dist/esm/fetchers/google-sheets.js.map +1 -1
- package/dist/esm/fetchers/javascript.d.ts.map +1 -1
- package/dist/esm/fetchers/javascript.js +2 -1
- package/dist/esm/fetchers/javascript.js.map +1 -1
- package/dist/esm/fetchers/mariadb.d.ts.map +1 -1
- package/dist/esm/fetchers/mariadb.js +4 -4
- package/dist/esm/fetchers/mariadb.js.map +1 -1
- package/dist/esm/fetchers/mongodb.d.ts +1 -1
- package/dist/esm/fetchers/mongodb.d.ts.map +1 -1
- package/dist/esm/fetchers/mongodb.js +12 -4
- package/dist/esm/fetchers/mongodb.js.map +1 -1
- package/dist/esm/fetchers/mysql.d.ts.map +1 -1
- package/dist/esm/fetchers/mysql.js +3 -3
- package/dist/esm/fetchers/mysql.js.map +1 -1
- package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
- package/dist/esm/fetchers/postgresql.js +4 -4
- package/dist/esm/fetchers/postgresql.js.map +1 -1
- package/dist/esm/fetchers/redis.d.ts.map +1 -1
- package/dist/esm/fetchers/redis.js +2 -2
- package/dist/esm/fetchers/redis.js.map +1 -1
- package/dist/esm/fetchers/redshift.d.ts.map +1 -1
- package/dist/esm/fetchers/redshift.js +3 -3
- package/dist/esm/fetchers/redshift.js.map +1 -1
- package/dist/esm/fetchers/rest-api.d.ts.map +1 -1
- package/dist/esm/fetchers/rest-api.js +3 -2
- package/dist/esm/fetchers/rest-api.js.map +1 -1
- package/dist/esm/fetchers/static-collection.d.ts.map +1 -1
- package/dist/esm/fetchers/static-collection.js +2 -1
- package/dist/esm/fetchers/static-collection.js.map +1 -1
- package/dist/esm/fetchers/supabase.d.ts.map +1 -1
- package/dist/esm/fetchers/supabase.js +3 -3
- package/dist/esm/fetchers/supabase.js.map +1 -1
- package/dist/esm/fetchers/turso.d.ts.map +1 -1
- package/dist/esm/fetchers/turso.js +2 -2
- package/dist/esm/fetchers/turso.js.map +1 -1
- package/dist/esm/fetchers/utils/header-detection.d.ts +2 -0
- package/dist/esm/fetchers/utils/header-detection.d.ts.map +1 -0
- package/dist/esm/fetchers/utils/header-detection.js +4 -0
- package/dist/esm/fetchers/utils/header-detection.js.map +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +169 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pagination-plugin.d.ts.map +1 -1
- package/dist/esm/pagination-plugin.js +320 -65
- package/dist/esm/pagination-plugin.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +3 -0
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +214 -45
- package/dist/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/data-source-fetchers.ts +29 -13
- package/src/fetchers/airtable.ts +81 -31
- package/src/fetchers/clickhouse.ts +88 -19
- package/src/fetchers/csv-file.ts +256 -27
- package/src/fetchers/firestore.ts +65 -13
- package/src/fetchers/google-sheets.ts +243 -26
- package/src/fetchers/javascript.ts +106 -23
- package/src/fetchers/mariadb.ts +85 -26
- package/src/fetchers/mongodb.ts +156 -37
- package/src/fetchers/mysql.ts +86 -26
- package/src/fetchers/postgresql.ts +89 -27
- package/src/fetchers/redis.ts +43 -5
- package/src/fetchers/redshift.ts +87 -18
- package/src/fetchers/rest-api.ts +105 -24
- package/src/fetchers/static-collection.ts +100 -18
- package/src/fetchers/supabase.ts +178 -54
- package/src/fetchers/turso.ts +87 -18
- package/src/fetchers/utils/header-detection.ts +200 -0
- package/src/index.ts +248 -2
- package/src/pagination-plugin.ts +708 -191
- package/src/utils.ts +374 -38
package/dist/cjs/utils.js
CHANGED
|
@@ -32,7 +32,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
32
32
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.extractDataSourceIntoGetStaticProps = exports.sanitizeIdentifier = exports.isValidUrl = exports.sanitizePort = exports.sanitizeNumericParam = exports.replaceSecretReference = exports.isEmbeddedDataSource = exports.extractDataSourceIntoNextAPIFolder = exports.generateSafeFileName = exports.validateDataSourceConfig = exports.validateNodeContent = exports.validateResourceDefinition = exports.hoistLoadingFromRepeater = exports.isNonEmptyString = exports.sanitizeFileName = void 0;
|
|
35
|
+
exports.extractDataSourceIntoGetStaticProps = exports.sanitizeIdentifier = exports.isValidUrl = exports.sanitizePort = exports.sanitizeNumericParam = exports.generateSortFilterHelperCode = exports.generateDateFormatterCode = exports.generateSafeJSONParseCode = exports.replaceSecretReference = exports.isEmbeddedDataSource = exports.extractDataSourceIntoNextAPIFolder = exports.generateSafeFileName = exports.validateDataSourceConfig = exports.validateNodeContent = exports.validateResourceDefinition = exports.hoistLoadingFromRepeater = exports.isNonEmptyString = exports.sanitizeFileName = void 0;
|
|
36
36
|
var teleport_types_1 = require("@teleporthq/teleport-types");
|
|
37
37
|
var types = __importStar(require("@babel/types"));
|
|
38
38
|
var teleport_plugin_common_1 = require("@teleporthq/teleport-plugin-common");
|
|
@@ -348,10 +348,10 @@ var extractDataSourceIntoNextAPIFolder = function (node, dataSources, componentC
|
|
|
348
348
|
};
|
|
349
349
|
return;
|
|
350
350
|
}
|
|
351
|
-
// Generate fetcher code
|
|
351
|
+
// Generate fetcher code for API route (exports just the handler)
|
|
352
352
|
var fetcherCode = void 0;
|
|
353
353
|
try {
|
|
354
|
-
fetcherCode = (0, data_source_fetchers_1.generateDataSourceFetcherWithCore)(dataSource, tableName || '');
|
|
354
|
+
fetcherCode = (0, data_source_fetchers_1.generateDataSourceFetcherWithCore)(dataSource, tableName || '', true);
|
|
355
355
|
}
|
|
356
356
|
catch (error) {
|
|
357
357
|
return;
|
|
@@ -415,6 +415,18 @@ var replaceSecretReference = function (value, options) {
|
|
|
415
415
|
}
|
|
416
416
|
};
|
|
417
417
|
exports.replaceSecretReference = replaceSecretReference;
|
|
418
|
+
var generateSafeJSONParseCode = function () {
|
|
419
|
+
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}";
|
|
420
|
+
};
|
|
421
|
+
exports.generateSafeJSONParseCode = generateSafeJSONParseCode;
|
|
422
|
+
var generateDateFormatterCode = function () {
|
|
423
|
+
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}";
|
|
424
|
+
};
|
|
425
|
+
exports.generateDateFormatterCode = generateDateFormatterCode;
|
|
426
|
+
var generateSortFilterHelperCode = function () {
|
|
427
|
+
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}";
|
|
428
|
+
};
|
|
429
|
+
exports.generateSortFilterHelperCode = generateSortFilterHelperCode;
|
|
418
430
|
var sanitizeNumericParam = function (value, defaultValue) {
|
|
419
431
|
if (defaultValue === void 0) { defaultValue = 0; }
|
|
420
432
|
if (typeof value === 'number' && !isNaN(value) && isFinite(value)) {
|
|
@@ -462,7 +474,7 @@ var sanitizeIdentifier = function (identifier) {
|
|
|
462
474
|
exports.sanitizeIdentifier = sanitizeIdentifier;
|
|
463
475
|
// tslint:disable-next-line:no-any
|
|
464
476
|
var extractDataSourceIntoGetStaticProps = function (node, dataSources, componentChunk, getStaticPropsChunk, chunks, extractedResources, dependencies) {
|
|
465
|
-
var _a, _b;
|
|
477
|
+
var _a, _b, _c, _d, _e;
|
|
466
478
|
try {
|
|
467
479
|
// Validate node content
|
|
468
480
|
var contentValidation = (0, exports.validateNodeContent)(node.content);
|
|
@@ -489,15 +501,35 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
489
501
|
if (!componentChunk.meta || !componentChunk.meta.nodesLookup) {
|
|
490
502
|
return { success: false };
|
|
491
503
|
}
|
|
492
|
-
// Generate prop key
|
|
504
|
+
// Generate prop key using renderPropIdentifier and resource ID for uniqueness
|
|
505
|
+
// This ensures each DataProvider instance gets its own fetch and initialData even when
|
|
506
|
+
// multiple instances share the same renderPropIdentifier but have different params (sorts, filters)
|
|
507
|
+
var renderPropIdentifier_1 = (_a = node.content) === null || _a === void 0 ? void 0 : _a.renderPropIdentifier;
|
|
508
|
+
// tslint:disable-next-line:no-any
|
|
509
|
+
var resourceId = (_c = (_b = node.content) === null || _b === void 0 ? void 0 : _b.resource) === null || _c === void 0 ? void 0 : _c.id;
|
|
510
|
+
// Always generate a unique base key from dataSourceId and tableName
|
|
493
511
|
var sanitizedDsName = teleport_shared_1.StringUtils.dashCaseToCamelCase((0, exports.sanitizeFileName)(dataSource.name || dataSourceId_1));
|
|
494
512
|
var sanitizedTableName = teleport_shared_1.StringUtils.dashCaseToCamelCase((0, exports.sanitizeFileName)(tableName_1 || 'data'));
|
|
495
|
-
var
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
513
|
+
var baseKey = "".concat(sanitizedDsName, "_").concat(sanitizedTableName, "_data");
|
|
514
|
+
var propKey_1;
|
|
515
|
+
if (renderPropIdentifier_1 && resourceId) {
|
|
516
|
+
// Include resource ID to differentiate between same renderProp but different params
|
|
517
|
+
var sanitizedResourceId = teleport_shared_1.StringUtils.dashCaseToCamelCase((0, exports.sanitizeFileName)(resourceId).replace(/^TQ_/, ''));
|
|
518
|
+
propKey_1 = "".concat(renderPropIdentifier_1, "_").concat(sanitizedResourceId);
|
|
519
|
+
}
|
|
520
|
+
else {
|
|
521
|
+
// Use base key for uniqueness (even if renderPropIdentifier exists, base key ensures uniqueness across different data sources)
|
|
522
|
+
propKey_1 = baseKey;
|
|
523
|
+
}
|
|
524
|
+
// Find matching JSX nodes for this data source
|
|
525
|
+
// Strategy depends on whether we have a unique resource ID:
|
|
526
|
+
// - With resource ID: each UIDL node updates ONE JSX element (unique data per element)
|
|
527
|
+
// - Without resource ID: one UIDL node can update ALL matching JSX elements (shared data)
|
|
528
|
+
var hasUniqueResourceId_1 = !!resourceId;
|
|
529
|
+
var matchingJsxNodes_1 = [];
|
|
530
|
+
// Helper function to recursively traverse the AST and find matching JSX elements
|
|
499
531
|
var traverseAST_1 = function (astNode) {
|
|
500
|
-
var _a, _b;
|
|
532
|
+
var _a, _b, _c, _d;
|
|
501
533
|
if (!astNode || typeof astNode !== 'object') {
|
|
502
534
|
return;
|
|
503
535
|
}
|
|
@@ -508,7 +540,18 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
508
540
|
return attr.type === 'JSXAttribute' &&
|
|
509
541
|
attr.name.name === 'resourceDefinition';
|
|
510
542
|
});
|
|
511
|
-
|
|
543
|
+
var nameAttr = attrs.find(function (attr) {
|
|
544
|
+
return attr.type === 'JSXAttribute' &&
|
|
545
|
+
attr.name.name === 'name';
|
|
546
|
+
});
|
|
547
|
+
var paramsAttr = attrs.find(function (attr) {
|
|
548
|
+
return attr.type === 'JSXAttribute' &&
|
|
549
|
+
attr.name.name === 'params';
|
|
550
|
+
});
|
|
551
|
+
// Check if this node already has initialData - if so, skip it
|
|
552
|
+
var hasInitialData = attrs.some(function (attr) { var _a; return ((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name) === 'initialData'; });
|
|
553
|
+
if (!hasInitialData &&
|
|
554
|
+
resourceDefAttr &&
|
|
512
555
|
resourceDefAttr.value &&
|
|
513
556
|
resourceDefAttr.value.type === 'JSXExpressionContainer') {
|
|
514
557
|
var expr = resourceDefAttr.value.expression;
|
|
@@ -518,38 +561,132 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
518
561
|
var idProp = props.find(function (p) { var _a; return ((_a = p.key) === null || _a === void 0 ? void 0 : _a.value) === 'dataSourceId'; });
|
|
519
562
|
// tslint:disable-next-line:no-any
|
|
520
563
|
var idValue = (_a = idProp === null || idProp === void 0 ? void 0 : idProp.value) === null || _a === void 0 ? void 0 : _a.value;
|
|
521
|
-
// Also check tableName to ensure we're matching the right data source
|
|
522
564
|
// tslint:disable-next-line:no-any
|
|
523
565
|
var tableNameProp = props.find(function (p) { var _a; return ((_a = p.key) === null || _a === void 0 ? void 0 : _a.value) === 'tableName'; });
|
|
524
566
|
// tslint:disable-next-line:no-any
|
|
525
567
|
var tableNameValue = (_b = tableNameProp === null || tableNameProp === void 0 ? void 0 : tableNameProp.value) === null || _b === void 0 ? void 0 : _b.value;
|
|
526
|
-
|
|
527
|
-
|
|
568
|
+
// Match by name attribute to ensure we get the right renderPropIdentifier
|
|
569
|
+
var nameMatches = true;
|
|
570
|
+
if (renderPropIdentifier_1 && nameAttr && nameAttr.value) {
|
|
571
|
+
nameMatches = false;
|
|
572
|
+
if (nameAttr.value.type === 'StringLiteral') {
|
|
573
|
+
nameMatches = nameAttr.value.value === renderPropIdentifier_1;
|
|
574
|
+
}
|
|
575
|
+
else if (nameAttr.value.type === 'JSXExpressionContainer') {
|
|
576
|
+
var nameExpr = nameAttr.value.expression;
|
|
577
|
+
if (nameExpr.type === 'StringLiteral') {
|
|
578
|
+
nameMatches = nameExpr.value === renderPropIdentifier_1;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
// Check if params match (for nodes with the same renderPropIdentifier but different params)
|
|
583
|
+
// We only compare simple numeric params that affect data fetching (limit, page, perPage)
|
|
584
|
+
// Other params like queryColumns are handled by pagination plugin and don't affect matching
|
|
585
|
+
// tslint:disable-next-line:no-any
|
|
586
|
+
var nodeResourceParams = ((_c = node.content.resource) === null || _c === void 0 ? void 0 : _c.params) || {};
|
|
587
|
+
var paramsMatch = true;
|
|
588
|
+
// Extract numeric params from JSX that affect data fetching
|
|
589
|
+
var jsxLimitParams_1 = {};
|
|
590
|
+
var jsxHasParams = false;
|
|
591
|
+
if (paramsAttr &&
|
|
592
|
+
paramsAttr.value &&
|
|
593
|
+
paramsAttr.value.type === 'JSXExpressionContainer') {
|
|
594
|
+
jsxHasParams = true;
|
|
595
|
+
var paramsExpr = paramsAttr.value.expression;
|
|
596
|
+
var objExpr = null;
|
|
597
|
+
// Handle useMemo wrapper
|
|
598
|
+
if (paramsExpr.type === 'CallExpression' &&
|
|
599
|
+
paramsExpr.callee.name === 'useMemo') {
|
|
600
|
+
var memoArgs = paramsExpr.arguments;
|
|
601
|
+
if (memoArgs.length > 0 && memoArgs[0].type === 'ArrowFunctionExpression') {
|
|
602
|
+
var arrowFunc = memoArgs[0];
|
|
603
|
+
if (arrowFunc.body.type === 'ObjectExpression') {
|
|
604
|
+
objExpr = arrowFunc.body;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
else if (paramsExpr.type === 'ObjectExpression') {
|
|
609
|
+
// Direct object expression (before useMemo wrapping)
|
|
610
|
+
objExpr = paramsExpr;
|
|
611
|
+
}
|
|
612
|
+
if (objExpr) {
|
|
613
|
+
objExpr.properties.forEach(function (prop) {
|
|
614
|
+
if (prop.type === 'ObjectProperty') {
|
|
615
|
+
var key = void 0;
|
|
616
|
+
if (prop.key.type === 'Identifier') {
|
|
617
|
+
key = prop.key.name;
|
|
618
|
+
}
|
|
619
|
+
else if (prop.key.type === 'StringLiteral') {
|
|
620
|
+
key = prop.key.value;
|
|
621
|
+
}
|
|
622
|
+
// Only extract limit param - this is what differentiates data fetches
|
|
623
|
+
if (key === 'limit' && prop.value.type === 'NumericLiteral') {
|
|
624
|
+
jsxLimitParams_1[key] = prop.value.value;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
// Extract limit from resource params
|
|
631
|
+
var resourceLimit = ((_d = nodeResourceParams.limit) === null || _d === void 0 ? void 0 : _d.type) === 'static'
|
|
632
|
+
? nodeResourceParams.limit.content
|
|
633
|
+
: undefined;
|
|
634
|
+
// Compare limit params - this determines if data fetches are equivalent
|
|
635
|
+
var jsxLimit = jsxLimitParams_1.limit;
|
|
636
|
+
if (jsxLimit !== undefined || resourceLimit !== undefined) {
|
|
637
|
+
// If either has limit, both must have the same limit value
|
|
638
|
+
paramsMatch = jsxLimit === resourceLimit;
|
|
639
|
+
}
|
|
640
|
+
else if (!jsxHasParams && Object.keys(nodeResourceParams).length > 0) {
|
|
641
|
+
// JSX has no params but resource has params - check if resource only has non-limit params
|
|
642
|
+
// If resource has limit, no match; otherwise match
|
|
643
|
+
paramsMatch = resourceLimit === undefined;
|
|
644
|
+
}
|
|
645
|
+
else if (jsxHasParams && Object.keys(nodeResourceParams).length === 0) {
|
|
646
|
+
// JSX has params but resource doesn't - check if JSX only has non-limit params
|
|
647
|
+
// If JSX has limit, no match; otherwise match
|
|
648
|
+
paramsMatch = jsxLimit === undefined;
|
|
649
|
+
}
|
|
650
|
+
// else: both don't have params or both have equivalent limit - match
|
|
651
|
+
// Collect matching nodes that don't have initialData yet and have matching params
|
|
652
|
+
if (idValue === dataSourceId_1 &&
|
|
653
|
+
tableNameValue === tableName_1 &&
|
|
654
|
+
nameMatches &&
|
|
655
|
+
paramsMatch) {
|
|
656
|
+
matchingJsxNodes_1.push(jsxElement);
|
|
657
|
+
// If we have a unique resource ID, stop after finding the first match
|
|
658
|
+
// Otherwise, collect all matching nodes
|
|
659
|
+
if (hasUniqueResourceId_1) {
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
528
662
|
}
|
|
529
663
|
}
|
|
530
664
|
}
|
|
531
665
|
}
|
|
532
|
-
// Recursively traverse all properties
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
666
|
+
// Recursively traverse all properties (unless we already found a match with unique resource ID)
|
|
667
|
+
if (!hasUniqueResourceId_1 || matchingJsxNodes_1.length === 0) {
|
|
668
|
+
for (var key in astNode) {
|
|
669
|
+
if (astNode.hasOwnProperty(key)) {
|
|
670
|
+
var value = astNode[key];
|
|
671
|
+
if (Array.isArray(value)) {
|
|
672
|
+
value.forEach(function (item) { return traverseAST_1(item); });
|
|
673
|
+
}
|
|
674
|
+
else if (typeof value === 'object') {
|
|
675
|
+
traverseAST_1(value);
|
|
676
|
+
}
|
|
541
677
|
}
|
|
542
678
|
}
|
|
543
679
|
}
|
|
544
680
|
};
|
|
545
681
|
// Traverse the entire component AST content
|
|
546
682
|
traverseAST_1(componentChunk.content);
|
|
547
|
-
if
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
683
|
+
// Even if all JSX nodes already have initialData, we should still add the fetch to getStaticProps
|
|
684
|
+
// This handles cases where multiple data-source-list nodes share the same renderPropIdentifier
|
|
685
|
+
// but have different params (e.g., one with limit, one without)
|
|
686
|
+
var nodesToUpdate = matchingJsxNodes_1;
|
|
687
|
+
// Update all target JSX nodes with initialData (only those that don't already have it)
|
|
688
|
+
for (var _i = 0, nodesToUpdate_1 = nodesToUpdate; _i < nodesToUpdate_1.length; _i++) {
|
|
689
|
+
var jsxNode = nodesToUpdate_1[_i];
|
|
553
690
|
// For SSR/SSG with initialData, rename 'children' to 'renderSuccess'
|
|
554
691
|
var childrenAttrIndex = jsxNode.openingElement.attributes.findIndex(function (attr) { var _a; return ((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name) === 'children'; });
|
|
555
692
|
if (childrenAttrIndex !== -1) {
|
|
@@ -570,6 +707,7 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
570
707
|
var persistDataAttr = types.jsxAttribute(types.jsxIdentifier('persistDataDuringLoading'), types.jsxExpressionContainer(types.booleanLiteral(true)));
|
|
571
708
|
jsxNode.openingElement.attributes.push(persistDataAttr);
|
|
572
709
|
}
|
|
710
|
+
// End of target node processing
|
|
573
711
|
// Generate safe file name for the fetcher
|
|
574
712
|
var fileName = (0, exports.generateSafeFileName)(dataSourceType, tableName_1 || 'data', dataSourceId_1);
|
|
575
713
|
if (!fileName || fileName === 'unknown') {
|
|
@@ -605,7 +743,7 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
605
743
|
};
|
|
606
744
|
// Build params object from resource params
|
|
607
745
|
// tslint:disable-next-line:no-any
|
|
608
|
-
var resourceParams = ((
|
|
746
|
+
var resourceParams = ((_d = node.content.resource) === null || _d === void 0 ? void 0 : _d.params) || {};
|
|
609
747
|
var paramsProperties_1 = [];
|
|
610
748
|
// tslint:disable-next-line:no-any
|
|
611
749
|
Object.entries(resourceParams).forEach(function (_a) {
|
|
@@ -613,22 +751,55 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
613
751
|
if (value.type === 'static') {
|
|
614
752
|
var astValue = void 0;
|
|
615
753
|
if (value.content === null || value.content === undefined) {
|
|
616
|
-
|
|
754
|
+
// Skip null/undefined values entirely
|
|
755
|
+
return;
|
|
617
756
|
}
|
|
618
757
|
else if (Array.isArray(value.content)) {
|
|
619
|
-
//
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
758
|
+
// Filter out null/undefined values from the array
|
|
759
|
+
var validItems = value.content.filter(function (item) { return item !== null && item !== undefined; });
|
|
760
|
+
// Skip the array entirely if it's empty or only had null values
|
|
761
|
+
if (validItems.length === 0) {
|
|
762
|
+
return;
|
|
763
|
+
}
|
|
764
|
+
// For sorts, filters, and queryColumns, stringify the array for consistency with API handler
|
|
765
|
+
if (key === 'sorts' || key === 'filters' || key === 'queryColumns') {
|
|
766
|
+
var arrayExpr = types.arrayExpression(validItems.map(function (item) {
|
|
767
|
+
if (typeof item === 'string') {
|
|
768
|
+
return types.stringLiteral(item);
|
|
769
|
+
}
|
|
770
|
+
if (typeof item === 'number') {
|
|
771
|
+
return types.numericLiteral(item);
|
|
772
|
+
}
|
|
773
|
+
if (typeof item === 'boolean') {
|
|
774
|
+
return types.booleanLiteral(item);
|
|
775
|
+
}
|
|
776
|
+
if (typeof item === 'object' && item !== null) {
|
|
777
|
+
return teleport_plugin_common_1.ASTUtils.objectToObjectExpression(item);
|
|
778
|
+
}
|
|
779
|
+
return types.nullLiteral();
|
|
780
|
+
}));
|
|
781
|
+
// Wrap in JSON.stringify()
|
|
782
|
+
astValue = types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [arrayExpr]);
|
|
783
|
+
}
|
|
784
|
+
else {
|
|
785
|
+
// Handle other array values normally
|
|
786
|
+
astValue = types.arrayExpression(validItems.map(function (item) {
|
|
787
|
+
if (typeof item === 'string') {
|
|
788
|
+
return types.stringLiteral(item);
|
|
789
|
+
}
|
|
790
|
+
if (typeof item === 'number') {
|
|
791
|
+
return types.numericLiteral(item);
|
|
792
|
+
}
|
|
793
|
+
if (typeof item === 'boolean') {
|
|
794
|
+
return types.booleanLiteral(item);
|
|
795
|
+
}
|
|
796
|
+
if (typeof item === 'object' && item !== null) {
|
|
797
|
+
// Handle object items (like sort/filter objects)
|
|
798
|
+
return teleport_plugin_common_1.ASTUtils.objectToObjectExpression(item);
|
|
799
|
+
}
|
|
800
|
+
return types.nullLiteral();
|
|
801
|
+
}));
|
|
802
|
+
}
|
|
632
803
|
}
|
|
633
804
|
else if (typeof value.content === 'string') {
|
|
634
805
|
astValue = types.stringLiteral(value.content);
|
|
@@ -640,7 +811,8 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
640
811
|
astValue = types.booleanLiteral(value.content);
|
|
641
812
|
}
|
|
642
813
|
else {
|
|
643
|
-
|
|
814
|
+
// Skip other null-like values
|
|
815
|
+
return;
|
|
644
816
|
}
|
|
645
817
|
paramsProperties_1.push(types.objectProperty(types.stringLiteral(key), astValue));
|
|
646
818
|
}
|
|
@@ -701,7 +873,7 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
|
|
|
701
873
|
var propsObject = returnStatement.argument.properties.find(function (property) { return property.key.name === 'props'; });
|
|
702
874
|
var propsValue = propsObject.value;
|
|
703
875
|
// Check if propKey already exists in the parallel fetch metadata
|
|
704
|
-
var parallelFetchMeta = (
|
|
876
|
+
var parallelFetchMeta = (_e = getStaticPropsChunk.meta) === null || _e === void 0 ? void 0 : _e.parallelFetchData;
|
|
705
877
|
var existingInFetchMeta = parallelFetchMeta === null || parallelFetchMeta === void 0 ? void 0 : parallelFetchMeta.names.includes(propKey_1);
|
|
706
878
|
// Always ensure both the fetch and the prop are in sync
|
|
707
879
|
if (!existingInFetchMeta) {
|
package/dist/cjs/utils.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -4,11 +4,11 @@ interface DataSourceFetcherDependencies {
|
|
|
4
4
|
isDefaultImport?: boolean;
|
|
5
5
|
}
|
|
6
6
|
export declare const getDataSourceDependencies: (type: DataSourceType) => DataSourceFetcherDependencies;
|
|
7
|
-
export declare
|
|
7
|
+
export declare function generateDataSourceFetcher(dataSource: UIDLDataSource, tableName: string): string;
|
|
8
8
|
/**
|
|
9
9
|
* Generates a fetcher with both a core fetchData function (for server-side use in getStaticProps)
|
|
10
10
|
* and an API handler (for client-side use)
|
|
11
11
|
*/
|
|
12
|
-
export declare
|
|
12
|
+
export declare function generateDataSourceFetcherWithCore(dataSource: UIDLDataSource, tableName: string, isApiRoute?: boolean): string;
|
|
13
13
|
export {};
|
|
14
14
|
//# sourceMappingURL=data-source-fetchers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-source-fetchers.d.ts","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAkC3E,UAAU,6BAA6B;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,yBAAyB,SAAU,cAAc,KAAG,6BAuBhE,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"data-source-fetchers.d.ts","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAkC3E,UAAU,6BAA6B;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,yBAAyB,SAAU,cAAc,KAAG,6BAuBhE,CAAA;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA2J/F;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAmGR"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
1
10
|
import { generatePostgreSQLFetcher, generateMySQLFetcher, generateMariaDBFetcher, generateRedshiftFetcher, generateMongoDBFetcher, validateMongoDBConfig, generateRedisFetcher, validateRedisConfig, generateFirestoreFetcher, validateFirestoreConfig, generateClickHouseFetcher, validateClickHouseConfig, generateAirtableFetcher, validateAirtableConfig, generateSupabaseFetcher, validateSupabaseConfig, generateTursoFetcher, validateTursoConfig, generateRESTAPIFetcher, validateRESTAPIConfig, generateJavaScriptFetcher, validateJavaScriptConfig, generateCSVFileFetcher, validateCSVConfig, generateStaticCollectionFetcher, validateStaticCollectionConfig, generateGoogleSheetsFetcher, validateGoogleSheetsConfig, } from './fetchers';
|
|
2
11
|
import { validateDatabaseConfig } from './validation';
|
|
3
12
|
import { generateCountFetcher } from './count-fetchers';
|
|
@@ -24,7 +33,7 @@ export var getDataSourceDependencies = function (type) {
|
|
|
24
33
|
};
|
|
25
34
|
return dependencyMap[type];
|
|
26
35
|
};
|
|
27
|
-
export
|
|
36
|
+
export function generateDataSourceFetcher(dataSource, tableName) {
|
|
28
37
|
if (!dataSource || typeof dataSource !== 'object') {
|
|
29
38
|
throw new Error('Invalid data source: data source must be a valid object');
|
|
30
39
|
}
|
|
@@ -160,20 +169,34 @@ export var generateDataSourceFetcher = function (dataSource, tableName) {
|
|
|
160
169
|
var errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
161
170
|
throw new Error("Failed to generate fetcher for ".concat(type, ": ").concat(errorMessage));
|
|
162
171
|
}
|
|
163
|
-
}
|
|
172
|
+
}
|
|
164
173
|
/**
|
|
165
174
|
* Generates a fetcher with both a core fetchData function (for server-side use in getStaticProps)
|
|
166
175
|
* and an API handler (for client-side use)
|
|
167
176
|
*/
|
|
168
|
-
export
|
|
177
|
+
export function generateDataSourceFetcherWithCore(dataSource, tableName, isApiRoute) {
|
|
178
|
+
if (isApiRoute === void 0) { isApiRoute = false; }
|
|
169
179
|
var apiHandler = generateDataSourceFetcher(dataSource, tableName);
|
|
170
180
|
// Extract the handler function body from the API route
|
|
171
181
|
// The API route is structured as: export default async function handler(req, res) { ... }
|
|
172
182
|
// We need to create a fetchData function that can be called directly
|
|
173
183
|
// Remove "export default" from the handler and make it a regular function
|
|
174
184
|
var handlerCode = apiHandler.replace('export default async function handler', 'async function handler');
|
|
175
|
-
//
|
|
185
|
+
// Extract imports from handlerCode (they should be at the top)
|
|
186
|
+
var importRegex = /^import\s+.*?$/gm;
|
|
187
|
+
var imports = handlerCode.match(importRegex) || [];
|
|
188
|
+
var handlerWithoutImports = handlerCode.replace(importRegex, '').trim();
|
|
189
|
+
// Generate count fetcher code and extract its imports
|
|
176
190
|
var countFetcherCode = generateCountFetcher(dataSource, tableName);
|
|
177
|
-
|
|
178
|
-
|
|
191
|
+
var countImports = countFetcherCode.match(importRegex) || [];
|
|
192
|
+
var countFetcherWithoutImports = countFetcherCode.replace(importRegex, '').trim();
|
|
193
|
+
// Combine and deduplicate imports
|
|
194
|
+
var allImports = Array.from(new Set(__spreadArray(__spreadArray([], imports, true), countImports, true)));
|
|
195
|
+
// For API routes, export just the handler function
|
|
196
|
+
// For utils files, export the full object with all functions
|
|
197
|
+
var exports = isApiRoute
|
|
198
|
+
? 'export default handler'
|
|
199
|
+
: "export { fetchData, fetchCount, handler, getCount }\nexport default { fetchData, fetchCount, handler, getCount }";
|
|
200
|
+
return "".concat(allImports.join('\n'), "\n\nasync function fetchData(params = {}) {\n const req = {\n query: params,\n method: 'GET',\n }\n \n let result = null\n let statusCode = 200\n \n const res = {\n status: (code) => {\n statusCode = code\n return res\n },\n json: (data) => {\n result = data\n return res\n },\n }\n \n await handler(req, res)\n \n if (statusCode !== 200 || !result || !result.success) {\n throw new Error(result?.error || 'Failed to fetch data')\n }\n \n return result.data\n}\n\nasync function fetchCount(params = {}) {\n const req = {\n query: params,\n method: 'GET',\n }\n \n let result = null\n let statusCode = 200\n \n const res = {\n status: (code) => {\n statusCode = code\n return res\n },\n json: (data) => {\n result = data\n return res\n },\n }\n \n await getCount(req, res)\n \n if (statusCode !== 200 || !result || !result.success) {\n throw new Error(result?.error || 'Failed to get count')\n }\n \n return result.count\n}\n\n").concat(countFetcherWithoutImports, "\n\n").concat(handlerWithoutImports, "\n\n").concat(exports, "\n");
|
|
201
|
+
}
|
|
179
202
|
//# sourceMappingURL=data-source-fetchers.js.map
|