PluginOptions.d.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. }
  41. export { PluginOptions };