UNPKG

bs-broken-links-checker

Version:
73 lines (52 loc) 2.14 kB
'use strict'; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); exports.createConfigsDir = createConfigsDir; exports.createConfigStub = createConfigStub; exports.createConfigFile = createConfigFile; var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _bemSiteLogger = require('bem-site-logger'); var _bemSiteLogger2 = _interopRequireDefault(_bemSiteLogger); var _checker = require('../checker'); var _checker2 = _interopRequireDefault(_checker); var _util = require('../util'); var _util2 = _interopRequireDefault(_util); var logger = _bemSiteLogger2['default'].setOptions({ level: 'info', useDate: false }).createLogger(module); /** * Creates configuration directory inside process.cwd() folder */ function createConfigsDir() { try { _fs2['default'].mkdirSync(_util2['default'].getConfigurationDirectory()); } catch (error) {} } /** * Creates stub configuration file with default params * @return {Object} stub config object */ function createConfigStub() { return ['concurrent', 'requestHeaders', 'requestRetriesAmount', 'requestTimeout', 'acceptedSchemes', 'checkExternalUrls', 'excludeLinkPatterns'].reduce(function (prev, item) { prev[item] = _checker2['default'].DEFAULT[item]; return prev; }, { url: 'http://my.site.com', logger: { level: 'info' } }); } /** * Generates stub configuration file inside configuration folder * @param {String} fileName name of file * @return {Boolean} returns true if success, false otherwise */ function createConfigFile(fileName) { fileName = fileName.replace(/\//g, '') + '.js'; createConfigsDir(); _fs2['default'].writeFileSync(_path2['default'].join(_util2['default'].getConfigurationDirectory(), fileName), 'module.exports = ' + JSON.stringify(createConfigStub(), null, 4), 'utf-8'); logger.info('Configuration file: => %s has been generated successfully', fileName); return true; }