Skip to content

chore(deps): update dependency zinfer to v0.2.7#1755

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/zinfer-0.x
Open

chore(deps): update dependency zinfer to v0.2.7#1755
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/zinfer-0.x

Conversation

@renovate

@renovate renovate Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
zinfer 0.2.50.2.7 age confidence

Release Notes

toiroakr/zinfer (zinfer)

v0.2.7

Compare Source

Patch Changes
  • 5210bb4: Fix description extraction stack-overflowing on self-recursive Zod schemas (e.g. a get accessor referencing the schema itself), which silently dropped every .describe() comment for the whole file. Field description extraction now tracks visited object schemas per recursion path and stops descending on a cycle, and a single schema's extraction failure no longer discards descriptions already collected for other schemas in the same file.

v0.2.6

Compare Source

Patch Changes
  • 07d3613: Fix .describe() text on an inlined nested field being replaced by an unrelated same-named field's text elsewhere in the file. Field descriptions were looked up by field name only, because the nested object formatter never actually tracked nesting depth (including across sibling objects in the same union/tuple). Also extend description extraction to recurse into array element and union member types, since those types print inline at the same path as their containing field.

Configuration

📅 Schedule: (in timezone Asia/Tokyo)

  • Branch creation
    • Between 09:00 AM and 06:59 PM, Monday through Friday (* 9-18 * * 1-5)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from a team as a code owner July 14, 2026 00:40
@changeset-bot

changeset-bot Bot commented Jul 14, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 1fdf9d5

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Jul 14, 2026

Copy link
Copy Markdown

Open in StackBlitz

pnpm add https://pkg.pr.new/@tailor-platform/create-sdk@1fdf9d5
pnpm add https://pkg.pr.new/@tailor-platform/eslint-plugin-sdk@1fdf9d5
pnpm add https://pkg.pr.new/@tailor-platform/sdk@1fdf9d5

commit: 1fdf9d5

@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown

🤖 Claude Dependency Review

📦 Update Summary

  • Library: zinfer
  • Version: 0.2.5 → 0.2.7
  • Change Type: Patch (two consecutive patch releases: 0.2.5 → 0.2.6 → 0.2.7)

📝 Release Notes

https://github.com/toiroakr/zinfer/blob/main/CHANGELOG.md

🔐 Security Assessment

  • Risk: 🟢 Low
  • Known vulnerabilities: None found. Searched GitHub Advisory Database, OSV, and npm advisories - no CVEs or security advisories exist for zinfer
  • Supply-chain notes: No red flags detected. Repository ownership unchanged (toiroakr), no suspicious lifecycle scripts, no unexpected dependency changes, normal version progression

✨ Main Changes

Both releases are patch-level bug fixes addressing issues with .describe() text extraction from Zod schemas:

Version 0.2.7 (commit 5210bb4):

  • Fix: Stack overflow on self-recursive Zod schemas
  • Details: Description extraction would crash when encountering schemas with self-references (e.g., a get accessor that references the schema itself), which silently dropped every .describe() comment for the entire file
  • Solution: Tracks visited object schemas per recursion path and stops descending on cycles. Single schema extraction failures no longer discard descriptions already collected for other schemas in the same file

Version 0.2.6 (commit 07d3613):

  • Fix: Incorrect description replacement on nested fields
  • Details: .describe() text on inlined nested fields was being replaced by unrelated same-named fields elsewhere in the file. Field descriptions were looked up by name only, without tracking nesting depth
  • Solution: Description extraction now recurses into array element and union member types, properly tracking nesting context

🔍 Impact Analysis

📁 Usage Locations

zinfer is a critical build-time dependency for this project. It generates TypeScript types from Zod schemas and is used in 69 files throughout the codebase.

Primary usage:

  1. zinfer.config.ts

    import { defineConfig } from "zinfer";
    
    export default defineConfig({
      project: "./tsconfig.json",
      include: ["src/parser/**/schema.ts"],
      outDir: "./src/types",
      withDescriptions: true,  // ← Enables .describe() extraction
      // ... configuration
    });
    • Feature used: Configuration API with withDescriptions: true
    • Impact: This configuration setting means the bugs fixed in 0.2.6 and 0.2.7 directly affected this project
  2. package.json

    "generate": "zinfer && node -e \"const f=require('fs').readdirSync('src/types').filter(f=>f.endsWith('.generated.ts')).map(f=>'src/types/'+f);if(f.length)require('child_process').execSync('pnpm oxfmt --write '+f.join(' '),{stdio:'inherit'})\""
    • Feature used: CLI command in build process
    • Impact: Core build step - generates 15 .generated.ts files in src/types/

Schema files processed by zinfer (11 files):

These files contain 245 .describe() calls that generate TypeScript documentation:

  1. src/parser/service/tailordb/schema.ts - 42 descriptions

    const TailorDBFieldSchema: z.ZodType<TailorDBFieldOutput> = z.lazy(() =>
      z.object({
        type: TailorFieldTypeSchema,
        fields: z.record(z.string(), TailorDBFieldSchema).optional(),
        // ...
      }),
    );
    • Feature used: Self-recursive lazy schema
    • Impact: 🚨 CRITICAL - This exact pattern triggers the v0.2.7 stack overflow bug
  2. src/parser/service/field/schema.ts - 12 descriptions

    export const TailorFieldSchema = z.object({
      type: TailorFieldTypeSchema.describe("Field data type"),
      metadata: FieldMetadataSchema.describe("Field metadata configuration"),
      get fields() {
        return z.record(z.string(), TailorFieldSchema);  // ← Self-reference via getter
      },
    });
    • Feature used: Self-recursive schema with get accessor
    • Impact: 🚨 CRITICAL - This is the EXACT pattern mentioned in v0.2.7 release notes that caused stack overflow
  3. src/parser/service/auth/schema.ts - 71 descriptions

    • Feature used: Complex schemas with unions and nested objects
    • Impact: 13 union/array patterns affected by v0.2.6 nested field description fix
  4. src/parser/service/workflow/schema.ts - 15 descriptions

  5. src/parser/service/staticwebsite/schema.ts - 4 descriptions

  6. src/parser/service/aigateway/schema.ts - 3 descriptions

  7. src/parser/service/idp/schema.ts - 38 descriptions

  8. src/parser/service/executor/schema.ts - 33 descriptions

  9. src/parser/service/auth-connection/schema.ts - 7 descriptions

  10. src/parser/service/resolver/schema.ts - 9 descriptions

  11. src/parser/service/http-adapter/schema.ts - 11 descriptions

Generated type files (15 files):

These files are auto-generated by zinfer and imported by 69 source files:

Files importing generated types (69 files): These files consume the zinfer-generated types across the CLI, parser, configure, and plugin modules. See grep count output showing 86 total import statements across these 69 files.

✅ Recommended Actions

1. Merge this PR - Both bug fixes are highly relevant to this codebase:

  • The v0.2.7 fix resolves a stack overflow that would have silently dropped ALL descriptions in field.generated.ts and tailordb.generated.ts (the files with self-recursive schemas)
  • The v0.2.6 fix corrects description text on nested fields, which appear extensively in the 57 union/array patterns across the schema files

2. Regenerate types after merge:

pnpm -C packages/sdk generate

This will regenerate all 15 .generated.ts files with the corrected description extraction logic.

3. Verify the fix (optional but recommended):

  • Check that src/types/field.generated.ts and src/types/tailordb.generated.ts contain TSDoc comments (these would have been silently dropped by the v0.2.7 bug)
  • Review nested field descriptions in other generated files to ensure they match the source .describe() text

Note: Since zinfer is a devDependency used only at build time, there is no runtime impact. The changes only affect the quality of generated TypeScript type definitions and their documentation.


@renovate renovate Bot changed the title chore(deps): update dependency zinfer to v0.2.5 chore(deps): update dependency zinfer to v0.2.5 - autoclosed Jul 14, 2026
@renovate renovate Bot closed this Jul 14, 2026
@renovate
renovate Bot deleted the renovate/zinfer-0.x branch July 14, 2026 06:51
@renovate renovate Bot changed the title chore(deps): update dependency zinfer to v0.2.5 - autoclosed chore(deps): update dependency zinfer to v0.2.7 Jul 20, 2026
@renovate renovate Bot reopened this Jul 20, 2026
@renovate
renovate Bot force-pushed the renovate/zinfer-0.x branch 2 times, most recently from 7172f1e to e073103 Compare July 20, 2026 02:17
@github-actions

This comment has been minimized.

@renovate
renovate Bot force-pushed the renovate/zinfer-0.x branch from e073103 to 1fdf9d5 Compare July 20, 2026 23:49
@github-actions

Copy link
Copy Markdown

Code Metrics Report (packages/sdk)

main (0cb744f) #1755 (c3f2fd2) +/-
Coverage 74.6% 74.6% 0.0%
Code to Test Ratio 1:0.4 1:0.4 0.0
Details
  |                    | main (0cb744f) | #1755 (c3f2fd2) | +/-  |
  |--------------------|----------------|-----------------|------|
  | Coverage           |          74.6% |           74.6% | 0.0% |
  |   Files            |            458 |             458 |    0 |
  |   Lines            |          17049 |           17049 |    0 |
  |   Covered          |          12719 |           12719 |    0 |
  | Code to Test Ratio |          1:0.4 |           1:0.4 |  0.0 |
  |   Code             |         114318 |          114318 |    0 |
  |   Test             |          53379 |           53379 |    0 |

SDK Configure Bundle Size

main (0cb744f) #1755 (c3f2fd2) +/-
configure-index-size 32.17KB 32.17KB 0KB
dependency-chunks-size 29.88KB 29.88KB 0KB
total-bundle-size 62.05KB 62.05KB 0KB

Runtime Performance

main (0cb744f) #1755 (c3f2fd2) +/-
Generate Median 3,128ms 3,102ms -26ms
Generate Max 3,163ms 3,172ms 9ms
Apply Build Median 3,180ms 3,129ms -51ms
Apply Build Max 3,197ms 3,183ms -14ms

Type Performance (instantiations)

main (0cb744f) #1755 (c3f2fd2) +/-
tailordb-basic 43,881 43,881 0
tailordb-optional 4,451 4,451 0
tailordb-relation 6,220 6,220 0
tailordb-validate 753 753 0
tailordb-hooks 5,279 5,279 0
tailordb-object 12,547 12,547 0
tailordb-enum 1,486 1,486 0
resolver-basic 9,252 9,252 0
resolver-nested 26,119 26,119 0
resolver-array 18,059 18,059 0
executor-schedule 4,310 4,310 0
executor-webhook 949 949 0
executor-record 6,762 6,762 0
executor-resolver 4,090 4,090 0
executor-operation-function 937 937 0
executor-operation-gql 945 945 0
executor-operation-webhook 956 956 0
executor-operation-workflow 1,798 1,798 0

Reported by octocov

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants