shadcn-ui/ui · warning

- ${file}${symbol}: ${issue.reason}

Error message

  - ${file}${symbol}: ${issue.reason}

What it means

This is the per-item detail line printed under the manual-review header by printUnsupportedIssues: a relative file path, an optional symbol name in parentheses, and the reason the transformer skipped it. Like error 8 it is a logged warning line, one per unsupported CnMigrationIssue, guiding the developer to the exact code to migrate by hand.

Source

Thrown at packages/shadcn/src/migrations/cn/index.ts:185

  const match = version.match(/(?:^|[^0-9])(\d+)(?:\.|$)/)
  return match ? Number(match[1]) : null
}

function printUnsupportedIssues(issues: CnMigrationIssue[], cwd: string) {
  if (!issues.length) {
    return
  }

  logger.break()
  logger.warn(
    `Manual review required for ${issues.length} item${
      issues.length === 1 ? "" : "s"
    }:`
  )
  for (const issue of issues) {
    const file = issue.file ? path.relative(cwd, issue.file) : "unknown file"
    const symbol = issue.symbol ? ` (${issue.symbol})` : ""
    logger.warn(`  - ${file}${symbol}: ${issue.reason}`)
  }
}

View on GitHub (pinned to 5c7072da67)

Solutions

  1. Open the reported file at the reported symbol and rewrite the usage to use the new cn package manually.
  2. Address the specific reason given (e.g. replace a custom twMerge config with the supported setup).
  3. After fixing, rerun the migration or its dry check and confirm the item disappears from the list.
Defensive patterns

Strategy: try-catch

Try / catch

// parse each '  - <file>(<symbol>): <reason>' warning line and open tickets
const items = cliOutput.match(/^\s{2}- .+$/gm) ?? []
for (const item of items) logger.warn(`Needs manual migration: ${item.trim()}`)

Prevention

When it happens

Trigger: Emitted for every issue in the unsupported list of a migrateCn run; `unknown file` appears if issue.file is falsy, and the symbol segment is omitted when issue.symbol is undefined.

Common situations: Locating which helper or import in which file could not be auto-migrated — e.g. `src/lib/utils.ts (cn): custom twMerge configuration not supported`.

Related errors


AI-assisted analysis of shadcn-ui/ui@5c7072da67 (2026-09-07). Data as JSON: /api/errors/7557315c054745ff. Report an issue: GitHub.