kibana/tasks/lib/notice/bundled_notices.js
Spencer 5c04ff65fb Remove use of npm ls in grunt tasks (#11965)
* [grunt/build] refactor _build:notice task to not depend on npm

The _build:notice task used to rely on the output of `npm ls` to determine where modules were defined, but the task now just asks `license-checker` to include the `realPath` of the modules it describes in it's output, which is ultimately the same thing but works with `yarn` too.

* [grunt/licenses] convert to use lib/packages/getInstalledPackages()

* [grunt/notice/generate] test generateNoticeText()

* [grunt/licenses] tested assertLicensesValid()

* [npm] remove npm dev dep

* [tasks/lib/packages] do not include kibana in "installed packages"

* [tasks/lib/notice] join all notices with the same separator
2017-05-24 08:34:55 -07:00

15 lines
435 B
JavaScript

import { resolve } from 'path';
import { readFile } from 'fs';
import { fromNode as fcb } from 'bluebird';
import glob from 'glob';
export async function getBundledNotices(packageDirectory) {
const pattern = resolve(packageDirectory, '*{LICENSE,NOTICE}*');
const paths = await fcb(cb => glob(pattern, cb));
return Promise.all(paths.map(async path => ({
path,
text: await fcb(cb => readFile(path, 'utf8', cb))
})));
}