Skip to content

chore(release): version packages#21

Merged
dawidurbanski merged 1 commit into
mainfrom
changeset-release/main
Dec 18, 2025
Merged

chore(release): version packages#21
dawidurbanski merged 1 commit into
mainfrom
changeset-release/main

Conversation

@dawidurbanski

@dawidurbanski dawidurbanski commented Sep 25, 2025

Copy link
Copy Markdown
Owner

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@universal-data-layer/codegen-typed-queries@1.0.0

Minor Changes

  • #45 6df6943 Thanks @dawidurbanski! - ### New Package: @universal-data-layer/codegen-typed-queries

    Introduces a codegen extension that generates fully typed query functions from GraphQL files.

    Features:

    • Automatic TypedDocumentNode generation from .graphql files
    • Generates typed wrapper functions with proper input/output types
    • Supports configurable query file patterns and output locations
    • Integrates with the new codegen extension system
    • Comprehensive test coverage

    Usage:

    // udl.config.ts
    import { defineConfig } from 'universal-data-layer';
    
    export const { config } = defineConfig({
      plugins: ['@universal-data-layer/plugin-source-contentful'],
      codegen: {
        output: './generated',
        extensions: ['@universal-data-layer/codegen-typed-queries'],
      },
    });

    Core Enhancements (universal-data-layer)

    Codegen Extension System:

    • New pluggable extension architecture for codegen pipeline
    • Extensions can hook into schema generation and add custom output
    • CodegenExtension interface for creating custom extensions
    • Extensions receive full schema context and can generate additional files

    TypedDocumentNode Support:

    • query() function now supports TypedDocumentNode for full type inference
    • Automatic input/output type inference from document types
    • Backwards compatible with string queries

    Pluggable Reference System:

    • New ReferenceRegistry for managing entity references
    • Configurable reference resolvers per content type
    • Supports custom ID extraction and type mapping
    • Field-level reference configuration via FieldLinkMap

    Error Handling Improvements:

    • query() now returns error tuples [data, error] instead of throwing
    • Graceful error handling with typed error responses
    • Better developer experience with predictable error patterns

    Additional Changes:

    • NVM environment setup in husky hooks for consistent Node.js versions
    • MSW integration for mocking API calls in development
    • Enhanced GraphQL handler with improved type safety

    Contentful Plugin Updates (@universal-data-layer/plugin-source-contentful)

    • Integration with the new pluggable reference system
    • FieldLinkMap support for configuring reference resolution
    • Improved reference handling for linked entries and assets

    Next.js Example

    • Complete Next.js 15 example application demonstrating UDL usage
    • Product listing and detail pages with typed queries
    • MSW mocks for local development without Contentful credentials
    • Image slider component with variant selection
    • Tailwind CSS styling

Patch Changes

universal-data-layer@1.0.0

Minor Changes

  • #45 6df6943 Thanks @dawidurbanski! - ### New Package: @universal-data-layer/codegen-typed-queries

    Introduces a codegen extension that generates fully typed query functions from GraphQL files.

    Features:

    • Automatic TypedDocumentNode generation from .graphql files
    • Generates typed wrapper functions with proper input/output types
    • Supports configurable query file patterns and output locations
    • Integrates with the new codegen extension system
    • Comprehensive test coverage

    Usage:

    // udl.config.ts
    import { defineConfig } from 'universal-data-layer';
    
    export const { config } = defineConfig({
      plugins: ['@universal-data-layer/plugin-source-contentful'],
      codegen: {
        output: './generated',
        extensions: ['@universal-data-layer/codegen-typed-queries'],
      },
    });

    Core Enhancements (universal-data-layer)

    Codegen Extension System:

    • New pluggable extension architecture for codegen pipeline
    • Extensions can hook into schema generation and add custom output
    • CodegenExtension interface for creating custom extensions
    • Extensions receive full schema context and can generate additional files

    TypedDocumentNode Support:

    • query() function now supports TypedDocumentNode for full type inference
    • Automatic input/output type inference from document types
    • Backwards compatible with string queries

    Pluggable Reference System:

    • New ReferenceRegistry for managing entity references
    • Configurable reference resolvers per content type
    • Supports custom ID extraction and type mapping
    • Field-level reference configuration via FieldLinkMap

    Error Handling Improvements:

    • query() now returns error tuples [data, error] instead of throwing
    • Graceful error handling with typed error responses
    • Better developer experience with predictable error patterns

    Additional Changes:

    • NVM environment setup in husky hooks for consistent Node.js versions
    • MSW integration for mocking API calls in development
    • Enhanced GraphQL handler with improved type safety

    Contentful Plugin Updates (@universal-data-layer/plugin-source-contentful)

    • Integration with the new pluggable reference system
    • FieldLinkMap support for configuring reference resolution
    • Improved reference handling for linked entries and assets

    Next.js Example

    • Complete Next.js 15 example application demonstrating UDL usage
    • Product listing and detail pages with typed queries
    • MSW mocks for local development without Contentful credentials
    • Image slider component with variant selection
    • Tailwind CSS styling
  • #41 edb82e0 Thanks @dawidurbanski! - Implement node creation and manipulation API

    • Add Node and NodeInternal type definitions
    • Implement NodeStore with Map-based storage
    • Add utility functions for content digest and node ID generation
    • Implement createNode function for node management
    • Implement deleteNode function for node removal
    • Add node query functions (getNode, getNodes, getNodesByType)
    • Implement extendNode function for node manipulation
    • Integrate node API with plugin system via sourceNodes hook
    • Add automatic GraphQL schema generation from nodes
    • Add comprehensive unit and integration tests
    • Add manual test feature with demo plugins

Patch Changes

  • #40 6a928ff Thanks @dawidurbanski! - Manual testing setup integrated into current dev mode

  • #43 e02b3e0 Thanks @dawidurbanski! - ### New Contentful Source Plugin (@universal-data-layer/plugin-source-contentful)

    Introduces the first official source plugin for the Universal Data Layer, enabling seamless integration with Contentful CMS.

    Features:

    • Full Contentful Sync API support with incremental sync for efficient data updates
    • Automatic GraphQL schema generation from Contentful content types
    • Rich text field support with proper typing
    • Asset handling with optional local download capabilities
    • Reference resolution for linked entries and assets
    • Configurable locale support (default: en-US)
    • Content type filtering to include/exclude specific types
    • Multiple environment support (master, staging, etc.)
    • Preview API support for draft content
    • Pluggable sync token storage (file-based storage included by default)
    • Comprehensive error handling with typed errors (ContentfulApiError, ContentfulSyncError, etc.)

    Configuration options:

    • spaceId / accessToken - Contentful credentials
    • host - API host (defaults to CDN, can use preview API)
    • environment - Contentful environment
    • nodePrefix - Prefix for generated GraphQL types
    • locale - Locale for field value extraction
    • downloadAssets - Enable local asset caching (not implemented yet)
    • contentTypeFilter - Filter function for content types
    • forceFullSync - Force full re-sync ignoring stored tokens

    Core Enhancements (universal-data-layer)

    File-based cache storage:

    • New FileCacheStorage class for persisting node data to disk
    • Versioned cache format with automatic invalidation on version mismatch
    • Handles circular references safely during serialization

    Environment variable loading:

    • Automatic .env file loading with priority order support
    • Supports .env.local, .env.{NODE_ENV}.local, .env.{NODE_ENV}, and .env
    • Configurable override behavior for existing variables

    Query utilities:

    • gql tagged template literal for GraphQL queries
    • query() function with automatic __typename injection
    • Reference resolution with resolveRefs for denormalized responses
    • addTypenameToDocument utility for AST manipulation

    Additional improvements:

    • Enhanced GraphQL handler with improved normalization
    • New resolveRefs client utility for entity resolution
    • Comprehensive test coverage for query utilities and typename injection
  • #42 e1ce532 Thanks @dawidurbanski! - Types and codegen features added.

@universal-data-layer/plugin-source-contentful@1.0.0

Minor Changes

  • #45 6df6943 Thanks @dawidurbanski! - ### New Package: @universal-data-layer/codegen-typed-queries

    Introduces a codegen extension that generates fully typed query functions from GraphQL files.

    Features:

    • Automatic TypedDocumentNode generation from .graphql files
    • Generates typed wrapper functions with proper input/output types
    • Supports configurable query file patterns and output locations
    • Integrates with the new codegen extension system
    • Comprehensive test coverage

    Usage:

    // udl.config.ts
    import { defineConfig } from 'universal-data-layer';
    
    export const { config } = defineConfig({
      plugins: ['@universal-data-layer/plugin-source-contentful'],
      codegen: {
        output: './generated',
        extensions: ['@universal-data-layer/codegen-typed-queries'],
      },
    });

    Core Enhancements (universal-data-layer)

    Codegen Extension System:

    • New pluggable extension architecture for codegen pipeline
    • Extensions can hook into schema generation and add custom output
    • CodegenExtension interface for creating custom extensions
    • Extensions receive full schema context and can generate additional files

    TypedDocumentNode Support:

    • query() function now supports TypedDocumentNode for full type inference
    • Automatic input/output type inference from document types
    • Backwards compatible with string queries

    Pluggable Reference System:

    • New ReferenceRegistry for managing entity references
    • Configurable reference resolvers per content type
    • Supports custom ID extraction and type mapping
    • Field-level reference configuration via FieldLinkMap

    Error Handling Improvements:

    • query() now returns error tuples [data, error] instead of throwing
    • Graceful error handling with typed error responses
    • Better developer experience with predictable error patterns

    Additional Changes:

    • NVM environment setup in husky hooks for consistent Node.js versions
    • MSW integration for mocking API calls in development
    • Enhanced GraphQL handler with improved type safety

    Contentful Plugin Updates (@universal-data-layer/plugin-source-contentful)

    • Integration with the new pluggable reference system
    • FieldLinkMap support for configuring reference resolution
    • Improved reference handling for linked entries and assets

    Next.js Example

    • Complete Next.js 15 example application demonstrating UDL usage
    • Product listing and detail pages with typed queries
    • MSW mocks for local development without Contentful credentials
    • Image slider component with variant selection
    • Tailwind CSS styling

Patch Changes

  • #43 e02b3e0 Thanks @dawidurbanski! - ### New Contentful Source Plugin (@universal-data-layer/plugin-source-contentful)

    Introduces the first official source plugin for the Universal Data Layer, enabling seamless integration with Contentful CMS.

    Features:

    • Full Contentful Sync API support with incremental sync for efficient data updates
    • Automatic GraphQL schema generation from Contentful content types
    • Rich text field support with proper typing
    • Asset handling with optional local download capabilities
    • Reference resolution for linked entries and assets
    • Configurable locale support (default: en-US)
    • Content type filtering to include/exclude specific types
    • Multiple environment support (master, staging, etc.)
    • Preview API support for draft content
    • Pluggable sync token storage (file-based storage included by default)
    • Comprehensive error handling with typed errors (ContentfulApiError, ContentfulSyncError, etc.)

    Configuration options:

    • spaceId / accessToken - Contentful credentials
    • host - API host (defaults to CDN, can use preview API)
    • environment - Contentful environment
    • nodePrefix - Prefix for generated GraphQL types
    • locale - Locale for field value extraction
    • downloadAssets - Enable local asset caching (not implemented yet)
    • contentTypeFilter - Filter function for content types
    • forceFullSync - Force full re-sync ignoring stored tokens

    Core Enhancements (universal-data-layer)

    File-based cache storage:

    • New FileCacheStorage class for persisting node data to disk
    • Versioned cache format with automatic invalidation on version mismatch
    • Handles circular references safely during serialization

    Environment variable loading:

    • Automatic .env file loading with priority order support
    • Supports .env.local, .env.{NODE_ENV}.local, .env.{NODE_ENV}, and .env
    • Configurable override behavior for existing variables

    Query utilities:

    • gql tagged template literal for GraphQL queries
    • query() function with automatic __typename injection
    • Reference resolution with resolveRefs for denormalized responses
    • addTypenameToDocument utility for AST manipulation

    Additional improvements:

    • Enhanced GraphQL handler with improved normalization
    • New resolveRefs client utility for entity resolution
    • Comprehensive test coverage for query utilities and typename injection
  • Updated dependencies [6df6943, 6a928ff, edb82e0, e02b3e0, e1ce532]:

    • universal-data-layer@1.0.0

@dawidurbanski dawidurbanski force-pushed the changeset-release/main branch 3 times, most recently from fc1a471 to 135bc07 Compare September 26, 2025 21:06
@vercel

vercel Bot commented Sep 26, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
universal-data-layer-nextjs Ready Ready Preview, Comment Dec 18, 2025 10:31pm

@dawidurbanski dawidurbanski force-pushed the changeset-release/main branch from ef02f13 to fb2aa15 Compare October 6, 2025 18:27
@dawidurbanski dawidurbanski force-pushed the changeset-release/main branch from fb2aa15 to c61593b Compare October 6, 2025 20:24
@dawidurbanski dawidurbanski force-pushed the changeset-release/main branch from c61593b to 6d09861 Compare October 6, 2025 20:27
@dawidurbanski dawidurbanski force-pushed the changeset-release/main branch from 6d09861 to e084320 Compare October 8, 2025 22:19
@dawidurbanski dawidurbanski merged commit caa5674 into main Dec 18, 2025
5 checks passed
@dawidurbanski dawidurbanski deleted the changeset-release/main branch December 18, 2025 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant