123456789101112131415161718192021 |
- "use strict";
- const path = require("path");
- module.exports.getPackagesWithoutLicense = getPackagesWithoutLicense;
- /**
- * Retrieve a list of packages that lack a license file.
- * @param {Project} project
- * @param {Package[]} packagesToPublish
- * @returns {Package[]}
- */
- function getPackagesWithoutLicense(project, packagesToPublish) {
- return project.getPackageLicensePaths().then((licensePaths) => {
- // this assumes any existing license is a sibling of package.json, which is pretty safe
- // it also dedupes package locations, since we don't care about duplicate license files
- const licensed = new Set(licensePaths.map((lp) => path.dirname(lp)));
- return packagesToPublish.filter((pkg) => !licensed.has(pkg.location));
- });
- }
|