UNPKG

1.38 kBJavaScriptView Raw
1'use strict';
2
3function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
5var readPkg = _interopDefault(require('read-pkg-up'));
6
7function index (cwd = '.') {
8 const {
9 pkg
10 } = readPkg.sync({
11 cwd
12 });
13 const metadata = {
14 get name() {
15 return pkg.name;
16 },
17
18 get description() {
19 return pkg.description ? pkg.description : 'No description';
20 },
21
22 get copyright() {
23 if (pkg.copyright && pkg.copyright.year) {
24 return ${pkg.copyright.year} ${pkg.copyright.owner}`;
25 }
26
27 return pkg.copyright ? pkg.copyright : ${new Date().getFullYear()} ${pkg.author.name}`;
28 },
29
30 get license() {
31 return pkg.license;
32 },
33
34 get bugs() {
35 return pkg.bugs.url;
36 },
37
38 get bin() {
39 return pkg.bin ? Object.keys(pkg.bin)[0] : 'none';
40 },
41
42 version: (style = 1) => {
43 const version = function () {
44 if (pkg.buildNumber > 0) {
45 return `${pkg.version}${pkg.buildNumber}`;
46 }
47
48 return `${pkg.version}`;
49 }();
50
51 switch (style) {
52 case 4:
53 return `${pkg.version}`;
54
55 case 3:
56 return `v${version}`;
57
58 case 2:
59 return `${pkg.name} v${version}`;
60
61 default:
62 return version;
63 }
64 }
65 };
66 return metadata;
67}
68
69module.exports = index;