-
Notifications
You must be signed in to change notification settings - Fork 6
/
template.config.js
executable file
·34 lines (34 loc) · 1.25 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
/**
* 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__/g, templateName)
.replace(
/__templateNameToPascalCase__/g,
changeCase.pascalCase(templateName)
)
.replace(
/__templateNameToParamCase__/g,
changeCase.paramCase(templateName)
);
},
renameFileFn: (fileName, templateName, utils) => {
const { path } = utils;
const { base } = path.parse(fileName);
return base.replace(/__templateName__/gm, templateName);
},
renameSubDirectoriesFn: (directoryName, templateName, _utils) => {
const { changeCase } = _utils;
const newDirectoryName = changeCase.paramCase(templateName);
return directoryName.replace(/__templateName__/g, newDirectoryName);
}
};