unqommented
Version:
A Node.js utility that quickly identifies files with uncommented code in your codebase. Designed for developers who want to efficiently tell LLMs exactly which files need comments added.
40 lines (35 loc) • 1.33 kB
JavaScript
require('qtests/setup');
const { test, expect, describe, beforeAll, afterAll } = require('@jest/globals');
const fs = require('fs');
const path = require('path');
const os = require('os');
const utils = require('../utils');
const localVars = require('../../config/localVars');
let tmpDir;
let unreadableFile;
beforeAll(() => {
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'unqommented-'));
unreadableFile = path.join(tmpDir, 'unreadable.js');
fs.writeFileSync(unreadableFile, 'const x = 1;');
fs.chmodSync(unreadableFile, 0); // remove read permissions
});
afterAll(() => {
fs.chmodSync(unreadableFile, 0o644); // restore permissions to delete
fs.rmSync(tmpDir, { recursive: true, force: true });
});
describe('findUncommentedFiles error handling', () => {
test("does not log a warning when a file can't be read", async () => {
const warnSpy = jest.spyOn(console, 'warn').mockImplementation(() => {});
const realCreate = fs.createReadStream;
jest.spyOn(fs, 'createReadStream').mockImplementation(filePath => {
if (filePath === unreadableFile) {
throw new Error('EACCES');
}
return realCreate(filePath);
});
await utils.findUncommentedFiles(tmpDir);
fs.createReadStream.mockRestore();
expect(warnSpy).not.toHaveBeenCalled();
warnSpy.mockRestore();
});
});