@cordxapp/lintydeps
Version:
Finds and reports missing or unused dependencies and dev dependencies
57 lines • 2.41 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const strip_json_comments_1 = __importDefault(require("strip-json-comments"));
const js_yaml_1 = __importDefault(require("js-yaml"));
const default_1 = require("./config/default");
const lintydeps_1 = __importDefault(require("./client/lintydeps"));
const yargs_1 = __importDefault(require("yargs"));
const helpers_1 = require("yargs/helpers");
const CWD = process.cwd();
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).argv;
const CONFIG_FILE_NAME = '.lintyrc';
const CONFIG_NOT_FOUND_MESSAGE = `Config file \`${CONFIG_FILE_NAME}\` not found. Using default config.\nAdd \`${CONFIG_FILE_NAME}\` file in your repo root if you wish to specify custom logic.\n`;
function readFile(filePath) {
try {
return fs_1.default.readFileSync(filePath, 'utf8').replace(/^\ufeff/, '');
}
catch (error) {
console.error(`Error reading file at ${filePath}:`, error);
throw error;
}
}
function loadConfig(configFilePath) {
if (fs_1.default.existsSync(configFilePath) && fs_1.default.statSync(configFilePath).isFile()) {
console.log(`Config file \`${CONFIG_FILE_NAME}\` found.\n`);
try {
const fileContent = readFile(configFilePath);
return js_yaml_1.default.load((0, strip_json_comments_1.default)(fileContent)) || {};
}
catch (error) {
console.error(`Error parsing config file at ${configFilePath}:`, error);
throw error;
}
}
else {
console.log(CONFIG_NOT_FOUND_MESSAGE);
return {};
}
}
function main() {
const cliArguments = argv._;
if (cliArguments.length === 0) {
console.error("Please provide the start location as 'linty <location>'. E.g., linty .");
process.exit(1);
}
const dir = path_1.default.resolve(CWD, cliArguments[0]);
const configFilePath = path_1.default.join(dir, CONFIG_FILE_NAME);
const userConfig = loadConfig(configFilePath);
const config = { ...default_1.defaultConfig, ...userConfig };
(0, lintydeps_1.default)(dir, config);
}
main();
//# sourceMappingURL=index.js.map