mirror of
https://github.com/atom/atom.git
synced 2026-01-14 09:27:57 -05:00
47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const legalEagle = require('legal-eagle');
|
|
|
|
const licenseOverrides = require('../license-overrides');
|
|
const CONFIG = require('../config');
|
|
|
|
module.exports = function() {
|
|
return new Promise((resolve, reject) => {
|
|
legalEagle(
|
|
{ path: CONFIG.repositoryRootPath, overrides: licenseOverrides },
|
|
(err, packagesLicenses) => {
|
|
if (err) {
|
|
reject(err);
|
|
throw new Error(err);
|
|
} else {
|
|
let text =
|
|
fs.readFileSync(
|
|
path.join(CONFIG.repositoryRootPath, 'LICENSE.md'),
|
|
'utf8'
|
|
) +
|
|
'\n\n' +
|
|
'This application bundles the following third-party packages in accordance\n' +
|
|
'with the following licenses:\n\n';
|
|
for (let packageName of Object.keys(packagesLicenses).sort()) {
|
|
const packageLicense = packagesLicenses[packageName];
|
|
text +=
|
|
'-------------------------------------------------------------------------\n\n';
|
|
text += `Package: ${packageName}\n`;
|
|
text += `License: ${packageLicense.license}\n`;
|
|
if (packageLicense.source) {
|
|
text += `License Source: ${packageLicense.source}\n`;
|
|
}
|
|
if (packageLicense.sourceText) {
|
|
text += `Source Text:\n\n${packageLicense.sourceText}`;
|
|
}
|
|
text += '\n';
|
|
}
|
|
resolve(text);
|
|
}
|
|
}
|
|
);
|
|
});
|
|
};
|