Open SupernaviX opened 1 year ago
I looked at the implementation and I agree that it doesn't seem right. I'm not sure why we have it check to be sure there's an extension after the strip happens. Maybe there was an assumption that a no-extension
file is not a valid state?
Yeah, looking at the original issue and original PR it looks like the behavior was intentional. The author called it out in their examples and tests.
I think that making it so that stripExtensions: ['hbs']
turns 'Dockerfile.hbs' -> 'Dockerfile'
is a straightforward improvement. But this would definitely be a breaking change for stripExtensions: true
(I'm not totally sure why you'd ever have so many template extensions you couldn't just list them, but someone thought it was worth it to build that option).
I think I'll raise a PR to update the behavior when stripExtensions
is an array, but preserve existing behavior if it's a boolean.
Hi!
I was trying to use plop to scaffold a new server, and I saw that
addMany
had some strange behavior on dockerfiles. When my template directory contained aDockerfile.hbs
andDockerfile.test.hbs
, the target directory containsDockerfile.hbs
andDockerfile.test
. Plop strips the extension from the test file, but not the main one.I think the reason is that the main file only has the
.hbs
extension. Looking at the implementation, it looks like extension stripping only works if there's still an extension left after the.hbs
is removed.Is this a bug? Or is it a feature? And either way, would you accept a pull request to change that behavior?