-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.mjs
executable file
·94 lines (68 loc) · 1.82 KB
/
app.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env node
import debug from 'debug'
import {
Command
} from 'commander'
import getPackage from './src/common/get-package.mjs'
import getPackageName from './src/common/get-package-name.mjs'
import getPackageAuthor from './src/common/get-package-author.mjs'
import getPackageVersion from './src/common/get-package-version.mjs'
import normalise from './src/common/normalise.mjs'
import P from './src/package.mjs'
import D from './src/depsrc.mjs'
import M from './src/mocharc.mjs'
import J from './src/jsconfig.mjs'
import T from './src/tsconfig.mjs'
import E from './src/eslintrc.mjs'
import S from './src/stylelintrc.mjs'
import B from './src/babelrc.mjs'
const log = debug('housekeeping')
const {
env: {
DEBUG = 'housekeeping*'
}
} = process
if (DEBUG) debug.enable(DEBUG)
log('`housekeeping` is awake')
const commander = new Command()
async function app () {
const PACKAGE = await getPackage('.')
const name = getPackageName(PACKAGE)
const {
pid,
argv,
env: {
DIR = '..',
AUTHOR = getPackageAuthor(PACKAGE),
REGEXP = '^Jonathan Perry',
VERSION = getPackageVersion(PACKAGE)
}
} = process
log(`Starting application "${name}" in process ${pid}.`)
commander
.version(VERSION)
.option('-d, --dir [dir]', 'Directory path')
.option('-a, --author [author]', 'Package author')
.option('-r, --regexp [regexp]', 'Package author Regular Expression')
.parse(argv)
const {
dir = DIR,
author = AUTHOR,
regexp = REGEXP
} = commander.opts()
const directory = normalise(dir)
log({
directory,
author,
regexp
})
await P(directory, author, regexp)
await D(directory, author)
await M(directory)
await J(directory)
await T(directory)
await E(directory)
await S(directory)
await B(directory)
}
export default app()