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