blob: a0553b35e1cc9b57557698c35781b77e68371a84 [file] [log] [blame]
import { LicenseTest } from './LicenseTest';
import { LicenseIdentifiedModule } from './LicenseIdentifiedModule';
import { IncludeExcludeTest } from './IncludeExcludeTest';
import { Module } from './Module';
import { PluginStats } from './PluginStats';
interface PluginOptions {
licenseInclusionTest?: LicenseTest;
unacceptableLicenseTest?: LicenseTest;
handleUnacceptableLicense?: ((packageName: string, licenseType: string) => void);
handleMissingLicenseText?: ((packageName: string, licenseType: string | null) => string | null);
perChunkOutput?: boolean;
licenseTemplateDir?: string;
licenseTextOverrides?: {
[key: string]: string;
};
licenseFileOverrides?: {
[key: string]: string;
};
licenseTypeOverrides?: {
[key: string]: string;
};
renderLicenses?: ((modules: LicenseIdentifiedModule[]) => string);
renderBanner?: ((filename: string, modules: LicenseIdentifiedModule[]) => string);
outputFilename?: string;
addBanner?: boolean;
chunkIncludeExcludeTest?: IncludeExcludeTest;
modulesDirectories?: string[];
additionalChunkModules?: {
[chunkName: string]: Module[];
};
additionalModules?: Module[];
preferredLicenseTypes?: string[];
handleLicenseAmbiguity?: ((packageName: string, licenses: {
type: string;
url: string;
}[]) => string);
handleMissingLicenseType?: ((packageName: string) => string | null);
excludedPackageTest?: ((packageName: string) => boolean);
stats?: PluginStats;
}
export { PluginOptions };