pulsar/script/lib/get-license-text.js
2016-08-02 09:24:02 +02:00

39 lines
1.3 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)
}
})
})
}