18 lines
615 B
JavaScript
18 lines
615 B
JavaScript
function file2moduleName(filePath) {
|
|
return filePath
|
|
// module name should not include non word characters (e.g. '-')
|
|
// -> important for Dart
|
|
.replace(/[^\w.\/]/g, '_')
|
|
// module name should be relative to `modules` and `tools` folder
|
|
.replace(/.*\/modules\//, '')
|
|
.replace(/.*\/tools\//, '')
|
|
// module name should not include `src`, `test`, `lib`
|
|
.replace(/\/src\//, '/')
|
|
.replace(/\/lib\//, '/')
|
|
.replace(/\/test\//, '/')
|
|
// module name should not have a suffix
|
|
.replace(/\.\w*$/, '');
|
|
}
|
|
if (typeof module !== 'undefined') {
|
|
module.exports = file2moduleName;
|
|
} |