bs-broken-links-checker
Version:
Broken links checker tool fow web sites
73 lines (52 loc) • 2.14 kB
JavaScript
;
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;
}