PluginOptions.d.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { LicenseTest } from './LicenseTest';
  2. import { LicenseIdentifiedModule } from './LicenseIdentifiedModule';
  3. import { IncludeExcludeTest } from './IncludeExcludeTest';
  4. import { Module } from './Module';
  5. import { PluginStats } from './PluginStats';
  6. interface PluginOptions {
  7. licenseInclusionTest?: LicenseTest;
  8. unacceptableLicenseTest?: LicenseTest;
  9. handleUnacceptableLicense?: (packageName: string, licenseType: string) => void;
  10. handleMissingLicenseText?: (packageName: string, licenseType: string | null) => string | null;
  11. perChunkOutput?: boolean;
  12. licenseTemplateDir?: string;
  13. licenseTextOverrides?: {
  14. [key: string]: string;
  15. };
  16. licenseFileOverrides?: {
  17. [key: string]: string;
  18. };
  19. licenseTypeOverrides?: {
  20. [key: string]: string;
  21. };
  22. renderLicenses?: (modules: LicenseIdentifiedModule[]) => string;
  23. renderBanner?: (filename: string, modules: LicenseIdentifiedModule[]) => string;
  24. outputFilename?: string;
  25. addBanner?: boolean;
  26. chunkIncludeExcludeTest?: IncludeExcludeTest;
  27. modulesDirectories?: string[];
  28. additionalChunkModules?: {
  29. [chunkName: string]: Module[];
  30. };
  31. additionalModules?: Module[];
  32. preferredLicenseTypes?: string[];
  33. handleLicenseAmbiguity?: (packageName: string, licenses: {
  34. type: string;
  35. url: string;
  36. }[]) => string;
  37. handleMissingLicenseType?: (packageName: string) => string | null;
  38. excludedPackageTest?: (packageName: string) => boolean;
  39. stats?: PluginStats;
  40. skipChildCompilers?: boolean;
  41. }
  42. export { PluginOptions };