PluginOptionsReader.js 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var PluginOptionsReader = /** @class */ (function () {
  4. function PluginOptionsReader(context) {
  5. this.context = context;
  6. }
  7. PluginOptionsReader.prototype.readOptions = function (options) {
  8. var licenseInclusionTest = options.licenseInclusionTest || (function () { return true; });
  9. var unacceptableLicenseTest = options.unacceptableLicenseTest || (function () { return false; });
  10. var perChunkOutput = options.perChunkOutput === undefined;
  11. var licenseTemplateDir = options.licenseTemplateDir;
  12. var licenseTextOverrides = options.licenseTextOverrides || {};
  13. var licenseTypeOverrides = options.licenseTypeOverrides || {};
  14. var handleUnacceptableLicense = options.handleUnacceptableLicense || (function () { });
  15. var handleMissingLicenseText = options.handleMissingLicenseText || (function () { return null; });
  16. var renderLicenses = options.renderLicenses ||
  17. (function (modules) {
  18. return modules
  19. .sort(function (left, right) {
  20. return left.name < right.name ? -1 : 1;
  21. })
  22. .reduce(function (file, module) {
  23. return "" + file + module.name + (module.licenseId ? "\n" + module.licenseId : '') + (module.licenseText ? "\n" + module.licenseText : '') + "\n\n";
  24. }, '')
  25. .trim() + "\n";
  26. });
  27. var renderBanner = options.renderBanner ||
  28. (function (filename) {
  29. return "/*! License information is available at " + filename + " */";
  30. });
  31. var outputFilename = options.outputFilename ||
  32. (perChunkOutput ? '[name].licenses.txt' : 'licenses.txt');
  33. var addBanner = options.addBanner === undefined ? false : options.addBanner;
  34. var chunkIncludeExcludeTest = options.chunkIncludeExcludeTest || (function () { return true; });
  35. var modulesDirectories = options.modulesDirectories || null;
  36. var additionalChunkModules = options.additionalChunkModules || {};
  37. var additionalModules = options.additionalModules || [];
  38. var preferredLicenseTypes = options.preferredLicenseTypes || [];
  39. var handleLicenseAmbiguity = options.handleLicenseAmbiguity ||
  40. (function (_packageName, licenses) {
  41. return licenses[0].type;
  42. });
  43. var handleMissingLicenseType = options.handleMissingLicenseType || (function () { return null; });
  44. var licenseFileOverrides = options.licenseFileOverrides || {};
  45. var excludedPackageTest = options.excludedPackageTest || (function () { return false; });
  46. var stats = {
  47. warnings: options.stats && options.stats.warnings !== undefined
  48. ? options.stats.warnings
  49. : true,
  50. errors: options.stats && options.stats.errors !== undefined
  51. ? options.stats.errors
  52. : true
  53. };
  54. var constructedOptions = {
  55. licenseInclusionTest: licenseInclusionTest,
  56. unacceptableLicenseTest: unacceptableLicenseTest,
  57. perChunkOutput: perChunkOutput,
  58. licenseTemplateDir: licenseTemplateDir,
  59. licenseTextOverrides: licenseTextOverrides,
  60. licenseFileOverrides: licenseFileOverrides,
  61. licenseTypeOverrides: licenseTypeOverrides,
  62. handleUnacceptableLicense: handleUnacceptableLicense,
  63. handleMissingLicenseText: handleMissingLicenseText,
  64. renderLicenses: renderLicenses,
  65. renderBanner: renderBanner,
  66. outputFilename: outputFilename,
  67. addBanner: addBanner,
  68. chunkIncludeExcludeTest: chunkIncludeExcludeTest,
  69. modulesDirectories: modulesDirectories,
  70. additionalChunkModules: additionalChunkModules,
  71. additionalModules: additionalModules,
  72. preferredLicenseTypes: preferredLicenseTypes,
  73. handleLicenseAmbiguity: handleLicenseAmbiguity,
  74. handleMissingLicenseType: handleMissingLicenseType,
  75. excludedPackageTest: excludedPackageTest,
  76. stats: stats,
  77. buildRoot: this.context
  78. };
  79. return constructedOptions;
  80. };
  81. return PluginOptionsReader;
  82. }());
  83. exports.PluginOptionsReader = PluginOptionsReader;