-
Notifications
You must be signed in to change notification settings - Fork 5
/
.hygen.js
29 lines (26 loc) · 906 Bytes
/
.hygen.js
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
const { join, parse } = require('path')
const {
pascalCase,
camelCase,
sentenceCase,
paramCase,
} = require('change-case')
const camelizePath = (name) => camelCase(name, lower).replace(/::/g, '/')
const pascalizeName = (name) => pascalCase(name)
const capitalizeName = (name) => sentenceCase(name)
const dashedName = (name) => paramCase(name)
module.exports = {
templates: `${__dirname}/templates`,
helpers: {
pascalize: (name) => pascalizeName(name),
capitalize: (name) => capitalizeName(name),
dasherize: (name) => dashedName(name),
camelizedPathName: (name, lower = true) => camelizePath(name, lower),
camelizedBaseName: (name, lower = false) =>
parse(camelizePath(name, lower)).base,
baseName: (name) => parse(name).base,
dirName: (name) => parse(name).dir,
prependPackagePath: (name, file) =>
join('packages', dashedName(name), file),
},
}