license-kit
Version:
Aggregate license notes of OSS libraries used in your Node.js project, analyze & visualize OSS licenses with AI-turbocharged tooling
48 lines (36 loc) • 1.22 kB
text/typescript
import { type Types as SharedTypes } from '@callstack/licenses';
import type { CLIScanOptions } from './types/CLIOptions';
export const createScanOptionsFactory =
(cliScanOptions: CLIScanOptions): SharedTypes.ScanPackageOptionsFactory =>
({ isRoot, isWorkspacePackage }) => {
let includeDevDependencies = false;
switch (cliScanOptions.devDepsMode) {
case 'root-only':
includeDevDependencies = isRoot;
break;
case 'none':
includeDevDependencies = false;
break;
}
let includeTransitiveDependencies = true;
switch (cliScanOptions.transitiveDepsMode) {
case 'all':
includeTransitiveDependencies = true;
break;
case 'from-external-only':
includeTransitiveDependencies = !isWorkspacePackage;
break;
case 'from-workspace-only':
includeTransitiveDependencies = isWorkspacePackage;
break;
case 'none':
includeTransitiveDependencies = false;
break;
}
const includeOptionalDependencies = cliScanOptions.includeOptionalDeps;
return {
includeDevDependencies,
includeTransitiveDependencies,
includeOptionalDependencies,
};
};