in dev-utils/dep-info.js [139:174]
function generateNotice(packagesDir = 'packages') {
packagesDir = join(ROOT_DIR, packagesDir)
const pkgMap = mapPkgFolderToDeps(packagesDir)
const sortedPkgNames = sortPackagesByScore(Object.keys(pkgMap))
for (const pkgName of sortedPkgNames) {
const dependencies = getDependencies(pkgName)
const pkgFolderDir = join(packagesDir, pkgMap[pkgName])
const depInfo = generateDependencyInfo(
Object.keys(dependencies),
join(pkgFolderDir, 'node_modules'),
sortedPkgNames
)
let allLicenses = `
${pkgName}
Copyright (c) 2017-present, Elasticsearch BV
`
depInfo.forEach(d => {
if (d.license || d.notice) {
allLicenses += `
---
This product relies on ${d.name}
${d.license ? d.license : ''}
${d.notice ? d.notice : ''}`
}
})
writeFileSync(join(pkgFolderDir, './NOTICE.txt'), allLicenses)
}
console.log('NOTICE.txt file is generated for all packages')
}