Added getModuleName() option as a function, allowing you to manipulate the name as needed

This commit is contained in:
Jay Phelps
2015-04-29 17:29:41 -07:00
parent 53808a6d45
commit 340e75eb59
3 changed files with 86 additions and 2 deletions

View File

@@ -25,6 +25,10 @@
"type": "string"
},
"getModuleName": {
"hidden": true
},
"retainLines": {
"hidden": true,
"type": "boolean",

View File

@@ -184,7 +184,10 @@ export default class DefaultFormatter {
getModuleName() {
var opts = this.file.opts;
if (opts.moduleId) return opts.moduleId;
// moduleId is n/a if a `getModuleName()` is provided
if (opts.moduleId && !opts.getModuleName) {
return opts.moduleId;
}
var filenameRelative = opts.filenameRelative;
var moduleName = "";
@@ -213,7 +216,13 @@ export default class DefaultFormatter {
// normalize path separators
moduleName = moduleName.replace(/\\/g, "/");
return moduleName;
if (opts.getModuleName) {
// If return is falsy, assume they want us to use
// our generated default name
return opts.getModuleName(moduleName) || moduleName;
} else {
return moduleName;
}
}
_pushStatement(ref, nodes) {