UNPKG

@git.zone/cli

Version:

A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.

31 lines (27 loc) 1.1 kB
import * as plugins from './mod.plugins.js'; import * as paths from '../paths.js'; import { Project } from '../classes.project.js'; import { logger } from '../gitzone.logging.js'; const incompatibleLicenses: string[] = ['AGPL', 'GPL', 'SSPL']; export const run = async (projectArg: Project) => { const nodeModulesInstalled = await plugins.smartfile.fs.isDirectory( plugins.path.join(paths.cwd, 'node_modules'), ); if (!nodeModulesInstalled) { logger.log('warn', 'No node_modules found. Skipping license check'); return; } const licenseChecker = await plugins.smartlegal.createLicenseChecker(); const licenseCheckResult = await licenseChecker.excludeLicenseWithinPath( paths.cwd, incompatibleLicenses, ); if (licenseCheckResult.failingModules.length === 0) { logger.log('info', 'Success -> licenses passed!'); } else { logger.log('error', 'Error -> licenses failed. Here is why:'); for (const failedModule of licenseCheckResult.failingModules) { console.log(`${failedModule.name} fails with license ${failedModule.license}`); } } };