function file2moduleName(filePath) { return filePath.replace(/\\/g, '/') // module name should be relative to `modules` and `tools` folder .replace(/.*\/modules\//, '') .replace(/.*\/tools\//, '') // and 'dist' folder .replace(/.*\/dist\/js\/dev\/es5\//, '') // module name should not include `lib`, `web` folders // as they are wrapper packages for dart .replace(/\/web\//, '/') .replace(/\/lib\//, '/') // module name should not have a suffix .replace(/\.\w*$/, ''); } if (typeof module !== 'undefined') { module.exports = file2moduleName; }