ntts
Version:
A CLI tool for refactoring an existing NodeJs application to a fully functional TypeScript application.
30 lines (25 loc) • 930 B
text/typescript
import { existsSync, readFileSync } from 'fs';
import Logger from '../logger/logger';
const gitignore = '.gitignore';
const nttsignore = '.nttsignore';
const defaultIgnore = ['node_modules/'];
class IgnoreConfigParser {
static getIgnores = (): string[] => {
if (existsSync(nttsignore)) {
Logger.info('Reading .nttsignore file');
return IgnoreConfigParser.parseFile(nttsignore).concat(defaultIgnore);
}
if (existsSync(gitignore)) {
Logger.info('Reading .gitignore file');
return IgnoreConfigParser.parseFile(gitignore).concat(defaultIgnore);
}
Logger.warn('No ignore file found!');
return defaultIgnore;
};
private static parseFile = (path: string): string[] => readFileSync(path, { encoding: 'utf-8' })
.replace('\r\n', '\n')
.split('\n')
.map((line) => line.trim())
.filter((line) => !!line && !line.startsWith('#'));
}
export default IgnoreConfigParser;