Uniform Siphon Transformation

Uniform Siphon is a focused toolkit for refactoring Uniform serialization.
It helps you clean up after imports, migrate between datasources, and standardize models by:

  • converting entries → blocks/components/patterns,
  • replacing inline asset URLs with proper Uniform assets,
  • scanning for orphaned datatypes/dataresources and JPTR tokens.

Siphon includes various transformation commands for post-migration cleanup and optimization.

This utility analyzes a Uniform serialization dataset and scans for all unique jptr tokens (data resource references).
It reports how many datatypes and compositions/entries are used and where they are referenced.
This helps to understand the migration scope of a given datasource and archetype before performing actual transformations.

calculate-scope --inputDir <uniform_path> --datasourceId <datasource_name>
ParameterDescription
--inputDirPath to the folder containing Uniform serialization (entry, composition)
--datasourceIdThe datasource ID to search for references (e.g., contentful, bigquery)
ParameterDescription
--archetypeFilter datatypes by archetype within the selected datasource (e.g., entry, composition)
--logLevelSets the log level. Options: debug, info, warn, error (default: debug)
--no-timestampsDisable timestamps in logs

This utility processes a Uniform serialization dataset and replaces entries with components or patterns.
It migrates source data from entry files directly into compositions, updating component parameters and patterns so that entries are no longer required as separate entities.

For example, when there is an Author entry referenced by a News Article composition through an Author component, after running the command the entry's field values will be copied directly into the component's fields. The original Author entry will then be removed.

replace-entries-with-components --inputDir <uniform_path> --outputDir <output_path>
ParameterDescription
--inputDirPath to the folder containing Uniform serialization (entry, composition, etc.)
--outputDirPath to the folder where transformed data will be written
ParameterDescription
--excludeContentTypesex: hero,carousel or * for all
--singleRefAsComponentReplace a pattern with a component for entries that have a single reference
--defaultLanguageUsed to create a pattern name from entry text fields if they are localized
--entriesDirIf not set the --outputDir is used
--logLevelSets the log level. Options: debug, info, warn, error (default: debug)
--no-timestampsDisable timestamps in logs

This utility processes a Uniform serialization dataset and migrates entries into components and patterns.
It identifies components that reference entries, transforms those entries into blocks, and updates component definitions accordingly.
Unused or fully migrated entries can be removed, and new block definitions or patterns are created when necessary.

merge-entries-into-components --inputDir <uniform_path> --outputDir <output_path>
ParameterDescription
--inputDirPath to the folder containing Uniform serialization (entry, composition, contentType, etc.)
--outputDirPath to the folder where transformed data will be written

Scans a Uniform serialization dataset and finds all unique JPTR tokens (${#jptr:/...}) that point to data resources from selected datasources.
Useful for auditing connected data usage before refactors or migrations.

find-jptr-tokens --inputDir <uniform_path>
ParameterDescription
--inputDirPath to the folder containing Uniform serialization (composition, entry, etc.)
ParameterDescription
--datasourceIdLimit the search to a specific datasource. If omitted, all datasources with singleEntry / multipleEntry archetypes are considered.
--logLevelLog verbosity: debug, info, warn, error (default: debug)
--no-timestampsDisable timestamps in logs

Scans a Uniform serialization dataset to detect datatypes that are not used anywhere.
Optionally removes orphaned datatypes from all serializations and deletes the datatype files.

find-orphaned-datatypes --inputDir <uniform_path>
ParameterDescription
--inputDirPath to the folder containing Uniform serialization (composition, entry, etc.)
ParameterDescription
--datatypeIdCheck a single datatype by ID. If omitted, all datatypes are checked.
--deleteIf set, removes orphaned datatypes from compositions/entries and deletes their files under datatype/.
--logLevelLog verbosity: debug, info, warn, error (default: debug)
--no-timestampsDisable timestamps in logs

This utility analyzes Uniform serialization data (entries and contentTypes) and automatically transforms all entries of a specified --contentType into blocks.
By doing so, it replaces direct content type references with block references, making the data model more flexible and modular.

For example, when having a News Article entry with a reference field "Author" pointing to another entry called John Doe, after using the command the Author field will become a block field with John Doe being an block entry. The John Doe entry will be removed.

entries-to-blocks --inputDir <uniform_path> --outputDir <output_path>
ParameterDescription
--inputDirPath to the folder containing Uniform serialization data
--outputDirPath to the folder where transformed data will be written
ParameterDescription
--contentTypeContent type to convert into a block
--whatIfRuns validation and prints a detailed report without applying transformations
--forceForces transformation even if multiple references to the same entry are detected

Find Entry Missing References (Experimental)#

Scans a Uniform serialization entries to detect missing references.

find-entries-missing-references --inputDir <uniform_path>
ParameterDescription
--inputDirPath to the folder containing Uniform serialization (composition, entry, etc.)
ParameterDescription
--logLevelLog verbosity: debug, info, warn, error (default: debug)
--no-timestampsDisable timestamps in logs

For additional support, contact Uniform support with detailed log files and error messages.