
Security News
Rust RFC Proposes a Security Tab on crates.io for RustSec Advisories
Rust’s crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.
@squiz/dx-json-schema-lib
Advanced tools
JSON Schema validation and resolution library for Squiz DX platform, with specialized support for primitive types like `SquizLink` and `SquizImage`.
JSON Schema validation and resolution library for Squiz DX platform, with specialized support for primitive types like SquizLink and SquizImage.
SquizLink, SquizImage, FormattedText)import { JSONSchemaService } from '@squiz/dx-json-schema-lib';
import { TypeResolverBuilder } from '@squiz/dx-json-schema-lib/jsonTypeResolution';
import { SquizLinkType, SquizImageType } from '@squiz/dx-json-schema-lib/primitiveTypes';
// Create service with primitive type support
const typeResolver = new TypeResolverBuilder()
.addPrimitive(SquizLinkType)
.addPrimitive(SquizImageType)
.build();
const service = new JSONSchemaService(typeResolver, schema);
// Resolve input data
const resolvedData = await service.resolveInput(inputData, inputSchema);
This library provides robust support for allOf conditional schemas, including data preservation for SquizLink and SquizImage arrays within conditional structures:
// ✅ FULLY SUPPORTED: Single-level allOf conditions
{
"type": "object",
"properties": {
"contentType": { "type": "string", "enum": ["basic", "advanced"] }
},
"allOf": [
{
"if": { "properties": { "contentType": { "const": "advanced" } } },
"then": {
"properties": {
"links": {
"type": "array",
"items": { "type": "SquizLink" }
}
}
}
}
]
}
Limitation: The current implementation has a known edge case with deeply nested allOf conditional schemas within array structures.
Example of unsupported pattern:
// ❌ COMPLEX EDGE CASE: Multi-level nested allOf in arrays
{
"type": "object",
"properties": {
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sectionType": { "type": "string" }
},
"allOf": [ // ✅ Level 1 allOf - WORKS
{
"if": { "properties": { "sectionType": { "const": "content" } } },
"then": {
"properties": {
"contentGroups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"groupType": { "type": "string" }
},
"allOf": [ // ❌ Level 2 allOf - EDGE CASE
{
"if": { "properties": { "groupType": { "const": "links" } } },
"then": {
"properties": {
"groupLinks": {
"type": "array",
"items": { "type": "SquizLink" }
}
}
}
}
]
}
}
}
}
}
]
}
}
}
}
Impact:
Workaround:
allOf patternsFuture Enhancement: This limitation could be addressed in a future version by implementing:
allOf detection across multiple nesting levelsFAQs
JSON Schema validation and resolution library for Squiz DX platform, with specialized support for primitive types like `SquizLink` and `SquizImage`.
We found that @squiz/dx-json-schema-lib demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 76 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Rust’s crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.

Security News
/Research
Socket found a Rust typosquat (finch-rust) that loads sha-rust to steal credentials, using impersonation and an unpinned dependency to auto-deliver updates.

Research
/Security Fundamentals
A pair of typosquatted Go packages posing as Google’s UUID library quietly turn helper functions into encrypted exfiltration channels to a paste site, putting developer and CI data at risk.