blob: d78b225b327336d1bc9e3b52e7fa8c3d7405f475 [file] [log] [blame]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var PluginOptionsReader = /** @class */ (function () {
function PluginOptionsReader(context) {
this.context = context;
}
PluginOptionsReader.prototype.readOptions = function (options) {
var licenseInclusionTest = options.licenseInclusionTest || (function () { return true; });
var unacceptableLicenseTest = options.unacceptableLicenseTest || (function () { return false; });
var perChunkOutput = options.perChunkOutput === undefined;
var licenseTemplateDir = options.licenseTemplateDir;
var licenseTextOverrides = options.licenseTextOverrides || {};
var licenseTypeOverrides = options.licenseTypeOverrides || {};
var handleUnacceptableLicense = options.handleUnacceptableLicense || (function () { });
var handleMissingLicenseText = options.handleMissingLicenseText || (function () { return null; });
var renderLicenses = options.renderLicenses ||
(function (modules) {
return modules
.sort(function (left, right) {
return left.name < right.name ? -1 : 1;
})
.reduce(function (file, module) {
return "" + file + module.name + (module.licenseId ? "\n" + module.licenseId : '') + (module.licenseText ? "\n" + module.licenseText : '') + "\n\n";
}, '')
.trim() + "\n";
});
var renderBanner = options.renderBanner ||
(function (filename) {
return "/*! License information is available at " + filename + " */";
});
var outputFilename = options.outputFilename ||
(perChunkOutput ? '[name].licenses.txt' : 'licenses.txt');
var addBanner = options.addBanner === undefined ? false : options.addBanner;
var chunkIncludeExcludeTest = options.chunkIncludeExcludeTest || (function () { return true; });
var modulesDirectories = options.modulesDirectories || null;
var additionalChunkModules = options.additionalChunkModules || {};
var additionalModules = options.additionalModules || [];
var preferredLicenseTypes = options.preferredLicenseTypes || [];
var handleLicenseAmbiguity = options.handleLicenseAmbiguity ||
(function (_packageName, licenses) {
return licenses[0].type;
});
var handleMissingLicenseType = options.handleMissingLicenseType || (function () { return null; });
var licenseFileOverrides = options.licenseFileOverrides || {};
var excludedPackageTest = options.excludedPackageTest || (function () { return false; });
var stats = {
warnings: options.stats && options.stats.warnings !== undefined
? options.stats.warnings
: true,
errors: options.stats && options.stats.errors !== undefined
? options.stats.errors
: true
};
var constructedOptions = {
licenseInclusionTest: licenseInclusionTest,
unacceptableLicenseTest: unacceptableLicenseTest,
perChunkOutput: perChunkOutput,
licenseTemplateDir: licenseTemplateDir,
licenseTextOverrides: licenseTextOverrides,
licenseFileOverrides: licenseFileOverrides,
licenseTypeOverrides: licenseTypeOverrides,
handleUnacceptableLicense: handleUnacceptableLicense,
handleMissingLicenseText: handleMissingLicenseText,
renderLicenses: renderLicenses,
renderBanner: renderBanner,
outputFilename: outputFilename,
addBanner: addBanner,
chunkIncludeExcludeTest: chunkIncludeExcludeTest,
modulesDirectories: modulesDirectories,
additionalChunkModules: additionalChunkModules,
additionalModules: additionalModules,
preferredLicenseTypes: preferredLicenseTypes,
handleLicenseAmbiguity: handleLicenseAmbiguity,
handleMissingLicenseType: handleMissingLicenseType,
excludedPackageTest: excludedPackageTest,
stats: stats,
buildRoot: this.context
};
return constructedOptions;
};
return PluginOptionsReader;
}());
exports.PluginOptionsReader = PluginOptionsReader;