Skip to content

fix(cli): use ToUpperInvariant for snake case replacement in SolutionRenamer#25128

Merged
maliming merged 2 commits into
abpframework:devfrom
JasonPG2007:fix-angular-route-name-i
Mar 23, 2026
Merged

fix(cli): use ToUpperInvariant for snake case replacement in SolutionRenamer#25128
maliming merged 2 commits into
abpframework:devfrom
JasonPG2007:fix-angular-route-name-i

Conversation

@JasonPG2007

Copy link
Copy Markdown
Contributor

Summary

This PR replaces ToUpper() with ToUpperInvariant() in SolutionRenamer to avoid culture-sensitive casing issues during project/module name replacement.

Why

Issue #24988 reports incorrect Angular route name generation when the module name contains the letter i, for example FinancialOperations.

Using ToUpper() can produce culture-specific results on some systems, while ToUpperInvariant() ensures consistent behavior across environments.

Change

  • Replaced:

    • _projectNamePlaceHolder.ToSnakeCase().ToUpper()
    • _projectName.ToSnakeCase().ToUpper()
  • With:

    • _projectNamePlaceHolder.ToSnakeCase().ToUpperInvariant()
    • _projectName.ToSnakeCase().ToUpperInvariant()

Notes

The change is isolated and minimal.

@CLAassistant

CLAassistant commented Mar 22, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@JasonPG2007

Copy link
Copy Markdown
Contributor Author

Hi, this is my first contribution. Please let me know if any changes are needed. Thank you!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes culture-sensitive casing during solution/module renaming in the ABP CLI by switching snake_case placeholder replacement from ToUpper() to ToUpperInvariant(), preventing incorrect results on locales like Turkish (e.g., module names containing i).

Changes:

  • Updated snake_case rename replacements in SolutionRenamer to use ToUpperInvariant() for deterministic casing across environments.

@maliming

Copy link
Copy Markdown
Member

Thanks @JasonPG2007 👍

@JasonPG2007

Copy link
Copy Markdown
Contributor Author

Thanks @JasonPG2007 👍

My pleasure!

@maliming maliming merged commit 35aa17d into abpframework:dev Mar 23, 2026
2 checks passed
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.

4 participants