@uniformdev/transformer 1.1.51 → 1.1.52
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/cli/index.js +73 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +65 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -5259,6 +5259,7 @@ var FieldRemoverService = class {
|
|
|
5259
5259
|
compositionsDir,
|
|
5260
5260
|
compositionPatternsDir,
|
|
5261
5261
|
componentPatternsDir,
|
|
5262
|
+
contentTypesDir,
|
|
5262
5263
|
componentType,
|
|
5263
5264
|
parameterId,
|
|
5264
5265
|
whatIf,
|
|
@@ -5269,6 +5270,7 @@ var FieldRemoverService = class {
|
|
|
5269
5270
|
const fullCompositionsDir = this.fileSystem.resolvePath(rootDir, compositionsDir);
|
|
5270
5271
|
const fullCompositionPatternsDir = this.fileSystem.resolvePath(rootDir, compositionPatternsDir);
|
|
5271
5272
|
const fullComponentPatternsDir = this.fileSystem.resolvePath(rootDir, componentPatternsDir);
|
|
5273
|
+
const fullContentTypesDir = this.fileSystem.resolvePath(rootDir, contentTypesDir);
|
|
5272
5274
|
let allIdsToRemove = [parameterId];
|
|
5273
5275
|
try {
|
|
5274
5276
|
const { component } = await this.componentService.loadComponent(fullComponentsDir, componentType, findOptions);
|
|
@@ -5283,6 +5285,13 @@ var FieldRemoverService = class {
|
|
|
5283
5285
|
this.logger.info(`Cascade-removing ${childIds.length} child field(s) [${childIds.join(", ")}] along with "${parameterId}"`);
|
|
5284
5286
|
}
|
|
5285
5287
|
this.logger.info(`Removing field "${parameterId}" from instances of ${componentType}`);
|
|
5288
|
+
const contentTypesModified = await this.removeFieldFromContentTypes(
|
|
5289
|
+
fullContentTypesDir,
|
|
5290
|
+
componentType,
|
|
5291
|
+
allIdsToRemove,
|
|
5292
|
+
whatIf,
|
|
5293
|
+
strict
|
|
5294
|
+
);
|
|
5286
5295
|
const compositionsResult = await this.removeFieldInDirectory(
|
|
5287
5296
|
fullCompositionsDir,
|
|
5288
5297
|
componentType,
|
|
@@ -5311,15 +5320,70 @@ var FieldRemoverService = class {
|
|
|
5311
5320
|
const totalInstances = compositionsResult.instancesUpdated + compositionPatternsResult.instancesUpdated + componentPatternsResult.instancesUpdated;
|
|
5312
5321
|
this.logger.info("");
|
|
5313
5322
|
this.logger.info(
|
|
5314
|
-
`Summary: ${totalFiles} file(s) (${totalInstances} instance(s)) updated.`
|
|
5323
|
+
`Summary: ${contentTypesModified} content type(s), ${totalFiles} file(s) (${totalInstances} instance(s)) updated.`
|
|
5315
5324
|
);
|
|
5316
5325
|
return {
|
|
5317
5326
|
compositionsModified: compositionsResult.filesModified,
|
|
5318
5327
|
compositionPatternsModified: compositionPatternsResult.filesModified,
|
|
5319
5328
|
componentPatternsModified: componentPatternsResult.filesModified,
|
|
5329
|
+
contentTypesModified,
|
|
5320
5330
|
instancesUpdated: totalInstances
|
|
5321
5331
|
};
|
|
5322
5332
|
}
|
|
5333
|
+
async removeFieldFromContentTypes(contentTypesDir, componentType, fieldIds, whatIf, strict) {
|
|
5334
|
+
let files;
|
|
5335
|
+
try {
|
|
5336
|
+
files = await this.fileSystem.findFiles(contentTypesDir, "**/*.{json,yaml,yml}");
|
|
5337
|
+
} catch {
|
|
5338
|
+
return 0;
|
|
5339
|
+
}
|
|
5340
|
+
if (files.length === 0) {
|
|
5341
|
+
return 0;
|
|
5342
|
+
}
|
|
5343
|
+
const isWildcard = componentType === "*";
|
|
5344
|
+
let contentTypesModified = 0;
|
|
5345
|
+
for (const filePath of files) {
|
|
5346
|
+
let contentType;
|
|
5347
|
+
try {
|
|
5348
|
+
contentType = await this.fileSystem.readFile(filePath);
|
|
5349
|
+
} catch {
|
|
5350
|
+
continue;
|
|
5351
|
+
}
|
|
5352
|
+
if (!contentType?.id || !contentType.fields) {
|
|
5353
|
+
continue;
|
|
5354
|
+
}
|
|
5355
|
+
if (!isWildcard && !this.compareIds(contentType.id, componentType, strict)) {
|
|
5356
|
+
continue;
|
|
5357
|
+
}
|
|
5358
|
+
const removedFieldIds = [];
|
|
5359
|
+
contentType.fields = contentType.fields.filter((field) => {
|
|
5360
|
+
const shouldRemove = fieldIds.some((id) => this.compareIds(field.id, id, strict));
|
|
5361
|
+
if (shouldRemove) {
|
|
5362
|
+
removedFieldIds.push(field.id);
|
|
5363
|
+
}
|
|
5364
|
+
return !shouldRemove;
|
|
5365
|
+
});
|
|
5366
|
+
if (removedFieldIds.length === 0) {
|
|
5367
|
+
continue;
|
|
5368
|
+
}
|
|
5369
|
+
const entryName = contentType.entryName;
|
|
5370
|
+
if (entryName && removedFieldIds.some((id) => this.compareIds(id, entryName, strict))) {
|
|
5371
|
+
this.logger.info(`Clearing entryName "${entryName}" on content type "${contentType.id}" (field was removed)`);
|
|
5372
|
+
contentType.entryName = "";
|
|
5373
|
+
}
|
|
5374
|
+
const relativePath = this.fileSystem.getBasename(filePath);
|
|
5375
|
+
this.logger.action(
|
|
5376
|
+
whatIf,
|
|
5377
|
+
"UPDATE",
|
|
5378
|
+
`contentType/${relativePath} (removed ${removedFieldIds.length} field(s): ${removedFieldIds.join(", ")})`
|
|
5379
|
+
);
|
|
5380
|
+
if (!whatIf) {
|
|
5381
|
+
await this.fileSystem.writeFile(filePath, contentType);
|
|
5382
|
+
}
|
|
5383
|
+
contentTypesModified++;
|
|
5384
|
+
}
|
|
5385
|
+
return contentTypesModified;
|
|
5386
|
+
}
|
|
5323
5387
|
async removeFieldInDirectory(directory, componentType, parameterIds, whatIf, strict, label) {
|
|
5324
5388
|
let files;
|
|
5325
5389
|
try {
|
|
@@ -5477,6 +5541,8 @@ function createRemoveFieldCommand() {
|
|
|
5477
5541
|
parameterId: opts.parameterId
|
|
5478
5542
|
};
|
|
5479
5543
|
const logger = new Logger();
|
|
5544
|
+
logger.info(`componentType: ${options.componentType}`);
|
|
5545
|
+
logger.info(`parameterId: ${options.parameterId}`);
|
|
5480
5546
|
const fileSystem = new FileSystemService();
|
|
5481
5547
|
const componentService = new ComponentService(fileSystem);
|
|
5482
5548
|
const remover = new FieldRemoverService(fileSystem, componentService, logger);
|
|
@@ -5485,7 +5551,8 @@ function createRemoveFieldCommand() {
|
|
|
5485
5551
|
const aggregate = {
|
|
5486
5552
|
compositionsModified: 0,
|
|
5487
5553
|
compositionPatternsModified: 0,
|
|
5488
|
-
componentPatternsModified: 0
|
|
5554
|
+
componentPatternsModified: 0,
|
|
5555
|
+
contentTypesModified: 0
|
|
5489
5556
|
};
|
|
5490
5557
|
try {
|
|
5491
5558
|
for (const componentType of componentTypes) {
|
|
@@ -5495,6 +5562,7 @@ function createRemoveFieldCommand() {
|
|
|
5495
5562
|
compositionsDir: options.compositionsDir,
|
|
5496
5563
|
compositionPatternsDir: options.compositionPatternsDir,
|
|
5497
5564
|
componentPatternsDir: options.componentPatternsDir,
|
|
5565
|
+
contentTypesDir: options.contentTypesDir,
|
|
5498
5566
|
componentType,
|
|
5499
5567
|
parameterId: options.parameterId,
|
|
5500
5568
|
whatIf: options.whatIf ?? false,
|
|
@@ -5503,9 +5571,10 @@ function createRemoveFieldCommand() {
|
|
|
5503
5571
|
aggregate.compositionsModified += result.compositionsModified;
|
|
5504
5572
|
aggregate.compositionPatternsModified += result.compositionPatternsModified;
|
|
5505
5573
|
aggregate.componentPatternsModified += result.componentPatternsModified;
|
|
5574
|
+
aggregate.contentTypesModified += result.contentTypesModified;
|
|
5506
5575
|
}
|
|
5507
5576
|
logger.success(
|
|
5508
|
-
`Removed field: ${aggregate.compositionsModified} composition(s), ${aggregate.compositionPatternsModified} composition pattern(s), ${aggregate.componentPatternsModified} component pattern(s) updated`
|
|
5577
|
+
`Removed field: ${aggregate.contentTypesModified} content type(s), ${aggregate.compositionsModified} composition(s), ${aggregate.compositionPatternsModified} composition pattern(s), ${aggregate.componentPatternsModified} component pattern(s) updated`
|
|
5509
5578
|
);
|
|
5510
5579
|
} catch (error) {
|
|
5511
5580
|
if (error instanceof TransformError) {
|
|
@@ -7704,7 +7773,7 @@ function createClearSlotCommand() {
|
|
|
7704
7773
|
// package.json
|
|
7705
7774
|
var package_default = {
|
|
7706
7775
|
name: "@uniformdev/transformer",
|
|
7707
|
-
version: "1.1.
|
|
7776
|
+
version: "1.1.52",
|
|
7708
7777
|
description: "CLI tool for transforming Uniform.dev serialization files offline",
|
|
7709
7778
|
type: "module",
|
|
7710
7779
|
bin: {
|