UNPKG

license-check-and-add

Version:

A tool to enable the checking, inserting and removal of licenses

85 lines 3.91 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigParser = exports.TrailingWhitespaceMode = void 0; var fs = __importStar(require("fs-extra")); var path = __importStar(require("path")); var constants_1 = require("../constants"); var license_manager_1 = require("./license-manager"); var TrailingWhitespaceMode; (function (TrailingWhitespaceMode) { TrailingWhitespaceMode[TrailingWhitespaceMode["DEFAULT"] = 0] = "DEFAULT"; TrailingWhitespaceMode[TrailingWhitespaceMode["TRIM"] = 1] = "TRIM"; })(TrailingWhitespaceMode = exports.TrailingWhitespaceMode || (exports.TrailingWhitespaceMode = {})); var REQUIRED_FIELDS = ['license']; var ConfigParser = /** @class */ (function () { function ConfigParser() { } ConfigParser.parse = function (filePath, mode, regexReplacements) { var fileConfig = fs.readJSONSync(filePath); for (var _i = 0, REQUIRED_FIELDS_1 = REQUIRED_FIELDS; _i < REQUIRED_FIELDS_1.length; _i++) { var REQUIRED_FIELD = REQUIRED_FIELDS_1[_i]; if (!fileConfig.hasOwnProperty(REQUIRED_FIELD)) { throw new Error('Missing required field in config: ' + REQUIRED_FIELD); } } var config = { defaultFormat: fileConfig.defaultFormat || constants_1.DEFAULT_FORMAT, ignore: [], ignoreDefaultIgnores: fileConfig.ignoreDefaultIgnores || false, license: fs.readFileSync(path.resolve(process.cwd(), fileConfig.license)).toString(), licenseFormats: fileConfig.licenseFormats || {}, trailingWhitespace: TrailingWhitespaceMode.DEFAULT, }; if (!fileConfig.ignore) { console.debug('No ignore specified. Using []'); config.ignore = []; } else { config.ignore = fileConfig.ignore; } if (fileConfig.ignoreFile) { config.ignoreFile = fileConfig.ignoreFile; } if (!fileConfig.defaultFormat) { console.warn("No default format specified. Using " + JSON.stringify(constants_1.DEFAULT_FORMAT) + " as backup"); } if (fileConfig.trailingWhitespace && fileConfig.trailingWhitespace.toUpperCase() === 'TRIM') { config.trailingWhitespace = TrailingWhitespaceMode.TRIM; } if (fileConfig.output) { config.output = path.resolve(process.cwd(), fileConfig.output); } if (fileConfig.regexIdentifier) { config.regex = { identifier: fileConfig.regexIdentifier }; if (!regexReplacements && mode === license_manager_1.ManagementMode.INSERT) { throw new Error('Must supply regexReplacements option when using regexIdentifier in config when in INSERT mode'); } else if (regexReplacements) { config.regex.replacements = regexReplacements; } } return config; }; return ConfigParser; }()); exports.ConfigParser = ConfigParser; //# sourceMappingURL=config-parser.js.map