@uniformdev/cli 20.66.4 → 20.66.5-alpha.3
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.
|
@@ -384,16 +384,84 @@ function readFileToObject(filename) {
|
|
|
384
384
|
return load(file, { filename, json: true });
|
|
385
385
|
}
|
|
386
386
|
async function* paginateAsync(fetchPage, options) {
|
|
387
|
-
const
|
|
387
|
+
const pageSize = options.pageSize ?? 100;
|
|
388
|
+
if (pageSize < 1) {
|
|
389
|
+
throw new Error(`pageSize must be at least 1, got ${pageSize}`);
|
|
390
|
+
}
|
|
388
391
|
let offset = 0;
|
|
389
392
|
let pageData = [];
|
|
390
393
|
do {
|
|
391
|
-
|
|
394
|
+
if (options.verbose) {
|
|
395
|
+
console.log(`Fetching ${options.entityName ?? "items"} batch: offset=${offset}, pageSize=${pageSize}`);
|
|
396
|
+
}
|
|
397
|
+
pageData = await fetchPage(offset, pageSize);
|
|
392
398
|
for (const item of pageData) {
|
|
393
399
|
yield item;
|
|
394
400
|
}
|
|
395
|
-
offset +=
|
|
396
|
-
} while (pageData.length ===
|
|
401
|
+
offset += pageSize;
|
|
402
|
+
} while (pageData.length === pageSize);
|
|
403
|
+
}
|
|
404
|
+
var entityBatchSizeDefaults = {
|
|
405
|
+
composition: 100,
|
|
406
|
+
compositionPattern: 100,
|
|
407
|
+
componentPattern: 100,
|
|
408
|
+
entry: 100,
|
|
409
|
+
entryPattern: 100,
|
|
410
|
+
component: 200,
|
|
411
|
+
label: 100,
|
|
412
|
+
asset: 50,
|
|
413
|
+
contentType: 100,
|
|
414
|
+
workflow: 100
|
|
415
|
+
};
|
|
416
|
+
var paginatedEntityTypes = /* @__PURE__ */ new Set([
|
|
417
|
+
"composition",
|
|
418
|
+
"compositionPattern",
|
|
419
|
+
"componentPattern",
|
|
420
|
+
"entry",
|
|
421
|
+
"entryPattern",
|
|
422
|
+
"component",
|
|
423
|
+
"asset",
|
|
424
|
+
"label",
|
|
425
|
+
"contentType",
|
|
426
|
+
"workflow"
|
|
427
|
+
]);
|
|
428
|
+
function isPaginatedSyncEntity(entityType) {
|
|
429
|
+
return paginatedEntityTypes.has(entityType);
|
|
430
|
+
}
|
|
431
|
+
function getEntityBatchSize(entityType, config) {
|
|
432
|
+
const fromConfig = config.entitiesConfig?.[entityType]?.batchSize;
|
|
433
|
+
if (fromConfig !== void 0) {
|
|
434
|
+
return fromConfig;
|
|
435
|
+
}
|
|
436
|
+
return entityBatchSizeDefaults[entityType];
|
|
437
|
+
}
|
|
438
|
+
function resolveEntityBatchSize({
|
|
439
|
+
entityType,
|
|
440
|
+
cliBatchSize,
|
|
441
|
+
config
|
|
442
|
+
}) {
|
|
443
|
+
if (cliBatchSize !== void 0) {
|
|
444
|
+
return cliBatchSize;
|
|
445
|
+
}
|
|
446
|
+
if (config) {
|
|
447
|
+
return getEntityBatchSize(entityType, config);
|
|
448
|
+
}
|
|
449
|
+
return void 0;
|
|
450
|
+
}
|
|
451
|
+
function withBatchSizeOptions(yargs, entityType) {
|
|
452
|
+
return yargs.option("batchSize", {
|
|
453
|
+
alias: ["b"],
|
|
454
|
+
describe: "Number of items to fetch per API request when reading from Uniform",
|
|
455
|
+
type: "number"
|
|
456
|
+
}).middleware((argv) => {
|
|
457
|
+
const rawSerialization = argv.serialization;
|
|
458
|
+
const config = rawSerialization ? applyDefaultSyncConfiguration({ serialization: rawSerialization }).serialization : void 0;
|
|
459
|
+
argv.resolvedBatchSize = resolveEntityBatchSize({
|
|
460
|
+
entityType,
|
|
461
|
+
cliBatchSize: argv.batchSize,
|
|
462
|
+
config
|
|
463
|
+
});
|
|
464
|
+
});
|
|
397
465
|
}
|
|
398
466
|
var defaultSyncConfiguration = {
|
|
399
467
|
entitiesConfig: {},
|
|
@@ -477,6 +545,9 @@ export {
|
|
|
477
545
|
emitWithFormat,
|
|
478
546
|
readFileToObject,
|
|
479
547
|
paginateAsync,
|
|
548
|
+
isPaginatedSyncEntity,
|
|
549
|
+
getEntityBatchSize,
|
|
550
|
+
withBatchSizeOptions,
|
|
480
551
|
applyDefaultSyncConfiguration,
|
|
481
552
|
getEntityOption,
|
|
482
553
|
getDirectoryOrFilename
|
package/dist/defaultConfig.d.mts
CHANGED
package/dist/defaultConfig.mjs
CHANGED
|
@@ -15,10 +15,12 @@ type EntityConfiguration = {
|
|
|
15
15
|
type EntityWithStateConfiguration = EntityConfiguration & Partial<StateArgs>;
|
|
16
16
|
type PublishableEntitiesConfiguration = EntityWithStateConfiguration & {
|
|
17
17
|
publish?: boolean;
|
|
18
|
+
batchSize?: number;
|
|
18
19
|
};
|
|
19
20
|
type SerializationEntitiesConfiguration = Record<EntityTypes, {
|
|
20
21
|
pull?: EntityConfiguration;
|
|
21
22
|
push?: EntityConfiguration;
|
|
23
|
+
batchSize?: number;
|
|
22
24
|
} & EntityConfiguration> & {
|
|
23
25
|
composition?: PublishableEntitiesConfiguration;
|
|
24
26
|
componentPattern?: PublishableEntitiesConfiguration;
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export { C as CLIConfiguration } from './index-
|
|
2
|
+
export { C as CLIConfiguration } from './index-DeoTNXj-.mjs';
|