fix include exclude

This commit is contained in:
caesar
2025-01-16 09:20:36 +08:00
parent 484116be5c
commit a5b330c5bf
3 changed files with 33 additions and 25 deletions

17
dist/index.js vendored
View File

@@ -59,17 +59,14 @@ async function aiCheckDiffContext() {
for (let key in files) { for (let key in files) {
if (!files[key]) if (!files[key])
continue; continue;
if (include_files.length > 0) { console.log("check diff context:", files[key]);
if (!(0, utils_1.doesAnyPatternMatch)(include_files, files[key])) { if ((include_files.length > 0) && (!(0, utils_1.doesAnyPatternMatch)(include_files, files[key]))) {
console.log("exclude(include):", files[key]); console.log("exclude(include):", files[key]);
continue; continue;
}
} }
if (exclude_files.length > 0) { else if ((exclude_files.length > 0) && ((0, utils_1.doesAnyPatternMatch)(exclude_files, files[key]))) {
if ((0, utils_1.doesAnyPatternMatch)(exclude_files, files[key])) { console.log("exclude(exclude):", files[key]);
console.log("exclude(exclude):", files[key]); continue;
continue;
}
} }
const fileDiffOutput = (0, node_child_process_1.execSync)(`git diff origin/${BASE_REF}...HEAD -- "${files[key]}"`, { encoding: 'utf-8' }); const fileDiffOutput = (0, node_child_process_1.execSync)(`git diff origin/${BASE_REF}...HEAD -- "${files[key]}"`, { encoding: 'utf-8' });
// ai generate // ai generate

View File

@@ -63,18 +63,15 @@ async function aiCheckDiffContext() {
let files = diffOutput.trim().split("\n"); let files = diffOutput.trim().split("\n");
for (let key in files) { for (let key in files) {
if (!files[key]) continue; if (!files[key]) continue;
if (include_files.length > 0) { console.log("check diff context:", files[key])
if (!doesAnyPatternMatch(include_files, files[key])) { if ((include_files.length > 0) && (!doesAnyPatternMatch(include_files, files[key]))) {
console.log("exclude(include):", files[key]) console.log("exclude(include):", files[key])
continue; continue;
} } else if ((exclude_files.length > 0) && (doesAnyPatternMatch(exclude_files, files[key]))) {
} console.log("exclude(exclude):", files[key])
if (exclude_files.length > 0) { continue;
if (doesAnyPatternMatch(exclude_files, files[key])) {
console.log("exclude(exclude):", files[key])
continue;
}
} }
const fileDiffOutput = execSync(`git diff origin/${BASE_REF}...HEAD -- "${files[key]}"`, {encoding: 'utf-8'}); const fileDiffOutput = execSync(`git diff origin/${BASE_REF}...HEAD -- "${files[key]}"`, {encoding: 'utf-8'});
// ai generate // ai generate
try { try {

View File

@@ -8,9 +8,23 @@ test2\\.js
dist/.* dist/.*
`; `;
expect(doesAnyPatternMatch(split_message(testString),"readme.md")).toBe(true); expect(doesAnyPatternMatch(split_message(testString), "readme.md")).toBe(true);
expect(doesAnyPatternMatch(split_message(testString),"dist/index.js")).toBe(true); expect(doesAnyPatternMatch(split_message(testString), "dist/index.js")).toBe(true);
expect(doesAnyPatternMatch(split_message(testString),"dist/prompt.js")).toBe(true); expect(doesAnyPatternMatch(split_message(testString), "dist/prompt.js")).toBe(true);
expect(doesAnyPatternMatch(split_message(testString),"src/index.js")).toBe(false); expect(doesAnyPatternMatch(split_message(testString), "src/index.js")).toBe(false);
});
});
describe('split_message', () => {
it('include readme.md', () => {
const testString = `^.+\\.md
test2\\.js
dist/.*
`;
let file = "README.md";
let include_files = split_message(testString);
console.log("check diff context:", file)
expect(((include_files.length > 0) && (doesAnyPatternMatch(include_files, file)))).toBe(true);
}); });
}); });