-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtemplate.config.js
44 lines (42 loc) · 1.41 KB
/
template.config.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/**
* This file is a configuration file generated by the `Template` extension on `vscode`
* @see https://marketplace.visualstudio.com/items?itemName=yongwoo.template
*/
module.exports = {
// You can change the template path to another path
templateRootPath: './.templates',
// After copying the template file the `replaceFileTextFn` function is executed
replaceFileTextFn: (fileText, templateName, utils) => {
// @see https://www.npmjs.com/package/change-case
const { changeCase } = utils
// You can change the text in the file
return fileText
.replace(/__templateName__/gm, templateName)
.replace(
/__templateNameToPascalCase__/gm,
changeCase.pascalCase(templateName),
)
.replace(
/__templateNameToParamCase__/gm,
changeCase.paramCase(templateName),
)
},
replaceFileNameFn: (fileName, templateName, utils) => {
const { path } = utils
// @see https://nodejs.org/api/path.html#path_path_parse_path
const { base } = path.parse(fileName)
// You can change the file name
const { changeCase } = utils
console.error(base, templateName)
return base
.replace(/__templateName__/gm, templateName)
.replace(
/__templateNameToPascalCase__/gm,
changeCase.pascalCase(templateName),
)
.replace(
/__templateNameToParamCase__/gm,
changeCase.paramCase(templateName),
)
},
}