Skip to content

Commit 8c1033f

Browse files
committed
Add capability to use COMPONENT_NAME on filenames options and remove testFileMatch
1 parent 33a43db commit 8c1033f

File tree

3 files changed

+17
-30
lines changed

3 files changed

+17
-30
lines changed

.ccarc.example

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"connected": false,
1010
"componentMethods": [],
1111
"fileNames": {
12-
"testFileMatch": "spec",
1312
"testFileName": "myTest",
1413
"componentFileName": "template",
1514
"styleFileName": "style"

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,7 @@ Currently supported options are:
9898
`indexFile` | Default flag to create an index file in the folder `[false, true]`
9999
`connected` | Default flag to integrate connect redux in the index file `[false, true]`
100100
`componentMethods` | Only for "class" and "pure", insert method inside the component (i.e. `["componentDidMount", "shouldComponentUpdate", "onClick"]`)
101-
`fileNames` | Choose the specific filename for your component's file.
102-
`fileNames.testFileMatch` | specify the match part of test file
101+
`fileNames` | Choose the specific filename for your component's file. (COMPONENT_NAME will be replaced)
103102
`fileNames.testFileName` | specify the file name of your test file
104103
`fileNames.componentFileName` | specify the component file name
105104
`fileNames.styleFileName` | specify the style file name !!IMPORTANT: Include cssExtension.

src/files.js

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,21 @@ async function generateFilesFromTemplate({ name, path, templatesPath }) {
8787
*/
8888
function getFileNames(fileNames, componentName) {
8989
const defaultFileNames = {
90-
testFileName: defaultOptions.testFileName,
91-
testFileMatch: componentName,
90+
testFileName: `${defaultOptions.testFileName}.${componentName}`,
9291
componentFileName: componentName,
9392
styleFileName: componentName,
9493
}
9594

96-
return { ...defaultFileNames, ...fileNames }
95+
const formattedFileNames = Object.keys(fileNames).reduce(
96+
(acc, curr) => {
97+
acc[curr] = fileNames[curr].replace(/COMPONENT_NAME/g, componentName)
98+
99+
return acc
100+
},
101+
{ ...defaultFileNames }
102+
)
103+
104+
return formattedFileNames
97105
}
98106

99107
/**
@@ -128,32 +136,18 @@ function generateFiles(params) {
128136
} = params
129137
const destination = `${path}/${name}`
130138

131-
const {
132-
testFileName,
133-
testFileMatch,
134-
componentFileName,
135-
styleFileName,
136-
} = getFileNames(fileNames, name)
139+
const { testFileName, componentFileName, styleFileName } = getFileNames(fileNames, name)
137140

138141
if (indexFile || connected) {
139-
fs.outputFile(
140-
`${destination}/index.js`,
141-
generateIndexFile(componentFileName, connected)
142-
)
142+
fs.outputFile(`${destination}/index.js`, generateIndexFile(componentFileName, connected))
143143
}
144144

145145
if (includeStories) {
146-
fs.outputFile(
147-
`${destination}/${name}.stories.${jsExtension}`,
148-
generateStorybookTemplate(name)
149-
)
146+
fs.outputFile(`${destination}/${name}.stories.${jsExtension}`, generateStorybookTemplate(name))
150147
}
151148

152149
if (includeTests) {
153-
fs.outputFile(
154-
`${destination}/${testFileName}.${testFileMatch}.${jsExtension}`,
155-
generateTestTemplate(name)
156-
)
150+
fs.outputFile(`${destination}/${testFileName}.${jsExtension}`, generateTestTemplate(name))
157151
}
158152

159153
// Create js file
@@ -177,9 +171,4 @@ function generateFiles(params) {
177171

178172
const generateFilesFromCustom = generateFilesFromTemplate
179173

180-
export {
181-
generateFiles,
182-
generateFilesFromTemplate,
183-
generateFilesFromCustom,
184-
getDirectories,
185-
}
174+
export { generateFiles, generateFilesFromTemplate, generateFilesFromCustom, getDirectories }

0 commit comments

Comments
 (0)