UNPKG

@cordxapp/lintydeps

Version:

Finds and reports missing or unused dependencies and dev dependencies

57 lines 2.41 kB
"use strict"; 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