You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.4 KiB
31 lines
1.4 KiB
// BOM 扫描(AGENTS.md 编码纪律):票 03 新改/新建的 Java 文件必须 UTF-8 无 BOM
|
|
import { readFileSync } from 'node:fs';
|
|
|
|
const files = [
|
|
// crm-rule 三族
|
|
'crm-rule/src/main/java/com/crm/rule/service/impl/OpportunityStageTemplateServiceImpl.java',
|
|
'crm-rule/src/main/java/com/crm/rule/service/impl/OpportunitySchemeCardTemplateServiceImpl.java',
|
|
'crm-rule/src/main/java/com/crm/rule/service/impl/OpportunityPoolRuleServiceImpl.java',
|
|
// crm-opportunity 新建 owner 组件
|
|
'crm-opportunity/src/main/java/com/crm/opportunity/owner/OwnerSnapshot.java',
|
|
'crm-opportunity/src/main/java/com/crm/opportunity/owner/OwnerSnapshotResolver.java',
|
|
'crm-opportunity/src/main/java/com/crm/opportunity/owner/impl/OpportunityOwnerSnapshotResolverImpl.java',
|
|
// crm-opportunity 消费方
|
|
'crm-opportunity/src/main/java/com/crm/opportunity/service/impl/OpportunityCreateServiceImpl.java',
|
|
'crm-opportunity/src/main/java/com/crm/opportunity/port/inbound/impl/OpportunityCreationPortImpl.java',
|
|
'crm-opportunity/src/main/java/com/crm/opportunity/controller/OpportunityTransitionController.java',
|
|
];
|
|
|
|
let bad = 0;
|
|
for (const f of files) {
|
|
const b = readFileSync(f);
|
|
const hasBom = b[0] === 0xef && b[1] === 0xbb && b[2] === 0xbf;
|
|
if (hasBom) {
|
|
console.log(`BOM FOUND: ${f}`);
|
|
bad++;
|
|
} else {
|
|
console.log(`ok: ${f}`);
|
|
}
|
|
}
|
|
console.log(bad === 0 ? 'ALL CLEAN' : `${bad} file(s) with BOM`);
|
|
process.exit(bad === 0 ? 0 : 1);
|
|
|