123456789101112131415161718192021222324252627282930313233 |
- "use strict";
- const fs = require("fs-extra");
- const path = require("path");
- const pMap = require("p-map");
- module.exports.createTempLicenses = createTempLicenses;
- /**
- * Create temporary license files.
- * @param {string} srcLicensePath
- * @param {Packages[]} packagesToBeLicensed
- */
- function createTempLicenses(srcLicensePath, packagesToBeLicensed) {
- if (!srcLicensePath || !packagesToBeLicensed.length) {
- return Promise.resolve();
- }
- // license file might have an extension, so let's allow it
- const licenseFileName = path.basename(srcLicensePath);
- const options = {
- // make an effort to keep package contents stable over time
- preserveTimestamps: process.arch !== "ia32",
- // (give up on 32-bit architecture to avoid fs-extra warning)
- };
- // store target path for removal later
- packagesToBeLicensed.forEach((pkg) => {
- pkg.licensePath = path.join(pkg.contents, licenseFileName);
- });
- return pMap(packagesToBeLicensed, (pkg) => fs.copy(srcLicensePath, pkg.licensePath, options));
- }
|