Commit f07ec7680684da20e67d21b3f70b24ec502a295d

Authored by 芋道源码
Committed by Gitee
2 parents 78d798bb 4ca0aadd

!1551 fix(infra): 修复 Windows 下 Codegen 单测和代码生成统一 LF 并优化尾逗号正则

Merge pull request !1551 from haohaoMT/fix/codegen-format-windows
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java
@@ -459,7 +459,7 @@ public class CodegenEngine { @@ -459,7 +459,7 @@ public class CodegenEngine {
459 private String prettyCode(String content, String vmPath) { 459 private String prettyCode(String content, String vmPath) {
460 // Vue 界面:去除字段后面多余的 , 逗号,解决前端的 Pretty 代码格式检查的报错(需要排除 vben5、vue3_admin_uniapp) 460 // Vue 界面:去除字段后面多余的 , 逗号,解决前端的 Pretty 代码格式检查的报错(需要排除 vben5、vue3_admin_uniapp)
461 if (!StrUtil.containsAny(vmPath, "vben5", "vue3_admin_uniapp")) { 461 if (!StrUtil.containsAny(vmPath, "vben5", "vue3_admin_uniapp")) {
462 - content = content.replaceAll(",\n}", "\n}").replaceAll(",\n }", "\n }"); 462 + content = content.replaceAll(",\\r?\\n(\\s*)}", "\n$1}");
463 } 463 }
464 // Vue 界面:去除多的 dateFormatter,只有一个的情况下,说明没使用到 464 // Vue 界面:去除多的 dateFormatter,只有一个的情况下,说明没使用到
465 if (StrUtil.count(content, "dateFormatter") == 1) { 465 if (StrUtil.count(content, "dateFormatter") == 1) {
@@ -482,7 +482,8 @@ public class CodegenEngine { @@ -482,7 +482,8 @@ public class CodegenEngine {
482 if (StrUtil.count(content, "DICT_TYPE.") == 0) { 482 if (StrUtil.count(content, "DICT_TYPE.") == 0) {
483 content = StrUtils.removeLineContains(content, "DICT_TYPE"); 483 content = StrUtils.removeLineContains(content, "DICT_TYPE");
484 } 484 }
485 - return content; 485 + // 统一换行符为 LF,避免 Windows 下模板引擎输出 CRLF 导致前端 ESLint/Prettier 报错
  486 + return content.replace("\r\n", "\n");
486 } 487 }
487 488
488 private Map<String, Object> initBindingMap(DbType dbType, CodegenTableDO table, List<CodegenColumnDO> columns, 489 private Map<String, Object> initBindingMap(DbType dbType, CodegenTableDO table, List<CodegenColumnDO> columns,
yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngineAbstractTest.java
@@ -115,7 +115,10 @@ public abstract class CodegenEngineAbstractTest extends BaseMockitoUnitTest { @@ -115,7 +115,10 @@ public abstract class CodegenEngineAbstractTest extends BaseMockitoUnitTest {
115 } 115 }
116 116
117 private static String normalizeLineEndings(String content) { 117 private static String normalizeLineEndings(String content) {
118 - return content == null ? null : content.replace("\r\n", "\n").replace("\r", "\n"); 118 + if (content == null) {
  119 + return null;
  120 + }
  121 + return StrUtil.trimEnd(content.replace("\r\n", "\n").replace('\r', '\n'));
119 } 122 }
120 123
121 // ==================== 调试专用 ==================== 124 // ==================== 调试专用 ====================